summaryrefslogtreecommitdiff
path: root/vendor/github.com/tdewolff/parse/v2/js/util.go
diff options
context:
space:
mode:
authorMitja Felicijan <mitja.felicijan@gmail.com>2024-10-25 00:47:47 +0200
committerMitja Felicijan <mitja.felicijan@gmail.com>2024-10-25 00:47:47 +0200
commitc6cc0108ca7738023b45e0eeac0fa2390532dd93 (patch)
tree36890e6cd3091bbab8efbe686cc56f467f645bfd /vendor/github.com/tdewolff/parse/v2/js/util.go
parent0130404a1dc663d4aa68d780c9bcb23a4243e68d (diff)
downloadjbmafp-master.tar.gz
Added vendor lock on depsHEADmaster
Diffstat (limited to 'vendor/github.com/tdewolff/parse/v2/js/util.go')
-rw-r--r--vendor/github.com/tdewolff/parse/v2/js/util.go38
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)
+}