You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
1.3 KiB
75 lines
1.3 KiB
'use strict'; |
|
|
|
Object.defineProperty(exports, '__esModule', { |
|
value: true, |
|
}); |
|
exports.isDigit = isDigit; |
|
exports.isLetter = isLetter; |
|
exports.isNameContinue = isNameContinue; |
|
exports.isNameStart = isNameStart; |
|
exports.isWhiteSpace = isWhiteSpace; |
|
|
|
/** |
|
* ``` |
|
* WhiteSpace :: |
|
* - "Horizontal Tab (U+0009)" |
|
* - "Space (U+0020)" |
|
* ``` |
|
* @internal |
|
*/ |
|
function isWhiteSpace(code) { |
|
return code === 0x0009 || code === 0x0020; |
|
} |
|
/** |
|
* ``` |
|
* Digit :: one of |
|
* - `0` `1` `2` `3` `4` `5` `6` `7` `8` `9` |
|
* ``` |
|
* @internal |
|
*/ |
|
|
|
function isDigit(code) { |
|
return code >= 0x0030 && code <= 0x0039; |
|
} |
|
/** |
|
* ``` |
|
* Letter :: one of |
|
* - `A` `B` `C` `D` `E` `F` `G` `H` `I` `J` `K` `L` `M` |
|
* - `N` `O` `P` `Q` `R` `S` `T` `U` `V` `W` `X` `Y` `Z` |
|
* - `a` `b` `c` `d` `e` `f` `g` `h` `i` `j` `k` `l` `m` |
|
* - `n` `o` `p` `q` `r` `s` `t` `u` `v` `w` `x` `y` `z` |
|
* ``` |
|
* @internal |
|
*/ |
|
|
|
function isLetter(code) { |
|
return ( |
|
(code >= 0x0061 && code <= 0x007a) || // A-Z |
|
(code >= 0x0041 && code <= 0x005a) // a-z |
|
); |
|
} |
|
/** |
|
* ``` |
|
* NameStart :: |
|
* - Letter |
|
* - `_` |
|
* ``` |
|
* @internal |
|
*/ |
|
|
|
function isNameStart(code) { |
|
return isLetter(code) || code === 0x005f; |
|
} |
|
/** |
|
* ``` |
|
* NameContinue :: |
|
* - Letter |
|
* - Digit |
|
* - `_` |
|
* ``` |
|
* @internal |
|
*/ |
|
|
|
function isNameContinue(code) { |
|
return isLetter(code) || isDigit(code) || code === 0x005f; |
|
}
|
|
|