blob: 3516032c8a3303852e7e23b4a9850c151fa471fe [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.
// @dart = 2.9
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');
}
}