OLD | NEW |
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 library path.utils; | |
6 | |
7 import 'characters.dart' as chars; | 5 import 'characters.dart' as chars; |
8 | 6 |
9 /// Returns whether [char] is the code for an ASCII letter (uppercase or | 7 /// Returns whether [char] is the code for an ASCII letter (uppercase or |
10 /// lowercase). | 8 /// lowercase). |
11 bool isAlphabetic(int char) => | 9 bool isAlphabetic(int char) => |
12 (char >= chars.UPPER_A && char <= chars.UPPER_Z) || | 10 (char >= chars.UPPER_A && char <= chars.UPPER_Z) || |
13 (char >= chars.LOWER_A && char <= chars.LOWER_Z); | 11 (char >= chars.LOWER_A && char <= chars.LOWER_Z); |
14 | 12 |
15 /// Returns whether [char] is the code for an ASCII digit. | 13 /// Returns whether [char] is the code for an ASCII digit. |
16 bool isNumeric(int char) => char >= chars.ZERO && char <= chars.NINE; | 14 bool isNumeric(int char) => char >= chars.ZERO && char <= chars.NINE; |
| 15 |
| 16 /// Returns whether [path] has a URL-formatted Windows drive letter beginning at |
| 17 /// [index]. |
| 18 bool isDriveLetter(String path, int index) { |
| 19 if (path.length < index + 2) return false; |
| 20 if (!isAlphabetic(path.codeUnitAt(index))) return false; |
| 21 if (path.codeUnitAt(index + 1) != chars.COLON) return false; |
| 22 if (path.length == index + 2) return true; |
| 23 return path.codeUnitAt(index + 2) == chars.SLASH; |
| 24 } |
OLD | NEW |