shaderkit 0.1.1 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +55 -37
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +55 -37
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/constants.ts +49 -37
- package/src/tokenizer.ts +10 -4
package/dist/index.js
CHANGED
|
@@ -268,20 +268,20 @@ const WGSL_KEYWORDS = [
|
|
|
268
268
|
"writeonly",
|
|
269
269
|
"yield",
|
|
270
270
|
// 15.4 Context-Dependent Name Tokens - Attributes
|
|
271
|
-
"align",
|
|
272
|
-
"binding",
|
|
273
|
-
"builtin",
|
|
274
|
-
"compute",
|
|
275
|
-
"const",
|
|
276
|
-
"fragment",
|
|
277
|
-
"group",
|
|
278
|
-
"id",
|
|
279
|
-
"interpolate",
|
|
280
|
-
"invariant",
|
|
281
|
-
"location",
|
|
282
|
-
"size",
|
|
283
|
-
"vertex",
|
|
284
|
-
"workgroup_size",
|
|
271
|
+
"@align",
|
|
272
|
+
"@binding",
|
|
273
|
+
"@builtin",
|
|
274
|
+
"@compute",
|
|
275
|
+
"@const",
|
|
276
|
+
"@fragment",
|
|
277
|
+
"@group",
|
|
278
|
+
"@id",
|
|
279
|
+
"@interpolate",
|
|
280
|
+
"@invariant",
|
|
281
|
+
"@location",
|
|
282
|
+
"@size",
|
|
283
|
+
"@vertex",
|
|
284
|
+
"@workgroup_size",
|
|
285
285
|
// 15.4 Context-Dependent Name Tokens - Interpolation Types
|
|
286
286
|
"perspective",
|
|
287
287
|
"linear",
|
|
@@ -629,19 +629,19 @@ const GLSL_KEYWORDS = [
|
|
|
629
629
|
"namespace",
|
|
630
630
|
"using",
|
|
631
631
|
// 3.5 Preprocessor
|
|
632
|
-
"define",
|
|
633
|
-
"undef",
|
|
634
|
-
"if",
|
|
635
|
-
"ifdef",
|
|
636
|
-
"ifndef",
|
|
637
|
-
"else",
|
|
638
|
-
"elif",
|
|
639
|
-
"endif",
|
|
640
|
-
"error",
|
|
641
|
-
"pragma",
|
|
642
|
-
"extension",
|
|
643
|
-
"version",
|
|
644
|
-
"line",
|
|
632
|
+
"#define",
|
|
633
|
+
"#undef",
|
|
634
|
+
"#if",
|
|
635
|
+
"#ifdef",
|
|
636
|
+
"#ifndef",
|
|
637
|
+
"#else",
|
|
638
|
+
"#elif",
|
|
639
|
+
"#endif",
|
|
640
|
+
"#error",
|
|
641
|
+
"#pragma",
|
|
642
|
+
"#extension",
|
|
643
|
+
"#version",
|
|
644
|
+
"#line",
|
|
645
645
|
// 3.5 Preprocessor - Operators
|
|
646
646
|
"defined",
|
|
647
647
|
// 3.5 Preprocessor - Macros
|
|
@@ -772,7 +772,7 @@ const GLSL_KEYWORDS = [
|
|
|
772
772
|
"dFdy",
|
|
773
773
|
"fwidth",
|
|
774
774
|
// Additional directives
|
|
775
|
-
"include",
|
|
775
|
+
"#include",
|
|
776
776
|
// WEBGL_multi_draw https://registry.khronos.org/webgl/extensions/WEBGL_multi_draw
|
|
777
777
|
"gl_DrawID",
|
|
778
778
|
// vertex only
|
|
@@ -782,10 +782,6 @@ const GLSL_KEYWORDS = [
|
|
|
782
782
|
"GL_OVR_multiview2"
|
|
783
783
|
];
|
|
784
784
|
const SYMBOLS = [
|
|
785
|
-
// Preprocessor (GLSL)
|
|
786
|
-
"#",
|
|
787
|
-
// Function arrow (WGSL)
|
|
788
|
-
"->",
|
|
789
785
|
// Comments
|
|
790
786
|
"//",
|
|
791
787
|
"/*",
|
|
@@ -815,6 +811,7 @@ const SYMBOLS = [
|
|
|
815
811
|
"!",
|
|
816
812
|
"+",
|
|
817
813
|
"-",
|
|
814
|
+
"*",
|
|
818
815
|
"/",
|
|
819
816
|
"&",
|
|
820
817
|
"|",
|
|
@@ -829,6 +826,7 @@ const SYMBOLS = [
|
|
|
829
826
|
"!=",
|
|
830
827
|
"+=",
|
|
831
828
|
"-=",
|
|
829
|
+
"*=",
|
|
832
830
|
"/=",
|
|
833
831
|
"&=",
|
|
834
832
|
"|=",
|
|
@@ -837,7 +835,21 @@ const SYMBOLS = [
|
|
|
837
835
|
"<<=",
|
|
838
836
|
">>="
|
|
839
837
|
];
|
|
840
|
-
const
|
|
838
|
+
const GLSL_SYMBOLS = [
|
|
839
|
+
...SYMBOLS,
|
|
840
|
+
// Preprocessor
|
|
841
|
+
"#",
|
|
842
|
+
// Line continuation
|
|
843
|
+
"\\"
|
|
844
|
+
];
|
|
845
|
+
const WGSL_SYMBOLS = [
|
|
846
|
+
...SYMBOLS,
|
|
847
|
+
// Function arrow
|
|
848
|
+
"->",
|
|
849
|
+
// Attribute
|
|
850
|
+
"@"
|
|
851
|
+
];
|
|
852
|
+
const isWGSL = RegExp.prototype.test.bind(/\bfn\s+\w+\s*\(|\b(var|let)\s+\w+\s*[:=]/);
|
|
841
853
|
const isFloat = RegExp.prototype.test.bind(/\.|[eEpP][-+]?\d|[fFhH]$/);
|
|
842
854
|
const isBool = RegExp.prototype.test.bind(/^(true|false)$/);
|
|
843
855
|
const ZERO = 48;
|
|
@@ -854,15 +866,19 @@ const DOT = 46;
|
|
|
854
866
|
const UNDERSCORE = 95;
|
|
855
867
|
const SLASH = 47;
|
|
856
868
|
const STAR = 42;
|
|
869
|
+
const HASH = 35;
|
|
870
|
+
const AT = 64;
|
|
857
871
|
const isDigit = (c) => ZERO <= c && c <= NINE;
|
|
858
872
|
const isAlpha = (c) => (c &= ~32, A <= c && c <= Z);
|
|
859
873
|
const isLine = (c) => c === LF || c === CR;
|
|
860
874
|
const isSpace = (c) => isLine(c) || c === TAB || c === SPACE;
|
|
861
875
|
const isNumber = (c) => isAlpha(c) || isDigit(c) || c === PLUS || c === MINUS || c === DOT;
|
|
862
876
|
const isIdent = (c) => isAlpha(c) || isDigit(c) || c === UNDERSCORE;
|
|
877
|
+
const isMacro = (c) => c === HASH || c === AT;
|
|
863
878
|
function tokenize(code, index = 0) {
|
|
864
879
|
const tokens = [];
|
|
865
|
-
|
|
880
|
+
let prev = -1;
|
|
881
|
+
const [KEYWORDS, SYMBOLS2] = isWGSL(code) ? [WGSL_KEYWORDS, WGSL_SYMBOLS] : [GLSL_KEYWORDS, GLSL_SYMBOLS];
|
|
866
882
|
while (index < code.length) {
|
|
867
883
|
let value = code[index];
|
|
868
884
|
const char = code.charCodeAt(index++);
|
|
@@ -882,7 +898,7 @@ function tokenize(code, index = 0) {
|
|
|
882
898
|
value += code[index++];
|
|
883
899
|
if (isBool(value))
|
|
884
900
|
tokens.push({ type: "bool", value });
|
|
885
|
-
else if (KEYWORDS.includes(value))
|
|
901
|
+
else if (KEYWORDS.includes(isMacro(prev) ? String.fromCharCode(prev) + value : value))
|
|
886
902
|
tokens.push({ type: "keyword", value });
|
|
887
903
|
else
|
|
888
904
|
tokens.push({ type: "identifier", value });
|
|
@@ -892,13 +908,14 @@ function tokenize(code, index = 0) {
|
|
|
892
908
|
value += code[index++];
|
|
893
909
|
tokens.push({ type: "comment", value });
|
|
894
910
|
} else {
|
|
895
|
-
for (const symbol of
|
|
911
|
+
for (const symbol of SYMBOLS2) {
|
|
896
912
|
if (symbol.length > value.length && code.startsWith(symbol, index - 1))
|
|
897
913
|
value = symbol;
|
|
898
914
|
}
|
|
899
915
|
index += value.length - 1;
|
|
900
916
|
tokens.push({ type: "symbol", value });
|
|
901
917
|
}
|
|
918
|
+
prev = char;
|
|
902
919
|
}
|
|
903
920
|
return tokens;
|
|
904
921
|
}
|
|
@@ -957,8 +974,9 @@ function minify(code, { mangle = false, mangleMap = /* @__PURE__ */ new Map(), m
|
|
|
957
974
|
return minified.trim();
|
|
958
975
|
}
|
|
959
976
|
exports.GLSL_KEYWORDS = GLSL_KEYWORDS;
|
|
960
|
-
exports.
|
|
977
|
+
exports.GLSL_SYMBOLS = GLSL_SYMBOLS;
|
|
961
978
|
exports.WGSL_KEYWORDS = WGSL_KEYWORDS;
|
|
979
|
+
exports.WGSL_SYMBOLS = WGSL_SYMBOLS;
|
|
962
980
|
exports.minify = minify;
|
|
963
981
|
exports.tokenize = tokenize;
|
|
964
982
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/constants.ts","../src/tokenizer.ts","../src/minifier.ts"],"sourcesContent":null,"names":[],"mappings":";;AACO,MAAM,gBAAgB;AAAA;AAAA,EAE3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AACF;AAIO,MAAM,gBAAgB;AAAA;AAAA,EAE3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EA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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/constants.ts","../src/tokenizer.ts","../src/minifier.ts"],"sourcesContent":null,"names":["SYMBOLS"],"mappings":";;AACO,MAAM,gBAAgB;AAAA;AAAA,EAE3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AACF;AAIO,MAAM,gBAAgB;AAAA;AAAA,EAE3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA;AAAA;AAAA;AAAA,EAIA;AAAA,EACA;AACF;AAEA,MAAM,UAAU;AAAA;AAAA,EAEd;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAGO,MAAM,eAAe;AAAA,EAC1B,GAAG;AAAA;AAAA,EAEH;AAAA;AAAA,EAEA;AACF;AAGO,MAAM,eAAe;AAAA,EAC1B,GAAG;AAAA;AAAA,EAEH;AAAA;AAAA,EAEA;AACF;ACz3BA,MAAM,SAAS,OAAO,UAAU,KAAK,KAAK,0CAA0C;AAEpF,MAAM,UAAU,OAAO,UAAU,KAAK,KAAK,0BAA0B;AACrE,MAAM,SAAS,OAAO,UAAU,KAAK,KAAK,gBAAgB;AAE1D,MAAM,OAAO;AACb,MAAM,OAAO;AACb,MAAM,IAAI;AACV,MAAM,IAAI;AACV,MAAM,KAAK;AACX,MAAM,KAAK;AACX,MAAM,MAAM;AACZ,MAAM,QAAQ;AACd,MAAM,OAAO;AACb,MAAM,QAAQ;AACd,MAAM,MAAM;AACZ,MAAM,aAAa;AACnB,MAAM,QAAQ;AACd,MAAM,OAAO;AACb,MAAM,OAAO;AACb,MAAM,KAAK;AAEX,MAAM,UAAU,CAAC,MAAc,QAAQ,KAAK,KAAK;AACjD,MAAM,UAAU,CAAC,OAAgB,KAAK,CAAC,IAAK,KAAK,KAAK,KAAK;AAC3D,MAAM,SAAS,CAAC,MAAc,MAAM,MAAM,MAAM;AAChD,MAAM,UAAU,CAAC,MAAc,OAAO,CAAC,KAAK,MAAM,OAAO,MAAM;AAC/D,MAAM,WAAW,CAAC,MAAc,QAAQ,CAAC,KAAK,QAAQ,CAAC,KAAK,MAAM,QAAQ,MAAM,SAAS,MAAM;AAC/F,MAAM,UAAU,CAAC,MAAc,QAAQ,CAAC,KAAK,QAAQ,CAAC,KAAK,MAAM;AACjE,MAAM,UAAU,CAAC,MAAc,MAAM,QAAQ,MAAM;AAKnC,SAAA,SAAS,MAAc,QAAgB,GAAY;AACjE,QAAM,SAAkB,CAAA;AAExB,MAAI,OAAe;AACnB,QAAM,CAAC,UAAUA,QAAO,IAAI,OAAO,IAAI,IAAI,CAAC,eAAe,YAAY,IAAI,CAAC,eAAe,YAAY;AAChG,SAAA,QAAQ,KAAK,QAAQ;AACtB,QAAA,QAAQ,KAAK,KAAK;AAChB,UAAA,OAAO,KAAK,WAAW,OAAO;AAEhC,QAAA,QAAQ,IAAI,GAAG;AACjB,aAAO,QAAQ,KAAK,WAAW,KAAK,CAAC;AAAG,iBAAS,KAAK,OAAO;AAC7D,aAAO,KAAK,EAAE,MAAM,cAAc,MAAO,CAAA;AAAA,IAAA,WAChC,QAAQ,IAAI,GAAG;AACxB,aAAO,SAAS,KAAK,WAAW,KAAK,CAAC;AAAG,iBAAS,KAAK,OAAO;AAC9D,UAAI,QAAQ,KAAK;AAAG,eAAO,KAAK,EAAE,MAAM,SAAS,MAAO,CAAA;AAAA;AACnD,eAAO,KAAK,EAAE,MAAM,OAAO,MAAO,CAAA;AAAA,IAAA,WAC9B,QAAQ,IAAI,GAAG;AACxB,aAAO,QAAQ,KAAK,WAAW,KAAK,CAAC;AAAG,iBAAS,KAAK,OAAO;AAC7D,UAAI,OAAO,KAAK;AAAG,eAAO,KAAK,EAAE,MAAM,QAAQ,MAAO,CAAA;AAAA,eAC7C,SAAS,SAAS,QAAQ,IAAI,IAAI,OAAO,aAAa,IAAI,IAAI,QAAQ,KAAK;AAClF,eAAO,KAAK,EAAE,MAAM,WAAW,MAAO,CAAA;AAAA;AACnC,eAAO,KAAK,EAAE,MAAM,cAAc,MAAO,CAAA;AAAA,IACrC,WAAA,SAAS,UAAU,KAAK,WAAW,KAAK,MAAM,SAAS,KAAK,WAAW,KAAK,MAAM,OAAO;AAClG,YAAM,cAAc,KAAK,WAAW,KAAK,MAAM;AAC/C,aAAO,CAAC,MAAM,SAAS,cAAc,OAAO,IAAI;AAAG,iBAAS,KAAK,OAAO;AACxE,aAAO,KAAK,EAAE,MAAM,WAAW,MAAO,CAAA;AAAA,IAAA,OACjC;AACL,iBAAW,UAAUA,UAAS;AACxB,YAAA,OAAO,SAAS,MAAM,UAAU,KAAK,WAAW,QAAQ,QAAQ,CAAC;AAAW,kBAAA;AAAA,MAClF;AACA,eAAS,MAAM,SAAS;AACxB,aAAO,KAAK,EAAE,MAAM,UAAU,MAAO,CAAA;AAAA,IACvC;AACO,WAAA;AAAA,EACT;AAEO,SAAA;AACT;ACnEA,MAAM,SAAS,OAAO,UAAU,KAAK,KAAK,KAAK;AAC/C,MAAM,SAAS,OAAO,UAAU,KAAK,KAAK,WAAW;AACrD,MAAM,YAAY,OAAO,UAAU,KAAK,KAAK,wCAAwC;AAK9E,SAAS,OACd,MACA,EAAE,SAAS,OAAO,YAAgB,oBAAA,OAAO,kBAAkB,MAAM,IAA4B,CAAA,GACrF;;AAED,SAAA,KAAK,QAAQ,iCAAiC,QAAQ;AAE7D,QAAM,UAAU,IAAI,IAAY,UAAU,OAAQ,CAAA;AAClD,QAAM,SAAkB,SAAS,IAAI,EAAE,OAAO,CAAC,UAAU,MAAM,SAAS,gBAAgB,MAAM,SAAS,SAAS;AAEhH,MAAI,cAAsB;AAC1B,MAAI,aAA4B;AAChC,MAAI,WAAmB;AACvB,WAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AAChC,UAAA,QAAQ,OAAO,CAAC;AAGlB,QAAA,OAAO,MAAM,KAAK,KAAK,QAAO,YAAO,IAAI,CAAC,MAAZ,mBAAe,KAAK;AAAe,kBAAA;AAGjE,QAAA,MAAM,UAAU,OAAO,QAAO,YAAO,IAAI,CAAC,MAAZ,mBAAe,KAAK;AAAG,mBAAa,IAAI;AAAA,aACjE,MAAM,UAAU;AAAkB,mBAAA;AAGvC,QAAA,OAAO,MAAM,KAAK,GAAG;AACvB,UAAI,UAAU,UAAU,IAAI,MAAM,KAAK;AACvC;AAAA;AAAA,QAEE,CAAC;AAAA,QAED,cAAc;AAAA,QAEd,MAAM,UAAU,WACf,OAAO,WAAW,YAAY,SAAS,OAAO,OAAO,GAAG,MAAM;AAAA,QAE/D,MAAM,SAAS,iBACd,QAAO,YAAO,IAAI,CAAC,MAAZ,mBAAe,KAAK,KAAK,MAAM,MAAK,YAAO,IAAI,CAAC,MAAZ,mBAAe,KAAK,OAAK,YAAO,IAAI,CAAC,MAAZ,mBAAe,WAAU;AAAA,SAE7F,mBAAoB,CAAC,WAAU,YAAO,IAAI,CAAC,MAAZ,mBAAe,KAAK,KAAK,CAAC,WAAU,YAAO,IAAI,CAAC,MAAZ,mBAAe,KAAK;AAAA,QACxF;AACA,eAAO,CAAC,WAAW,QAAQ,IAAI,OAAO,GAAG;AAC7B,oBAAA;AACV;AAEA,cAAI,IAAI;AACR,iBAAO,IAAI,GAAG;AACZ,sBAAU,OAAO,aAAa,MAAO,IAAI,KAAM,EAAE,IAAI;AACjD,gBAAA,KAAK,MAAM,IAAI,EAAE;AAAA,UACvB;AAAA,QACF;AAEU,kBAAA,IAAI,MAAM,OAAO,OAAO;AAAA,MACpC;AAEA,kBAAY,4BAAW,MAAM;AAI7B,UAAI,MAAM,UAAU;AAAuB,oBAAA;AAAA,IAAA,OACtC;AACL,UAAI,MAAM,UAAU,SAAO,YAAO,IAAI,CAAC,MAAZ,mBAAe,WAAU;AAAkB,oBAAA;AAAA,eAC7D,MAAM,UAAU;AAAkB,oBAAA;AAAA;AACtC,oBAAY,MAAM;AAAA,IACzB;AAAA,EACF;AAEA,SAAO,SAAS;AAClB;;;;;;;"}
|
package/dist/index.mjs
CHANGED
|
@@ -266,20 +266,20 @@ const WGSL_KEYWORDS = [
|
|
|
266
266
|
"writeonly",
|
|
267
267
|
"yield",
|
|
268
268
|
// 15.4 Context-Dependent Name Tokens - Attributes
|
|
269
|
-
"align",
|
|
270
|
-
"binding",
|
|
271
|
-
"builtin",
|
|
272
|
-
"compute",
|
|
273
|
-
"const",
|
|
274
|
-
"fragment",
|
|
275
|
-
"group",
|
|
276
|
-
"id",
|
|
277
|
-
"interpolate",
|
|
278
|
-
"invariant",
|
|
279
|
-
"location",
|
|
280
|
-
"size",
|
|
281
|
-
"vertex",
|
|
282
|
-
"workgroup_size",
|
|
269
|
+
"@align",
|
|
270
|
+
"@binding",
|
|
271
|
+
"@builtin",
|
|
272
|
+
"@compute",
|
|
273
|
+
"@const",
|
|
274
|
+
"@fragment",
|
|
275
|
+
"@group",
|
|
276
|
+
"@id",
|
|
277
|
+
"@interpolate",
|
|
278
|
+
"@invariant",
|
|
279
|
+
"@location",
|
|
280
|
+
"@size",
|
|
281
|
+
"@vertex",
|
|
282
|
+
"@workgroup_size",
|
|
283
283
|
// 15.4 Context-Dependent Name Tokens - Interpolation Types
|
|
284
284
|
"perspective",
|
|
285
285
|
"linear",
|
|
@@ -627,19 +627,19 @@ const GLSL_KEYWORDS = [
|
|
|
627
627
|
"namespace",
|
|
628
628
|
"using",
|
|
629
629
|
// 3.5 Preprocessor
|
|
630
|
-
"define",
|
|
631
|
-
"undef",
|
|
632
|
-
"if",
|
|
633
|
-
"ifdef",
|
|
634
|
-
"ifndef",
|
|
635
|
-
"else",
|
|
636
|
-
"elif",
|
|
637
|
-
"endif",
|
|
638
|
-
"error",
|
|
639
|
-
"pragma",
|
|
640
|
-
"extension",
|
|
641
|
-
"version",
|
|
642
|
-
"line",
|
|
630
|
+
"#define",
|
|
631
|
+
"#undef",
|
|
632
|
+
"#if",
|
|
633
|
+
"#ifdef",
|
|
634
|
+
"#ifndef",
|
|
635
|
+
"#else",
|
|
636
|
+
"#elif",
|
|
637
|
+
"#endif",
|
|
638
|
+
"#error",
|
|
639
|
+
"#pragma",
|
|
640
|
+
"#extension",
|
|
641
|
+
"#version",
|
|
642
|
+
"#line",
|
|
643
643
|
// 3.5 Preprocessor - Operators
|
|
644
644
|
"defined",
|
|
645
645
|
// 3.5 Preprocessor - Macros
|
|
@@ -770,7 +770,7 @@ const GLSL_KEYWORDS = [
|
|
|
770
770
|
"dFdy",
|
|
771
771
|
"fwidth",
|
|
772
772
|
// Additional directives
|
|
773
|
-
"include",
|
|
773
|
+
"#include",
|
|
774
774
|
// WEBGL_multi_draw https://registry.khronos.org/webgl/extensions/WEBGL_multi_draw
|
|
775
775
|
"gl_DrawID",
|
|
776
776
|
// vertex only
|
|
@@ -780,10 +780,6 @@ const GLSL_KEYWORDS = [
|
|
|
780
780
|
"GL_OVR_multiview2"
|
|
781
781
|
];
|
|
782
782
|
const SYMBOLS = [
|
|
783
|
-
// Preprocessor (GLSL)
|
|
784
|
-
"#",
|
|
785
|
-
// Function arrow (WGSL)
|
|
786
|
-
"->",
|
|
787
783
|
// Comments
|
|
788
784
|
"//",
|
|
789
785
|
"/*",
|
|
@@ -813,6 +809,7 @@ const SYMBOLS = [
|
|
|
813
809
|
"!",
|
|
814
810
|
"+",
|
|
815
811
|
"-",
|
|
812
|
+
"*",
|
|
816
813
|
"/",
|
|
817
814
|
"&",
|
|
818
815
|
"|",
|
|
@@ -827,6 +824,7 @@ const SYMBOLS = [
|
|
|
827
824
|
"!=",
|
|
828
825
|
"+=",
|
|
829
826
|
"-=",
|
|
827
|
+
"*=",
|
|
830
828
|
"/=",
|
|
831
829
|
"&=",
|
|
832
830
|
"|=",
|
|
@@ -835,7 +833,21 @@ const SYMBOLS = [
|
|
|
835
833
|
"<<=",
|
|
836
834
|
">>="
|
|
837
835
|
];
|
|
838
|
-
const
|
|
836
|
+
const GLSL_SYMBOLS = [
|
|
837
|
+
...SYMBOLS,
|
|
838
|
+
// Preprocessor
|
|
839
|
+
"#",
|
|
840
|
+
// Line continuation
|
|
841
|
+
"\\"
|
|
842
|
+
];
|
|
843
|
+
const WGSL_SYMBOLS = [
|
|
844
|
+
...SYMBOLS,
|
|
845
|
+
// Function arrow
|
|
846
|
+
"->",
|
|
847
|
+
// Attribute
|
|
848
|
+
"@"
|
|
849
|
+
];
|
|
850
|
+
const isWGSL = RegExp.prototype.test.bind(/\bfn\s+\w+\s*\(|\b(var|let)\s+\w+\s*[:=]/);
|
|
839
851
|
const isFloat = RegExp.prototype.test.bind(/\.|[eEpP][-+]?\d|[fFhH]$/);
|
|
840
852
|
const isBool = RegExp.prototype.test.bind(/^(true|false)$/);
|
|
841
853
|
const ZERO = 48;
|
|
@@ -852,15 +864,19 @@ const DOT = 46;
|
|
|
852
864
|
const UNDERSCORE = 95;
|
|
853
865
|
const SLASH = 47;
|
|
854
866
|
const STAR = 42;
|
|
867
|
+
const HASH = 35;
|
|
868
|
+
const AT = 64;
|
|
855
869
|
const isDigit = (c) => ZERO <= c && c <= NINE;
|
|
856
870
|
const isAlpha = (c) => (c &= ~32, A <= c && c <= Z);
|
|
857
871
|
const isLine = (c) => c === LF || c === CR;
|
|
858
872
|
const isSpace = (c) => isLine(c) || c === TAB || c === SPACE;
|
|
859
873
|
const isNumber = (c) => isAlpha(c) || isDigit(c) || c === PLUS || c === MINUS || c === DOT;
|
|
860
874
|
const isIdent = (c) => isAlpha(c) || isDigit(c) || c === UNDERSCORE;
|
|
875
|
+
const isMacro = (c) => c === HASH || c === AT;
|
|
861
876
|
function tokenize(code, index = 0) {
|
|
862
877
|
const tokens = [];
|
|
863
|
-
|
|
878
|
+
let prev = -1;
|
|
879
|
+
const [KEYWORDS, SYMBOLS2] = isWGSL(code) ? [WGSL_KEYWORDS, WGSL_SYMBOLS] : [GLSL_KEYWORDS, GLSL_SYMBOLS];
|
|
864
880
|
while (index < code.length) {
|
|
865
881
|
let value = code[index];
|
|
866
882
|
const char = code.charCodeAt(index++);
|
|
@@ -880,7 +896,7 @@ function tokenize(code, index = 0) {
|
|
|
880
896
|
value += code[index++];
|
|
881
897
|
if (isBool(value))
|
|
882
898
|
tokens.push({ type: "bool", value });
|
|
883
|
-
else if (KEYWORDS.includes(value))
|
|
899
|
+
else if (KEYWORDS.includes(isMacro(prev) ? String.fromCharCode(prev) + value : value))
|
|
884
900
|
tokens.push({ type: "keyword", value });
|
|
885
901
|
else
|
|
886
902
|
tokens.push({ type: "identifier", value });
|
|
@@ -890,13 +906,14 @@ function tokenize(code, index = 0) {
|
|
|
890
906
|
value += code[index++];
|
|
891
907
|
tokens.push({ type: "comment", value });
|
|
892
908
|
} else {
|
|
893
|
-
for (const symbol of
|
|
909
|
+
for (const symbol of SYMBOLS2) {
|
|
894
910
|
if (symbol.length > value.length && code.startsWith(symbol, index - 1))
|
|
895
911
|
value = symbol;
|
|
896
912
|
}
|
|
897
913
|
index += value.length - 1;
|
|
898
914
|
tokens.push({ type: "symbol", value });
|
|
899
915
|
}
|
|
916
|
+
prev = char;
|
|
900
917
|
}
|
|
901
918
|
return tokens;
|
|
902
919
|
}
|
|
@@ -956,8 +973,9 @@ function minify(code, { mangle = false, mangleMap = /* @__PURE__ */ new Map(), m
|
|
|
956
973
|
}
|
|
957
974
|
export {
|
|
958
975
|
GLSL_KEYWORDS,
|
|
959
|
-
|
|
976
|
+
GLSL_SYMBOLS,
|
|
960
977
|
WGSL_KEYWORDS,
|
|
978
|
+
WGSL_SYMBOLS,
|
|
961
979
|
minify,
|
|
962
980
|
tokenize
|
|
963
981
|
};
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../src/constants.ts","../src/tokenizer.ts","../src/minifier.ts"],"sourcesContent":null,"names":[],"mappings":"AACO,MAAM,gBAAgB;AAAA;AAAA,EAE3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AACF;AAIO,MAAM,gBAAgB;AAAA;AAAA,EAE3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../src/constants.ts","../src/tokenizer.ts","../src/minifier.ts"],"sourcesContent":null,"names":["SYMBOLS"],"mappings":"AACO,MAAM,gBAAgB;AAAA;AAAA,EAE3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AACF;AAIO,MAAM,gBAAgB;AAAA;AAAA,EAE3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA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"}
|
package/package.json
CHANGED
package/src/constants.ts
CHANGED
|
@@ -272,20 +272,20 @@ export const WGSL_KEYWORDS = [
|
|
|
272
272
|
'yield',
|
|
273
273
|
|
|
274
274
|
// 15.4 Context-Dependent Name Tokens - Attributes
|
|
275
|
-
'align',
|
|
276
|
-
'binding',
|
|
277
|
-
'builtin',
|
|
278
|
-
'compute',
|
|
279
|
-
'const',
|
|
280
|
-
'fragment',
|
|
281
|
-
'group',
|
|
282
|
-
'id',
|
|
283
|
-
'interpolate',
|
|
284
|
-
'invariant',
|
|
285
|
-
'location',
|
|
286
|
-
'size',
|
|
287
|
-
'vertex',
|
|
288
|
-
'workgroup_size',
|
|
275
|
+
'@align',
|
|
276
|
+
'@binding',
|
|
277
|
+
'@builtin',
|
|
278
|
+
'@compute',
|
|
279
|
+
'@const',
|
|
280
|
+
'@fragment',
|
|
281
|
+
'@group',
|
|
282
|
+
'@id',
|
|
283
|
+
'@interpolate',
|
|
284
|
+
'@invariant',
|
|
285
|
+
'@location',
|
|
286
|
+
'@size',
|
|
287
|
+
'@vertex',
|
|
288
|
+
'@workgroup_size',
|
|
289
289
|
|
|
290
290
|
// 15.4 Context-Dependent Name Tokens - Interpolation Types
|
|
291
291
|
'perspective',
|
|
@@ -653,19 +653,19 @@ export const GLSL_KEYWORDS = [
|
|
|
653
653
|
'using',
|
|
654
654
|
|
|
655
655
|
// 3.5 Preprocessor
|
|
656
|
-
'define',
|
|
657
|
-
'undef',
|
|
658
|
-
'if',
|
|
659
|
-
'ifdef',
|
|
660
|
-
'ifndef',
|
|
661
|
-
'else',
|
|
662
|
-
'elif',
|
|
663
|
-
'endif',
|
|
664
|
-
'error',
|
|
665
|
-
'pragma',
|
|
666
|
-
'extension',
|
|
667
|
-
'version',
|
|
668
|
-
'line',
|
|
656
|
+
'#define',
|
|
657
|
+
'#undef',
|
|
658
|
+
'#if',
|
|
659
|
+
'#ifdef',
|
|
660
|
+
'#ifndef',
|
|
661
|
+
'#else',
|
|
662
|
+
'#elif',
|
|
663
|
+
'#endif',
|
|
664
|
+
'#error',
|
|
665
|
+
'#pragma',
|
|
666
|
+
'#extension',
|
|
667
|
+
'#version',
|
|
668
|
+
'#line',
|
|
669
669
|
|
|
670
670
|
// 3.5 Preprocessor - Operators
|
|
671
671
|
'defined',
|
|
@@ -811,7 +811,7 @@ export const GLSL_KEYWORDS = [
|
|
|
811
811
|
'fwidth',
|
|
812
812
|
|
|
813
813
|
// Additional directives
|
|
814
|
-
'include',
|
|
814
|
+
'#include',
|
|
815
815
|
|
|
816
816
|
// WEBGL_multi_draw https://registry.khronos.org/webgl/extensions/WEBGL_multi_draw
|
|
817
817
|
'gl_DrawID', // vertex only
|
|
@@ -822,15 +822,7 @@ export const GLSL_KEYWORDS = [
|
|
|
822
822
|
'GL_OVR_multiview2',
|
|
823
823
|
]
|
|
824
824
|
|
|
825
|
-
|
|
826
|
-
// WGSL 15.3 Syntactic Tokens
|
|
827
|
-
export const SYMBOLS = [
|
|
828
|
-
// Preprocessor (GLSL)
|
|
829
|
-
'#',
|
|
830
|
-
|
|
831
|
-
// Function arrow (WGSL)
|
|
832
|
-
'->',
|
|
833
|
-
|
|
825
|
+
const SYMBOLS = [
|
|
834
826
|
// Comments
|
|
835
827
|
'//',
|
|
836
828
|
'/*',
|
|
@@ -863,6 +855,7 @@ export const SYMBOLS = [
|
|
|
863
855
|
'!',
|
|
864
856
|
'+',
|
|
865
857
|
'-',
|
|
858
|
+
'*',
|
|
866
859
|
'/',
|
|
867
860
|
'&',
|
|
868
861
|
'|',
|
|
@@ -878,6 +871,7 @@ export const SYMBOLS = [
|
|
|
878
871
|
'!=',
|
|
879
872
|
'+=',
|
|
880
873
|
'-=',
|
|
874
|
+
'*=',
|
|
881
875
|
'/=',
|
|
882
876
|
'&=',
|
|
883
877
|
'|=',
|
|
@@ -886,3 +880,21 @@ export const SYMBOLS = [
|
|
|
886
880
|
'<<=',
|
|
887
881
|
'>>=',
|
|
888
882
|
]
|
|
883
|
+
|
|
884
|
+
// GLSL 3.2 Character Set, 5.1 Operators
|
|
885
|
+
export const GLSL_SYMBOLS = [
|
|
886
|
+
...SYMBOLS,
|
|
887
|
+
// Preprocessor
|
|
888
|
+
'#',
|
|
889
|
+
// Line continuation
|
|
890
|
+
'\\',
|
|
891
|
+
]
|
|
892
|
+
|
|
893
|
+
// WGSL 15.3 Syntactic Tokens
|
|
894
|
+
export const WGSL_SYMBOLS = [
|
|
895
|
+
...SYMBOLS,
|
|
896
|
+
// Function arrow
|
|
897
|
+
'->',
|
|
898
|
+
// Attribute
|
|
899
|
+
'@',
|
|
900
|
+
]
|
package/src/tokenizer.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { WGSL_KEYWORDS, WGSL_SYMBOLS, GLSL_KEYWORDS, GLSL_SYMBOLS } from './constants'
|
|
2
2
|
|
|
3
3
|
export type TokenType = 'whitespace' | 'comment' | 'symbol' | 'bool' | 'float' | 'int' | 'identifier' | 'keyword'
|
|
4
4
|
|
|
@@ -8,7 +8,7 @@ export interface Token<T = TokenType, V = string> {
|
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
// Checks for WGSL-specific `fn foo(`, `var bar =`, and `let baz =`
|
|
11
|
-
const isWGSL = RegExp.prototype.test.bind(/\bfn\s+\w+\s*\(|\b(var|let)\
|
|
11
|
+
const isWGSL = RegExp.prototype.test.bind(/\bfn\s+\w+\s*\(|\b(var|let)\s+\w+\s*[:=]/)
|
|
12
12
|
|
|
13
13
|
const isFloat = RegExp.prototype.test.bind(/\.|[eEpP][-+]?\d|[fFhH]$/)
|
|
14
14
|
const isBool = RegExp.prototype.test.bind(/^(true|false)$/)
|
|
@@ -27,6 +27,8 @@ const DOT = 46
|
|
|
27
27
|
const UNDERSCORE = 95
|
|
28
28
|
const SLASH = 47
|
|
29
29
|
const STAR = 42
|
|
30
|
+
const HASH = 35
|
|
31
|
+
const AT = 64
|
|
30
32
|
|
|
31
33
|
const isDigit = (c: number) => ZERO <= c && c <= NINE
|
|
32
34
|
const isAlpha = (c: number) => ((c &= ~32), A <= c && c <= Z)
|
|
@@ -34,6 +36,7 @@ const isLine = (c: number) => c === LF || c === CR
|
|
|
34
36
|
const isSpace = (c: number) => isLine(c) || c === TAB || c === SPACE
|
|
35
37
|
const isNumber = (c: number) => isAlpha(c) || isDigit(c) || c === PLUS || c === MINUS || c === DOT
|
|
36
38
|
const isIdent = (c: number) => isAlpha(c) || isDigit(c) || c === UNDERSCORE
|
|
39
|
+
const isMacro = (c: number) => c === HASH || c === AT
|
|
37
40
|
|
|
38
41
|
/**
|
|
39
42
|
* Tokenizes a string of GLSL or WGSL code.
|
|
@@ -41,7 +44,8 @@ const isIdent = (c: number) => isAlpha(c) || isDigit(c) || c === UNDERSCORE
|
|
|
41
44
|
export function tokenize(code: string, index: number = 0): Token[] {
|
|
42
45
|
const tokens: Token[] = []
|
|
43
46
|
|
|
44
|
-
|
|
47
|
+
let prev: number = -1
|
|
48
|
+
const [KEYWORDS, SYMBOLS] = isWGSL(code) ? [WGSL_KEYWORDS, WGSL_SYMBOLS] : [GLSL_KEYWORDS, GLSL_SYMBOLS]
|
|
45
49
|
while (index < code.length) {
|
|
46
50
|
let value = code[index]
|
|
47
51
|
const char = code.charCodeAt(index++)
|
|
@@ -56,7 +60,8 @@ export function tokenize(code: string, index: number = 0): Token[] {
|
|
|
56
60
|
} else if (isAlpha(char)) {
|
|
57
61
|
while (isIdent(code.charCodeAt(index))) value += code[index++]
|
|
58
62
|
if (isBool(value)) tokens.push({ type: 'bool', value })
|
|
59
|
-
else if (KEYWORDS.includes(
|
|
63
|
+
else if (KEYWORDS.includes(isMacro(prev) ? String.fromCharCode(prev) + value : value))
|
|
64
|
+
tokens.push({ type: 'keyword', value })
|
|
60
65
|
else tokens.push({ type: 'identifier', value })
|
|
61
66
|
} else if (char === SLASH && (code.charCodeAt(index) === SLASH || code.charCodeAt(index) === STAR)) {
|
|
62
67
|
const isMultiline = code.charCodeAt(index) === STAR
|
|
@@ -69,6 +74,7 @@ export function tokenize(code: string, index: number = 0): Token[] {
|
|
|
69
74
|
index += value.length - 1
|
|
70
75
|
tokens.push({ type: 'symbol', value })
|
|
71
76
|
}
|
|
77
|
+
prev = char
|
|
72
78
|
}
|
|
73
79
|
|
|
74
80
|
return tokens
|