diff options
| author | Mitja Felicijan <mitja.felicijan@gmail.com> | 2024-10-25 00:47:47 +0200 |
|---|---|---|
| committer | Mitja Felicijan <mitja.felicijan@gmail.com> | 2024-10-25 00:47:47 +0200 |
| commit | c6cc0108ca7738023b45e0eeac0fa2390532dd93 (patch) | |
| tree | 36890e6cd3091bbab8efbe686cc56f467f645bfd /vendor/github.com/tdewolff/parse/v2/js/util.go | |
| parent | 0130404a1dc663d4aa68d780c9bcb23a4243e68d (diff) | |
| download | jbmafp-master.tar.gz | |
Diffstat (limited to 'vendor/github.com/tdewolff/parse/v2/js/util.go')
| -rw-r--r-- | vendor/github.com/tdewolff/parse/v2/js/util.go | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/vendor/github.com/tdewolff/parse/v2/js/util.go b/vendor/github.com/tdewolff/parse/v2/js/util.go new file mode 100644 index 0000000..78a629c --- /dev/null +++ b/vendor/github.com/tdewolff/parse/v2/js/util.go @@ -0,0 +1,38 @@ +package js + +// AsIdentifierName returns true if a valid identifier name is given. +func AsIdentifierName(b []byte) bool { + if len(b) == 0 || !identifierStartTable[b[0]] { + return false + } + + i := 1 + for i < len(b) { + if identifierTable[b[i]] { + i++ + } else { + return false + } + } + return true +} + +// AsDecimalLiteral returns true if a valid decimal literal is given. +func AsDecimalLiteral(b []byte) bool { + if len(b) == 0 || (b[0] < '0' || '9' < b[0]) && (b[0] != '.' || len(b) == 1) { + return false + } else if b[0] == '0' { + return len(b) == 1 + } + i := 1 + for i < len(b) && '0' <= b[i] && b[i] <= '9' { + i++ + } + if i < len(b) && b[i] == '.' && b[0] != '.' { + i++ + for i < len(b) && '0' <= b[i] && b[i] <= '9' { + i++ + } + } + return i == len(b) +} |
