blob: 1a06fb6324eeff9e5e747f9c19bb9b49695f1ee8 [file] [log] [blame]
// 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.
part of utilslib;
/**
* 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 : double.parse(str);
}
/** Parse string to a int, and handle null intelligently */
static int? parseInt(String? str, [int? ifNull = null]) {
return (str == null) ? ifNull : int.parse(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');
}
}