| // 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 ?? defaultStr; |
| } |
| |
| /// Parse string to a double, and handle null intelligently */ |
| static double? parseDouble(String? str, [double? ifNull]) { |
| return (str == null) ? ifNull : double.parse(str); |
| } |
| |
| /// Parse string to a int, and handle null intelligently */ |
| static int? parseInt(String? str, [int? ifNull]) { |
| 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]) { |
| assert(str == null || str == 'true' || str == 'false'); |
| return (str == null) ? ifNull : (str == 'true'); |
| } |
| } |