// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. /** * General purpose string manipulation utilities. */ class StringUtils { /** * Returns either [str], or if [str] is null, the value of [defaultStr]. */ static String defaultString(String str, [String defaultStr='']) { return str === null ? defaultStr : str; } /** Parse string to a double, and handle null intelligently */ static double parseDouble(String str, [double ifNull = null]) { return (str == null) ? ifNull : Math.parseDouble(str); } /** Parse string to a int, and handle null intelligently */ static int parseInt(String str, [int ifNull = null]) { return (str == null) ? ifNull : Math.parseInt(str); } /** Parse bool to a double, and handle null intelligently */ // TODO(jacobr): corelib should have a boolean parsing method static bool parseBool(String str, [bool ifNull = null]) { assert(str == null || str == 'true' || str == 'false'); return (str == null) ? ifNull : (str == 'true'); } }