@tokens-studio/tokenscript-interpreter 0.36.4 → 0.37.1
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/chunk-3D6X7EAK.js +6605 -0
- package/dist/chunk-3D6X7EAK.js.map +1 -0
- package/dist/chunk-6KHDVYST.js +6616 -0
- package/dist/chunk-6KHDVYST.js.map +1 -0
- package/dist/chunk-6MXPTXGR.js +6591 -0
- package/dist/chunk-6MXPTXGR.js.map +1 -0
- package/dist/chunk-EM64RW7I.js +6592 -0
- package/dist/chunk-EM64RW7I.js.map +1 -0
- package/dist/chunk-H7YXFZ4I.js +6605 -0
- package/dist/chunk-H7YXFZ4I.js.map +1 -0
- package/dist/chunk-Z437BNC5.js +107 -0
- package/dist/chunk-Z437BNC5.js.map +1 -0
- package/dist/cli.js +149 -16
- package/dist/cli.js.map +1 -1
- package/dist/compliance-suite.js +3 -5
- package/dist/compliance-suite.js.map +1 -1
- package/dist/config-B-kbeoff.d.ts +927 -0
- package/dist/config-Mw_Iq324.d.ts +921 -0
- package/dist/lib/{chunk-S7WGJBSX.js → chunk-24FMHL6W.js} +16 -3
- package/dist/lib/chunk-24FMHL6W.js.map +1 -0
- package/dist/lib/{chunk-2BDFE7U4.js → chunk-4L54VFWU.js} +132 -15
- package/dist/lib/chunk-4L54VFWU.js.map +1 -0
- package/dist/lib/{chunk-UF6I25ED.cjs → chunk-KX5QZ5G2.cjs} +685 -567
- package/dist/lib/chunk-KX5QZ5G2.cjs.map +1 -0
- package/dist/lib/{chunk-K65UI6KX.cjs → chunk-OABJLZRZ.cjs} +113 -100
- package/dist/lib/chunk-OABJLZRZ.cjs.map +1 -0
- package/dist/lib/{chunk-AEOBCHBK.js → chunk-SLITBMFB.js} +10 -3
- package/dist/lib/chunk-SLITBMFB.js.map +1 -0
- package/dist/lib/{chunk-KHF2VXWO.cjs → chunk-ZMMIYWFF.cjs} +10 -2
- package/dist/lib/chunk-ZMMIYWFF.cjs.map +1 -0
- package/dist/lib/index.cjs +99 -91
- package/dist/lib/index.d.cts +4 -4
- package/dist/lib/index.d.ts +4 -4
- package/dist/lib/index.js +3 -3
- package/dist/lib/{interpreter-DdF_Hj-J.d.ts → interpreter-B7BcLEBz.d.cts} +54 -4
- package/dist/lib/{interpreter-Cz_vWDDa.d.cts → interpreter-wKto6JTb.d.ts} +54 -4
- package/dist/lib/interpreter.cjs +81 -73
- package/dist/lib/interpreter.d.cts +7 -6
- package/dist/lib/interpreter.d.ts +7 -6
- package/dist/lib/interpreter.js +3 -3
- package/dist/lib/processor-node.cjs +12 -12
- package/dist/lib/processor-node.d.cts +3 -3
- package/dist/lib/processor-node.d.ts +3 -3
- package/dist/lib/processor-node.js +3 -3
- package/dist/lib/processor.cjs +17 -17
- package/dist/lib/processor.d.cts +4 -4
- package/dist/lib/processor.d.ts +4 -4
- package/dist/lib/processor.js +3 -3
- package/dist/lib/schema.cjs +5 -5
- package/dist/lib/schema.d.cts +1 -1
- package/dist/lib/schema.d.ts +1 -1
- package/dist/lib/schema.js +3 -3
- package/dist/lib/syntax-highlighting.cjs +15 -15
- package/dist/lib/syntax-highlighting.d.cts +1 -1
- package/dist/lib/syntax-highlighting.d.ts +1 -1
- package/dist/lib/syntax-highlighting.js +2 -2
- package/dist/lib/{types-DRpZJjkx.d.ts → types-BHcQYEQ-.d.ts} +2 -2
- package/dist/lib/{types-CxQPMHn1.d.ts → types-BMYcHiSq.d.cts} +9 -1
- package/dist/lib/{types-CxQPMHn1.d.cts → types-BMYcHiSq.d.ts} +9 -1
- package/dist/lib/{types-6QQt-XVS.d.cts → types-BOyxzACN.d.cts} +2 -2
- package/dist/lib/types.cjs +10 -6
- package/dist/lib/types.d.cts +1 -1
- package/dist/lib/types.d.ts +1 -1
- package/dist/lib/types.js +1 -1
- package/dist/processor/index.d.ts +1 -1
- package/dist/processor/index.js +18 -2
- package/dist/processor/index.js.map +1 -1
- package/dist/repl.d.ts +15 -3
- package/dist/repl.js +6 -8
- package/dist/repl.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.js +1 -1
- package/package.json +1 -1
- package/dist/lib/chunk-2BDFE7U4.js.map +0 -1
- package/dist/lib/chunk-AEOBCHBK.js.map +0 -1
- package/dist/lib/chunk-K65UI6KX.cjs.map +0 -1
- package/dist/lib/chunk-KHF2VXWO.cjs.map +0 -1
- package/dist/lib/chunk-S7WGJBSX.js.map +0 -1
- package/dist/lib/chunk-UF6I25ED.cjs.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var chunkOABJLZRZ_cjs = require('./chunk-OABJLZRZ.cjs');
|
|
4
|
+
var chunkZMMIYWFF_cjs = require('./chunk-ZMMIYWFF.cjs');
|
|
5
5
|
var schemaValidation = require('@tokens-studio/schema-validation');
|
|
6
6
|
|
|
7
7
|
// src/interpreter/tolerant/partial-nodes.ts
|
|
@@ -12,7 +12,7 @@ var _PartialReferenceNode = class _PartialReferenceNode {
|
|
|
12
12
|
this.nodeType = "PartialReferenceNode";
|
|
13
13
|
}
|
|
14
14
|
};
|
|
15
|
-
|
|
15
|
+
chunkZMMIYWFF_cjs.__name(_PartialReferenceNode, "PartialReferenceNode");
|
|
16
16
|
var PartialReferenceNode = _PartialReferenceNode;
|
|
17
17
|
var _PartialStringNode = class _PartialStringNode {
|
|
18
18
|
constructor(partialValue, quoteType, token) {
|
|
@@ -22,7 +22,7 @@ var _PartialStringNode = class _PartialStringNode {
|
|
|
22
22
|
this.nodeType = "PartialStringNode";
|
|
23
23
|
}
|
|
24
24
|
};
|
|
25
|
-
|
|
25
|
+
chunkZMMIYWFF_cjs.__name(_PartialStringNode, "PartialStringNode");
|
|
26
26
|
var PartialStringNode = _PartialStringNode;
|
|
27
27
|
var _PartialFunctionCallNode = class _PartialFunctionCallNode {
|
|
28
28
|
constructor(name, args, token) {
|
|
@@ -32,7 +32,7 @@ var _PartialFunctionCallNode = class _PartialFunctionCallNode {
|
|
|
32
32
|
this.nodeType = "PartialFunctionCallNode";
|
|
33
33
|
}
|
|
34
34
|
};
|
|
35
|
-
|
|
35
|
+
chunkZMMIYWFF_cjs.__name(_PartialFunctionCallNode, "PartialFunctionCallNode");
|
|
36
36
|
var PartialFunctionCallNode = _PartialFunctionCallNode;
|
|
37
37
|
var _PartialBinOpNode = class _PartialBinOpNode {
|
|
38
38
|
constructor(left, opToken) {
|
|
@@ -45,7 +45,7 @@ var _PartialBinOpNode = class _PartialBinOpNode {
|
|
|
45
45
|
return this.opToken.value;
|
|
46
46
|
}
|
|
47
47
|
};
|
|
48
|
-
|
|
48
|
+
chunkZMMIYWFF_cjs.__name(_PartialBinOpNode, "PartialBinOpNode");
|
|
49
49
|
var PartialBinOpNode = _PartialBinOpNode;
|
|
50
50
|
var _PartialUnaryOpNode = class _PartialUnaryOpNode {
|
|
51
51
|
constructor(opToken) {
|
|
@@ -57,7 +57,7 @@ var _PartialUnaryOpNode = class _PartialUnaryOpNode {
|
|
|
57
57
|
return this.opToken.value;
|
|
58
58
|
}
|
|
59
59
|
};
|
|
60
|
-
|
|
60
|
+
chunkZMMIYWFF_cjs.__name(_PartialUnaryOpNode, "PartialUnaryOpNode");
|
|
61
61
|
var PartialUnaryOpNode = _PartialUnaryOpNode;
|
|
62
62
|
var _PartialParenNode = class _PartialParenNode {
|
|
63
63
|
constructor(expr, token) {
|
|
@@ -66,7 +66,7 @@ var _PartialParenNode = class _PartialParenNode {
|
|
|
66
66
|
this.nodeType = "PartialParenNode";
|
|
67
67
|
}
|
|
68
68
|
};
|
|
69
|
-
|
|
69
|
+
chunkZMMIYWFF_cjs.__name(_PartialParenNode, "PartialParenNode");
|
|
70
70
|
var PartialParenNode = _PartialParenNode;
|
|
71
71
|
|
|
72
72
|
// src/interpreter/ast.ts
|
|
@@ -83,7 +83,7 @@ var _BinOpNode = class _BinOpNode {
|
|
|
83
83
|
return this.opToken.value;
|
|
84
84
|
}
|
|
85
85
|
};
|
|
86
|
-
|
|
86
|
+
chunkZMMIYWFF_cjs.__name(_BinOpNode, "BinOpNode");
|
|
87
87
|
var BinOpNode = _BinOpNode;
|
|
88
88
|
var _NumNode = class _NumNode {
|
|
89
89
|
constructor(token) {
|
|
@@ -96,7 +96,7 @@ var _NumNode = class _NumNode {
|
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
};
|
|
99
|
-
|
|
99
|
+
chunkZMMIYWFF_cjs.__name(_NumNode, "NumNode");
|
|
100
100
|
var NumNode = _NumNode;
|
|
101
101
|
var _StringNode = class _StringNode {
|
|
102
102
|
constructor(token) {
|
|
@@ -105,7 +105,7 @@ var _StringNode = class _StringNode {
|
|
|
105
105
|
this.value = token.value;
|
|
106
106
|
}
|
|
107
107
|
};
|
|
108
|
-
|
|
108
|
+
chunkZMMIYWFF_cjs.__name(_StringNode, "StringNode");
|
|
109
109
|
var StringNode = _StringNode;
|
|
110
110
|
var _TemplateStringNode = class _TemplateStringNode {
|
|
111
111
|
constructor(parts, token) {
|
|
@@ -114,7 +114,7 @@ var _TemplateStringNode = class _TemplateStringNode {
|
|
|
114
114
|
this.nodeType = "TemplateStringNode";
|
|
115
115
|
}
|
|
116
116
|
};
|
|
117
|
-
|
|
117
|
+
chunkZMMIYWFF_cjs.__name(_TemplateStringNode, "TemplateStringNode");
|
|
118
118
|
var TemplateStringNode = _TemplateStringNode;
|
|
119
119
|
var _UnaryOpNode = class _UnaryOpNode {
|
|
120
120
|
constructor(opToken, expr, token) {
|
|
@@ -128,7 +128,7 @@ var _UnaryOpNode = class _UnaryOpNode {
|
|
|
128
128
|
return this.opToken.value;
|
|
129
129
|
}
|
|
130
130
|
};
|
|
131
|
-
|
|
131
|
+
chunkZMMIYWFF_cjs.__name(_UnaryOpNode, "UnaryOpNode");
|
|
132
132
|
var UnaryOpNode = _UnaryOpNode;
|
|
133
133
|
var _ListNode = class _ListNode {
|
|
134
134
|
constructor(elements, token) {
|
|
@@ -137,7 +137,7 @@ var _ListNode = class _ListNode {
|
|
|
137
137
|
this.nodeType = "ListNode";
|
|
138
138
|
}
|
|
139
139
|
};
|
|
140
|
-
|
|
140
|
+
chunkZMMIYWFF_cjs.__name(_ListNode, "ListNode");
|
|
141
141
|
var ListNode = _ListNode;
|
|
142
142
|
var _ImplicitListNode = class _ImplicitListNode extends ListNode {
|
|
143
143
|
constructor(elements, token) {
|
|
@@ -148,7 +148,7 @@ var _ImplicitListNode = class _ImplicitListNode extends ListNode {
|
|
|
148
148
|
this.isImplicit = true;
|
|
149
149
|
}
|
|
150
150
|
};
|
|
151
|
-
|
|
151
|
+
chunkZMMIYWFF_cjs.__name(_ImplicitListNode, "ImplicitListNode");
|
|
152
152
|
var ImplicitListNode = _ImplicitListNode;
|
|
153
153
|
var _FunctionCallNode = class _FunctionCallNode {
|
|
154
154
|
constructor(nameTokenValue, args, token) {
|
|
@@ -158,7 +158,7 @@ var _FunctionCallNode = class _FunctionCallNode {
|
|
|
158
158
|
this.name = nameTokenValue;
|
|
159
159
|
}
|
|
160
160
|
};
|
|
161
|
-
|
|
161
|
+
chunkZMMIYWFF_cjs.__name(_FunctionCallNode, "FunctionCallNode");
|
|
162
162
|
var FunctionCallNode = _FunctionCallNode;
|
|
163
163
|
var _NoOpNode = class _NoOpNode {
|
|
164
164
|
constructor(token) {
|
|
@@ -166,7 +166,7 @@ var _NoOpNode = class _NoOpNode {
|
|
|
166
166
|
this.nodeType = "NoOpNode";
|
|
167
167
|
}
|
|
168
168
|
};
|
|
169
|
-
|
|
169
|
+
chunkZMMIYWFF_cjs.__name(_NoOpNode, "NoOpNode");
|
|
170
170
|
var NoOpNode = _NoOpNode;
|
|
171
171
|
var _ReferenceNode = class _ReferenceNode {
|
|
172
172
|
constructor(token) {
|
|
@@ -175,7 +175,7 @@ var _ReferenceNode = class _ReferenceNode {
|
|
|
175
175
|
this.value = token.value;
|
|
176
176
|
}
|
|
177
177
|
};
|
|
178
|
-
|
|
178
|
+
chunkZMMIYWFF_cjs.__name(_ReferenceNode, "ReferenceNode");
|
|
179
179
|
var ReferenceNode = _ReferenceNode;
|
|
180
180
|
var _IdentifierNode = class _IdentifierNode {
|
|
181
181
|
constructor(token) {
|
|
@@ -184,7 +184,7 @@ var _IdentifierNode = class _IdentifierNode {
|
|
|
184
184
|
this.name = token.value;
|
|
185
185
|
}
|
|
186
186
|
};
|
|
187
|
-
|
|
187
|
+
chunkZMMIYWFF_cjs.__name(_IdentifierNode, "IdentifierNode");
|
|
188
188
|
var IdentifierNode = _IdentifierNode;
|
|
189
189
|
var _HexColorNode = class _HexColorNode {
|
|
190
190
|
constructor(token) {
|
|
@@ -193,7 +193,7 @@ var _HexColorNode = class _HexColorNode {
|
|
|
193
193
|
this.value = token.value;
|
|
194
194
|
}
|
|
195
195
|
};
|
|
196
|
-
|
|
196
|
+
chunkZMMIYWFF_cjs.__name(_HexColorNode, "HexColorNode");
|
|
197
197
|
var HexColorNode = _HexColorNode;
|
|
198
198
|
var _BooleanNode = class _BooleanNode {
|
|
199
199
|
constructor(value, token) {
|
|
@@ -202,7 +202,7 @@ var _BooleanNode = class _BooleanNode {
|
|
|
202
202
|
this.nodeType = "BooleanNode";
|
|
203
203
|
}
|
|
204
204
|
};
|
|
205
|
-
|
|
205
|
+
chunkZMMIYWFF_cjs.__name(_BooleanNode, "BooleanNode");
|
|
206
206
|
var BooleanNode = _BooleanNode;
|
|
207
207
|
var _NullNode = class _NullNode {
|
|
208
208
|
constructor(token) {
|
|
@@ -210,7 +210,7 @@ var _NullNode = class _NullNode {
|
|
|
210
210
|
this.nodeType = "NullNode";
|
|
211
211
|
}
|
|
212
212
|
};
|
|
213
|
-
|
|
213
|
+
chunkZMMIYWFF_cjs.__name(_NullNode, "NullNode");
|
|
214
214
|
var NullNode = _NullNode;
|
|
215
215
|
var _ElementWithUnitNode = class _ElementWithUnitNode {
|
|
216
216
|
constructor(astNode, unitTokenValue, token) {
|
|
@@ -220,7 +220,7 @@ var _ElementWithUnitNode = class _ElementWithUnitNode {
|
|
|
220
220
|
this.unit = unitTokenValue;
|
|
221
221
|
}
|
|
222
222
|
};
|
|
223
|
-
|
|
223
|
+
chunkZMMIYWFF_cjs.__name(_ElementWithUnitNode, "ElementWithUnitNode");
|
|
224
224
|
var ElementWithUnitNode = _ElementWithUnitNode;
|
|
225
225
|
var _AssignNode = class _AssignNode {
|
|
226
226
|
constructor(varName, typeDecl, assignmentExpr, token) {
|
|
@@ -231,7 +231,7 @@ var _AssignNode = class _AssignNode {
|
|
|
231
231
|
this.nodeType = "AssignNode";
|
|
232
232
|
}
|
|
233
233
|
};
|
|
234
|
-
|
|
234
|
+
chunkZMMIYWFF_cjs.__name(_AssignNode, "AssignNode");
|
|
235
235
|
var AssignNode = _AssignNode;
|
|
236
236
|
var _TypeDeclNode = class _TypeDeclNode {
|
|
237
237
|
// baseType: e.g. "Color", "List"
|
|
@@ -250,10 +250,10 @@ var _TypeDeclNode = class _TypeDeclNode {
|
|
|
250
250
|
return typeStr;
|
|
251
251
|
}
|
|
252
252
|
};
|
|
253
|
-
|
|
253
|
+
chunkZMMIYWFF_cjs.__name(_TypeDeclNode, "TypeDeclNode");
|
|
254
254
|
var TypeDeclNode = _TypeDeclNode;
|
|
255
|
-
var attributesToString = /* @__PURE__ */
|
|
256
|
-
var identifiersChainToString = /* @__PURE__ */
|
|
255
|
+
var attributesToString = /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((attrs) => attrs.join("."), "attributesToString");
|
|
256
|
+
var identifiersChainToString = /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((attrs) => attributesToString(attrs.map((x) => x.name)), "identifiersChainToString");
|
|
257
257
|
var _ReassignNode = class _ReassignNode {
|
|
258
258
|
constructor(identifier, value, token) {
|
|
259
259
|
this.identifier = identifier;
|
|
@@ -282,7 +282,7 @@ var _ReassignNode = class _ReassignNode {
|
|
|
282
282
|
return this.attributesChain().map((x) => x.name);
|
|
283
283
|
}
|
|
284
284
|
};
|
|
285
|
-
|
|
285
|
+
chunkZMMIYWFF_cjs.__name(_ReassignNode, "ReassignNode");
|
|
286
286
|
var ReassignNode = _ReassignNode;
|
|
287
287
|
var _ReturnNode = class _ReturnNode {
|
|
288
288
|
constructor(expr, token) {
|
|
@@ -291,7 +291,7 @@ var _ReturnNode = class _ReturnNode {
|
|
|
291
291
|
this.nodeType = "ReturnNode";
|
|
292
292
|
}
|
|
293
293
|
};
|
|
294
|
-
|
|
294
|
+
chunkZMMIYWFF_cjs.__name(_ReturnNode, "ReturnNode");
|
|
295
295
|
var ReturnNode = _ReturnNode;
|
|
296
296
|
var _WhileNode = class _WhileNode {
|
|
297
297
|
constructor(condition, body, token) {
|
|
@@ -301,7 +301,7 @@ var _WhileNode = class _WhileNode {
|
|
|
301
301
|
this.nodeType = "WhileNode";
|
|
302
302
|
}
|
|
303
303
|
};
|
|
304
|
-
|
|
304
|
+
chunkZMMIYWFF_cjs.__name(_WhileNode, "WhileNode");
|
|
305
305
|
var WhileNode = _WhileNode;
|
|
306
306
|
var _ForEachNode = class _ForEachNode {
|
|
307
307
|
constructor(itemVar, indexVar, collection, body, token) {
|
|
@@ -313,7 +313,7 @@ var _ForEachNode = class _ForEachNode {
|
|
|
313
313
|
this.nodeType = "ForEachNode";
|
|
314
314
|
}
|
|
315
315
|
};
|
|
316
|
-
|
|
316
|
+
chunkZMMIYWFF_cjs.__name(_ForEachNode, "ForEachNode");
|
|
317
317
|
var ForEachNode = _ForEachNode;
|
|
318
318
|
var _IfConditionNode = class _IfConditionNode {
|
|
319
319
|
constructor(condition, body, token) {
|
|
@@ -323,7 +323,7 @@ var _IfConditionNode = class _IfConditionNode {
|
|
|
323
323
|
this.nodeType = "IfConditionNode";
|
|
324
324
|
}
|
|
325
325
|
};
|
|
326
|
-
|
|
326
|
+
chunkZMMIYWFF_cjs.__name(_IfConditionNode, "IfConditionNode");
|
|
327
327
|
var IfConditionNode = _IfConditionNode;
|
|
328
328
|
var _IfNode = class _IfNode {
|
|
329
329
|
constructor(conditions, elseBody, token) {
|
|
@@ -333,7 +333,7 @@ var _IfNode = class _IfNode {
|
|
|
333
333
|
this.nodeType = "IfNode";
|
|
334
334
|
}
|
|
335
335
|
};
|
|
336
|
-
|
|
336
|
+
chunkZMMIYWFF_cjs.__name(_IfNode, "IfNode");
|
|
337
337
|
var IfNode = _IfNode;
|
|
338
338
|
var _BlockNode = class _BlockNode {
|
|
339
339
|
constructor(statements, token) {
|
|
@@ -343,7 +343,7 @@ var _BlockNode = class _BlockNode {
|
|
|
343
343
|
this.nodeType = "BlockNode";
|
|
344
344
|
}
|
|
345
345
|
};
|
|
346
|
-
|
|
346
|
+
chunkZMMIYWFF_cjs.__name(_BlockNode, "BlockNode");
|
|
347
347
|
var BlockNode = _BlockNode;
|
|
348
348
|
var _StatementListNode = class _StatementListNode {
|
|
349
349
|
constructor(statements, token) {
|
|
@@ -352,7 +352,7 @@ var _StatementListNode = class _StatementListNode {
|
|
|
352
352
|
this.nodeType = "StatementListNode";
|
|
353
353
|
}
|
|
354
354
|
};
|
|
355
|
-
|
|
355
|
+
chunkZMMIYWFF_cjs.__name(_StatementListNode, "StatementListNode");
|
|
356
356
|
var StatementListNode = _StatementListNode;
|
|
357
357
|
var _AttributeAccessNode = class _AttributeAccessNode {
|
|
358
358
|
// 'left' is the object, 'right' is the attribute (IdentifierNode) or method (FunctionCallNode)
|
|
@@ -364,7 +364,7 @@ var _AttributeAccessNode = class _AttributeAccessNode {
|
|
|
364
364
|
this.nodeType = "AttributeAccessNode";
|
|
365
365
|
}
|
|
366
366
|
};
|
|
367
|
-
|
|
367
|
+
chunkZMMIYWFF_cjs.__name(_AttributeAccessNode, "AttributeAccessNode");
|
|
368
368
|
var AttributeAccessNode = _AttributeAccessNode;
|
|
369
369
|
function walkAST(node, onVisit) {
|
|
370
370
|
onVisit(node);
|
|
@@ -432,7 +432,7 @@ function walkAST(node, onVisit) {
|
|
|
432
432
|
walkAST(node.expr, onVisit);
|
|
433
433
|
}
|
|
434
434
|
}
|
|
435
|
-
|
|
435
|
+
chunkZMMIYWFF_cjs.__name(walkAST, "walkAST");
|
|
436
436
|
function filterAST(ast, predicate) {
|
|
437
437
|
const results = [];
|
|
438
438
|
walkAST(ast, (node) => {
|
|
@@ -442,7 +442,7 @@ function filterAST(ast, predicate) {
|
|
|
442
442
|
});
|
|
443
443
|
return results;
|
|
444
444
|
}
|
|
445
|
-
|
|
445
|
+
chunkZMMIYWFF_cjs.__name(filterAST, "filterAST");
|
|
446
446
|
function collectReferenceNodes(ast, targetName) {
|
|
447
447
|
if (targetName) {
|
|
448
448
|
return filterAST(
|
|
@@ -452,7 +452,7 @@ function collectReferenceNodes(ast, targetName) {
|
|
|
452
452
|
}
|
|
453
453
|
return filterAST(ast, (node) => node instanceof ReferenceNode);
|
|
454
454
|
}
|
|
455
|
-
|
|
455
|
+
chunkZMMIYWFF_cjs.__name(collectReferenceNodes, "collectReferenceNodes");
|
|
456
456
|
|
|
457
457
|
// src/interpreter/utils/references.ts
|
|
458
458
|
function renameReferences(originalValue, ast, renameMap) {
|
|
@@ -460,7 +460,7 @@ function renameReferences(originalValue, ast, renameMap) {
|
|
|
460
460
|
for (const [oldName, newName] of Object.entries(renameMap)) {
|
|
461
461
|
const references = collectReferenceNodes(ast, oldName);
|
|
462
462
|
for (const ref of references) {
|
|
463
|
-
if (
|
|
463
|
+
if (chunkOABJLZRZ_cjs.isSome(ref.token.pos) && chunkOABJLZRZ_cjs.isSome(ref.token.endPos)) {
|
|
464
464
|
positions.push({
|
|
465
465
|
start: ref.token.pos,
|
|
466
466
|
end: ref.token.endPos,
|
|
@@ -477,15 +477,15 @@ function renameReferences(originalValue, ast, renameMap) {
|
|
|
477
477
|
}
|
|
478
478
|
return result;
|
|
479
479
|
}
|
|
480
|
-
|
|
480
|
+
chunkZMMIYWFF_cjs.__name(renameReferences, "renameReferences");
|
|
481
481
|
|
|
482
482
|
// src/interpreter/lexer.ts
|
|
483
483
|
var SUPPORTED_FORMAT_STRINGS = {};
|
|
484
|
-
for (const val of Object.values(
|
|
484
|
+
for (const val of Object.values(chunkZMMIYWFF_cjs.SupportedFormats)) {
|
|
485
485
|
SUPPORTED_FORMAT_STRINGS[val.toLowerCase()] = val;
|
|
486
486
|
}
|
|
487
487
|
var RESERVED_KEYWORD_STRINGS = {};
|
|
488
|
-
for (const val of Object.values(
|
|
488
|
+
for (const val of Object.values(chunkZMMIYWFF_cjs.ReservedKeyword)) {
|
|
489
489
|
RESERVED_KEYWORD_STRINGS[val.toLowerCase()] = val;
|
|
490
490
|
}
|
|
491
491
|
var _Lexer = class _Lexer {
|
|
@@ -506,6 +506,7 @@ var _Lexer = class _Lexer {
|
|
|
506
506
|
this.text = text;
|
|
507
507
|
this.currentChar = this.pos < this.text.length ? this.text[this.pos] : null;
|
|
508
508
|
this.tolerant = options?.tolerant ?? false;
|
|
509
|
+
this.greedyStrings = options?.greedyStrings ?? false;
|
|
509
510
|
}
|
|
510
511
|
/**
|
|
511
512
|
* Check if a FORMAT token (unit suffix) is valid at the given position.
|
|
@@ -516,7 +517,7 @@ var _Lexer = class _Lexer {
|
|
|
516
517
|
return this._lastUnitableToken !== null && this._lastUnitableToken.endPos === startPos;
|
|
517
518
|
}
|
|
518
519
|
error(code, data) {
|
|
519
|
-
throw new
|
|
520
|
+
throw new chunkOABJLZRZ_cjs.LexerError(code, {
|
|
520
521
|
line: this.line,
|
|
521
522
|
data
|
|
522
523
|
});
|
|
@@ -544,7 +545,7 @@ var _Lexer = class _Lexer {
|
|
|
544
545
|
return this.text[this.pos + n] ?? null;
|
|
545
546
|
}
|
|
546
547
|
skipWhitespace() {
|
|
547
|
-
while (
|
|
548
|
+
while (chunkOABJLZRZ_cjs.isSpace(this.currentChar)) {
|
|
548
549
|
this.advance();
|
|
549
550
|
}
|
|
550
551
|
}
|
|
@@ -566,9 +567,9 @@ var _Lexer = class _Lexer {
|
|
|
566
567
|
if (this.currentChar === ".") {
|
|
567
568
|
result += "0";
|
|
568
569
|
}
|
|
569
|
-
while (
|
|
570
|
+
while (chunkOABJLZRZ_cjs.isNumber2(this.currentChar) || this.currentChar === ".") {
|
|
570
571
|
if (this.currentChar === ".") {
|
|
571
|
-
if (!
|
|
572
|
+
if (!chunkOABJLZRZ_cjs.isNumber2(this.peek())) {
|
|
572
573
|
break;
|
|
573
574
|
}
|
|
574
575
|
if (hasDecimalPoint) {
|
|
@@ -594,11 +595,11 @@ var _Lexer = class _Lexer {
|
|
|
594
595
|
// Python like isdigit, that allows numbers starting with '.'
|
|
595
596
|
isDigit() {
|
|
596
597
|
if (this.currentChar === null) return false;
|
|
597
|
-
return
|
|
598
|
+
return chunkOABJLZRZ_cjs.isNumber2(this.currentChar) || this.currentChar === "." && chunkOABJLZRZ_cjs.isNumber2(this.peek());
|
|
598
599
|
}
|
|
599
600
|
isValidIdentifierStart(char) {
|
|
600
601
|
if (char === null) return false;
|
|
601
|
-
if (
|
|
602
|
+
if (chunkOABJLZRZ_cjs.isAlpha(char)) return true;
|
|
602
603
|
const cp = char.codePointAt(0) ?? 0;
|
|
603
604
|
if (cp <= 127) return false;
|
|
604
605
|
if (cp === 180 /* FORWARD_TICK */) return false;
|
|
@@ -608,10 +609,93 @@ var _Lexer = class _Lexer {
|
|
|
608
609
|
isValidStringElement(char) {
|
|
609
610
|
if (char === null) return false;
|
|
610
611
|
const cp = char.codePointAt(0) ?? 0;
|
|
611
|
-
return
|
|
612
|
+
return chunkOABJLZRZ_cjs.isAlphaNumeric(char) || cp === 45 /* HYPHEN */ || cp === 95 /* UNDERSCORE */ || cp > 127;
|
|
613
|
+
}
|
|
614
|
+
/**
|
|
615
|
+
* Greedy variant of isValidStringElement.
|
|
616
|
+
* Consumes everything except whitespace and structural delimiters.
|
|
617
|
+
* Used in inline mode to allow values like `http://foo.bar` as a single string.
|
|
618
|
+
*/
|
|
619
|
+
isValidStringElementGreedy(char) {
|
|
620
|
+
if (char === null) return false;
|
|
621
|
+
if (chunkOABJLZRZ_cjs.isSpace(char)) return false;
|
|
622
|
+
const cp = char.codePointAt(0) ?? 0;
|
|
623
|
+
switch (cp) {
|
|
624
|
+
case 123:
|
|
625
|
+
// {
|
|
626
|
+
case 125:
|
|
627
|
+
// }
|
|
628
|
+
case 40:
|
|
629
|
+
// (
|
|
630
|
+
case 41:
|
|
631
|
+
// )
|
|
632
|
+
case 91:
|
|
633
|
+
// [
|
|
634
|
+
case 93:
|
|
635
|
+
// ]
|
|
636
|
+
case 44:
|
|
637
|
+
// ,
|
|
638
|
+
case 34:
|
|
639
|
+
// "
|
|
640
|
+
case 39:
|
|
641
|
+
// '
|
|
642
|
+
case 59:
|
|
643
|
+
return false;
|
|
644
|
+
}
|
|
645
|
+
return true;
|
|
612
646
|
}
|
|
613
647
|
stringElement() {
|
|
614
648
|
const startPos = this.pos;
|
|
649
|
+
const isGreedy = this.greedyStrings;
|
|
650
|
+
if (isGreedy && this.isValidFormatPosition(startPos)) {
|
|
651
|
+
return this.stringElementNonGreedy(startPos);
|
|
652
|
+
}
|
|
653
|
+
let result = "";
|
|
654
|
+
let isSimpleIdentifier = true;
|
|
655
|
+
const check = isGreedy ? (c) => this.isValidStringElementGreedy(c) : (c) => this.isValidStringElement(c);
|
|
656
|
+
while (check(this.currentChar)) {
|
|
657
|
+
if (isSimpleIdentifier && !chunkOABJLZRZ_cjs.isAlphaNumeric(this.currentChar) && this.currentChar !== "-" && this.currentChar !== "_") {
|
|
658
|
+
isSimpleIdentifier = false;
|
|
659
|
+
}
|
|
660
|
+
result += this.currentChar;
|
|
661
|
+
this.advance();
|
|
662
|
+
}
|
|
663
|
+
if (isSimpleIdentifier) {
|
|
664
|
+
const normalizedResult = result.toLowerCase();
|
|
665
|
+
const keyword = RESERVED_KEYWORD_STRINGS[normalizedResult];
|
|
666
|
+
if (keyword) {
|
|
667
|
+
return {
|
|
668
|
+
type: "RESERVED_KEYWORD" /* RESERVED_KEYWORD */,
|
|
669
|
+
value: keyword,
|
|
670
|
+
line: this.line,
|
|
671
|
+
pos: startPos,
|
|
672
|
+
endPos: this.pos
|
|
673
|
+
};
|
|
674
|
+
}
|
|
675
|
+
const format = SUPPORTED_FORMAT_STRINGS[normalizedResult];
|
|
676
|
+
if (format && this.isValidFormatPosition(startPos)) {
|
|
677
|
+
return {
|
|
678
|
+
type: "FORMAT" /* FORMAT */,
|
|
679
|
+
value: format,
|
|
680
|
+
line: this.line,
|
|
681
|
+
pos: startPos,
|
|
682
|
+
endPos: this.pos
|
|
683
|
+
};
|
|
684
|
+
}
|
|
685
|
+
}
|
|
686
|
+
return {
|
|
687
|
+
type: "STRING" /* STRING */,
|
|
688
|
+
value: result,
|
|
689
|
+
line: this.line,
|
|
690
|
+
pos: startPos,
|
|
691
|
+
endPos: this.pos
|
|
692
|
+
};
|
|
693
|
+
}
|
|
694
|
+
/**
|
|
695
|
+
* Non-greedy string element parsing, used when in format-adjacent position
|
|
696
|
+
* so that unit suffixes are correctly extracted even in greedy mode.
|
|
697
|
+
*/
|
|
698
|
+
stringElementNonGreedy(startPos) {
|
|
615
699
|
let result = "";
|
|
616
700
|
while (this.isValidStringElement(this.currentChar)) {
|
|
617
701
|
result += this.currentChar;
|
|
@@ -657,7 +741,7 @@ var _Lexer = class _Lexer {
|
|
|
657
741
|
}
|
|
658
742
|
this.error("LEXER_UNTERMINATED_REFERENCE" /* UNTERMINATED_REFERENCE */, {});
|
|
659
743
|
}
|
|
660
|
-
if (
|
|
744
|
+
if (chunkOABJLZRZ_cjs.isSpace(this.currentChar)) {
|
|
661
745
|
this.advance();
|
|
662
746
|
continue;
|
|
663
747
|
}
|
|
@@ -777,7 +861,7 @@ var _Lexer = class _Lexer {
|
|
|
777
861
|
hexColor() {
|
|
778
862
|
const startPos = this.pos;
|
|
779
863
|
let result = "";
|
|
780
|
-
while (
|
|
864
|
+
while (chunkOABJLZRZ_cjs.isAlpha(this.currentChar) || this.isDigit() || this.currentChar === "#") {
|
|
781
865
|
result += this.currentChar;
|
|
782
866
|
this.advance();
|
|
783
867
|
}
|
|
@@ -969,7 +1053,7 @@ var _Lexer = class _Lexer {
|
|
|
969
1053
|
});
|
|
970
1054
|
}
|
|
971
1055
|
if (this.currentChar === ".") {
|
|
972
|
-
if (this.peek() !== null &&
|
|
1056
|
+
if (this.peek() !== null && chunkOABJLZRZ_cjs.isNumber2(this.peek())) {
|
|
973
1057
|
return this.collectToken(this.number());
|
|
974
1058
|
}
|
|
975
1059
|
const startPos = this.pos;
|
|
@@ -1201,7 +1285,7 @@ var _Lexer = class _Lexer {
|
|
|
1201
1285
|
};
|
|
1202
1286
|
}
|
|
1203
1287
|
};
|
|
1204
|
-
|
|
1288
|
+
chunkZMMIYWFF_cjs.__name(_Lexer, "Lexer");
|
|
1205
1289
|
var Lexer = _Lexer;
|
|
1206
1290
|
|
|
1207
1291
|
// src/interpreter/tolerant/types.ts
|
|
@@ -1326,7 +1410,7 @@ ${contextText}`;
|
|
|
1326
1410
|
const formattedMessage = this.formatError(
|
|
1327
1411
|
message || (code === "PARSER_INVALID_SYNTAX" /* INVALID_SYNTAX */ ? "Invalid syntax" : code)
|
|
1328
1412
|
);
|
|
1329
|
-
throw new
|
|
1413
|
+
throw new chunkOABJLZRZ_cjs.ParserError(code, {
|
|
1330
1414
|
token: this.currentToken,
|
|
1331
1415
|
data: { ...data, message: formattedMessage }
|
|
1332
1416
|
});
|
|
@@ -1470,7 +1554,7 @@ ${contextText}`;
|
|
|
1470
1554
|
if (this.currentToken.type === "STRING" /* STRING */) {
|
|
1471
1555
|
const nextToken = this.lexer.peekToken();
|
|
1472
1556
|
if (nextToken && nextToken.type === "ASSIGN" /* ASSIGN */) {
|
|
1473
|
-
throw new
|
|
1557
|
+
throw new chunkOABJLZRZ_cjs.ParserError("PARSER_CONDITION_MUST_BE_BOOLEAN" /* CONDITION_MUST_BE_BOOLEAN */, {
|
|
1474
1558
|
token: this.currentToken
|
|
1475
1559
|
});
|
|
1476
1560
|
}
|
|
@@ -1493,7 +1577,7 @@ ${contextText}`;
|
|
|
1493
1577
|
forStatement() {
|
|
1494
1578
|
const forToken = this.eat("RESERVED_KEYWORD" /* RESERVED_KEYWORD */);
|
|
1495
1579
|
if (!this.isIdentifierToken()) {
|
|
1496
|
-
throw new
|
|
1580
|
+
throw new chunkOABJLZRZ_cjs.ParserError("PARSER_EXPECTED_TOKEN_TYPE" /* EXPECTED_TOKEN_TYPE */, {
|
|
1497
1581
|
token: this.currentToken,
|
|
1498
1582
|
data: { expectedType: "identifier", actualType: this.currentToken.type }
|
|
1499
1583
|
});
|
|
@@ -1504,7 +1588,7 @@ ${contextText}`;
|
|
|
1504
1588
|
if (this.currentToken.type === "COMMA" /* COMMA */) {
|
|
1505
1589
|
this.eat("COMMA" /* COMMA */);
|
|
1506
1590
|
if (!this.isIdentifierToken()) {
|
|
1507
|
-
throw new
|
|
1591
|
+
throw new chunkOABJLZRZ_cjs.ParserError("PARSER_EXPECTED_TOKEN_TYPE" /* EXPECTED_TOKEN_TYPE */, {
|
|
1508
1592
|
token: this.currentToken,
|
|
1509
1593
|
data: { expectedType: "identifier", actualType: this.currentToken.type }
|
|
1510
1594
|
});
|
|
@@ -1513,7 +1597,7 @@ ${contextText}`;
|
|
|
1513
1597
|
this.eat(this.currentToken.type);
|
|
1514
1598
|
}
|
|
1515
1599
|
if (!this.isIdentifierToken() || this.currentToken.value !== "in") {
|
|
1516
|
-
throw new
|
|
1600
|
+
throw new chunkOABJLZRZ_cjs.ParserError("PARSER_EXPECTED_TOKEN_TYPE" /* EXPECTED_TOKEN_TYPE */, {
|
|
1517
1601
|
token: this.currentToken,
|
|
1518
1602
|
data: { expectedType: "'in'", actualType: this.currentToken.value }
|
|
1519
1603
|
});
|
|
@@ -1840,7 +1924,7 @@ ${contextText}`;
|
|
|
1840
1924
|
const parts = [];
|
|
1841
1925
|
let literal = "";
|
|
1842
1926
|
let i = 0;
|
|
1843
|
-
const flushLiteral = /* @__PURE__ */
|
|
1927
|
+
const flushLiteral = /* @__PURE__ */ chunkZMMIYWFF_cjs.__name(() => {
|
|
1844
1928
|
if (literal.length > 0) {
|
|
1845
1929
|
parts.push(new StringNode({ ...token, value: literal }));
|
|
1846
1930
|
literal = "";
|
|
@@ -1946,7 +2030,20 @@ ${contextText}`;
|
|
|
1946
2030
|
this.error("PARSER_TOLERANT_REQUIRES_INLINE" /* TOLERANT_REQUIRES_INLINE */);
|
|
1947
2031
|
}
|
|
1948
2032
|
if (this.currentToken.type === "EOF" /* EOF */) return null;
|
|
1949
|
-
if (inlineMode)
|
|
2033
|
+
if (inlineMode) {
|
|
2034
|
+
if (this.currentToken.type === "RESERVED_KEYWORD" /* RESERVED_KEYWORD */ && chunkZMMIYWFF_cjs.SCRIPT_ONLY_STATEMENT_KEYWORDS.has(this.currentToken.value)) {
|
|
2035
|
+
this.error("PARSER_UNALLOWED_INLINE_SYNTAX" /* UNALLOWED_INLINE_SYNTAX */, {
|
|
2036
|
+
originalError: `Unexpected token: ${this.currentToken.value}`
|
|
2037
|
+
});
|
|
2038
|
+
}
|
|
2039
|
+
const node2 = this.listExpr();
|
|
2040
|
+
if (!this.tolerant && this.currentToken.type !== "EOF" /* EOF */) {
|
|
2041
|
+
this.error("PARSER_UNEXPECTED_TOKEN" /* UNEXPECTED_TOKEN */, {
|
|
2042
|
+
token: String(this.currentToken.value)
|
|
2043
|
+
});
|
|
2044
|
+
}
|
|
2045
|
+
return node2;
|
|
2046
|
+
}
|
|
1950
2047
|
const node = this.statementsList();
|
|
1951
2048
|
if (this.currentToken.type !== "EOF" /* EOF */) {
|
|
1952
2049
|
this.error("PARSER_INVALID_SYNTAX" /* INVALID_SYNTAX */, {
|
|
@@ -1956,23 +2053,29 @@ ${contextText}`;
|
|
|
1956
2053
|
return node;
|
|
1957
2054
|
}
|
|
1958
2055
|
};
|
|
1959
|
-
|
|
2056
|
+
chunkZMMIYWFF_cjs.__name(_Parser, "Parser");
|
|
1960
2057
|
var Parser = _Parser;
|
|
1961
|
-
function
|
|
1962
|
-
const
|
|
2058
|
+
function lexerOptionsForMode(mode, overrides) {
|
|
2059
|
+
const base = mode === "inline" ? { greedyStrings: true } : {};
|
|
2060
|
+
return { ...base, ...overrides };
|
|
2061
|
+
}
|
|
2062
|
+
chunkZMMIYWFF_cjs.__name(lexerOptionsForMode, "lexerOptionsForMode");
|
|
2063
|
+
function parseExpression(text, options) {
|
|
2064
|
+
const mode = options?.mode ?? "script";
|
|
2065
|
+
const lexer = new Lexer(text, lexerOptionsForMode(mode, options?.lexerOverrides));
|
|
1963
2066
|
const parser = new Parser(lexer);
|
|
1964
|
-
const ast = parser.parse();
|
|
2067
|
+
const ast = parser.parse(mode === "inline");
|
|
1965
2068
|
return {
|
|
1966
2069
|
lexer,
|
|
1967
2070
|
parser,
|
|
1968
2071
|
ast
|
|
1969
2072
|
};
|
|
1970
2073
|
}
|
|
1971
|
-
|
|
2074
|
+
chunkZMMIYWFF_cjs.__name(parseExpression, "parseExpression");
|
|
1972
2075
|
|
|
1973
2076
|
// src/processor/builders/index.ts
|
|
1974
2077
|
var builders_exports = {};
|
|
1975
|
-
|
|
2078
|
+
chunkZMMIYWFF_cjs.__export(builders_exports, {
|
|
1976
2079
|
FlatObjectBuilder: () => FlatObjectBuilder,
|
|
1977
2080
|
MapBuilder: () => MapBuilder,
|
|
1978
2081
|
NestedObjectBuilder: () => NestedObjectBuilder,
|
|
@@ -2058,7 +2161,7 @@ var _DependencyTracker = class _DependencyTracker {
|
|
|
2058
2161
|
return values ? new Set(values) : /* @__PURE__ */ new Set();
|
|
2059
2162
|
}
|
|
2060
2163
|
};
|
|
2061
|
-
|
|
2164
|
+
chunkZMMIYWFF_cjs.__name(_DependencyTracker, "DependencyTracker");
|
|
2062
2165
|
var DependencyTracker = _DependencyTracker;
|
|
2063
2166
|
|
|
2064
2167
|
// src/processor/resolver/helpers.ts
|
|
@@ -2068,7 +2171,7 @@ function getAffectedTokens(result) {
|
|
|
2068
2171
|
}
|
|
2069
2172
|
return new Set(result.dependants.graph.getNodes().keys());
|
|
2070
2173
|
}
|
|
2071
|
-
|
|
2174
|
+
chunkZMMIYWFF_cjs.__name(getAffectedTokens, "getAffectedTokens");
|
|
2072
2175
|
function getBrokenReferences(result) {
|
|
2073
2176
|
if (!result.issues) {
|
|
2074
2177
|
return /* @__PURE__ */ new Set();
|
|
@@ -2076,7 +2179,7 @@ function getBrokenReferences(result) {
|
|
|
2076
2179
|
const brokenRefs = /* @__PURE__ */ new Set();
|
|
2077
2180
|
for (const [tokenPath, issues] of result.issues) {
|
|
2078
2181
|
for (const issue of issues) {
|
|
2079
|
-
if (
|
|
2182
|
+
if (chunkOABJLZRZ_cjs.isLanguageError(issue) && (issue.code === "PROC_TOKEN_NOT_FOUND" /* TOKEN_NOT_FOUND */ || issue.code === "PROC_DEPENDENCY_ERROR" /* DEPENDENCY_ERROR */)) {
|
|
2080
2183
|
brokenRefs.add(tokenPath);
|
|
2081
2184
|
break;
|
|
2082
2185
|
}
|
|
@@ -2084,11 +2187,11 @@ function getBrokenReferences(result) {
|
|
|
2084
2187
|
}
|
|
2085
2188
|
return brokenRefs;
|
|
2086
2189
|
}
|
|
2087
|
-
|
|
2190
|
+
chunkZMMIYWFF_cjs.__name(getBrokenReferences, "getBrokenReferences");
|
|
2088
2191
|
function getRenamedReferences(_result, modifiedTokens) {
|
|
2089
2192
|
return modifiedTokens;
|
|
2090
2193
|
}
|
|
2091
|
-
|
|
2194
|
+
chunkZMMIYWFF_cjs.__name(getRenamedReferences, "getRenamedReferences");
|
|
2092
2195
|
function getModifiedDependants(oldTokens, result) {
|
|
2093
2196
|
const modified = /* @__PURE__ */ new Set();
|
|
2094
2197
|
const affectedTokens = getAffectedTokens(result);
|
|
@@ -2101,7 +2204,7 @@ function getModifiedDependants(oldTokens, result) {
|
|
|
2101
2204
|
}
|
|
2102
2205
|
return modified;
|
|
2103
2206
|
}
|
|
2104
|
-
|
|
2207
|
+
chunkZMMIYWFF_cjs.__name(getModifiedDependants, "getModifiedDependants");
|
|
2105
2208
|
|
|
2106
2209
|
// src/processor/resolver/issue-helpers.ts
|
|
2107
2210
|
function getTokenError(issues, tokenName) {
|
|
@@ -2110,7 +2213,7 @@ function getTokenError(issues, tokenName) {
|
|
|
2110
2213
|
if (!tokenIssues) return void 0;
|
|
2111
2214
|
return tokenIssues.find((issue) => "code" in issue);
|
|
2112
2215
|
}
|
|
2113
|
-
|
|
2216
|
+
chunkZMMIYWFF_cjs.__name(getTokenError, "getTokenError");
|
|
2114
2217
|
|
|
2115
2218
|
// src/processor/resolver/PrefixExtractor.ts
|
|
2116
2219
|
var _PrefixExtractor = class _PrefixExtractor {
|
|
@@ -2141,7 +2244,7 @@ var _PrefixExtractor = class _PrefixExtractor {
|
|
|
2141
2244
|
this.prefixCache.clear();
|
|
2142
2245
|
}
|
|
2143
2246
|
};
|
|
2144
|
-
|
|
2247
|
+
chunkZMMIYWFF_cjs.__name(_PrefixExtractor, "PrefixExtractor");
|
|
2145
2248
|
var PrefixExtractor = _PrefixExtractor;
|
|
2146
2249
|
|
|
2147
2250
|
// src/processor/resolver/PrefixManager.ts
|
|
@@ -2208,7 +2311,7 @@ var _PrefixManager = class _PrefixManager {
|
|
|
2208
2311
|
}
|
|
2209
2312
|
}
|
|
2210
2313
|
if (dictionaryEntries.size === 0) return void 0;
|
|
2211
|
-
return new
|
|
2314
|
+
return new chunkOABJLZRZ_cjs.DictionarySymbol(dictionaryEntries, this.config);
|
|
2212
2315
|
}
|
|
2213
2316
|
findParentToken(reference, tokens) {
|
|
2214
2317
|
const cached = this.parentLookupCache.get(reference);
|
|
@@ -2263,12 +2366,12 @@ var _PrefixManager = class _PrefixManager {
|
|
|
2263
2366
|
}
|
|
2264
2367
|
toSymbol(value) {
|
|
2265
2368
|
if (value === void 0) return void 0;
|
|
2266
|
-
if (value === null) return new
|
|
2267
|
-
if (
|
|
2268
|
-
return new
|
|
2369
|
+
if (value === null) return new chunkOABJLZRZ_cjs.NullSymbol(this.config);
|
|
2370
|
+
if (chunkOABJLZRZ_cjs.isTokenscriptSymbol(value)) return value;
|
|
2371
|
+
return new chunkOABJLZRZ_cjs.StringSymbol(String(value), this.config);
|
|
2269
2372
|
}
|
|
2270
2373
|
};
|
|
2271
|
-
|
|
2374
|
+
chunkZMMIYWFF_cjs.__name(_PrefixManager, "PrefixManager");
|
|
2272
2375
|
var PrefixManager = _PrefixManager;
|
|
2273
2376
|
|
|
2274
2377
|
// src/processor/resolver/ReadinessTracker.ts
|
|
@@ -2302,7 +2405,7 @@ var _ReadinessTracker = class _ReadinessTracker {
|
|
|
2302
2405
|
this.readyCache.clear();
|
|
2303
2406
|
}
|
|
2304
2407
|
};
|
|
2305
|
-
|
|
2408
|
+
chunkZMMIYWFF_cjs.__name(_ReadinessTracker, "ReadinessTracker");
|
|
2306
2409
|
var ReadinessTracker = _ReadinessTracker;
|
|
2307
2410
|
|
|
2308
2411
|
// src/processor/resolver/ResolutionNotifier.ts
|
|
@@ -2369,35 +2472,35 @@ var _ResolutionNotifier = class _ResolutionNotifier {
|
|
|
2369
2472
|
}
|
|
2370
2473
|
}
|
|
2371
2474
|
};
|
|
2372
|
-
|
|
2475
|
+
chunkZMMIYWFF_cjs.__name(_ResolutionNotifier, "ResolutionNotifier");
|
|
2373
2476
|
var ResolutionNotifier = _ResolutionNotifier;
|
|
2374
2477
|
|
|
2375
2478
|
// src/interpreter/operations.ts
|
|
2376
2479
|
function decomposeUnit(operand) {
|
|
2377
|
-
if (operand instanceof
|
|
2480
|
+
if (operand instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol) {
|
|
2378
2481
|
return { value: operand.value, unit: operand.unit };
|
|
2379
2482
|
}
|
|
2380
|
-
if (operand instanceof
|
|
2483
|
+
if (operand instanceof chunkOABJLZRZ_cjs.NumberSymbol) {
|
|
2381
2484
|
return { value: operand.value, unit: null };
|
|
2382
2485
|
}
|
|
2383
|
-
throw new
|
|
2486
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("OP_UNSUPPORTED_OPERAND_TYPE" /* UNSUPPORTED_OPERAND_TYPE */, {
|
|
2384
2487
|
data: { type: operand.type }
|
|
2385
2488
|
});
|
|
2386
2489
|
}
|
|
2387
|
-
|
|
2490
|
+
chunkZMMIYWFF_cjs.__name(decomposeUnit, "decomposeUnit");
|
|
2388
2491
|
function recomposeUnit(value, units, _config) {
|
|
2389
2492
|
const validUnits = units.filter((u) => u !== null);
|
|
2390
2493
|
if (validUnits.length === 0) {
|
|
2391
|
-
return new
|
|
2494
|
+
return new chunkOABJLZRZ_cjs.NumberSymbol(value);
|
|
2392
2495
|
}
|
|
2393
2496
|
if (new Set(validUnits).size > 1) {
|
|
2394
|
-
throw new
|
|
2497
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("OP_CANNOT_MIX_UNITS" /* CANNOT_MIX_UNITS */, {
|
|
2395
2498
|
data: { units: validUnits }
|
|
2396
2499
|
});
|
|
2397
2500
|
}
|
|
2398
|
-
return new
|
|
2501
|
+
return new chunkOABJLZRZ_cjs.NumberWithUnitSymbol(value, validUnits[0]);
|
|
2399
2502
|
}
|
|
2400
|
-
|
|
2503
|
+
chunkZMMIYWFF_cjs.__name(recomposeUnit, "recomposeUnit");
|
|
2401
2504
|
function mathWrapper(func) {
|
|
2402
2505
|
return (a, b, config) => {
|
|
2403
2506
|
if (config?.unitManager) {
|
|
@@ -2420,91 +2523,91 @@ function mathWrapper(func) {
|
|
|
2420
2523
|
return recomposeUnit(resultValue, [opA.unit, opB.unit]);
|
|
2421
2524
|
};
|
|
2422
2525
|
}
|
|
2423
|
-
|
|
2526
|
+
chunkZMMIYWFF_cjs.__name(mathWrapper, "mathWrapper");
|
|
2424
2527
|
function equalityComparisonWrapper(fn) {
|
|
2425
2528
|
return (a, b) => {
|
|
2426
|
-
const isNullComparison = a instanceof
|
|
2529
|
+
const isNullComparison = a instanceof chunkOABJLZRZ_cjs.NullSymbol || b instanceof chunkOABJLZRZ_cjs.NullSymbol;
|
|
2427
2530
|
if (!isNullComparison) {
|
|
2428
|
-
const isNumericA = a instanceof
|
|
2429
|
-
const isNumericB = b instanceof
|
|
2531
|
+
const isNumericA = a instanceof chunkOABJLZRZ_cjs.NumberSymbol || a instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol;
|
|
2532
|
+
const isNumericB = b instanceof chunkOABJLZRZ_cjs.NumberSymbol || b instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol;
|
|
2430
2533
|
if (isNumericA && !isNumericB) {
|
|
2431
|
-
throw new
|
|
2534
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("OP_INCOMPATIBLE_TYPES" /* INCOMPATIBLE_TYPES */, {
|
|
2432
2535
|
data: { typeA: a.type, typeB: b.type }
|
|
2433
2536
|
});
|
|
2434
2537
|
}
|
|
2435
|
-
const isStringA = a instanceof
|
|
2436
|
-
const isStringB = b instanceof
|
|
2538
|
+
const isStringA = a instanceof chunkOABJLZRZ_cjs.StringSymbol;
|
|
2539
|
+
const isStringB = b instanceof chunkOABJLZRZ_cjs.StringSymbol;
|
|
2437
2540
|
if (isStringA && !isStringB) {
|
|
2438
|
-
throw new
|
|
2541
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("OP_INCOMPATIBLE_TYPES" /* INCOMPATIBLE_TYPES */, {
|
|
2439
2542
|
data: { typeA: a.type, typeB: b.type }
|
|
2440
2543
|
});
|
|
2441
2544
|
}
|
|
2442
|
-
const isBooleanA = a instanceof
|
|
2443
|
-
const isBooleanB = b instanceof
|
|
2545
|
+
const isBooleanA = a instanceof chunkOABJLZRZ_cjs.BooleanSymbol;
|
|
2546
|
+
const isBooleanB = b instanceof chunkOABJLZRZ_cjs.BooleanSymbol;
|
|
2444
2547
|
if (isBooleanA && !isBooleanB) {
|
|
2445
|
-
throw new
|
|
2548
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("OP_INCOMPATIBLE_TYPES" /* INCOMPATIBLE_TYPES */, {
|
|
2446
2549
|
data: { typeA: a.type, typeB: b.type }
|
|
2447
2550
|
});
|
|
2448
2551
|
}
|
|
2449
|
-
if (a instanceof
|
|
2450
|
-
throw new
|
|
2552
|
+
if (a instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol && b instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol && a.unit !== b.unit) {
|
|
2553
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("OP_CANNOT_COMPARE_UNITS" /* CANNOT_COMPARE_UNITS */, {
|
|
2451
2554
|
data: { unitA: a.unit, unitB: b.unit }
|
|
2452
2555
|
});
|
|
2453
2556
|
}
|
|
2454
2557
|
}
|
|
2455
|
-
return new
|
|
2558
|
+
return new chunkOABJLZRZ_cjs.BooleanSymbol(fn(a.value, b.value));
|
|
2456
2559
|
};
|
|
2457
2560
|
}
|
|
2458
|
-
|
|
2561
|
+
chunkZMMIYWFF_cjs.__name(equalityComparisonWrapper, "equalityComparisonWrapper");
|
|
2459
2562
|
function orderingComparisonWrapper(fn) {
|
|
2460
2563
|
return (a, b) => {
|
|
2461
|
-
if (a instanceof
|
|
2462
|
-
throw new
|
|
2564
|
+
if (a instanceof chunkOABJLZRZ_cjs.NullSymbol || b instanceof chunkOABJLZRZ_cjs.NullSymbol || chunkOABJLZRZ_cjs.isNull(a.value) || chunkOABJLZRZ_cjs.isNull(b.value)) {
|
|
2565
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("OP_ORDERING_WITH_NULL" /* ORDERING_WITH_NULL */);
|
|
2463
2566
|
}
|
|
2464
|
-
const isNumericA = a instanceof
|
|
2465
|
-
const isNumericB = b instanceof
|
|
2567
|
+
const isNumericA = a instanceof chunkOABJLZRZ_cjs.NumberSymbol || a instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol;
|
|
2568
|
+
const isNumericB = b instanceof chunkOABJLZRZ_cjs.NumberSymbol || b instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol;
|
|
2466
2569
|
if (isNumericA && !isNumericB) {
|
|
2467
|
-
throw new
|
|
2570
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("OP_INCOMPATIBLE_TYPES" /* INCOMPATIBLE_TYPES */, {
|
|
2468
2571
|
data: { typeA: a.type, typeB: b.type }
|
|
2469
2572
|
});
|
|
2470
2573
|
}
|
|
2471
|
-
const isStringA = a instanceof
|
|
2472
|
-
const isStringB = b instanceof
|
|
2574
|
+
const isStringA = a instanceof chunkOABJLZRZ_cjs.StringSymbol;
|
|
2575
|
+
const isStringB = b instanceof chunkOABJLZRZ_cjs.StringSymbol;
|
|
2473
2576
|
if (isStringA && !isStringB) {
|
|
2474
|
-
throw new
|
|
2577
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("OP_INCOMPATIBLE_TYPES" /* INCOMPATIBLE_TYPES */, {
|
|
2475
2578
|
data: { typeA: a.type, typeB: b.type }
|
|
2476
2579
|
});
|
|
2477
2580
|
}
|
|
2478
|
-
const isBooleanA = a instanceof
|
|
2479
|
-
const isBooleanB = b instanceof
|
|
2581
|
+
const isBooleanA = a instanceof chunkOABJLZRZ_cjs.BooleanSymbol;
|
|
2582
|
+
const isBooleanB = b instanceof chunkOABJLZRZ_cjs.BooleanSymbol;
|
|
2480
2583
|
if (isBooleanA && !isBooleanB) {
|
|
2481
|
-
throw new
|
|
2584
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("OP_INCOMPATIBLE_TYPES" /* INCOMPATIBLE_TYPES */, {
|
|
2482
2585
|
data: { typeA: a.type, typeB: b.type }
|
|
2483
2586
|
});
|
|
2484
2587
|
}
|
|
2485
|
-
if (a instanceof
|
|
2486
|
-
throw new
|
|
2588
|
+
if (a instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol && b instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol && a.unit !== b.unit) {
|
|
2589
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("OP_CANNOT_COMPARE_UNITS" /* CANNOT_COMPARE_UNITS */, {
|
|
2487
2590
|
data: { unitA: a.unit, unitB: b.unit }
|
|
2488
2591
|
});
|
|
2489
2592
|
}
|
|
2490
|
-
return new
|
|
2593
|
+
return new chunkOABJLZRZ_cjs.BooleanSymbol(fn(a.value, b.value));
|
|
2491
2594
|
};
|
|
2492
2595
|
}
|
|
2493
|
-
|
|
2596
|
+
chunkZMMIYWFF_cjs.__name(orderingComparisonWrapper, "orderingComparisonWrapper");
|
|
2494
2597
|
var LOGICAL_BOOLEAN_IMPLEMENTATIONS = {
|
|
2495
2598
|
["&&" /* LOGIC_AND */]: (a, b) => {
|
|
2496
|
-
if (!(a instanceof
|
|
2497
|
-
throw new
|
|
2599
|
+
if (!(a instanceof chunkOABJLZRZ_cjs.BooleanSymbol) || !(b instanceof chunkOABJLZRZ_cjs.BooleanSymbol))
|
|
2600
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("OP_LOGICAL_REQUIRES_BOOLEAN" /* LOGICAL_REQUIRES_BOOLEAN */, {
|
|
2498
2601
|
data: { operator: "&&" }
|
|
2499
2602
|
});
|
|
2500
|
-
return new
|
|
2603
|
+
return new chunkOABJLZRZ_cjs.BooleanSymbol(a.value && b.value);
|
|
2501
2604
|
},
|
|
2502
2605
|
["||" /* LOGIC_OR */]: (a, b) => {
|
|
2503
|
-
if (!(a instanceof
|
|
2504
|
-
throw new
|
|
2606
|
+
if (!(a instanceof chunkOABJLZRZ_cjs.BooleanSymbol) || !(b instanceof chunkOABJLZRZ_cjs.BooleanSymbol))
|
|
2607
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("OP_LOGICAL_REQUIRES_BOOLEAN" /* LOGICAL_REQUIRES_BOOLEAN */, {
|
|
2505
2608
|
data: { operator: "||" }
|
|
2506
2609
|
});
|
|
2507
|
-
return new
|
|
2610
|
+
return new chunkOABJLZRZ_cjs.BooleanSymbol(a.value || b.value);
|
|
2508
2611
|
}
|
|
2509
2612
|
};
|
|
2510
2613
|
function powerWrapper(func) {
|
|
@@ -2512,7 +2615,7 @@ function powerWrapper(func) {
|
|
|
2512
2615
|
const opA = decomposeUnit(a);
|
|
2513
2616
|
const opB = decomposeUnit(b);
|
|
2514
2617
|
if (opA.unit && opB.unit) {
|
|
2515
|
-
throw new
|
|
2618
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("OP_UNIT_EXPONENT_NOT_SUPPORTED" /* UNIT_EXPONENT_NOT_SUPPORTED */, {
|
|
2516
2619
|
data: { unitA: opA.unit, unitB: opB.unit }
|
|
2517
2620
|
});
|
|
2518
2621
|
}
|
|
@@ -2520,30 +2623,30 @@ function powerWrapper(func) {
|
|
|
2520
2623
|
return recomposeUnit(resultValue, [opA.unit, opB.unit]);
|
|
2521
2624
|
};
|
|
2522
2625
|
}
|
|
2523
|
-
|
|
2626
|
+
chunkZMMIYWFF_cjs.__name(powerWrapper, "powerWrapper");
|
|
2524
2627
|
function multiplyDivideWrapper(func) {
|
|
2525
2628
|
return (a, b, config) => {
|
|
2526
2629
|
if (config?.unitManager) {
|
|
2527
|
-
const aIsPercent = a instanceof
|
|
2528
|
-
const bIsPercent = b instanceof
|
|
2630
|
+
const aIsPercent = a instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol && config.unitManager.getSpecByKeyword(a.unit)?.type === "relative";
|
|
2631
|
+
const bIsPercent = b instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol && config.unitManager.getSpecByKeyword(b.unit)?.type === "relative";
|
|
2529
2632
|
if (aIsPercent && !bIsPercent) {
|
|
2530
2633
|
const resultValue = func(a.value / 100, b.value);
|
|
2531
|
-
return b instanceof
|
|
2634
|
+
return b instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol ? new chunkOABJLZRZ_cjs.NumberWithUnitSymbol(resultValue, b.unit) : new chunkOABJLZRZ_cjs.NumberSymbol(resultValue);
|
|
2532
2635
|
} else if (bIsPercent && !aIsPercent) {
|
|
2533
2636
|
const resultValue = func(a.value, b.value / 100);
|
|
2534
|
-
return a instanceof
|
|
2637
|
+
return a instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol ? new chunkOABJLZRZ_cjs.NumberWithUnitSymbol(resultValue, a.unit) : new chunkOABJLZRZ_cjs.NumberSymbol(resultValue);
|
|
2535
2638
|
}
|
|
2536
2639
|
}
|
|
2537
2640
|
return mathWrapper(func)(a, b, config);
|
|
2538
2641
|
};
|
|
2539
2642
|
}
|
|
2540
|
-
|
|
2643
|
+
chunkZMMIYWFF_cjs.__name(multiplyDivideWrapper, "multiplyDivideWrapper");
|
|
2541
2644
|
var MATH_IMPLEMENTATIONS = {
|
|
2542
2645
|
["+" /* ADD */]: mathWrapper((a, b) => a + b),
|
|
2543
2646
|
["-" /* SUBTRACT */]: mathWrapper((a, b) => a - b),
|
|
2544
2647
|
["*" /* MULTIPLY */]: multiplyDivideWrapper((a, b) => a * b),
|
|
2545
2648
|
["/" /* DIVIDE */]: multiplyDivideWrapper((a, b) => {
|
|
2546
|
-
if (b === 0) throw new
|
|
2649
|
+
if (b === 0) throw new chunkOABJLZRZ_cjs.InterpreterError("OP_DIVISION_BY_ZERO" /* DIVISION_BY_ZERO */);
|
|
2547
2650
|
return a / b;
|
|
2548
2651
|
}),
|
|
2549
2652
|
["^" /* POWER */]: powerWrapper((a, b) => a ** b)
|
|
@@ -2578,7 +2681,7 @@ var _SymbolTable = class _SymbolTable {
|
|
|
2578
2681
|
this.symbols = {};
|
|
2579
2682
|
}
|
|
2580
2683
|
};
|
|
2581
|
-
|
|
2684
|
+
chunkZMMIYWFF_cjs.__name(_SymbolTable, "SymbolTable");
|
|
2582
2685
|
var SymbolTable = _SymbolTable;
|
|
2583
2686
|
|
|
2584
2687
|
// src/interpreter/interpreter.ts
|
|
@@ -2587,7 +2690,7 @@ var _ReturnSignal = class _ReturnSignal {
|
|
|
2587
2690
|
this.value = value;
|
|
2588
2691
|
}
|
|
2589
2692
|
};
|
|
2590
|
-
|
|
2693
|
+
chunkZMMIYWFF_cjs.__name(_ReturnSignal, "ReturnSignal");
|
|
2591
2694
|
var ReturnSignal = _ReturnSignal;
|
|
2592
2695
|
var _Interpreter = class _Interpreter {
|
|
2593
2696
|
constructor(input, options) {
|
|
@@ -2611,7 +2714,7 @@ var _Interpreter = class _Interpreter {
|
|
|
2611
2714
|
this.references = references;
|
|
2612
2715
|
} else if (references) {
|
|
2613
2716
|
for (const key in references) {
|
|
2614
|
-
this.references.set(key,
|
|
2717
|
+
this.references.set(key, chunkOABJLZRZ_cjs.jsValueToSymbolType(references[key], this.config));
|
|
2615
2718
|
}
|
|
2616
2719
|
} else {
|
|
2617
2720
|
this.references = /* @__PURE__ */ new Map();
|
|
@@ -2638,7 +2741,7 @@ var _Interpreter = class _Interpreter {
|
|
|
2638
2741
|
this.symbolTable.set(name, value);
|
|
2639
2742
|
}
|
|
2640
2743
|
coerceValue(constructorSymbol, valueSymbol) {
|
|
2641
|
-
if (valueSymbol instanceof
|
|
2744
|
+
if (valueSymbol instanceof chunkOABJLZRZ_cjs.NullSymbol) return constructorSymbol;
|
|
2642
2745
|
if (constructorSymbol.typeEquals(valueSymbol)) return valueSymbol;
|
|
2643
2746
|
}
|
|
2644
2747
|
// Visit Functions -------------------------------------------------------------
|
|
@@ -2648,7 +2751,7 @@ var _Interpreter = class _Interpreter {
|
|
|
2648
2751
|
if (typeof this[visitorMethodName] === "function") {
|
|
2649
2752
|
return this[visitorMethodName](node);
|
|
2650
2753
|
}
|
|
2651
|
-
throw new
|
|
2754
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("INT_UNKNOWN_NODE_TYPE" /* UNKNOWN_NODE_TYPE */, {
|
|
2652
2755
|
token: node.token,
|
|
2653
2756
|
data: { nodeType: node.nodeType }
|
|
2654
2757
|
});
|
|
@@ -2664,8 +2767,8 @@ var _Interpreter = class _Interpreter {
|
|
|
2664
2767
|
}
|
|
2665
2768
|
const mathImpl = MATH_IMPLEMENTATIONS[opVal];
|
|
2666
2769
|
if (mathImpl) {
|
|
2667
|
-
if (!((left instanceof
|
|
2668
|
-
throw new
|
|
2770
|
+
if (!((left instanceof chunkOABJLZRZ_cjs.NumberSymbol || left instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol) && (right instanceof chunkOABJLZRZ_cjs.NumberSymbol || right instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol))) {
|
|
2771
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("INT_ARITHMETIC_REQUIRES_NUMBER" /* ARITHMETIC_REQUIRES_NUMBER */, {
|
|
2669
2772
|
token: node.opToken,
|
|
2670
2773
|
data: { operator: opVal, leftType: left.type, rightType: right.type }
|
|
2671
2774
|
});
|
|
@@ -2676,20 +2779,20 @@ var _Interpreter = class _Interpreter {
|
|
|
2676
2779
|
if (comparisonImpl) {
|
|
2677
2780
|
return comparisonImpl(left, right);
|
|
2678
2781
|
}
|
|
2679
|
-
throw new
|
|
2782
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("INT_UNKNOWN_BINARY_OPERATOR" /* UNKNOWN_BINARY_OPERATOR */, {
|
|
2680
2783
|
token: node.opToken,
|
|
2681
2784
|
data: { operator: opVal, tokenType: opType }
|
|
2682
2785
|
});
|
|
2683
2786
|
}
|
|
2684
2787
|
visitNumNode(node) {
|
|
2685
|
-
return new
|
|
2788
|
+
return new chunkOABJLZRZ_cjs.NumberSymbol(node.value, this.config);
|
|
2686
2789
|
}
|
|
2687
2790
|
visitStringNode(node) {
|
|
2688
|
-
return new
|
|
2791
|
+
return new chunkOABJLZRZ_cjs.StringSymbol(node.value, this.config);
|
|
2689
2792
|
}
|
|
2690
2793
|
visitTemplateStringNode(node) {
|
|
2691
2794
|
if (node.parts.length === 0) {
|
|
2692
|
-
return new
|
|
2795
|
+
return new chunkOABJLZRZ_cjs.StringSymbol("", this.config);
|
|
2693
2796
|
}
|
|
2694
2797
|
if (node.parts.length === 1) {
|
|
2695
2798
|
const val = this.visit(node.parts[0]);
|
|
@@ -2702,27 +2805,27 @@ var _Interpreter = class _Interpreter {
|
|
|
2702
2805
|
this.validateTemplateValue(val, node);
|
|
2703
2806
|
result += val.toString();
|
|
2704
2807
|
}
|
|
2705
|
-
return new
|
|
2808
|
+
return new chunkOABJLZRZ_cjs.StringSymbol(result, this.config);
|
|
2706
2809
|
}
|
|
2707
2810
|
/**
|
|
2708
2811
|
* Validate that a value is a primitive type allowed in template string interpolation.
|
|
2709
2812
|
* Lists, Dictionaries, and non-hex Colors are rejected.
|
|
2710
2813
|
*/
|
|
2711
2814
|
validateTemplateValue(val, node) {
|
|
2712
|
-
if (val instanceof
|
|
2713
|
-
throw new
|
|
2815
|
+
if (val instanceof chunkOABJLZRZ_cjs.ListSymbol) {
|
|
2816
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("INT_TEMPLATE_INVALID_TYPE" /* TEMPLATE_INVALID_TYPE */, {
|
|
2714
2817
|
token: node.token,
|
|
2715
2818
|
data: { valueType: "List" }
|
|
2716
2819
|
});
|
|
2717
2820
|
}
|
|
2718
|
-
if (val instanceof
|
|
2719
|
-
throw new
|
|
2821
|
+
if (val instanceof chunkOABJLZRZ_cjs.DictionarySymbol) {
|
|
2822
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("INT_TEMPLATE_INVALID_TYPE" /* TEMPLATE_INVALID_TYPE */, {
|
|
2720
2823
|
token: node.token,
|
|
2721
2824
|
data: { valueType: "Dictionary" }
|
|
2722
2825
|
});
|
|
2723
2826
|
}
|
|
2724
|
-
if (val instanceof
|
|
2725
|
-
throw new
|
|
2827
|
+
if (val instanceof chunkOABJLZRZ_cjs.ColorSymbol && !val.isHex()) {
|
|
2828
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("INT_TEMPLATE_INVALID_TYPE" /* TEMPLATE_INVALID_TYPE */, {
|
|
2726
2829
|
token: node.token,
|
|
2727
2830
|
data: { valueType: `Color.${val.subType}` }
|
|
2728
2831
|
});
|
|
@@ -2733,59 +2836,59 @@ var _Interpreter = class _Interpreter {
|
|
|
2733
2836
|
* Check symbol table first (variables override references), then references
|
|
2734
2837
|
*/
|
|
2735
2838
|
visitIdentifierNode(node) {
|
|
2736
|
-
return this.symbolTable.get(node.name) || this.getReference(node.name) || new
|
|
2839
|
+
return this.symbolTable.get(node.name) || this.getReference(node.name) || new chunkOABJLZRZ_cjs.StringSymbol(node.name, this.config);
|
|
2737
2840
|
}
|
|
2738
2841
|
visitUnaryOpNode(node) {
|
|
2739
2842
|
const result = this.visit(node.expr);
|
|
2740
2843
|
if (node.op === "-" /* SUBTRACT */) {
|
|
2741
|
-
if (result instanceof
|
|
2844
|
+
if (result instanceof chunkOABJLZRZ_cjs.NumberSymbol) {
|
|
2742
2845
|
if (result.value === null) {
|
|
2743
|
-
throw new
|
|
2846
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("INT_UNARY_MINUS_NULL" /* UNARY_MINUS_NULL */, {
|
|
2744
2847
|
token: node.opToken,
|
|
2745
2848
|
data: { symbolType: "NumberSymbol" }
|
|
2746
2849
|
});
|
|
2747
2850
|
}
|
|
2748
|
-
return new
|
|
2851
|
+
return new chunkOABJLZRZ_cjs.NumberSymbol(-result.value, this.config);
|
|
2749
2852
|
}
|
|
2750
|
-
if (result instanceof
|
|
2853
|
+
if (result instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol) {
|
|
2751
2854
|
if (result.value === null) {
|
|
2752
|
-
throw new
|
|
2855
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("INT_UNARY_MINUS_NULL" /* UNARY_MINUS_NULL */, {
|
|
2753
2856
|
token: node.opToken,
|
|
2754
2857
|
data: { symbolType: "NumberWithUnitSymbol" }
|
|
2755
2858
|
});
|
|
2756
2859
|
}
|
|
2757
|
-
return new
|
|
2860
|
+
return new chunkOABJLZRZ_cjs.NumberWithUnitSymbol(-result.value, result.unit, this.config);
|
|
2758
2861
|
}
|
|
2759
|
-
throw new
|
|
2862
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("INT_UNARY_PLUS_NON_NUMBER" /* UNARY_PLUS_NON_NUMBER */, {
|
|
2760
2863
|
token: node.opToken,
|
|
2761
2864
|
data: { value: String(result.value) }
|
|
2762
2865
|
});
|
|
2763
2866
|
}
|
|
2764
2867
|
if (node.op === "+" /* ADD */) {
|
|
2765
|
-
if (result instanceof
|
|
2868
|
+
if (result instanceof chunkOABJLZRZ_cjs.NumberSymbol || result instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol) {
|
|
2766
2869
|
return result;
|
|
2767
2870
|
}
|
|
2768
|
-
throw new
|
|
2871
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("INT_UNARY_PLUS_NON_NUMBER" /* UNARY_PLUS_NON_NUMBER */, {
|
|
2769
2872
|
token: node.opToken,
|
|
2770
2873
|
data: { value: String(result.value) }
|
|
2771
2874
|
});
|
|
2772
2875
|
}
|
|
2773
2876
|
if (node.op === "!" /* LOGIC_NOT */) {
|
|
2774
|
-
if (result instanceof
|
|
2775
|
-
return new
|
|
2877
|
+
if (result instanceof chunkOABJLZRZ_cjs.BooleanSymbol) {
|
|
2878
|
+
return new chunkOABJLZRZ_cjs.BooleanSymbol(!result.value, this.config);
|
|
2776
2879
|
}
|
|
2777
|
-
throw new
|
|
2880
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("INT_UNARY_NOT_NON_BOOLEAN" /* UNARY_NOT_NON_BOOLEAN */, {
|
|
2778
2881
|
token: node.opToken,
|
|
2779
2882
|
data: { value: String(result.value) }
|
|
2780
2883
|
});
|
|
2781
2884
|
}
|
|
2782
|
-
throw new
|
|
2885
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("INT_UNKNOWN_UNARY_OPERATOR" /* UNKNOWN_UNARY_OPERATOR */, {
|
|
2783
2886
|
token: node.opToken,
|
|
2784
2887
|
data: { operator: node.op }
|
|
2785
2888
|
});
|
|
2786
2889
|
}
|
|
2787
2890
|
visitListNode(node) {
|
|
2788
|
-
return new
|
|
2891
|
+
return new chunkOABJLZRZ_cjs.ListSymbol(
|
|
2789
2892
|
node.elements.map((el) => this.visit(el)),
|
|
2790
2893
|
node instanceof ImplicitListNode,
|
|
2791
2894
|
this.config
|
|
@@ -2797,7 +2900,7 @@ var _Interpreter = class _Interpreter {
|
|
|
2797
2900
|
visitReferenceNode(node) {
|
|
2798
2901
|
const value = this.getReference(node.value);
|
|
2799
2902
|
if (!value) {
|
|
2800
|
-
throw new
|
|
2903
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("INT_UNKNOWN_REFERENCE" /* UNKNOWN_REFERENCE */, {
|
|
2801
2904
|
token: node.token,
|
|
2802
2905
|
data: { reference: node.value }
|
|
2803
2906
|
});
|
|
@@ -2805,18 +2908,18 @@ var _Interpreter = class _Interpreter {
|
|
|
2805
2908
|
return value;
|
|
2806
2909
|
}
|
|
2807
2910
|
visitHexColorNode(node) {
|
|
2808
|
-
const { color, alpha } =
|
|
2809
|
-
return new
|
|
2911
|
+
const { color, alpha } = chunkOABJLZRZ_cjs.parseHexWithAlpha(node.value);
|
|
2912
|
+
return new chunkOABJLZRZ_cjs.ColorSymbol(color, "Hex", alpha, this.config);
|
|
2810
2913
|
}
|
|
2811
2914
|
visitBooleanNode(node) {
|
|
2812
|
-
return new
|
|
2915
|
+
return new chunkOABJLZRZ_cjs.BooleanSymbol(node.value, this.config);
|
|
2813
2916
|
}
|
|
2814
2917
|
visitNullNode(_node) {
|
|
2815
|
-
return new
|
|
2918
|
+
return new chunkOABJLZRZ_cjs.NullSymbol(this.config);
|
|
2816
2919
|
}
|
|
2817
2920
|
visitElementWithUnitNode(node) {
|
|
2818
2921
|
const valNodeVisit = this.visit(node.astNode);
|
|
2819
|
-
return new
|
|
2922
|
+
return new chunkOABJLZRZ_cjs.NumberWithUnitSymbol(valNodeVisit?.value, node.unit, this.config);
|
|
2820
2923
|
}
|
|
2821
2924
|
visitFunctionCallNode(node) {
|
|
2822
2925
|
const fnName = node.name.toLowerCase();
|
|
@@ -2831,11 +2934,11 @@ var _Interpreter = class _Interpreter {
|
|
|
2831
2934
|
if (this.config.colorManager.hasInitializer(fnName)) {
|
|
2832
2935
|
return this.config.colorManager.executeInitializer(fnName, args);
|
|
2833
2936
|
}
|
|
2834
|
-
if (
|
|
2937
|
+
if (chunkZMMIYWFF_cjs.UNINTERPRETED_KEYWORDS.includes(fnName)) {
|
|
2835
2938
|
const argStrings = args.map((arg) => arg.toString());
|
|
2836
|
-
return new
|
|
2939
|
+
return new chunkOABJLZRZ_cjs.StringSymbol(`${fnName}(${argStrings.join(", ")})`, this.config);
|
|
2837
2940
|
}
|
|
2838
|
-
throw new
|
|
2941
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("INT_UNKNOWN_FUNCTION" /* UNKNOWN_FUNCTION */, {
|
|
2839
2942
|
token: node.token,
|
|
2840
2943
|
data: { functionName: node.name }
|
|
2841
2944
|
});
|
|
@@ -2843,13 +2946,13 @@ var _Interpreter = class _Interpreter {
|
|
|
2843
2946
|
visitAssignNode(node) {
|
|
2844
2947
|
const name = node.varName.name;
|
|
2845
2948
|
if ([".", "[", "-"].some((c) => name.includes(c))) {
|
|
2846
|
-
throw new
|
|
2949
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("INT_INVALID_VARIABLE_NAME" /* INVALID_VARIABLE_NAME */, {
|
|
2847
2950
|
token: node.varName.token,
|
|
2848
2951
|
data: { name }
|
|
2849
2952
|
});
|
|
2850
2953
|
}
|
|
2851
2954
|
if (this.symbolTable.isDefined(name)) {
|
|
2852
|
-
throw new
|
|
2955
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("INT_VARIABLE_ALREADY_DEFINED" /* VARIABLE_ALREADY_DEFINED */, {
|
|
2853
2956
|
token: node.varName.token,
|
|
2854
2957
|
data: { name }
|
|
2855
2958
|
});
|
|
@@ -2857,11 +2960,11 @@ var _Interpreter = class _Interpreter {
|
|
|
2857
2960
|
const baseType = node.typeDecl.baseType.name;
|
|
2858
2961
|
const subType = node.typeDecl.subTypes[0]?.name;
|
|
2859
2962
|
if (!this.config.isTypeDefined(baseType, subType)) {
|
|
2860
|
-
throw new
|
|
2963
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("INT_INVALID_VARIABLE_TYPE" /* INVALID_VARIABLE_TYPE */, {
|
|
2861
2964
|
token: node.varName.token,
|
|
2862
2965
|
data: {
|
|
2863
|
-
typeName:
|
|
2864
|
-
validTypes: Object.keys(
|
|
2966
|
+
typeName: chunkOABJLZRZ_cjs.typeName(baseType, subType),
|
|
2967
|
+
validTypes: Object.keys(chunkOABJLZRZ_cjs.basicSymbolTypes).join(", ")
|
|
2865
2968
|
}
|
|
2866
2969
|
});
|
|
2867
2970
|
}
|
|
@@ -2869,7 +2972,7 @@ var _Interpreter = class _Interpreter {
|
|
|
2869
2972
|
const valueSymbol = node.assignmentExpr ? this.visit(node.assignmentExpr) : constructorSymbol;
|
|
2870
2973
|
const coercedValueSymbol = this.coerceValue(constructorSymbol, valueSymbol);
|
|
2871
2974
|
if (!coercedValueSymbol) {
|
|
2872
|
-
throw new
|
|
2975
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("INT_INVALID_VALUE_FOR_VARIABLE" /* INVALID_VALUE_FOR_VARIABLE */, {
|
|
2873
2976
|
token: node.varName.token,
|
|
2874
2977
|
data: { value: String(valueSymbol.value), type: baseType, name }
|
|
2875
2978
|
});
|
|
@@ -2880,25 +2983,25 @@ var _Interpreter = class _Interpreter {
|
|
|
2880
2983
|
const baseIdentifier = node.baseIdentifier();
|
|
2881
2984
|
const existingVar = this.symbolTable.get(baseIdentifier.name);
|
|
2882
2985
|
if (existingVar === null) {
|
|
2883
|
-
throw new
|
|
2986
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("INT_VARIABLE_NOT_FOUND" /* VARIABLE_NOT_FOUND */, {
|
|
2884
2987
|
token: baseIdentifier.token,
|
|
2885
2988
|
data: { name: baseIdentifier.name }
|
|
2886
2989
|
});
|
|
2887
2990
|
}
|
|
2888
2991
|
const value = this.visit(node.value);
|
|
2889
2992
|
if (value === null) {
|
|
2890
|
-
throw new
|
|
2993
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("INT_ASSIGNMENT_VALUE_NULL" /* ASSIGNMENT_VALUE_NULL */, {
|
|
2891
2994
|
token: node.value.token,
|
|
2892
2995
|
data: { identifier: node.identifierToString() }
|
|
2893
2996
|
});
|
|
2894
2997
|
}
|
|
2895
2998
|
if (node.isAttributeAssignment()) {
|
|
2896
|
-
if (existingVar instanceof
|
|
2999
|
+
if (existingVar instanceof chunkOABJLZRZ_cjs.ColorSymbol) {
|
|
2897
3000
|
this.config.colorManager.setAttribute(existingVar, node, value);
|
|
2898
3001
|
}
|
|
2899
3002
|
} else {
|
|
2900
|
-
if (
|
|
2901
|
-
throw new
|
|
3003
|
+
if (chunkOABJLZRZ_cjs.typeEquals(value.type, "list")) ; else if (!chunkOABJLZRZ_cjs.typeEquals(existingVar.type, value.type)) {
|
|
3004
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("INT_TYPE_MISMATCH" /* TYPE_MISMATCH */, {
|
|
2902
3005
|
token: baseIdentifier.token,
|
|
2903
3006
|
data: {
|
|
2904
3007
|
value: String(value),
|
|
@@ -2909,7 +3012,7 @@ var _Interpreter = class _Interpreter {
|
|
|
2909
3012
|
});
|
|
2910
3013
|
}
|
|
2911
3014
|
if (!existingVar.validValue(value)) {
|
|
2912
|
-
throw new
|
|
3015
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("INT_CANNOT_ASSIGN_TYPE" /* CANNOT_ASSIGN_TYPE */, {
|
|
2913
3016
|
token: node.value.token,
|
|
2914
3017
|
data: {
|
|
2915
3018
|
valueType: value.type,
|
|
@@ -2930,14 +3033,14 @@ var _Interpreter = class _Interpreter {
|
|
|
2930
3033
|
if (left.hasMethod(right.name, args)) {
|
|
2931
3034
|
const result = left.callMethod?.(right.name, args);
|
|
2932
3035
|
if (result === null || result === void 0) {
|
|
2933
|
-
throw new
|
|
3036
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("INT_METHOD_RETURNED_NULL" /* METHOD_RETURNED_NULL */, {
|
|
2934
3037
|
token: node.token,
|
|
2935
3038
|
data: { methodName: right.name }
|
|
2936
3039
|
});
|
|
2937
3040
|
}
|
|
2938
3041
|
return result;
|
|
2939
3042
|
}
|
|
2940
|
-
throw new
|
|
3043
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("INT_METHOD_NOT_FOUND" /* METHOD_NOT_FOUND */, {
|
|
2941
3044
|
token: node.token,
|
|
2942
3045
|
data: { methodName: right.name, value: String(left), type: left.type }
|
|
2943
3046
|
});
|
|
@@ -2946,24 +3049,24 @@ var _Interpreter = class _Interpreter {
|
|
|
2946
3049
|
if (left.hasAttribute(right.name)) {
|
|
2947
3050
|
const result = left.getAttribute?.(right.name);
|
|
2948
3051
|
if (result === null || result === void 0) {
|
|
2949
|
-
throw new
|
|
3052
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("INT_ATTRIBUTE_RETURNED_NULL" /* ATTRIBUTE_RETURNED_NULL */, {
|
|
2950
3053
|
token: node.token,
|
|
2951
3054
|
data: { attributeName: right.name }
|
|
2952
3055
|
});
|
|
2953
3056
|
}
|
|
2954
3057
|
return result;
|
|
2955
3058
|
}
|
|
2956
|
-
throw new
|
|
3059
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("INT_ATTRIBUTE_NOT_FOUND" /* ATTRIBUTE_NOT_FOUND */, {
|
|
2957
3060
|
token: node.token,
|
|
2958
3061
|
data: {
|
|
2959
3062
|
attributeName: right.name,
|
|
2960
|
-
value: left instanceof
|
|
3063
|
+
value: left instanceof chunkOABJLZRZ_cjs.ColorSymbol ? "Color" : String(left),
|
|
2961
3064
|
type: left.type
|
|
2962
3065
|
}
|
|
2963
3066
|
});
|
|
2964
3067
|
}
|
|
2965
3068
|
}
|
|
2966
|
-
throw new
|
|
3069
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("INT_CANNOT_ACCESS_ATTRIBUTES" /* CANNOT_ACCESS_ATTRIBUTES */, {
|
|
2967
3070
|
token: node.token,
|
|
2968
3071
|
data: { type: left.type }
|
|
2969
3072
|
});
|
|
@@ -2986,13 +3089,13 @@ var _Interpreter = class _Interpreter {
|
|
|
2986
3089
|
while (true) {
|
|
2987
3090
|
iterations++;
|
|
2988
3091
|
if (iterations > this.config.languageOptions.MAX_ITERATIONS) {
|
|
2989
|
-
throw new
|
|
3092
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("INT_MAX_ITERATIONS_EXCEEDED" /* MAX_ITERATIONS_EXCEEDED */, {
|
|
2990
3093
|
token: node.token
|
|
2991
3094
|
});
|
|
2992
3095
|
}
|
|
2993
3096
|
const conditionNode = this.visit(node.condition);
|
|
2994
|
-
if (!(conditionNode instanceof
|
|
2995
|
-
throw new
|
|
3097
|
+
if (!(conditionNode instanceof chunkOABJLZRZ_cjs.BooleanSymbol)) {
|
|
3098
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("INT_WHILE_CONDITION_NOT_BOOLEAN" /* WHILE_CONDITION_NOT_BOOLEAN */, {
|
|
2996
3099
|
token: node.condition?.token
|
|
2997
3100
|
});
|
|
2998
3101
|
}
|
|
@@ -3002,28 +3105,28 @@ var _Interpreter = class _Interpreter {
|
|
|
3002
3105
|
}
|
|
3003
3106
|
visitForEachNode(node) {
|
|
3004
3107
|
if (this.symbolTable.isDefined(node.itemVar)) {
|
|
3005
|
-
throw new
|
|
3108
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("INT_FOR_EACH_VARIABLE_SHADOW" /* FOR_EACH_VARIABLE_SHADOW */, {
|
|
3006
3109
|
token: node.token,
|
|
3007
3110
|
data: { name: node.itemVar }
|
|
3008
3111
|
});
|
|
3009
3112
|
}
|
|
3010
3113
|
if (node.indexVar !== null) {
|
|
3011
3114
|
if (node.indexVar === node.itemVar) {
|
|
3012
|
-
throw new
|
|
3115
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("INT_FOR_EACH_DUPLICATE_VARS" /* FOR_EACH_DUPLICATE_VARS */, {
|
|
3013
3116
|
token: node.token,
|
|
3014
3117
|
data: { name: node.itemVar }
|
|
3015
3118
|
});
|
|
3016
3119
|
}
|
|
3017
3120
|
if (this.symbolTable.isDefined(node.indexVar)) {
|
|
3018
|
-
throw new
|
|
3121
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("INT_FOR_EACH_VARIABLE_SHADOW" /* FOR_EACH_VARIABLE_SHADOW */, {
|
|
3019
3122
|
token: node.token,
|
|
3020
3123
|
data: { name: node.indexVar }
|
|
3021
3124
|
});
|
|
3022
3125
|
}
|
|
3023
3126
|
}
|
|
3024
3127
|
const collectionVal = this.visit(node.collection);
|
|
3025
|
-
if (!(collectionVal instanceof
|
|
3026
|
-
throw new
|
|
3128
|
+
if (!(collectionVal instanceof chunkOABJLZRZ_cjs.ListSymbol)) {
|
|
3129
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("INT_FOR_EACH_NOT_LIST" /* FOR_EACH_NOT_LIST */, {
|
|
3027
3130
|
token: node.token,
|
|
3028
3131
|
data: { actualType: collectionVal?.type ?? "null" }
|
|
3029
3132
|
});
|
|
@@ -3034,7 +3137,7 @@ var _Interpreter = class _Interpreter {
|
|
|
3034
3137
|
const item = elements[idx];
|
|
3035
3138
|
this.symbolTable.set(node.itemVar, item);
|
|
3036
3139
|
if (node.indexVar !== null) {
|
|
3037
|
-
this.symbolTable.set(node.indexVar, new
|
|
3140
|
+
this.symbolTable.set(node.indexVar, new chunkOABJLZRZ_cjs.NumberSymbol(idx, this.config));
|
|
3038
3141
|
}
|
|
3039
3142
|
let bodyResult = null;
|
|
3040
3143
|
try {
|
|
@@ -3049,19 +3152,19 @@ var _Interpreter = class _Interpreter {
|
|
|
3049
3152
|
}
|
|
3050
3153
|
throw e;
|
|
3051
3154
|
}
|
|
3052
|
-
results.push(bodyResult ?? new
|
|
3155
|
+
results.push(bodyResult ?? new chunkOABJLZRZ_cjs.NullSymbol(this.config));
|
|
3053
3156
|
}
|
|
3054
3157
|
this.symbolTable.delete(node.itemVar);
|
|
3055
3158
|
if (node.indexVar !== null) {
|
|
3056
3159
|
this.symbolTable.delete(node.indexVar);
|
|
3057
3160
|
}
|
|
3058
|
-
return new
|
|
3161
|
+
return new chunkOABJLZRZ_cjs.ListSymbol(results, false, this.config);
|
|
3059
3162
|
}
|
|
3060
3163
|
visitIfNode(node) {
|
|
3061
3164
|
for (const conditionNode of node.conditions) {
|
|
3062
3165
|
const condition = this.visit(conditionNode.condition);
|
|
3063
|
-
if (!(condition instanceof
|
|
3064
|
-
throw new
|
|
3166
|
+
if (!(condition instanceof chunkOABJLZRZ_cjs.BooleanSymbol)) {
|
|
3167
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("INT_IF_CONDITION_NOT_BOOLEAN" /* IF_CONDITION_NOT_BOOLEAN */, {
|
|
3065
3168
|
token: conditionNode.condition.token
|
|
3066
3169
|
});
|
|
3067
3170
|
}
|
|
@@ -3086,20 +3189,20 @@ var _Interpreter = class _Interpreter {
|
|
|
3086
3189
|
} else if (e instanceof Error) {
|
|
3087
3190
|
throw e;
|
|
3088
3191
|
} else {
|
|
3089
|
-
throw new
|
|
3192
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("INT_UNKNOWN_ERROR" /* UNKNOWN_ERROR */);
|
|
3090
3193
|
}
|
|
3091
3194
|
}
|
|
3092
3195
|
return result;
|
|
3093
3196
|
}
|
|
3094
3197
|
};
|
|
3095
|
-
|
|
3198
|
+
chunkZMMIYWFF_cjs.__name(_Interpreter, "Interpreter");
|
|
3096
3199
|
var Interpreter = _Interpreter;
|
|
3097
3200
|
|
|
3098
3201
|
// src/processor/errors.ts
|
|
3099
3202
|
function createDependencyError(tokenName, dependencyName, originalError) {
|
|
3100
3203
|
const { chain, rootError } = extractDependencyInfo(tokenName, dependencyName, originalError);
|
|
3101
3204
|
const chainStr = chain.join(" \u2192 ");
|
|
3102
|
-
return new
|
|
3205
|
+
return new chunkOABJLZRZ_cjs.ProcessorError("PROC_DEPENDENCY_ERROR" /* DEPENDENCY_ERROR */, {
|
|
3103
3206
|
data: {
|
|
3104
3207
|
tokenName,
|
|
3105
3208
|
chain: chainStr,
|
|
@@ -3107,9 +3210,9 @@ function createDependencyError(tokenName, dependencyName, originalError) {
|
|
|
3107
3210
|
}
|
|
3108
3211
|
});
|
|
3109
3212
|
}
|
|
3110
|
-
|
|
3213
|
+
chunkZMMIYWFF_cjs.__name(createDependencyError, "createDependencyError");
|
|
3111
3214
|
function extractDependencyInfo(tokenName, dependencyName, error) {
|
|
3112
|
-
if (error instanceof
|
|
3215
|
+
if (error instanceof chunkOABJLZRZ_cjs.ProcessorError && error.code === "PROC_DEPENDENCY_ERROR" /* DEPENDENCY_ERROR */ && error.data.chain) {
|
|
3113
3216
|
const existingChain = String(error.data.chain).split(" \u2192 ");
|
|
3114
3217
|
return {
|
|
3115
3218
|
chain: [tokenName, ...existingChain],
|
|
@@ -3121,7 +3224,7 @@ function extractDependencyInfo(tokenName, dependencyName, error) {
|
|
|
3121
3224
|
rootError: error
|
|
3122
3225
|
};
|
|
3123
3226
|
}
|
|
3124
|
-
|
|
3227
|
+
chunkZMMIYWFF_cjs.__name(extractDependencyInfo, "extractDependencyInfo");
|
|
3125
3228
|
|
|
3126
3229
|
// src/processor/resolver/TokenInterpreter.ts
|
|
3127
3230
|
var _TokenInterpreter = class _TokenInterpreter {
|
|
@@ -3151,14 +3254,14 @@ var _TokenInterpreter = class _TokenInterpreter {
|
|
|
3151
3254
|
if (result !== null && typeof result !== "string") {
|
|
3152
3255
|
this.parsedConstants.set(name, result);
|
|
3153
3256
|
} else if (typeof result === "string") {
|
|
3154
|
-
this.parsedConstants.set(name,
|
|
3257
|
+
this.parsedConstants.set(name, chunkOABJLZRZ_cjs.jsValueToSymbolType(result, this.config));
|
|
3155
3258
|
}
|
|
3156
3259
|
}
|
|
3157
3260
|
} catch {
|
|
3158
|
-
this.parsedConstants.set(name,
|
|
3261
|
+
this.parsedConstants.set(name, chunkOABJLZRZ_cjs.jsValueToSymbolType(rawValue, this.config));
|
|
3159
3262
|
}
|
|
3160
3263
|
} else {
|
|
3161
|
-
this.parsedConstants.set(name,
|
|
3264
|
+
this.parsedConstants.set(name, chunkOABJLZRZ_cjs.jsValueToSymbolType(rawValue, this.config));
|
|
3162
3265
|
}
|
|
3163
3266
|
}
|
|
3164
3267
|
}
|
|
@@ -3189,7 +3292,7 @@ var _TokenInterpreter = class _TokenInterpreter {
|
|
|
3189
3292
|
this.interpreter.setAst(ast);
|
|
3190
3293
|
return this.interpreter.interpret();
|
|
3191
3294
|
} catch (error) {
|
|
3192
|
-
if (
|
|
3295
|
+
if (chunkOABJLZRZ_cjs.isLanguageError(error)) {
|
|
3193
3296
|
return error;
|
|
3194
3297
|
}
|
|
3195
3298
|
return new Error("Unknown error during token interpretation", { cause: error });
|
|
@@ -3202,7 +3305,7 @@ var _TokenInterpreter = class _TokenInterpreter {
|
|
|
3202
3305
|
return createDependencyError(tokenName, dep, depValue);
|
|
3203
3306
|
}
|
|
3204
3307
|
if (missingDependencies?.has(dep)) {
|
|
3205
|
-
const error = new
|
|
3308
|
+
const error = new chunkOABJLZRZ_cjs.ProcessorError("PROC_TOKEN_NOT_FOUND" /* TOKEN_NOT_FOUND */, {
|
|
3206
3309
|
data: { tokenName: dep }
|
|
3207
3310
|
});
|
|
3208
3311
|
return createDependencyError(tokenName, dep, error);
|
|
@@ -3211,7 +3314,7 @@ var _TokenInterpreter = class _TokenInterpreter {
|
|
|
3211
3314
|
return void 0;
|
|
3212
3315
|
}
|
|
3213
3316
|
flattenDictionaryToCache(tokenName, value) {
|
|
3214
|
-
if (!(value instanceof
|
|
3317
|
+
if (!(value instanceof chunkOABJLZRZ_cjs.DictionarySymbol) || !value.value) {
|
|
3215
3318
|
return [];
|
|
3216
3319
|
}
|
|
3217
3320
|
const flattenedNames = [];
|
|
@@ -3234,7 +3337,7 @@ var _TokenInterpreter = class _TokenInterpreter {
|
|
|
3234
3337
|
);
|
|
3235
3338
|
}
|
|
3236
3339
|
};
|
|
3237
|
-
|
|
3340
|
+
chunkZMMIYWFF_cjs.__name(_TokenInterpreter, "TokenInterpreter");
|
|
3238
3341
|
var TokenInterpreter = _TokenInterpreter;
|
|
3239
3342
|
|
|
3240
3343
|
// src/processor/object-parsers/default-object-parsers.ts
|
|
@@ -3250,29 +3353,29 @@ function parseValueToSymbol(value, config, parsers = defaultObjectParsers) {
|
|
|
3250
3353
|
return parser.toSymbol(value, config);
|
|
3251
3354
|
}
|
|
3252
3355
|
}
|
|
3253
|
-
return
|
|
3356
|
+
return chunkOABJLZRZ_cjs.jsValueToSymbolType(value, config);
|
|
3254
3357
|
}
|
|
3255
|
-
|
|
3358
|
+
chunkZMMIYWFF_cjs.__name(parseValueToSymbol, "parseValueToSymbol");
|
|
3256
3359
|
function createTokenSymbol(value, tokenType = "unknown", config, parsers = defaultObjectParsers, metadata) {
|
|
3257
|
-
if (
|
|
3360
|
+
if (chunkOABJLZRZ_cjs.isObject(value)) {
|
|
3258
3361
|
const symbolMap = {};
|
|
3259
3362
|
for (const [key, val] of Object.entries(value)) {
|
|
3260
3363
|
symbolMap[key] = parseValueToSymbol(val, config, parsers);
|
|
3261
3364
|
}
|
|
3262
|
-
return new
|
|
3365
|
+
return new chunkOABJLZRZ_cjs.TokenSymbol(tokenType, symbolMap, config, metadata);
|
|
3263
3366
|
}
|
|
3264
|
-
if (
|
|
3367
|
+
if (chunkOABJLZRZ_cjs.isArray(value)) {
|
|
3265
3368
|
const symbolArray = value.map((val) => parseValueToSymbol(val, config, parsers));
|
|
3266
|
-
return new
|
|
3369
|
+
return new chunkOABJLZRZ_cjs.TokenSymbol(tokenType, symbolArray, config, metadata);
|
|
3267
3370
|
}
|
|
3268
|
-
return new
|
|
3371
|
+
return new chunkOABJLZRZ_cjs.TokenSymbol(tokenType, value, config, metadata);
|
|
3269
3372
|
}
|
|
3270
|
-
|
|
3373
|
+
chunkZMMIYWFF_cjs.__name(createTokenSymbol, "createTokenSymbol");
|
|
3271
3374
|
function buildValueFromResolvedFields(currentPath, originalValue, resolvedFields, config, parsers = defaultObjectParsers) {
|
|
3272
3375
|
if (resolvedFields.has(currentPath)) {
|
|
3273
3376
|
return resolvedFields.get(currentPath);
|
|
3274
3377
|
}
|
|
3275
|
-
if (
|
|
3378
|
+
if (chunkOABJLZRZ_cjs.isObject(originalValue)) {
|
|
3276
3379
|
for (const parser of parsers) {
|
|
3277
3380
|
if (parser.predicate(originalValue)) {
|
|
3278
3381
|
return parser.toSymbol(originalValue, config);
|
|
@@ -3289,9 +3392,9 @@ function buildValueFromResolvedFields(currentPath, originalValue, resolvedFields
|
|
|
3289
3392
|
parsers
|
|
3290
3393
|
);
|
|
3291
3394
|
}
|
|
3292
|
-
return new
|
|
3395
|
+
return new chunkOABJLZRZ_cjs.DictionarySymbol(symbolMap, config);
|
|
3293
3396
|
}
|
|
3294
|
-
if (
|
|
3397
|
+
if (chunkOABJLZRZ_cjs.isArray(originalValue)) {
|
|
3295
3398
|
const symbolArray = [];
|
|
3296
3399
|
for (let i = 0; i < originalValue.length; i++) {
|
|
3297
3400
|
const fieldPath = `${currentPath}[${i}]`;
|
|
@@ -3299,13 +3402,13 @@ function buildValueFromResolvedFields(currentPath, originalValue, resolvedFields
|
|
|
3299
3402
|
buildValueFromResolvedFields(fieldPath, originalValue[i], resolvedFields, config, parsers)
|
|
3300
3403
|
);
|
|
3301
3404
|
}
|
|
3302
|
-
return new
|
|
3405
|
+
return new chunkOABJLZRZ_cjs.ListSymbol(symbolArray, false, config);
|
|
3303
3406
|
}
|
|
3304
3407
|
return parseValueToSymbol(originalValue, config, parsers);
|
|
3305
3408
|
}
|
|
3306
|
-
|
|
3409
|
+
chunkZMMIYWFF_cjs.__name(buildValueFromResolvedFields, "buildValueFromResolvedFields");
|
|
3307
3410
|
function createTokenSymbolFromResolvedFields(tokenName, resolvedFields, originalValue, tokenType = "unknown", config, parsers = defaultObjectParsers, metadata) {
|
|
3308
|
-
if (
|
|
3411
|
+
if (chunkOABJLZRZ_cjs.isObject(originalValue)) {
|
|
3309
3412
|
const symbolMap = {};
|
|
3310
3413
|
for (const [key, val] of Object.entries(originalValue)) {
|
|
3311
3414
|
const fieldPath = `${tokenName}.${key}`;
|
|
@@ -3317,9 +3420,9 @@ function createTokenSymbolFromResolvedFields(tokenName, resolvedFields, original
|
|
|
3317
3420
|
parsers
|
|
3318
3421
|
);
|
|
3319
3422
|
}
|
|
3320
|
-
return new
|
|
3423
|
+
return new chunkOABJLZRZ_cjs.TokenSymbol(tokenType, symbolMap, config, metadata);
|
|
3321
3424
|
}
|
|
3322
|
-
if (
|
|
3425
|
+
if (chunkOABJLZRZ_cjs.isArray(originalValue)) {
|
|
3323
3426
|
const symbolArray = [];
|
|
3324
3427
|
for (let i = 0; i < originalValue.length; i++) {
|
|
3325
3428
|
const fieldPath = `${tokenName}[${i}]`;
|
|
@@ -3327,11 +3430,11 @@ function createTokenSymbolFromResolvedFields(tokenName, resolvedFields, original
|
|
|
3327
3430
|
buildValueFromResolvedFields(fieldPath, originalValue[i], resolvedFields, config, parsers)
|
|
3328
3431
|
);
|
|
3329
3432
|
}
|
|
3330
|
-
return new
|
|
3433
|
+
return new chunkOABJLZRZ_cjs.TokenSymbol(tokenType, symbolArray, config, metadata);
|
|
3331
3434
|
}
|
|
3332
|
-
return new
|
|
3435
|
+
return new chunkOABJLZRZ_cjs.TokenSymbol(tokenType, originalValue, config, metadata);
|
|
3333
3436
|
}
|
|
3334
|
-
|
|
3437
|
+
chunkZMMIYWFF_cjs.__name(createTokenSymbolFromResolvedFields, "createTokenSymbolFromResolvedFields");
|
|
3335
3438
|
|
|
3336
3439
|
// src/processor/utils/DependencyGraph.ts
|
|
3337
3440
|
var _DependencyGraph = class _DependencyGraph {
|
|
@@ -3367,7 +3470,7 @@ var _DependencyGraph = class _DependencyGraph {
|
|
|
3367
3470
|
const visited = /* @__PURE__ */ new Set();
|
|
3368
3471
|
const recursionStack = /* @__PURE__ */ new Set();
|
|
3369
3472
|
const path = [];
|
|
3370
|
-
const dfs = /* @__PURE__ */
|
|
3473
|
+
const dfs = /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((node) => {
|
|
3371
3474
|
visited.add(node);
|
|
3372
3475
|
recursionStack.add(node);
|
|
3373
3476
|
path.push(node);
|
|
@@ -3437,14 +3540,14 @@ var _DependencyGraph = class _DependencyGraph {
|
|
|
3437
3540
|
}
|
|
3438
3541
|
const cycle = this.findCycle(remainingNodes);
|
|
3439
3542
|
const tokens = `${cycle.map((n) => String(n)).join(" \u2192 ")} \u2192 ${String(cycle[0])}`;
|
|
3440
|
-
throw new
|
|
3543
|
+
throw new chunkOABJLZRZ_cjs.ProcessorError("PROC_CIRCULAR_DEPENDENCY" /* CIRCULAR_DEPENDENCY */, {
|
|
3441
3544
|
data: { tokens }
|
|
3442
3545
|
});
|
|
3443
3546
|
}
|
|
3444
3547
|
return result;
|
|
3445
3548
|
}
|
|
3446
3549
|
};
|
|
3447
|
-
|
|
3550
|
+
chunkZMMIYWFF_cjs.__name(_DependencyGraph, "DependencyGraph");
|
|
3448
3551
|
var DependencyGraph = _DependencyGraph;
|
|
3449
3552
|
|
|
3450
3553
|
// src/processor/utils/name-validation.ts
|
|
@@ -3452,28 +3555,28 @@ var INVALID_TOKEN_NAME_CHARS = /[ \t\n\r\f{}[\]]/;
|
|
|
3452
3555
|
function validateTokenName(name) {
|
|
3453
3556
|
return name.length > 0 && !INVALID_TOKEN_NAME_CHARS.test(name);
|
|
3454
3557
|
}
|
|
3455
|
-
|
|
3558
|
+
chunkZMMIYWFF_cjs.__name(validateTokenName, "validateTokenName");
|
|
3456
3559
|
function splitTokenPath(path) {
|
|
3457
3560
|
return path.split(".");
|
|
3458
3561
|
}
|
|
3459
|
-
|
|
3562
|
+
chunkZMMIYWFF_cjs.__name(splitTokenPath, "splitTokenPath");
|
|
3460
3563
|
function validateTokenPath(path) {
|
|
3461
3564
|
return splitTokenPath(path).every(validateTokenName);
|
|
3462
3565
|
}
|
|
3463
|
-
|
|
3566
|
+
chunkZMMIYWFF_cjs.__name(validateTokenPath, "validateTokenPath");
|
|
3464
3567
|
|
|
3465
3568
|
// src/processor/utils/structured-tokens.ts
|
|
3466
3569
|
function matchesObjectParser(value, parsers) {
|
|
3467
|
-
if (!
|
|
3570
|
+
if (!chunkOABJLZRZ_cjs.isObject(value)) return false;
|
|
3468
3571
|
return parsers.some((parser) => parser.predicate(value));
|
|
3469
3572
|
}
|
|
3470
|
-
|
|
3573
|
+
chunkZMMIYWFF_cjs.__name(matchesObjectParser, "matchesObjectParser");
|
|
3471
3574
|
function extractStringFields(value, parentPath, objectParsers = defaultObjectParsers) {
|
|
3472
3575
|
const result = /* @__PURE__ */ new Map();
|
|
3473
|
-
const processValue = /* @__PURE__ */
|
|
3474
|
-
if (
|
|
3576
|
+
const processValue = /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((val, path) => {
|
|
3577
|
+
if (chunkOABJLZRZ_cjs.isString(val)) {
|
|
3475
3578
|
result.set(path, val);
|
|
3476
|
-
} else if (
|
|
3579
|
+
} else if (chunkOABJLZRZ_cjs.isObject(val)) {
|
|
3477
3580
|
if (matchesObjectParser(val, objectParsers)) {
|
|
3478
3581
|
return;
|
|
3479
3582
|
}
|
|
@@ -3481,35 +3584,35 @@ function extractStringFields(value, parentPath, objectParsers = defaultObjectPar
|
|
|
3481
3584
|
for (const [nestedPath, nestedVal] of nested) {
|
|
3482
3585
|
result.set(nestedPath, nestedVal);
|
|
3483
3586
|
}
|
|
3484
|
-
} else if (
|
|
3587
|
+
} else if (chunkOABJLZRZ_cjs.isArray(val)) {
|
|
3485
3588
|
const nested = extractStringFields(val, path, objectParsers);
|
|
3486
3589
|
for (const [nestedPath, nestedVal] of nested) {
|
|
3487
3590
|
result.set(nestedPath, nestedVal);
|
|
3488
3591
|
}
|
|
3489
3592
|
}
|
|
3490
3593
|
}, "processValue");
|
|
3491
|
-
if (
|
|
3594
|
+
if (chunkOABJLZRZ_cjs.isObject(value)) {
|
|
3492
3595
|
for (const [key, val] of Object.entries(value)) {
|
|
3493
3596
|
processValue(val, `${parentPath}.${key}`);
|
|
3494
3597
|
}
|
|
3495
|
-
} else if (
|
|
3598
|
+
} else if (chunkOABJLZRZ_cjs.isArray(value)) {
|
|
3496
3599
|
for (let i = 0; i < value.length; i++) {
|
|
3497
3600
|
processValue(value[i], `${parentPath}[${i}]`);
|
|
3498
3601
|
}
|
|
3499
3602
|
}
|
|
3500
3603
|
return result;
|
|
3501
3604
|
}
|
|
3502
|
-
|
|
3605
|
+
chunkZMMIYWFF_cjs.__name(extractStringFields, "extractStringFields");
|
|
3503
3606
|
|
|
3504
3607
|
// src/processor/utils/tokens.ts
|
|
3505
3608
|
function getTokenValue(data) {
|
|
3506
|
-
return
|
|
3609
|
+
return chunkOABJLZRZ_cjs.isString(data) ? data : data.$value;
|
|
3507
3610
|
}
|
|
3508
|
-
|
|
3611
|
+
chunkZMMIYWFF_cjs.__name(getTokenValue, "getTokenValue");
|
|
3509
3612
|
function setTokenValue(value) {
|
|
3510
|
-
return
|
|
3613
|
+
return chunkOABJLZRZ_cjs.isString(value) ? { $value: value } : value;
|
|
3511
3614
|
}
|
|
3512
|
-
|
|
3615
|
+
chunkZMMIYWFF_cjs.__name(setTokenValue, "setTokenValue");
|
|
3513
3616
|
function flattenTokensObject(obj, prefixAccumulator = "") {
|
|
3514
3617
|
const result = /* @__PURE__ */ new Map();
|
|
3515
3618
|
for (const [prefix, value] of Object.entries(obj)) {
|
|
@@ -3517,9 +3620,9 @@ function flattenTokensObject(obj, prefixAccumulator = "") {
|
|
|
3517
3620
|
continue;
|
|
3518
3621
|
}
|
|
3519
3622
|
const path = prefixAccumulator ? `${prefixAccumulator}.${prefix}` : prefix;
|
|
3520
|
-
if (
|
|
3623
|
+
if (chunkOABJLZRZ_cjs.isObject(value)) {
|
|
3521
3624
|
const objValue = value;
|
|
3522
|
-
const tokenValue =
|
|
3625
|
+
const tokenValue = chunkOABJLZRZ_cjs.getKeyAlt(["$value", "value"], objValue);
|
|
3523
3626
|
if (tokenValue !== void 0) {
|
|
3524
3627
|
const tokenType = objValue.$type;
|
|
3525
3628
|
const tokenMetadata = objValue.$metadata;
|
|
@@ -3541,23 +3644,23 @@ function flattenTokensObject(obj, prefixAccumulator = "") {
|
|
|
3541
3644
|
}
|
|
3542
3645
|
return result;
|
|
3543
3646
|
}
|
|
3544
|
-
|
|
3647
|
+
chunkZMMIYWFF_cjs.__name(flattenTokensObject, "flattenTokensObject");
|
|
3545
3648
|
function normalizeToTokenData(value) {
|
|
3546
3649
|
if (typeof value === "string") {
|
|
3547
3650
|
return { $value: value };
|
|
3548
3651
|
}
|
|
3549
|
-
if (
|
|
3652
|
+
if (chunkOABJLZRZ_cjs.isObject(value) && "$value" in value) {
|
|
3550
3653
|
const obj = value;
|
|
3551
3654
|
const metadata = obj.$metadata;
|
|
3552
3655
|
return {
|
|
3553
3656
|
$value: obj.$value,
|
|
3554
|
-
...
|
|
3657
|
+
...chunkOABJLZRZ_cjs.isString(obj.$type) && { $type: obj.$type },
|
|
3555
3658
|
...metadata !== void 0 && { $metadata: metadata }
|
|
3556
3659
|
};
|
|
3557
3660
|
}
|
|
3558
3661
|
return { $value: value };
|
|
3559
3662
|
}
|
|
3560
|
-
|
|
3663
|
+
chunkZMMIYWFF_cjs.__name(normalizeToTokenData, "normalizeToTokenData");
|
|
3561
3664
|
function recordToMap(record) {
|
|
3562
3665
|
const map = /* @__PURE__ */ new Map();
|
|
3563
3666
|
for (const [key, value] of Object.entries(record)) {
|
|
@@ -3565,14 +3668,14 @@ function recordToMap(record) {
|
|
|
3565
3668
|
}
|
|
3566
3669
|
return map;
|
|
3567
3670
|
}
|
|
3568
|
-
|
|
3671
|
+
chunkZMMIYWFF_cjs.__name(recordToMap, "recordToMap");
|
|
3569
3672
|
function isNested(obj) {
|
|
3570
3673
|
return Object.keys(obj).some((key) => {
|
|
3571
3674
|
const value = obj[key];
|
|
3572
|
-
return
|
|
3675
|
+
return chunkOABJLZRZ_cjs.isObject(value) && !key.startsWith("$");
|
|
3573
3676
|
});
|
|
3574
3677
|
}
|
|
3575
|
-
|
|
3678
|
+
chunkZMMIYWFF_cjs.__name(isNested, "isNested");
|
|
3576
3679
|
|
|
3577
3680
|
// src/processor/validator/types.ts
|
|
3578
3681
|
var ValidationSeverity = /* @__PURE__ */ ((ValidationSeverity2) => {
|
|
@@ -3588,12 +3691,12 @@ function collectTypeValidationIssues(config, tokenName, tokenType, value) {
|
|
|
3588
3691
|
if (!config.tokenManager.getSpecByType(tokenType)) return [];
|
|
3589
3692
|
if (value === null || typeof value === "string") return [];
|
|
3590
3693
|
let valueToValidate;
|
|
3591
|
-
if (value instanceof
|
|
3694
|
+
if (value instanceof chunkOABJLZRZ_cjs.TokenSymbol) {
|
|
3592
3695
|
const innerValue = value.value;
|
|
3593
3696
|
if (Array.isArray(innerValue)) {
|
|
3594
|
-
valueToValidate = new
|
|
3697
|
+
valueToValidate = new chunkOABJLZRZ_cjs.ListSymbol(innerValue, false, config);
|
|
3595
3698
|
} else if (innerValue instanceof Map) {
|
|
3596
|
-
valueToValidate = new
|
|
3699
|
+
valueToValidate = new chunkOABJLZRZ_cjs.DictionarySymbol(innerValue, config);
|
|
3597
3700
|
} else {
|
|
3598
3701
|
valueToValidate = value;
|
|
3599
3702
|
}
|
|
@@ -3619,7 +3722,7 @@ function collectTypeValidationIssues(config, tokenName, tokenType, value) {
|
|
|
3619
3722
|
}
|
|
3620
3723
|
return issues;
|
|
3621
3724
|
}
|
|
3622
|
-
|
|
3725
|
+
chunkZMMIYWFF_cjs.__name(collectTypeValidationIssues, "collectTypeValidationIssues");
|
|
3623
3726
|
function parseFieldPath(fieldPath) {
|
|
3624
3727
|
const result = [];
|
|
3625
3728
|
let remaining = fieldPath;
|
|
@@ -3644,7 +3747,7 @@ function parseFieldPath(fieldPath) {
|
|
|
3644
3747
|
}
|
|
3645
3748
|
return result;
|
|
3646
3749
|
}
|
|
3647
|
-
|
|
3750
|
+
chunkZMMIYWFF_cjs.__name(parseFieldPath, "parseFieldPath");
|
|
3648
3751
|
function errorToValidationIssue(error, parentToken, path) {
|
|
3649
3752
|
return {
|
|
3650
3753
|
code: error.code,
|
|
@@ -3656,7 +3759,7 @@ function errorToValidationIssue(error, parentToken, path) {
|
|
|
3656
3759
|
data: error.data
|
|
3657
3760
|
};
|
|
3658
3761
|
}
|
|
3659
|
-
|
|
3762
|
+
chunkZMMIYWFF_cjs.__name(errorToValidationIssue, "errorToValidationIssue");
|
|
3660
3763
|
function getTokenDependencyGraph(tokenName, graph) {
|
|
3661
3764
|
const reverseDeps = /* @__PURE__ */ new Map();
|
|
3662
3765
|
const graphNodes = graph.getNodes();
|
|
@@ -3705,7 +3808,7 @@ function getTokenDependencyGraph(tokenName, graph) {
|
|
|
3705
3808
|
subgraph
|
|
3706
3809
|
};
|
|
3707
3810
|
}
|
|
3708
|
-
|
|
3811
|
+
chunkZMMIYWFF_cjs.__name(getTokenDependencyGraph, "getTokenDependencyGraph");
|
|
3709
3812
|
var _PrefixResolver = class _PrefixResolver {
|
|
3710
3813
|
constructor(params) {
|
|
3711
3814
|
this.params = params;
|
|
@@ -3757,10 +3860,10 @@ var _PrefixResolver = class _PrefixResolver {
|
|
|
3757
3860
|
this.addIssue(parentToken, issue);
|
|
3758
3861
|
}
|
|
3759
3862
|
ensureLanguageError(error) {
|
|
3760
|
-
if (
|
|
3863
|
+
if (chunkOABJLZRZ_cjs.isLanguageError(error)) {
|
|
3761
3864
|
return error;
|
|
3762
3865
|
}
|
|
3763
|
-
return new
|
|
3866
|
+
return new chunkOABJLZRZ_cjs.ProcessorError("PROC_UNKNOWN_PARSING_ERROR" /* UNKNOWN_PARSING_ERROR */, {
|
|
3764
3867
|
data: { error: error.message }
|
|
3765
3868
|
});
|
|
3766
3869
|
}
|
|
@@ -3805,15 +3908,31 @@ var _PrefixResolver = class _PrefixResolver {
|
|
|
3805
3908
|
this.earlyResolved.push(tokenName);
|
|
3806
3909
|
}
|
|
3807
3910
|
tryParseExpression(refPath, value) {
|
|
3911
|
+
try {
|
|
3912
|
+
return parseExpression(value, { mode: "inline" });
|
|
3913
|
+
} catch (error) {
|
|
3914
|
+
const isStatementSyntax = error instanceof chunkOABJLZRZ_cjs.ParserError && (error.code === "PARSER_UNALLOWED_INLINE_SYNTAX" /* UNALLOWED_INLINE_SYNTAX */ || error.code === "PARSER_UNEXPECTED_TOKEN" /* UNEXPECTED_TOKEN */ && chunkZMMIYWFF_cjs.SCRIPT_ONLY_STATEMENT_KEYWORDS.has(error.data?.token));
|
|
3915
|
+
if (isStatementSyntax) ; else if (chunkOABJLZRZ_cjs.isLanguageError(error)) {
|
|
3916
|
+
return this.resolveError(refPath, error, value);
|
|
3917
|
+
} else {
|
|
3918
|
+
return this.resolveError(
|
|
3919
|
+
refPath,
|
|
3920
|
+
new chunkOABJLZRZ_cjs.ProcessorError("PROC_UNKNOWN_PARSING_ERROR" /* UNKNOWN_PARSING_ERROR */, {
|
|
3921
|
+
data: { error: error instanceof Error ? error.message : String(error) }
|
|
3922
|
+
}),
|
|
3923
|
+
value
|
|
3924
|
+
);
|
|
3925
|
+
}
|
|
3926
|
+
}
|
|
3808
3927
|
try {
|
|
3809
3928
|
return parseExpression(value);
|
|
3810
3929
|
} catch (error) {
|
|
3811
|
-
if (
|
|
3930
|
+
if (chunkOABJLZRZ_cjs.isLanguageError(error)) {
|
|
3812
3931
|
return this.resolveError(refPath, error, value);
|
|
3813
3932
|
}
|
|
3814
3933
|
return this.resolveError(
|
|
3815
3934
|
refPath,
|
|
3816
|
-
new
|
|
3935
|
+
new chunkOABJLZRZ_cjs.ProcessorError("PROC_UNKNOWN_PARSING_ERROR" /* UNKNOWN_PARSING_ERROR */, {
|
|
3817
3936
|
data: { error: error instanceof Error ? error.message : String(error) }
|
|
3818
3937
|
}),
|
|
3819
3938
|
value
|
|
@@ -3909,24 +4028,24 @@ var _PrefixResolver = class _PrefixResolver {
|
|
|
3909
4028
|
});
|
|
3910
4029
|
}
|
|
3911
4030
|
const tokenValue = getTokenValue(tokenData);
|
|
3912
|
-
if (
|
|
3913
|
-
const symbol = new
|
|
4031
|
+
if (chunkOABJLZRZ_cjs.isString(tokenValue) && chunkZMMIYWFF_cjs.UNINTERPRETED_KEYWORDS.includes(tokenValue)) {
|
|
4032
|
+
const symbol = new chunkOABJLZRZ_cjs.StringSymbol(tokenValue, this.config);
|
|
3914
4033
|
this.earlyResolvePrimitiveToken(tokenName, symbol);
|
|
3915
4034
|
continue;
|
|
3916
4035
|
}
|
|
3917
|
-
if (
|
|
3918
|
-
this.earlyResolvePrimitiveToken(tokenName, new
|
|
4036
|
+
if (chunkOABJLZRZ_cjs.isNumber(tokenValue)) {
|
|
4037
|
+
this.earlyResolvePrimitiveToken(tokenName, new chunkOABJLZRZ_cjs.NumberSymbol(tokenValue, this.config));
|
|
3919
4038
|
continue;
|
|
3920
4039
|
}
|
|
3921
|
-
if (
|
|
3922
|
-
this.earlyResolvePrimitiveToken(tokenName, new
|
|
4040
|
+
if (chunkOABJLZRZ_cjs.isBoolean(tokenValue)) {
|
|
4041
|
+
this.earlyResolvePrimitiveToken(tokenName, new chunkOABJLZRZ_cjs.BooleanSymbol(tokenValue, this.config));
|
|
3923
4042
|
continue;
|
|
3924
4043
|
}
|
|
3925
|
-
if (
|
|
3926
|
-
this.earlyResolvePrimitiveToken(tokenName, new
|
|
4044
|
+
if (chunkOABJLZRZ_cjs.isNull(tokenValue)) {
|
|
4045
|
+
this.earlyResolvePrimitiveToken(tokenName, new chunkOABJLZRZ_cjs.NullSymbol(this.config));
|
|
3927
4046
|
continue;
|
|
3928
4047
|
}
|
|
3929
|
-
if (
|
|
4048
|
+
if (chunkOABJLZRZ_cjs.isObject(tokenValue) || chunkOABJLZRZ_cjs.isArray(tokenValue)) {
|
|
3930
4049
|
this.handleStructuredToken(tokenName, setTokenValue(tokenData));
|
|
3931
4050
|
continue;
|
|
3932
4051
|
}
|
|
@@ -4167,7 +4286,7 @@ var _PrefixResolver = class _PrefixResolver {
|
|
|
4167
4286
|
for (const [fieldPath] of stringFields) {
|
|
4168
4287
|
const fieldValue = this.resolved.get(fieldPath);
|
|
4169
4288
|
if (fieldValue === void 0) {
|
|
4170
|
-
const error = new
|
|
4289
|
+
const error = new chunkOABJLZRZ_cjs.ProcessorError("PROC_SUB_FIELD_NOT_RESOLVED" /* SUB_FIELD_NOT_RESOLVED */, {
|
|
4171
4290
|
data: { fieldPath }
|
|
4172
4291
|
});
|
|
4173
4292
|
this.resolved.set(tokenName, error);
|
|
@@ -4213,7 +4332,7 @@ var _PrefixResolver = class _PrefixResolver {
|
|
|
4213
4332
|
if (satisfied?.has(child) || this.referenceCache.has(child) || this.resolved.has(child)) {
|
|
4214
4333
|
continue;
|
|
4215
4334
|
}
|
|
4216
|
-
const error = parentValue instanceof Error ? createDependencyError(child, parent, parentValue) : new
|
|
4335
|
+
const error = parentValue instanceof Error ? createDependencyError(child, parent, parentValue) : new chunkOABJLZRZ_cjs.ProcessorError("PROC_TOKEN_NOT_FOUND" /* TOKEN_NOT_FOUND */, {
|
|
4217
4336
|
data: { tokenName: child }
|
|
4218
4337
|
});
|
|
4219
4338
|
this.resolved.set(child, error);
|
|
@@ -4312,9 +4431,9 @@ var _PrefixResolver = class _PrefixResolver {
|
|
|
4312
4431
|
tokenValueStr = String(getTokenValue(originalValue));
|
|
4313
4432
|
}
|
|
4314
4433
|
const dependsOnMissing = tokensWithMissingDeps.has(tokenName);
|
|
4315
|
-
const error = dependsOnMissing ? new
|
|
4434
|
+
const error = dependsOnMissing ? new chunkOABJLZRZ_cjs.ProcessorError("PROC_TOKEN_NOT_FOUND" /* TOKEN_NOT_FOUND */, {
|
|
4316
4435
|
data: { tokenName }
|
|
4317
|
-
}) : new
|
|
4436
|
+
}) : new chunkOABJLZRZ_cjs.ProcessorError("PROC_CIRCULAR_DEPENDENCY" /* CIRCULAR_DEPENDENCY */, {
|
|
4318
4437
|
data: { tokens: tokenName }
|
|
4319
4438
|
});
|
|
4320
4439
|
this.resolved.set(tokenName, error);
|
|
@@ -4341,7 +4460,7 @@ var _PrefixResolver = class _PrefixResolver {
|
|
|
4341
4460
|
}
|
|
4342
4461
|
}
|
|
4343
4462
|
};
|
|
4344
|
-
|
|
4463
|
+
chunkZMMIYWFF_cjs.__name(_PrefixResolver, "PrefixResolver");
|
|
4345
4464
|
var PrefixResolver = _PrefixResolver;
|
|
4346
4465
|
var _TokenResolver = class _TokenResolver {
|
|
4347
4466
|
processTokens(tokens, callbacks, config, objectParsers) {
|
|
@@ -4369,7 +4488,7 @@ var _TokenResolver = class _TokenResolver {
|
|
|
4369
4488
|
*/
|
|
4370
4489
|
getTokenDependencyGraph(tokenName) {
|
|
4371
4490
|
if (!this.prefixResolver) {
|
|
4372
|
-
throw new
|
|
4491
|
+
throw new chunkOABJLZRZ_cjs.ProcessorError("PROC_RESOLVER_NOT_INITIALIZED" /* RESOLVER_NOT_INITIALIZED */);
|
|
4373
4492
|
}
|
|
4374
4493
|
const graph = this.prefixResolver.getGraph();
|
|
4375
4494
|
const reverseDeps = /* @__PURE__ */ new Map();
|
|
@@ -4422,10 +4541,10 @@ var _TokenResolver = class _TokenResolver {
|
|
|
4422
4541
|
build(tokens, config, objectParsers) {
|
|
4423
4542
|
const output = /* @__PURE__ */ new Map();
|
|
4424
4543
|
const callbacks = {
|
|
4425
|
-
onResolve: /* @__PURE__ */
|
|
4544
|
+
onResolve: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((tokenName, value) => {
|
|
4426
4545
|
output.set(tokenName, value);
|
|
4427
4546
|
}, "onResolve"),
|
|
4428
|
-
onError: /* @__PURE__ */
|
|
4547
|
+
onError: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((tokenName, _error, originalValue) => {
|
|
4429
4548
|
output.set(tokenName, originalValue);
|
|
4430
4549
|
}, "onError")
|
|
4431
4550
|
};
|
|
@@ -4455,7 +4574,7 @@ var _TokenResolver = class _TokenResolver {
|
|
|
4455
4574
|
}
|
|
4456
4575
|
ensureInitialized() {
|
|
4457
4576
|
if (!this.prefixResolver || !this.tokens) {
|
|
4458
|
-
throw new
|
|
4577
|
+
throw new chunkOABJLZRZ_cjs.ProcessorError("PROC_RESOLVER_NOT_INITIALIZED" /* RESOLVER_NOT_INITIALIZED */);
|
|
4459
4578
|
}
|
|
4460
4579
|
}
|
|
4461
4580
|
normalizeTokenPath(tokenPath) {
|
|
@@ -4464,17 +4583,17 @@ var _TokenResolver = class _TokenResolver {
|
|
|
4464
4583
|
createOutputCallbacks() {
|
|
4465
4584
|
const output = /* @__PURE__ */ new Map();
|
|
4466
4585
|
const callbacks = {
|
|
4467
|
-
onResolve: /* @__PURE__ */
|
|
4586
|
+
onResolve: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((name, value) => {
|
|
4468
4587
|
output.set(name, value);
|
|
4469
4588
|
}, "onResolve"),
|
|
4470
|
-
onError: /* @__PURE__ */
|
|
4589
|
+
onError: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((_name, _error) => {
|
|
4471
4590
|
}, "onError")
|
|
4472
4591
|
};
|
|
4473
4592
|
return { output, callbacks };
|
|
4474
4593
|
}
|
|
4475
4594
|
rebuildResolver(updatedTokens, callbacks, changedTokenPath) {
|
|
4476
4595
|
if (!this.prefixResolver) {
|
|
4477
|
-
throw new
|
|
4596
|
+
throw new chunkOABJLZRZ_cjs.ProcessorError("PROC_RESOLVER_NOT_INITIALIZED" /* RESOLVER_NOT_INITIALIZED */);
|
|
4478
4597
|
}
|
|
4479
4598
|
let dirtyTokens = null;
|
|
4480
4599
|
if (changedTokenPath) {
|
|
@@ -4513,24 +4632,24 @@ var _TokenResolver = class _TokenResolver {
|
|
|
4513
4632
|
updated: false
|
|
4514
4633
|
};
|
|
4515
4634
|
}
|
|
4516
|
-
throw new
|
|
4635
|
+
throw new chunkOABJLZRZ_cjs.ProcessorError("PROC_TOKEN_NOT_FOUND" /* TOKEN_NOT_FOUND */, {
|
|
4517
4636
|
data: { tokenName: prevPath }
|
|
4518
4637
|
});
|
|
4519
4638
|
}
|
|
4520
4639
|
const oldTokenData = this.tokens.get(prevPath);
|
|
4521
4640
|
if (!oldTokenData) {
|
|
4522
|
-
throw new
|
|
4641
|
+
throw new chunkOABJLZRZ_cjs.ProcessorError("PROC_TOKEN_NOT_FOUND" /* TOKEN_NOT_FOUND */, {
|
|
4523
4642
|
data: { tokenName: prevPath }
|
|
4524
4643
|
});
|
|
4525
4644
|
}
|
|
4526
4645
|
const isRename = newPath && newPath !== prevPath;
|
|
4527
4646
|
if (isRename && this.tokens.has(newPath)) {
|
|
4528
|
-
throw new
|
|
4647
|
+
throw new chunkOABJLZRZ_cjs.ProcessorError("PROC_TOKEN_ALREADY_EXISTS" /* TOKEN_ALREADY_EXISTS */, {
|
|
4529
4648
|
data: { tokenName: newPath }
|
|
4530
4649
|
});
|
|
4531
4650
|
}
|
|
4532
4651
|
if (!this.prefixResolver) {
|
|
4533
|
-
throw new
|
|
4652
|
+
throw new chunkOABJLZRZ_cjs.ProcessorError("PROC_RESOLVER_NOT_INITIALIZED" /* RESOLVER_NOT_INITIALIZED */);
|
|
4534
4653
|
}
|
|
4535
4654
|
const currentGraph = this.prefixResolver.getGraph();
|
|
4536
4655
|
const { tokens: affectedTokens } = getTokenDependencyGraph(prevPath, currentGraph);
|
|
@@ -4543,7 +4662,7 @@ var _TokenResolver = class _TokenResolver {
|
|
|
4543
4662
|
const dependentTokenData = updatedTokens.get(dependentToken);
|
|
4544
4663
|
if (!dependentTokenData) continue;
|
|
4545
4664
|
const dependentValue = getTokenValue(dependentTokenData);
|
|
4546
|
-
if (!
|
|
4665
|
+
if (!chunkOABJLZRZ_cjs.isString(dependentValue)) continue;
|
|
4547
4666
|
const ast = tokenInterpreter.getTokenAST(dependentToken);
|
|
4548
4667
|
if (!ast) continue;
|
|
4549
4668
|
const updatedValue = renameReferences(dependentValue, ast, renameMap);
|
|
@@ -4560,7 +4679,7 @@ var _TokenResolver = class _TokenResolver {
|
|
|
4560
4679
|
const { output, callbacks } = this.createOutputCallbacks();
|
|
4561
4680
|
const resolverResult = this.rebuildResolver(updatedTokens, callbacks, prevPath);
|
|
4562
4681
|
if (!this.prefixResolver) {
|
|
4563
|
-
throw new
|
|
4682
|
+
throw new chunkOABJLZRZ_cjs.ProcessorError("PROC_RESOLVER_NOT_INITIALIZED" /* RESOLVER_NOT_INITIALIZED */);
|
|
4564
4683
|
}
|
|
4565
4684
|
const { subgraph } = getTokenDependencyGraph(finalPath, this.prefixResolver.getGraph());
|
|
4566
4685
|
const resolvedValue = output.get(finalPath);
|
|
@@ -4577,7 +4696,7 @@ var _TokenResolver = class _TokenResolver {
|
|
|
4577
4696
|
const { tokenPath, tokenData } = params;
|
|
4578
4697
|
const normalizedTokenPath = this.normalizeTokenPath(tokenPath);
|
|
4579
4698
|
if (this.tokens?.has(normalizedTokenPath)) {
|
|
4580
|
-
throw new
|
|
4699
|
+
throw new chunkOABJLZRZ_cjs.ProcessorError("PROC_TOKEN_ALREADY_EXISTS" /* TOKEN_ALREADY_EXISTS */, {
|
|
4581
4700
|
data: { tokenName: normalizedTokenPath }
|
|
4582
4701
|
});
|
|
4583
4702
|
}
|
|
@@ -4587,7 +4706,7 @@ var _TokenResolver = class _TokenResolver {
|
|
|
4587
4706
|
const { output, callbacks } = this.createOutputCallbacks();
|
|
4588
4707
|
const resolverResult = this.rebuildResolver(updatedTokens, callbacks, normalizedTokenPath);
|
|
4589
4708
|
if (!this.prefixResolver) {
|
|
4590
|
-
throw new
|
|
4709
|
+
throw new chunkOABJLZRZ_cjs.ProcessorError("PROC_RESOLVER_NOT_INITIALIZED" /* RESOLVER_NOT_INITIALIZED */);
|
|
4591
4710
|
}
|
|
4592
4711
|
const { subgraph } = getTokenDependencyGraph(
|
|
4593
4712
|
normalizedTokenPath,
|
|
@@ -4607,12 +4726,12 @@ var _TokenResolver = class _TokenResolver {
|
|
|
4607
4726
|
const { tokenPath } = params;
|
|
4608
4727
|
const normalizedTokenPath = this.normalizeTokenPath(tokenPath);
|
|
4609
4728
|
if (!this.tokens?.has(normalizedTokenPath)) {
|
|
4610
|
-
throw new
|
|
4729
|
+
throw new chunkOABJLZRZ_cjs.ProcessorError("PROC_TOKEN_NOT_FOUND" /* TOKEN_NOT_FOUND */, {
|
|
4611
4730
|
data: { tokenName: normalizedTokenPath }
|
|
4612
4731
|
});
|
|
4613
4732
|
}
|
|
4614
4733
|
if (!this.prefixResolver) {
|
|
4615
|
-
throw new
|
|
4734
|
+
throw new chunkOABJLZRZ_cjs.ProcessorError("PROC_RESOLVER_NOT_INITIALIZED" /* RESOLVER_NOT_INITIALIZED */);
|
|
4616
4735
|
}
|
|
4617
4736
|
const currentGraph = this.prefixResolver.getGraph();
|
|
4618
4737
|
const { subgraph } = getTokenDependencyGraph(normalizedTokenPath, currentGraph);
|
|
@@ -4646,7 +4765,7 @@ var _TokenResolver = class _TokenResolver {
|
|
|
4646
4765
|
resolveValue(params) {
|
|
4647
4766
|
this.ensureInitialized();
|
|
4648
4767
|
if (!this.prefixResolver) {
|
|
4649
|
-
throw new
|
|
4768
|
+
throw new chunkOABJLZRZ_cjs.ProcessorError("PROC_RESOLVER_NOT_INITIALIZED" /* RESOLVER_NOT_INITIALIZED */);
|
|
4650
4769
|
}
|
|
4651
4770
|
const { value, type, validate } = params;
|
|
4652
4771
|
const issues = [];
|
|
@@ -4659,7 +4778,7 @@ var _TokenResolver = class _TokenResolver {
|
|
|
4659
4778
|
const result = parseExpression(valueStr);
|
|
4660
4779
|
ast = result.ast;
|
|
4661
4780
|
} catch (error) {
|
|
4662
|
-
if (
|
|
4781
|
+
if (chunkOABJLZRZ_cjs.isLanguageError(error)) {
|
|
4663
4782
|
issues.push(error);
|
|
4664
4783
|
return { resolved: null, issues };
|
|
4665
4784
|
}
|
|
@@ -4671,7 +4790,7 @@ var _TokenResolver = class _TokenResolver {
|
|
|
4671
4790
|
const tokenInterpreter = this.prefixResolver.getTokenInterpreter();
|
|
4672
4791
|
const resolved = tokenInterpreter.interpretTokenWithAST("\0__preview__", ast);
|
|
4673
4792
|
if (resolved instanceof Error) {
|
|
4674
|
-
if (
|
|
4793
|
+
if (chunkOABJLZRZ_cjs.isLanguageError(resolved)) {
|
|
4675
4794
|
issues.push(resolved);
|
|
4676
4795
|
}
|
|
4677
4796
|
return { resolved: null, issues };
|
|
@@ -4682,7 +4801,7 @@ var _TokenResolver = class _TokenResolver {
|
|
|
4682
4801
|
return { resolved, issues };
|
|
4683
4802
|
}
|
|
4684
4803
|
};
|
|
4685
|
-
|
|
4804
|
+
chunkZMMIYWFF_cjs.__name(_TokenResolver, "TokenResolver");
|
|
4686
4805
|
var TokenResolver = _TokenResolver;
|
|
4687
4806
|
|
|
4688
4807
|
// src/processor/builders/MapBuilder.ts
|
|
@@ -4706,7 +4825,7 @@ var _MapBuilder = class _MapBuilder {
|
|
|
4706
4825
|
return this.successfullyResolved;
|
|
4707
4826
|
}
|
|
4708
4827
|
};
|
|
4709
|
-
|
|
4828
|
+
chunkZMMIYWFF_cjs.__name(_MapBuilder, "MapBuilder");
|
|
4710
4829
|
var MapBuilder = _MapBuilder;
|
|
4711
4830
|
|
|
4712
4831
|
// src/processor/builders/base.ts
|
|
@@ -4738,29 +4857,29 @@ function buildTokens(tokens, options) {
|
|
|
4738
4857
|
resolver: result.resolver
|
|
4739
4858
|
};
|
|
4740
4859
|
}
|
|
4741
|
-
|
|
4860
|
+
chunkZMMIYWFF_cjs.__name(buildTokens, "buildTokens");
|
|
4742
4861
|
|
|
4743
4862
|
// src/processor/builders/flatten.ts
|
|
4744
4863
|
function flattenChildrenObject(result, prefix, callback) {
|
|
4745
|
-
if (result instanceof
|
|
4864
|
+
if (result instanceof chunkOABJLZRZ_cjs.DictionarySymbol) {
|
|
4746
4865
|
flattenChildrenMap(result.value, prefix, callback);
|
|
4747
4866
|
}
|
|
4748
4867
|
}
|
|
4749
|
-
|
|
4868
|
+
chunkZMMIYWFF_cjs.__name(flattenChildrenObject, "flattenChildrenObject");
|
|
4750
4869
|
function flattenChildrenMap(map, prefix, callback) {
|
|
4751
4870
|
for (const [key, value] of map.entries()) {
|
|
4752
4871
|
const newKey = `${prefix}.${key}`;
|
|
4753
4872
|
if (typeof value === "undefined") {
|
|
4754
4873
|
continue;
|
|
4755
4874
|
}
|
|
4756
|
-
if (value instanceof
|
|
4875
|
+
if (value instanceof chunkOABJLZRZ_cjs.DictionarySymbol) {
|
|
4757
4876
|
flattenChildrenMap(value.value, newKey, callback);
|
|
4758
4877
|
} else {
|
|
4759
4878
|
callback(newKey, value);
|
|
4760
4879
|
}
|
|
4761
4880
|
}
|
|
4762
4881
|
}
|
|
4763
|
-
|
|
4882
|
+
chunkZMMIYWFF_cjs.__name(flattenChildrenMap, "flattenChildrenMap");
|
|
4764
4883
|
|
|
4765
4884
|
// src/processor/builders/ObjectBuilder.ts
|
|
4766
4885
|
function setNestedValue(target, path, value) {
|
|
@@ -4776,20 +4895,20 @@ function setNestedValue(target, path, value) {
|
|
|
4776
4895
|
cursor[key] = value;
|
|
4777
4896
|
return;
|
|
4778
4897
|
}
|
|
4779
|
-
if (!
|
|
4898
|
+
if (!chunkOABJLZRZ_cjs.isObject(cursor[key])) {
|
|
4780
4899
|
cursor[key] = {};
|
|
4781
4900
|
}
|
|
4782
4901
|
cursor = cursor[key];
|
|
4783
4902
|
}
|
|
4784
4903
|
}
|
|
4785
|
-
|
|
4904
|
+
chunkZMMIYWFF_cjs.__name(setNestedValue, "setNestedValue");
|
|
4786
4905
|
var _NestedObjectBuilder = class _NestedObjectBuilder {
|
|
4787
4906
|
constructor() {
|
|
4788
4907
|
this.name = "nested";
|
|
4789
4908
|
this.result = {};
|
|
4790
4909
|
}
|
|
4791
4910
|
onResolve(tokenName, value) {
|
|
4792
|
-
const serialized =
|
|
4911
|
+
const serialized = chunkOABJLZRZ_cjs.serializeInterpreterResult(value, { stringify: true });
|
|
4793
4912
|
if (typeof serialized !== "undefined") {
|
|
4794
4913
|
setNestedValue(this.result, tokenName, serialized);
|
|
4795
4914
|
}
|
|
@@ -4801,7 +4920,7 @@ var _NestedObjectBuilder = class _NestedObjectBuilder {
|
|
|
4801
4920
|
return this.result;
|
|
4802
4921
|
}
|
|
4803
4922
|
};
|
|
4804
|
-
|
|
4923
|
+
chunkZMMIYWFF_cjs.__name(_NestedObjectBuilder, "NestedObjectBuilder");
|
|
4805
4924
|
var NestedObjectBuilder = _NestedObjectBuilder;
|
|
4806
4925
|
var _FlatObjectBuilder = class _FlatObjectBuilder {
|
|
4807
4926
|
constructor() {
|
|
@@ -4812,10 +4931,10 @@ var _FlatObjectBuilder = class _FlatObjectBuilder {
|
|
|
4812
4931
|
let didFlatten = false;
|
|
4813
4932
|
flattenChildrenObject(value, tokenName, (key, val) => {
|
|
4814
4933
|
didFlatten = true;
|
|
4815
|
-
this.result[key] =
|
|
4934
|
+
this.result[key] = chunkOABJLZRZ_cjs.serializeInterpreterResult(val, { stringify: true });
|
|
4816
4935
|
});
|
|
4817
4936
|
if (!didFlatten) {
|
|
4818
|
-
const serialized =
|
|
4937
|
+
const serialized = chunkOABJLZRZ_cjs.serializeInterpreterResult(value, { stringify: true });
|
|
4819
4938
|
if (typeof serialized !== "undefined") {
|
|
4820
4939
|
this.result[tokenName] = serialized;
|
|
4821
4940
|
}
|
|
@@ -4828,24 +4947,24 @@ var _FlatObjectBuilder = class _FlatObjectBuilder {
|
|
|
4828
4947
|
return this.result;
|
|
4829
4948
|
}
|
|
4830
4949
|
};
|
|
4831
|
-
|
|
4950
|
+
chunkZMMIYWFF_cjs.__name(_FlatObjectBuilder, "FlatObjectBuilder");
|
|
4832
4951
|
var FlatObjectBuilder = _FlatObjectBuilder;
|
|
4833
4952
|
|
|
4834
4953
|
// src/processor/builders/StringMapBuilder.ts
|
|
4835
4954
|
var _StringMapBuilder = class _StringMapBuilder extends MapBuilder {
|
|
4836
4955
|
onResolve(tokenName, value) {
|
|
4837
4956
|
super.onResolve(tokenName, value);
|
|
4838
|
-
this.result.set(tokenName,
|
|
4957
|
+
this.result.set(tokenName, chunkOABJLZRZ_cjs.stringifyInterpreterResult(value));
|
|
4839
4958
|
}
|
|
4840
4959
|
getResult() {
|
|
4841
4960
|
const stringMap = /* @__PURE__ */ new Map();
|
|
4842
4961
|
for (const [key, value] of this.result.entries()) {
|
|
4843
|
-
stringMap.set(key, typeof value === "string" ? value :
|
|
4962
|
+
stringMap.set(key, typeof value === "string" ? value : chunkOABJLZRZ_cjs.stringifyInterpreterResult(value));
|
|
4844
4963
|
}
|
|
4845
4964
|
return stringMap;
|
|
4846
4965
|
}
|
|
4847
4966
|
};
|
|
4848
|
-
|
|
4967
|
+
chunkZMMIYWFF_cjs.__name(_StringMapBuilder, "StringMapBuilder");
|
|
4849
4968
|
var StringMapBuilder = _StringMapBuilder;
|
|
4850
4969
|
var TokenSetStatus = schemaValidation.z.enum(["enabled", "source"]);
|
|
4851
4970
|
var SelectedTokenSetsObjectSchema = schemaValidation.z.record(schemaValidation.z.string(), TokenSetStatus);
|
|
@@ -4867,13 +4986,13 @@ var ThemeSchema = schemaValidation.z.object({
|
|
|
4867
4986
|
group: schemaValidation.z.string().optional()
|
|
4868
4987
|
});
|
|
4869
4988
|
var ThemesArraySchema = schemaValidation.z.array(ThemeSchema);
|
|
4870
|
-
var selectTheme = /* @__PURE__ */
|
|
4989
|
+
var selectTheme = /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((themes, themeName) => {
|
|
4871
4990
|
return themes.find((theme) => theme.name === themeName);
|
|
4872
4991
|
}, "selectTheme");
|
|
4873
|
-
var resolveThemes = /* @__PURE__ */
|
|
4992
|
+
var resolveThemes = /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((jsonFiles) => {
|
|
4874
4993
|
const themesFile = jsonFiles.$themes;
|
|
4875
4994
|
if (themesFile) {
|
|
4876
|
-
if (
|
|
4995
|
+
if (chunkOABJLZRZ_cjs.isObject(themesFile) && "$themes" in themesFile) {
|
|
4877
4996
|
const inner = ThemesArraySchema.safeParse(themesFile.$themes);
|
|
4878
4997
|
if (inner.success) {
|
|
4879
4998
|
return ["$themes", inner.data];
|
|
@@ -4886,7 +5005,7 @@ var resolveThemes = /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((jsonFiles) => {
|
|
|
4886
5005
|
}
|
|
4887
5006
|
return void 0;
|
|
4888
5007
|
}, "resolveThemes");
|
|
4889
|
-
var extractSetNames = /* @__PURE__ */
|
|
5008
|
+
var extractSetNames = /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((selectedTokenSets) => {
|
|
4890
5009
|
if (Array.isArray(selectedTokenSets)) {
|
|
4891
5010
|
return selectedTokenSets.map((set) => set.id);
|
|
4892
5011
|
}
|
|
@@ -4899,14 +5018,14 @@ function determineSets(jsonFiles, activeSets, activeTheme) {
|
|
|
4899
5018
|
if (activeTheme) {
|
|
4900
5019
|
const resolved = resolveThemes(jsonFiles);
|
|
4901
5020
|
if (!resolved) {
|
|
4902
|
-
throw new
|
|
5021
|
+
throw new chunkOABJLZRZ_cjs.ProcessorError("PROC_NO_THEMES_FOUND" /* NO_THEMES_FOUND */, {
|
|
4903
5022
|
data: { themeName: activeTheme }
|
|
4904
5023
|
});
|
|
4905
5024
|
}
|
|
4906
5025
|
const [, themes] = resolved;
|
|
4907
5026
|
const theme = selectTheme(themes, activeTheme);
|
|
4908
5027
|
if (!theme) {
|
|
4909
|
-
throw new
|
|
5028
|
+
throw new chunkOABJLZRZ_cjs.ProcessorError("PROC_THEME_NOT_FOUND" /* THEME_NOT_FOUND */, {
|
|
4910
5029
|
data: {
|
|
4911
5030
|
themeName: activeTheme,
|
|
4912
5031
|
availableThemes: themes.map((t) => t.name)
|
|
@@ -4920,18 +5039,18 @@ function determineSets(jsonFiles, activeSets, activeTheme) {
|
|
|
4920
5039
|
return keys;
|
|
4921
5040
|
}
|
|
4922
5041
|
if (keys.length > 1) {
|
|
4923
|
-
throw new
|
|
5042
|
+
throw new chunkOABJLZRZ_cjs.ProcessorError("PROC_MULTIPLE_SETS_NO_SELECTION" /* MULTIPLE_SETS_NO_SELECTION */, {
|
|
4924
5043
|
data: { setNames: keys }
|
|
4925
5044
|
});
|
|
4926
5045
|
}
|
|
4927
|
-
throw new
|
|
5046
|
+
throw new chunkOABJLZRZ_cjs.ProcessorError("PROC_NO_SETS_TO_PROCESS" /* NO_SETS_TO_PROCESS */);
|
|
4928
5047
|
}
|
|
4929
|
-
|
|
5048
|
+
chunkZMMIYWFF_cjs.__name(determineSets, "determineSets");
|
|
4930
5049
|
function getSetTokens(setData) {
|
|
4931
5050
|
if (setData instanceof Map) {
|
|
4932
5051
|
return setData;
|
|
4933
5052
|
}
|
|
4934
|
-
if (!
|
|
5053
|
+
if (!chunkOABJLZRZ_cjs.isObject(setData)) {
|
|
4935
5054
|
return /* @__PURE__ */ new Map();
|
|
4936
5055
|
}
|
|
4937
5056
|
if (isNested(setData)) {
|
|
@@ -4939,7 +5058,7 @@ function getSetTokens(setData) {
|
|
|
4939
5058
|
}
|
|
4940
5059
|
return recordToMap(setData);
|
|
4941
5060
|
}
|
|
4942
|
-
|
|
5061
|
+
chunkZMMIYWFF_cjs.__name(getSetTokens, "getSetTokens");
|
|
4943
5062
|
function flattenToTokens(sets, setNames) {
|
|
4944
5063
|
const tokens = /* @__PURE__ */ new Map();
|
|
4945
5064
|
const entries = sets instanceof Map ? sets.entries() : setNames.map((name) => [name, sets[name]]);
|
|
@@ -4948,12 +5067,12 @@ function flattenToTokens(sets, setNames) {
|
|
|
4948
5067
|
tokens.set(key, normalizeToTokenData(setData));
|
|
4949
5068
|
} else {
|
|
4950
5069
|
if (!setData) {
|
|
4951
|
-
throw new
|
|
5070
|
+
throw new chunkOABJLZRZ_cjs.ProcessorError("PROC_TOKEN_SET_NOT_FOUND" /* TOKEN_SET_NOT_FOUND */, {
|
|
4952
5071
|
data: { setName: key }
|
|
4953
5072
|
});
|
|
4954
5073
|
}
|
|
4955
|
-
if (!
|
|
4956
|
-
throw new
|
|
5074
|
+
if (!chunkOABJLZRZ_cjs.isObject(setData) && !(setData instanceof Map)) {
|
|
5075
|
+
throw new chunkOABJLZRZ_cjs.ProcessorError("PROC_TOKEN_SET_INVALID" /* TOKEN_SET_INVALID */, {
|
|
4957
5076
|
data: { setName: key }
|
|
4958
5077
|
});
|
|
4959
5078
|
}
|
|
@@ -4965,29 +5084,29 @@ function flattenToTokens(sets, setNames) {
|
|
|
4965
5084
|
}
|
|
4966
5085
|
return tokens;
|
|
4967
5086
|
}
|
|
4968
|
-
|
|
5087
|
+
chunkZMMIYWFF_cjs.__name(flattenToTokens, "flattenToTokens");
|
|
4969
5088
|
|
|
4970
5089
|
// src/processor/process.ts
|
|
4971
5090
|
function processTokens(tokens, options) {
|
|
4972
5091
|
const tokenDataMap = tokens instanceof Map ? flattenToTokens(tokens, []) : flattenToTokens({ tokens }, ["tokens"]);
|
|
4973
5092
|
return buildTokens(tokenDataMap, options);
|
|
4974
5093
|
}
|
|
4975
|
-
|
|
5094
|
+
chunkZMMIYWFF_cjs.__name(processTokens, "processTokens");
|
|
4976
5095
|
function processTokenSets(normalizedFiles, options) {
|
|
4977
5096
|
const { activeSets, activeTheme } = options ?? {};
|
|
4978
5097
|
const setNames = determineSets(normalizedFiles, activeSets, activeTheme);
|
|
4979
5098
|
const tokens = flattenToTokens(normalizedFiles, setNames);
|
|
4980
5099
|
return buildTokens(tokens, options);
|
|
4981
5100
|
}
|
|
4982
|
-
|
|
5101
|
+
chunkZMMIYWFF_cjs.__name(processTokenSets, "processTokenSets");
|
|
4983
5102
|
|
|
4984
5103
|
// src/lib/errors.ts
|
|
4985
5104
|
var errorClasses = {
|
|
4986
|
-
LanguageError:
|
|
4987
|
-
LexerError:
|
|
4988
|
-
ParserError:
|
|
4989
|
-
InterpreterError:
|
|
4990
|
-
ProcessorError:
|
|
5105
|
+
LanguageError: chunkOABJLZRZ_cjs.LanguageError,
|
|
5106
|
+
LexerError: chunkOABJLZRZ_cjs.LexerError,
|
|
5107
|
+
ParserError: chunkOABJLZRZ_cjs.ParserError,
|
|
5108
|
+
InterpreterError: chunkOABJLZRZ_cjs.InterpreterError,
|
|
5109
|
+
ProcessorError: chunkOABJLZRZ_cjs.ProcessorError
|
|
4991
5110
|
};
|
|
4992
5111
|
var errorHelpers = {
|
|
4993
5112
|
createDependencyError
|
|
@@ -5004,16 +5123,16 @@ schemaValidation.Fn.specName;
|
|
|
5004
5123
|
function isPlainObject(v) {
|
|
5005
5124
|
return typeof v === "object" && v !== null && !Array.isArray(v);
|
|
5006
5125
|
}
|
|
5007
|
-
|
|
5126
|
+
chunkZMMIYWFF_cjs.__name(isPlainObject, "isPlainObject");
|
|
5008
5127
|
function summarizeZodError(err) {
|
|
5009
5128
|
return err.issues.map((i) => `${i.path.join(".") || "<root>"}: ${i.message}`).join("; ");
|
|
5010
5129
|
}
|
|
5011
|
-
|
|
5130
|
+
chunkZMMIYWFF_cjs.__name(summarizeZodError, "summarizeZodError");
|
|
5012
5131
|
function parseTokenScriptSchemaResponse(data) {
|
|
5013
5132
|
if (!isPlainObject(data)) {
|
|
5014
5133
|
throw new Error("Invalid schema structure: expected an object");
|
|
5015
5134
|
}
|
|
5016
|
-
const requireString = /* @__PURE__ */
|
|
5135
|
+
const requireString = /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((key) => {
|
|
5017
5136
|
const value = data[key];
|
|
5018
5137
|
if (typeof value !== "string") {
|
|
5019
5138
|
throw new Error(`Invalid schema structure: missing or non-string field "${key}"`);
|
|
@@ -5058,7 +5177,7 @@ function parseTokenScriptSchemaResponse(data) {
|
|
|
5058
5177
|
}
|
|
5059
5178
|
return { id, type, schema, slug, version, content, license_name };
|
|
5060
5179
|
}
|
|
5061
|
-
|
|
5180
|
+
chunkZMMIYWFF_cjs.__name(parseTokenScriptSchemaResponse, "parseTokenScriptSchemaResponse");
|
|
5062
5181
|
async function fetchTokenScriptSchema(schemaUri, options = {}) {
|
|
5063
5182
|
const { timeout = 1e4, headers = {}, signal } = options;
|
|
5064
5183
|
const controller = signal ? new AbortController() : new AbortController();
|
|
@@ -5095,7 +5214,7 @@ async function fetchTokenScriptSchema(schemaUri, options = {}) {
|
|
|
5095
5214
|
throw new Error("Unknown error occurred while fetching schema");
|
|
5096
5215
|
}
|
|
5097
5216
|
}
|
|
5098
|
-
|
|
5217
|
+
chunkZMMIYWFF_cjs.__name(fetchTokenScriptSchema, "fetchTokenScriptSchema");
|
|
5099
5218
|
async function fetchAndRegisterSchemas(schemaUris, config) {
|
|
5100
5219
|
const configInstance = config || new Config();
|
|
5101
5220
|
if (!schemaUris || schemaUris.length === 0) {
|
|
@@ -5112,7 +5231,7 @@ async function fetchAndRegisterSchemas(schemaUris, config) {
|
|
|
5112
5231
|
);
|
|
5113
5232
|
return configInstance.registerSchemas(schemas);
|
|
5114
5233
|
}
|
|
5115
|
-
|
|
5234
|
+
chunkZMMIYWFF_cjs.__name(fetchAndRegisterSchemas, "fetchAndRegisterSchemas");
|
|
5116
5235
|
|
|
5117
5236
|
// src/utils/schema-uri.ts
|
|
5118
5237
|
var DEFAULT_REGISTRY_URL = "https://schema.tokenscript.dev.gcp.tokens.studio";
|
|
@@ -5121,7 +5240,7 @@ function parseSemverFromString(versionString) {
|
|
|
5121
5240
|
const parts = versionString.split(".");
|
|
5122
5241
|
const numbers = [];
|
|
5123
5242
|
for (const part of parts) {
|
|
5124
|
-
const num =
|
|
5243
|
+
const num = chunkOABJLZRZ_cjs.safeParseInt(part);
|
|
5125
5244
|
if (num === null) return null;
|
|
5126
5245
|
numbers.push(num);
|
|
5127
5246
|
}
|
|
@@ -5137,23 +5256,23 @@ function parseSemverFromString(versionString) {
|
|
|
5137
5256
|
}
|
|
5138
5257
|
return null;
|
|
5139
5258
|
}
|
|
5140
|
-
|
|
5259
|
+
chunkZMMIYWFF_cjs.__name(parseSemverFromString, "parseSemverFromString");
|
|
5141
5260
|
function parseVersionString(versionString) {
|
|
5142
5261
|
return versionString === "latest" ? "latest" : parseSemverFromString(versionString);
|
|
5143
5262
|
}
|
|
5144
|
-
|
|
5263
|
+
chunkZMMIYWFF_cjs.__name(parseVersionString, "parseVersionString");
|
|
5145
5264
|
function semverToString(version) {
|
|
5146
5265
|
if (version === void 0) {
|
|
5147
5266
|
return "latest";
|
|
5148
5267
|
}
|
|
5149
|
-
if (
|
|
5268
|
+
if (chunkOABJLZRZ_cjs.isObject(version)) {
|
|
5150
5269
|
if ("patch" in version) return `${version.major}.${version.minor}.${version.patch}`;
|
|
5151
5270
|
if ("minor" in version) return `${version.major}.${version.minor}`;
|
|
5152
5271
|
return `${version.major}`;
|
|
5153
5272
|
}
|
|
5154
5273
|
return "latest";
|
|
5155
5274
|
}
|
|
5156
|
-
|
|
5275
|
+
chunkZMMIYWFF_cjs.__name(semverToString, "semverToString");
|
|
5157
5276
|
function buildSchemaUri(params) {
|
|
5158
5277
|
const { baseUrl, category, name, version } = params;
|
|
5159
5278
|
const versionString = semverToString(version);
|
|
@@ -5163,7 +5282,7 @@ function buildSchemaUri(params) {
|
|
|
5163
5282
|
}
|
|
5164
5283
|
return `${effectiveBaseUrl}${DEFAULT_API_PATH}/${category}/${name}/${versionString}/`;
|
|
5165
5284
|
}
|
|
5166
|
-
|
|
5285
|
+
chunkZMMIYWFF_cjs.__name(buildSchemaUri, "buildSchemaUri");
|
|
5167
5286
|
function parseSchemaUri(uri) {
|
|
5168
5287
|
let baseUrl = "";
|
|
5169
5288
|
let pathname = uri;
|
|
@@ -5197,7 +5316,7 @@ function parseSchemaUri(uri) {
|
|
|
5197
5316
|
version
|
|
5198
5317
|
};
|
|
5199
5318
|
}
|
|
5200
|
-
|
|
5319
|
+
chunkZMMIYWFF_cjs.__name(parseSchemaUri, "parseSchemaUri");
|
|
5201
5320
|
function getBaseUri(uri) {
|
|
5202
5321
|
const components = parseSchemaUri(uri);
|
|
5203
5322
|
if (!components) {
|
|
@@ -5209,7 +5328,7 @@ function getBaseUri(uri) {
|
|
|
5209
5328
|
}
|
|
5210
5329
|
return `${baseUrl}${DEFAULT_API_PATH}/${category}/${name}/`;
|
|
5211
5330
|
}
|
|
5212
|
-
|
|
5331
|
+
chunkZMMIYWFF_cjs.__name(getBaseUri, "getBaseUri");
|
|
5213
5332
|
function parseSemverFromUri(uri) {
|
|
5214
5333
|
const components = parseSchemaUri(uri);
|
|
5215
5334
|
if (!components || components.version === "latest" || components.version === null) {
|
|
@@ -5217,7 +5336,7 @@ function parseSemverFromUri(uri) {
|
|
|
5217
5336
|
}
|
|
5218
5337
|
return components.version;
|
|
5219
5338
|
}
|
|
5220
|
-
|
|
5339
|
+
chunkZMMIYWFF_cjs.__name(parseSemverFromUri, "parseSemverFromUri");
|
|
5221
5340
|
function generateVersionCandidates(uri) {
|
|
5222
5341
|
const components = parseSchemaUri(uri);
|
|
5223
5342
|
if (!components) {
|
|
@@ -5252,7 +5371,7 @@ function generateVersionCandidates(uri) {
|
|
|
5252
5371
|
);
|
|
5253
5372
|
return candidates;
|
|
5254
5373
|
}
|
|
5255
|
-
|
|
5374
|
+
chunkZMMIYWFF_cjs.__name(generateVersionCandidates, "generateVersionCandidates");
|
|
5256
5375
|
function compareVersions(v1, v2) {
|
|
5257
5376
|
if (v1.major !== v2.major) return v1.major - v2.major;
|
|
5258
5377
|
const v1Minor = "minor" in v1 ? v1.minor : 0;
|
|
@@ -5262,7 +5381,7 @@ function compareVersions(v1, v2) {
|
|
|
5262
5381
|
const v2Patch = "patch" in v2 ? v2.patch : 0;
|
|
5263
5382
|
return v1Patch - v2Patch;
|
|
5264
5383
|
}
|
|
5265
|
-
|
|
5384
|
+
chunkZMMIYWFF_cjs.__name(compareVersions, "compareVersions");
|
|
5266
5385
|
function isSameSchema(uri1, uri2) {
|
|
5267
5386
|
const components1 = parseSchemaUri(uri1);
|
|
5268
5387
|
const components2 = parseSchemaUri(uri2);
|
|
@@ -5273,7 +5392,7 @@ function isSameSchema(uri1, uri2) {
|
|
|
5273
5392
|
}
|
|
5274
5393
|
return components1.baseUrl === components2.baseUrl && components1.category === components2.category && components1.name === components2.name;
|
|
5275
5394
|
}
|
|
5276
|
-
|
|
5395
|
+
chunkZMMIYWFF_cjs.__name(isSameSchema, "isSameSchema");
|
|
5277
5396
|
|
|
5278
5397
|
// src/interpreter/config/managers/base-manager.ts
|
|
5279
5398
|
var _BaseManager = class _BaseManager {
|
|
@@ -5539,7 +5658,7 @@ var _BaseManager = class _BaseManager {
|
|
|
5539
5658
|
};
|
|
5540
5659
|
}
|
|
5541
5660
|
};
|
|
5542
|
-
|
|
5661
|
+
chunkZMMIYWFF_cjs.__name(_BaseManager, "BaseManager");
|
|
5543
5662
|
var BaseManager = _BaseManager;
|
|
5544
5663
|
|
|
5545
5664
|
// src/interpreter/config/managers/color/manager.ts
|
|
@@ -5599,19 +5718,19 @@ var _ColorManager = class _ColorManager extends BaseManager {
|
|
|
5599
5718
|
spec.initializers.forEach((spec2) => {
|
|
5600
5719
|
try {
|
|
5601
5720
|
const { ast } = parseExpression(spec2.script.script);
|
|
5602
|
-
const fn = /* @__PURE__ */
|
|
5721
|
+
const fn = /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((args) => {
|
|
5603
5722
|
const config = this.createInterpreterConfig({ input: args });
|
|
5604
5723
|
const result = new Interpreter(ast, config).interpret();
|
|
5605
|
-
if (!(result instanceof
|
|
5606
|
-
throw new
|
|
5724
|
+
if (!(result instanceof chunkOABJLZRZ_cjs.ColorSymbol)) {
|
|
5725
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("COLOR_INITIALIZER_CRASHED" /* INITIALIZER_CRASHED */);
|
|
5607
5726
|
}
|
|
5608
5727
|
return result;
|
|
5609
5728
|
}, "fn");
|
|
5610
5729
|
this.initializers.set(spec2.keyword.toLowerCase(), fn);
|
|
5611
5730
|
} catch (error) {
|
|
5612
|
-
throw new
|
|
5731
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("COLOR_INITIALIZER_CONSTRUCT_FAILED" /* INITIALIZER_CONSTRUCT_FAILED */, {
|
|
5613
5732
|
data: {
|
|
5614
|
-
error:
|
|
5733
|
+
error: chunkOABJLZRZ_cjs.isLanguageError(error) ? error : chunkOABJLZRZ_cjs.serializeError(error)
|
|
5615
5734
|
}
|
|
5616
5735
|
});
|
|
5617
5736
|
}
|
|
@@ -5622,18 +5741,18 @@ var _ColorManager = class _ColorManager extends BaseManager {
|
|
|
5622
5741
|
const sourceUri = conversion.source === "$self" ? uri : conversion.source;
|
|
5623
5742
|
const targetUri = conversion.target === "$self" ? uri : conversion.target;
|
|
5624
5743
|
const { ast } = parseExpression(conversion.script.script);
|
|
5625
|
-
const fn = /* @__PURE__ */
|
|
5744
|
+
const fn = /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((color) => {
|
|
5626
5745
|
const interpreterConfig = this.createInterpreterConfig({ input: color });
|
|
5627
5746
|
const result = new Interpreter(ast, interpreterConfig).interpret();
|
|
5628
|
-
if (!(result instanceof
|
|
5747
|
+
if (!(result instanceof chunkOABJLZRZ_cjs.ColorSymbol)) {
|
|
5629
5748
|
const targetSpec = this.getSpec(targetUri);
|
|
5630
5749
|
if (!targetSpec) {
|
|
5631
|
-
throw new
|
|
5750
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("COLOR_CONVERSION_TARGET_NOT_FOUND" /* CONVERSION_TARGET_NOT_FOUND */, {
|
|
5632
5751
|
data: { targetUri }
|
|
5633
5752
|
});
|
|
5634
5753
|
}
|
|
5635
5754
|
const value = typeof result === "string" ? result : result?.value ?? null;
|
|
5636
|
-
return new
|
|
5755
|
+
return new chunkOABJLZRZ_cjs.ColorSymbol(value, targetSpec.name, null, this.parentConfig);
|
|
5637
5756
|
}
|
|
5638
5757
|
return result;
|
|
5639
5758
|
}, "fn");
|
|
@@ -5676,7 +5795,7 @@ ${spec}` : "";
|
|
|
5676
5795
|
executeInitializer(keyword, args) {
|
|
5677
5796
|
const initFn = this.initializers.get(keyword.toLowerCase());
|
|
5678
5797
|
if (!initFn) {
|
|
5679
|
-
throw new
|
|
5798
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("COLOR_INITIALIZER_NOT_FOUND" /* INITIALIZER_NOT_FOUND */, {
|
|
5680
5799
|
data: { keyword }
|
|
5681
5800
|
});
|
|
5682
5801
|
}
|
|
@@ -5693,7 +5812,7 @@ ${spec}` : "";
|
|
|
5693
5812
|
convertTo(color, targetUri) {
|
|
5694
5813
|
const sourceUri = this.specTypes.get(color.subType?.toLowerCase() || "");
|
|
5695
5814
|
if (!sourceUri) {
|
|
5696
|
-
throw new
|
|
5815
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("COLOR_SOURCE_URI_NOT_FOUND" /* SOURCE_URI_NOT_FOUND */, {
|
|
5697
5816
|
data: { colorType: color.subType || "unknown" }
|
|
5698
5817
|
});
|
|
5699
5818
|
}
|
|
@@ -5702,9 +5821,9 @@ ${spec}` : "";
|
|
|
5702
5821
|
result.alpha = color.alpha;
|
|
5703
5822
|
return result;
|
|
5704
5823
|
} catch (error) {
|
|
5705
|
-
throw new
|
|
5824
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("COLOR_CONVERSION_ERROR" /* CONVERSION_ERROR */, {
|
|
5706
5825
|
data: {
|
|
5707
|
-
error:
|
|
5826
|
+
error: chunkOABJLZRZ_cjs.isLanguageError(error) ? error : chunkOABJLZRZ_cjs.serializeError(error)
|
|
5708
5827
|
}
|
|
5709
5828
|
});
|
|
5710
5829
|
}
|
|
@@ -5715,7 +5834,7 @@ ${spec}` : "";
|
|
|
5715
5834
|
}
|
|
5716
5835
|
const targetUri = this.specTypes.get(targetType.toLowerCase());
|
|
5717
5836
|
if (!targetUri) {
|
|
5718
|
-
throw new
|
|
5837
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("COLOR_TARGET_URI_NOT_FOUND" /* TARGET_URI_NOT_FOUND */, {
|
|
5719
5838
|
data: { colorType: targetType }
|
|
5720
5839
|
});
|
|
5721
5840
|
}
|
|
@@ -5724,7 +5843,7 @@ ${spec}` : "";
|
|
|
5724
5843
|
setAttribute(color, node, attributeValue) {
|
|
5725
5844
|
const attributes = node.attributesStringChain();
|
|
5726
5845
|
if (attributes.length !== 1) {
|
|
5727
|
-
throw new
|
|
5846
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("COLOR_ATTRIBUTE_CHAIN_TOO_LONG" /* ATTRIBUTE_CHAIN_TOO_LONG */, {
|
|
5728
5847
|
token: node.token,
|
|
5729
5848
|
data: {
|
|
5730
5849
|
attributes: attributesToString(attributes),
|
|
@@ -5736,7 +5855,7 @@ ${spec}` : "";
|
|
|
5736
5855
|
const attr = attributes[0];
|
|
5737
5856
|
if (attr === "alpha") {
|
|
5738
5857
|
if (attributeValue.type !== "Number" && attributeValue.type !== "Null") {
|
|
5739
|
-
throw new
|
|
5858
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("COLOR_INVALID_ATTRIBUTE_TYPE" /* INVALID_ATTRIBUTE_TYPE */, {
|
|
5740
5859
|
token: node.token,
|
|
5741
5860
|
data: {
|
|
5742
5861
|
attributeType: attributeValue.type,
|
|
@@ -5745,12 +5864,12 @@ ${spec}` : "";
|
|
|
5745
5864
|
});
|
|
5746
5865
|
}
|
|
5747
5866
|
const alphaValue = attributeValue.value;
|
|
5748
|
-
|
|
5867
|
+
chunkOABJLZRZ_cjs.ensureValidAlpha(alphaValue);
|
|
5749
5868
|
color.alpha = alphaValue;
|
|
5750
5869
|
return color;
|
|
5751
5870
|
}
|
|
5752
5871
|
if (typeof color.value === "string") {
|
|
5753
|
-
throw new
|
|
5872
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("COLOR_STRING_VALUE_ASSIGNMENT" /* STRING_VALUE_ASSIGNMENT */, {
|
|
5754
5873
|
token: node.token,
|
|
5755
5874
|
data: {
|
|
5756
5875
|
attributes: attributesToString(attributes),
|
|
@@ -5761,7 +5880,7 @@ ${spec}` : "";
|
|
|
5761
5880
|
}
|
|
5762
5881
|
const spec = this.getSpecFromColor(color);
|
|
5763
5882
|
if (!spec) {
|
|
5764
|
-
throw new
|
|
5883
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("COLOR_MISSING_SPEC" /* MISSING_SPEC */, {
|
|
5765
5884
|
token: node.token,
|
|
5766
5885
|
data: {
|
|
5767
5886
|
identifier: node.identifierToString(),
|
|
@@ -5770,14 +5889,14 @@ ${spec}` : "";
|
|
|
5770
5889
|
});
|
|
5771
5890
|
}
|
|
5772
5891
|
if (!spec.schema) {
|
|
5773
|
-
throw new
|
|
5892
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("COLOR_MISSING_SCHEMA" /* MISSING_SCHEMA */, {
|
|
5774
5893
|
token: node.token,
|
|
5775
5894
|
data: { colorType: color.subType || "unknown" }
|
|
5776
5895
|
});
|
|
5777
5896
|
}
|
|
5778
5897
|
const attrSchema = spec.schema.properties[attr];
|
|
5779
5898
|
if (!attrSchema) {
|
|
5780
|
-
throw new
|
|
5899
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("COLOR_MISSING_ATTRIBUTE_SCHEMA" /* MISSING_ATTRIBUTE_SCHEMA */, {
|
|
5781
5900
|
token: node.token,
|
|
5782
5901
|
data: {
|
|
5783
5902
|
attribute: attr,
|
|
@@ -5786,8 +5905,8 @@ ${spec}` : "";
|
|
|
5786
5905
|
}
|
|
5787
5906
|
});
|
|
5788
5907
|
}
|
|
5789
|
-
if (!
|
|
5790
|
-
throw new
|
|
5908
|
+
if (!chunkOABJLZRZ_cjs.typeEquals(attrSchema.type, attributeValue.type)) {
|
|
5909
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("COLOR_INVALID_ATTRIBUTE_TYPE" /* INVALID_ATTRIBUTE_TYPE */, {
|
|
5791
5910
|
token: node.token,
|
|
5792
5911
|
data: {
|
|
5793
5912
|
attributeType: attributeValue.type,
|
|
@@ -5847,7 +5966,7 @@ ${spec}` : "";
|
|
|
5847
5966
|
const { decimalPlaces = 2, removeTrailingZeros = true } = opts;
|
|
5848
5967
|
if (typeof color.value === "string") {
|
|
5849
5968
|
if (color.alpha !== null) {
|
|
5850
|
-
return
|
|
5969
|
+
return chunkOABJLZRZ_cjs.formatHex8(color.value, color.alpha);
|
|
5851
5970
|
}
|
|
5852
5971
|
return color.value;
|
|
5853
5972
|
}
|
|
@@ -5865,7 +5984,7 @@ ${spec}` : "";
|
|
|
5865
5984
|
}
|
|
5866
5985
|
return value?.toString() || "0";
|
|
5867
5986
|
});
|
|
5868
|
-
if (
|
|
5987
|
+
if (chunkOABJLZRZ_cjs.isTransparent(color.alpha)) {
|
|
5869
5988
|
values.push(this.formatNumber(color.alpha, decimalPlaces, removeTrailingZeros));
|
|
5870
5989
|
}
|
|
5871
5990
|
const functionName = color.subType.toLowerCase();
|
|
@@ -5877,74 +5996,74 @@ ${spec}` : "";
|
|
|
5877
5996
|
return this.specs;
|
|
5878
5997
|
}
|
|
5879
5998
|
};
|
|
5880
|
-
|
|
5999
|
+
chunkZMMIYWFF_cjs.__name(_ColorManager, "ColorManager");
|
|
5881
6000
|
var ColorManager = _ColorManager;
|
|
5882
6001
|
|
|
5883
6002
|
// src/interpreter/config/managers/functions/builtin/math.ts
|
|
5884
6003
|
function extractNumber(arg, functionName) {
|
|
5885
6004
|
if (arg === void 0 || arg === null) {
|
|
5886
|
-
throw new
|
|
6005
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("FN_EXPECTS_NUMBER_ARGUMENTS" /* EXPECTS_NUMBER_ARGUMENTS */, {
|
|
5887
6006
|
data: { functionName }
|
|
5888
6007
|
});
|
|
5889
6008
|
}
|
|
5890
|
-
if (arg instanceof
|
|
5891
|
-
if (arg instanceof
|
|
6009
|
+
if (arg instanceof chunkOABJLZRZ_cjs.NumberSymbol) return arg.value;
|
|
6010
|
+
if (arg instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol) return arg.value;
|
|
5892
6011
|
if (typeof arg.value === "number") return arg.value;
|
|
5893
|
-
throw new
|
|
6012
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("FN_EXPECTS_NUMBER_ARGUMENTS" /* EXPECTS_NUMBER_ARGUMENTS */, {
|
|
5894
6013
|
data: { functionName }
|
|
5895
6014
|
});
|
|
5896
6015
|
}
|
|
5897
|
-
|
|
6016
|
+
chunkZMMIYWFF_cjs.__name(extractNumber, "extractNumber");
|
|
5898
6017
|
function over(arg, fn, functionName) {
|
|
5899
6018
|
const value = extractNumber(arg, functionName);
|
|
5900
6019
|
const result = fn(value);
|
|
5901
|
-
if (arg instanceof
|
|
5902
|
-
return new
|
|
6020
|
+
if (arg instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol) {
|
|
6021
|
+
return new chunkOABJLZRZ_cjs.NumberWithUnitSymbol(result, arg.unit);
|
|
5903
6022
|
}
|
|
5904
|
-
return new
|
|
6023
|
+
return new chunkOABJLZRZ_cjs.NumberSymbol(result);
|
|
5905
6024
|
}
|
|
5906
|
-
|
|
6025
|
+
chunkZMMIYWFF_cjs.__name(over, "over");
|
|
5907
6026
|
function overTwo(a, b, fn, functionName) {
|
|
5908
6027
|
const aVal = extractNumber(a, functionName);
|
|
5909
6028
|
const bVal = extractNumber(b, functionName);
|
|
5910
6029
|
const result = fn(aVal, bVal);
|
|
5911
|
-
if (a instanceof
|
|
5912
|
-
return new
|
|
6030
|
+
if (a instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol) {
|
|
6031
|
+
return new chunkOABJLZRZ_cjs.NumberWithUnitSymbol(result, a.unit);
|
|
5913
6032
|
}
|
|
5914
|
-
return new
|
|
6033
|
+
return new chunkOABJLZRZ_cjs.NumberSymbol(result);
|
|
5915
6034
|
}
|
|
5916
|
-
|
|
6035
|
+
chunkZMMIYWFF_cjs.__name(overTwo, "overTwo");
|
|
5917
6036
|
function overMany(args, fn, functionName, minArgs) {
|
|
5918
6037
|
if (minArgs !== void 0 && args.length < minArgs) {
|
|
5919
|
-
throw new
|
|
6038
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("FN_REQUIRES_MIN_ARGUMENTS" /* REQUIRES_MIN_ARGUMENTS */, {
|
|
5920
6039
|
data: { functionName, minArgs }
|
|
5921
6040
|
});
|
|
5922
6041
|
}
|
|
5923
6042
|
const nums = args.map((arg) => extractNumber(arg, functionName));
|
|
5924
6043
|
const result = fn(nums);
|
|
5925
|
-
const firstUnitArg = args.find((arg) => arg instanceof
|
|
6044
|
+
const firstUnitArg = args.find((arg) => arg instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol);
|
|
5926
6045
|
if (firstUnitArg) {
|
|
5927
|
-
return new
|
|
6046
|
+
return new chunkOABJLZRZ_cjs.NumberWithUnitSymbol(result, firstUnitArg.unit);
|
|
5928
6047
|
}
|
|
5929
|
-
return new
|
|
6048
|
+
return new chunkOABJLZRZ_cjs.NumberSymbol(result);
|
|
5930
6049
|
}
|
|
5931
|
-
|
|
6050
|
+
chunkZMMIYWFF_cjs.__name(overMany, "overMany");
|
|
5932
6051
|
function createSumFunction(getUnitManager) {
|
|
5933
6052
|
return (...args) => {
|
|
5934
6053
|
if (args.length < 2)
|
|
5935
|
-
throw new
|
|
6054
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("FN_REQUIRES_MIN_ARGUMENTS" /* REQUIRES_MIN_ARGUMENTS */, {
|
|
5936
6055
|
data: { functionName: "sum", minArgs: 2 }
|
|
5937
6056
|
});
|
|
5938
|
-
const hasUnits = args.some((arg) => arg instanceof
|
|
6057
|
+
const hasUnits = args.some((arg) => arg instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol);
|
|
5939
6058
|
if (!hasUnits) {
|
|
5940
6059
|
const nums2 = args.map((arg) => extractNumber(arg, "sum"));
|
|
5941
|
-
return new
|
|
6060
|
+
return new chunkOABJLZRZ_cjs.NumberSymbol(nums2.reduce((acc, val) => acc + val, 0));
|
|
5942
6061
|
}
|
|
5943
6062
|
const numericArgs = args.filter(
|
|
5944
|
-
(arg) => arg instanceof
|
|
6063
|
+
(arg) => arg instanceof chunkOABJLZRZ_cjs.NumberSymbol || arg instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol
|
|
5945
6064
|
);
|
|
5946
6065
|
if (numericArgs.length !== args.length) {
|
|
5947
|
-
throw new
|
|
6066
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("FN_EXPECTS_NUMBER_ARGUMENTS" /* EXPECTS_NUMBER_ARGUMENTS */, {
|
|
5948
6067
|
data: { functionName: "sum" }
|
|
5949
6068
|
});
|
|
5950
6069
|
}
|
|
@@ -5954,61 +6073,61 @@ function createSumFunction(getUnitManager) {
|
|
|
5954
6073
|
const converted = unitManager.convertToCommonFormat(numericArgs);
|
|
5955
6074
|
const sum2 = converted.reduce((acc, arg) => acc + arg.value, 0);
|
|
5956
6075
|
const firstUnitArg2 = converted.find(
|
|
5957
|
-
(arg) => arg instanceof
|
|
6076
|
+
(arg) => arg instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol
|
|
5958
6077
|
);
|
|
5959
6078
|
if (firstUnitArg2) {
|
|
5960
|
-
return new
|
|
6079
|
+
return new chunkOABJLZRZ_cjs.NumberWithUnitSymbol(sum2, firstUnitArg2.unit);
|
|
5961
6080
|
}
|
|
5962
|
-
return new
|
|
6081
|
+
return new chunkOABJLZRZ_cjs.NumberSymbol(sum2);
|
|
5963
6082
|
} catch (error) {
|
|
5964
|
-
throw new
|
|
6083
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("FN_UNIT_CONVERSION_FAILED" /* UNIT_CONVERSION_FAILED */, {
|
|
5965
6084
|
data: {
|
|
5966
6085
|
functionName: "sum",
|
|
5967
|
-
error:
|
|
6086
|
+
error: chunkOABJLZRZ_cjs.isLanguageError(error) ? error : chunkOABJLZRZ_cjs.serializeError(error)
|
|
5968
6087
|
}
|
|
5969
6088
|
});
|
|
5970
6089
|
}
|
|
5971
6090
|
}
|
|
5972
6091
|
const firstUnitArg = args.find(
|
|
5973
|
-
(arg) => arg instanceof
|
|
6092
|
+
(arg) => arg instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol
|
|
5974
6093
|
);
|
|
5975
6094
|
const nums = args.map((arg) => extractNumber(arg, "sum"));
|
|
5976
6095
|
const sum = nums.reduce((acc, val) => acc + val, 0);
|
|
5977
6096
|
if (firstUnitArg) {
|
|
5978
|
-
return new
|
|
6097
|
+
return new chunkOABJLZRZ_cjs.NumberWithUnitSymbol(sum, firstUnitArg.unit);
|
|
5979
6098
|
}
|
|
5980
|
-
return new
|
|
6099
|
+
return new chunkOABJLZRZ_cjs.NumberSymbol(sum);
|
|
5981
6100
|
};
|
|
5982
6101
|
}
|
|
5983
|
-
|
|
6102
|
+
chunkZMMIYWFF_cjs.__name(createSumFunction, "createSumFunction");
|
|
5984
6103
|
var mathFunctions = {
|
|
5985
|
-
min: /* @__PURE__ */
|
|
5986
|
-
max: /* @__PURE__ */
|
|
5987
|
-
mod: /* @__PURE__ */
|
|
6104
|
+
min: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((...args) => overMany(args, (nums) => Math.min(...nums), "min", 1), "min"),
|
|
6105
|
+
max: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((...args) => overMany(args, (nums) => Math.max(...nums), "max", 1), "max"),
|
|
6106
|
+
mod: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((a, b) => overTwo(
|
|
5988
6107
|
a,
|
|
5989
6108
|
b,
|
|
5990
6109
|
(aVal, bVal) => {
|
|
5991
6110
|
if (bVal === 0)
|
|
5992
|
-
throw new
|
|
6111
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("FN_DIVISION_BY_ZERO" /* DIVISION_BY_ZERO */, {
|
|
5993
6112
|
data: { functionName: "mod" }
|
|
5994
6113
|
});
|
|
5995
6114
|
return (aVal % bVal + bVal) % bVal;
|
|
5996
6115
|
},
|
|
5997
6116
|
"mod"
|
|
5998
6117
|
), "mod"),
|
|
5999
|
-
average: /* @__PURE__ */
|
|
6000
|
-
round: /* @__PURE__ */
|
|
6001
|
-
abs: /* @__PURE__ */
|
|
6002
|
-
sqrt: /* @__PURE__ */
|
|
6003
|
-
floor: /* @__PURE__ */
|
|
6004
|
-
ceil: /* @__PURE__ */
|
|
6005
|
-
cbrt: /* @__PURE__ */
|
|
6006
|
-
sign: /* @__PURE__ */
|
|
6007
|
-
trunc: /* @__PURE__ */
|
|
6008
|
-
exp: /* @__PURE__ */
|
|
6009
|
-
expm1: /* @__PURE__ */
|
|
6010
|
-
pow: /* @__PURE__ */
|
|
6011
|
-
round_to: /* @__PURE__ */
|
|
6118
|
+
average: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((...args) => overMany(args, (nums) => nums.reduce((acc, val) => acc + val, 0) / nums.length, "average", 1), "average"),
|
|
6119
|
+
round: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => over(arg, Math.round, "round"), "round"),
|
|
6120
|
+
abs: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => over(arg, Math.abs, "abs"), "abs"),
|
|
6121
|
+
sqrt: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => over(arg, Math.sqrt, "sqrt"), "sqrt"),
|
|
6122
|
+
floor: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => over(arg, Math.floor, "floor"), "floor"),
|
|
6123
|
+
ceil: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => over(arg, Math.ceil, "ceil"), "ceil"),
|
|
6124
|
+
cbrt: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => over(arg, Math.cbrt, "cbrt"), "cbrt"),
|
|
6125
|
+
sign: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => new chunkOABJLZRZ_cjs.NumberSymbol(Math.sign(extractNumber(arg, "sign"))), "sign"),
|
|
6126
|
+
trunc: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => over(arg, Math.trunc, "trunc"), "trunc"),
|
|
6127
|
+
exp: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => over(arg, Math.exp, "exp"), "exp"),
|
|
6128
|
+
expm1: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => over(arg, Math.expm1, "expm1"), "expm1"),
|
|
6129
|
+
pow: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((base, exp) => overTwo(base, exp, (b, e) => b ** e, "pow"), "pow"),
|
|
6130
|
+
round_to: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((value, precision) => {
|
|
6012
6131
|
const precisionValue = precision !== void 0 ? extractNumber(precision, "round_to") : 0;
|
|
6013
6132
|
const fn = precisionValue === 0 ? Math.round : (v) => {
|
|
6014
6133
|
const factor = 10 ** precisionValue;
|
|
@@ -6016,13 +6135,13 @@ var mathFunctions = {
|
|
|
6016
6135
|
};
|
|
6017
6136
|
return over(value, fn, "round_to");
|
|
6018
6137
|
}, "round_to"),
|
|
6019
|
-
hypot: /* @__PURE__ */
|
|
6020
|
-
remainder: /* @__PURE__ */
|
|
6138
|
+
hypot: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((...args) => overMany(args, (nums) => Math.hypot(...nums), "hypot", 1), "hypot"),
|
|
6139
|
+
remainder: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((a, b) => overTwo(
|
|
6021
6140
|
a,
|
|
6022
6141
|
b,
|
|
6023
6142
|
(aVal, bVal) => {
|
|
6024
6143
|
if (bVal === 0)
|
|
6025
|
-
throw new
|
|
6144
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("FN_DIVISION_BY_ZERO" /* DIVISION_BY_ZERO */, {
|
|
6026
6145
|
data: { functionName: "remainder" }
|
|
6027
6146
|
});
|
|
6028
6147
|
return aVal % bVal;
|
|
@@ -6030,40 +6149,40 @@ var mathFunctions = {
|
|
|
6030
6149
|
"remainder"
|
|
6031
6150
|
), "remainder"),
|
|
6032
6151
|
// Trigonometric functions
|
|
6033
|
-
sin: /* @__PURE__ */
|
|
6034
|
-
cos: /* @__PURE__ */
|
|
6035
|
-
tan: /* @__PURE__ */
|
|
6036
|
-
atan: /* @__PURE__ */
|
|
6037
|
-
asin: /* @__PURE__ */
|
|
6152
|
+
sin: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => over(arg, Math.sin, "sin"), "sin"),
|
|
6153
|
+
cos: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => over(arg, Math.cos, "cos"), "cos"),
|
|
6154
|
+
tan: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => over(arg, Math.tan, "tan"), "tan"),
|
|
6155
|
+
atan: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => over(arg, Math.atan, "atan"), "atan"),
|
|
6156
|
+
asin: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => {
|
|
6038
6157
|
const value = extractNumber(arg, "asin");
|
|
6039
6158
|
if (value < -1 || value > 1)
|
|
6040
|
-
throw new
|
|
6159
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
|
|
6041
6160
|
data: { functionName: "asin", constraint: "between -1 and 1" }
|
|
6042
6161
|
});
|
|
6043
6162
|
return over(arg, Math.asin, "asin");
|
|
6044
6163
|
}, "asin"),
|
|
6045
|
-
acos: /* @__PURE__ */
|
|
6164
|
+
acos: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => {
|
|
6046
6165
|
const value = extractNumber(arg, "acos");
|
|
6047
6166
|
if (value < -1 || value > 1)
|
|
6048
|
-
throw new
|
|
6167
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
|
|
6049
6168
|
data: { functionName: "acos", constraint: "between -1 and 1" }
|
|
6050
6169
|
});
|
|
6051
6170
|
return over(arg, Math.acos, "acos");
|
|
6052
6171
|
}, "acos"),
|
|
6053
|
-
atan2: /* @__PURE__ */
|
|
6172
|
+
atan2: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((y, x) => {
|
|
6054
6173
|
const yVal = extractNumber(y, "atan2");
|
|
6055
6174
|
const xVal = extractNumber(x, "atan2");
|
|
6056
|
-
return new
|
|
6175
|
+
return new chunkOABJLZRZ_cjs.NumberSymbol(Math.atan2(yVal, xVal));
|
|
6057
6176
|
}, "atan2"),
|
|
6058
6177
|
// Hyperbolic functions
|
|
6059
|
-
sinh: /* @__PURE__ */
|
|
6060
|
-
cosh: /* @__PURE__ */
|
|
6061
|
-
tanh: /* @__PURE__ */
|
|
6062
|
-
asinh: /* @__PURE__ */
|
|
6063
|
-
acosh: /* @__PURE__ */
|
|
6178
|
+
sinh: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => over(arg, Math.sinh, "sinh"), "sinh"),
|
|
6179
|
+
cosh: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => over(arg, Math.cosh, "cosh"), "cosh"),
|
|
6180
|
+
tanh: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => over(arg, Math.tanh, "tanh"), "tanh"),
|
|
6181
|
+
asinh: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => over(arg, Math.asinh, "asinh"), "asinh"),
|
|
6182
|
+
acosh: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => {
|
|
6064
6183
|
const value = extractNumber(arg, "acosh");
|
|
6065
6184
|
if (value < 1) {
|
|
6066
|
-
throw new
|
|
6185
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
|
|
6067
6186
|
data: {
|
|
6068
6187
|
functionName: "acosh",
|
|
6069
6188
|
constraint: "greater than or equal to 1"
|
|
@@ -6072,10 +6191,10 @@ var mathFunctions = {
|
|
|
6072
6191
|
}
|
|
6073
6192
|
return over(arg, Math.acosh, "acosh");
|
|
6074
6193
|
}, "acosh"),
|
|
6075
|
-
atanh: /* @__PURE__ */
|
|
6194
|
+
atanh: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => {
|
|
6076
6195
|
const value = extractNumber(arg, "atanh");
|
|
6077
6196
|
if (value <= -1 || value >= 1) {
|
|
6078
|
-
throw new
|
|
6197
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
|
|
6079
6198
|
data: {
|
|
6080
6199
|
functionName: "atanh",
|
|
6081
6200
|
constraint: "between -1 and 1 (exclusive)"
|
|
@@ -6085,10 +6204,10 @@ var mathFunctions = {
|
|
|
6085
6204
|
return over(arg, Math.atanh, "atanh");
|
|
6086
6205
|
}, "atanh"),
|
|
6087
6206
|
// Logarithmic functions
|
|
6088
|
-
log: /* @__PURE__ */
|
|
6207
|
+
log: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg, base) => {
|
|
6089
6208
|
const value = extractNumber(arg, "log");
|
|
6090
6209
|
if (value <= 0)
|
|
6091
|
-
throw new
|
|
6210
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
|
|
6092
6211
|
data: { functionName: "log", constraint: "positive" }
|
|
6093
6212
|
});
|
|
6094
6213
|
if (base === void 0) {
|
|
@@ -6096,7 +6215,7 @@ var mathFunctions = {
|
|
|
6096
6215
|
}
|
|
6097
6216
|
const baseValue = extractNumber(base, "log");
|
|
6098
6217
|
if (baseValue <= 0 || baseValue === 1)
|
|
6099
|
-
throw new
|
|
6218
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("FN_INVALID_BASE" /* INVALID_BASE */, {
|
|
6100
6219
|
data: {
|
|
6101
6220
|
functionName: "log",
|
|
6102
6221
|
constraint: "positive and not equal to 1"
|
|
@@ -6104,37 +6223,37 @@ var mathFunctions = {
|
|
|
6104
6223
|
});
|
|
6105
6224
|
return over(arg, (v) => Math.log(v) / Math.log(baseValue), "log");
|
|
6106
6225
|
}, "log"),
|
|
6107
|
-
ln: /* @__PURE__ */
|
|
6226
|
+
ln: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => {
|
|
6108
6227
|
const value = extractNumber(arg, "ln");
|
|
6109
6228
|
if (value <= 0) {
|
|
6110
|
-
throw new
|
|
6229
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
|
|
6111
6230
|
data: { functionName: "ln", constraint: "positive" }
|
|
6112
6231
|
});
|
|
6113
6232
|
}
|
|
6114
6233
|
return over(arg, Math.log, "ln");
|
|
6115
6234
|
}, "ln"),
|
|
6116
|
-
log10: /* @__PURE__ */
|
|
6235
|
+
log10: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => {
|
|
6117
6236
|
const value = extractNumber(arg, "log10");
|
|
6118
6237
|
if (value <= 0) {
|
|
6119
|
-
throw new
|
|
6238
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
|
|
6120
6239
|
data: { functionName: "log10", constraint: "positive" }
|
|
6121
6240
|
});
|
|
6122
6241
|
}
|
|
6123
6242
|
return over(arg, Math.log10, "log10");
|
|
6124
6243
|
}, "log10"),
|
|
6125
|
-
log2: /* @__PURE__ */
|
|
6244
|
+
log2: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => {
|
|
6126
6245
|
const value = extractNumber(arg, "log2");
|
|
6127
6246
|
if (value <= 0) {
|
|
6128
|
-
throw new
|
|
6247
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
|
|
6129
6248
|
data: { functionName: "log2", constraint: "positive" }
|
|
6130
6249
|
});
|
|
6131
6250
|
}
|
|
6132
6251
|
return over(arg, Math.log2, "log2");
|
|
6133
6252
|
}, "log2"),
|
|
6134
|
-
log1p: /* @__PURE__ */
|
|
6253
|
+
log1p: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => {
|
|
6135
6254
|
const value = extractNumber(arg, "log1p");
|
|
6136
6255
|
if (value < -1) {
|
|
6137
|
-
throw new
|
|
6256
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
|
|
6138
6257
|
data: {
|
|
6139
6258
|
functionName: "log1p",
|
|
6140
6259
|
constraint: "greater than or equal to -1"
|
|
@@ -6144,7 +6263,7 @@ var mathFunctions = {
|
|
|
6144
6263
|
return over(arg, Math.log1p, "log1p");
|
|
6145
6264
|
}, "log1p"),
|
|
6146
6265
|
// Constants
|
|
6147
|
-
pi: /* @__PURE__ */
|
|
6266
|
+
pi: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name(() => new chunkOABJLZRZ_cjs.NumberSymbol(Math.PI), "pi")
|
|
6148
6267
|
};
|
|
6149
6268
|
|
|
6150
6269
|
// src/interpreter/config/managers/functions/manager.ts
|
|
@@ -6191,75 +6310,75 @@ var _FunctionsManager = class _FunctionsManager extends BaseManager {
|
|
|
6191
6310
|
this.registerFunction(
|
|
6192
6311
|
"parse_int",
|
|
6193
6312
|
(strSymbol, baseSymbol) => {
|
|
6194
|
-
if (!(strSymbol instanceof
|
|
6195
|
-
throw new
|
|
6313
|
+
if (!(strSymbol instanceof chunkOABJLZRZ_cjs.StringSymbol))
|
|
6314
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("FN_EXPECTS_TYPE_ARGUMENT" /* EXPECTS_TYPE_ARGUMENT */, {
|
|
6196
6315
|
data: { functionName: "parse_int", expectedType: "string", argumentPosition: "first" }
|
|
6197
6316
|
});
|
|
6198
|
-
const base = baseSymbol instanceof
|
|
6317
|
+
const base = baseSymbol instanceof chunkOABJLZRZ_cjs.NumberSymbol ? baseSymbol.value : 10;
|
|
6199
6318
|
const parsed = Number.parseInt(strSymbol.value, base);
|
|
6200
6319
|
if (Number.isNaN(parsed))
|
|
6201
|
-
throw new
|
|
6320
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("FN_PARSE_ERROR" /* PARSE_ERROR */, {
|
|
6202
6321
|
data: { functionName: "parse_int", value: String(strSymbol.value), base }
|
|
6203
6322
|
});
|
|
6204
|
-
return new
|
|
6323
|
+
return new chunkOABJLZRZ_cjs.NumberSymbol(parsed);
|
|
6205
6324
|
}
|
|
6206
6325
|
);
|
|
6207
6326
|
this.registerFunction("linear-gradient", (...args) => {
|
|
6208
6327
|
const stringArgs = args.map((arg) => arg.toString()).join(", ");
|
|
6209
|
-
return new
|
|
6328
|
+
return new chunkOABJLZRZ_cjs.StringSymbol(`linear-gradient(${stringArgs})`);
|
|
6210
6329
|
});
|
|
6211
6330
|
this.registerFunction("type", (arg) => {
|
|
6212
6331
|
const typeName2 = arg.getTypeName();
|
|
6213
6332
|
if (typeName2.includes(".")) {
|
|
6214
6333
|
const parts = typeName2.split(".");
|
|
6215
|
-
return new
|
|
6334
|
+
return new chunkOABJLZRZ_cjs.StringSymbol(parts[parts.length - 1].toLowerCase());
|
|
6216
6335
|
}
|
|
6217
|
-
return new
|
|
6336
|
+
return new chunkOABJLZRZ_cjs.StringSymbol(typeName2.toLowerCase());
|
|
6218
6337
|
});
|
|
6219
6338
|
this.registerFunction("is_null", (arg) => {
|
|
6220
|
-
return new
|
|
6339
|
+
return new chunkOABJLZRZ_cjs.BooleanSymbol(arg.type === "Null");
|
|
6221
6340
|
});
|
|
6222
6341
|
this.registerFunction("is_number", (arg) => {
|
|
6223
|
-
return new
|
|
6342
|
+
return new chunkOABJLZRZ_cjs.BooleanSymbol(arg.type === "Number");
|
|
6224
6343
|
});
|
|
6225
6344
|
this.registerFunction("is_string", (arg) => {
|
|
6226
|
-
return new
|
|
6345
|
+
return new chunkOABJLZRZ_cjs.BooleanSymbol(arg.type === "String");
|
|
6227
6346
|
});
|
|
6228
6347
|
this.registerFunction("is_boolean", (arg) => {
|
|
6229
|
-
return new
|
|
6348
|
+
return new chunkOABJLZRZ_cjs.BooleanSymbol(arg.type === "Boolean");
|
|
6230
6349
|
});
|
|
6231
6350
|
this.registerFunction("is_list", (arg) => {
|
|
6232
|
-
return new
|
|
6351
|
+
return new chunkOABJLZRZ_cjs.BooleanSymbol(arg.type === "List");
|
|
6233
6352
|
});
|
|
6234
6353
|
this.registerFunction("is_number_with_unit", (arg) => {
|
|
6235
|
-
return new
|
|
6354
|
+
return new chunkOABJLZRZ_cjs.BooleanSymbol(arg.type === "NumberWithUnit");
|
|
6236
6355
|
});
|
|
6237
6356
|
this.registerFunction("is_dictionary", (arg) => {
|
|
6238
|
-
return new
|
|
6357
|
+
return new chunkOABJLZRZ_cjs.BooleanSymbol(arg.type === "Dictionary");
|
|
6239
6358
|
});
|
|
6240
6359
|
this.registerFunction("is_token", (arg) => {
|
|
6241
|
-
return new
|
|
6360
|
+
return new chunkOABJLZRZ_cjs.BooleanSymbol(arg.type === "Token");
|
|
6242
6361
|
});
|
|
6243
6362
|
this.registerFunction("is_color", (arg) => {
|
|
6244
|
-
return new
|
|
6363
|
+
return new chunkOABJLZRZ_cjs.BooleanSymbol(arg.type === "Color");
|
|
6245
6364
|
});
|
|
6246
6365
|
this.registerFunction("range", (...args) => {
|
|
6247
6366
|
if (args.length < 1 || args.length > 2) {
|
|
6248
|
-
throw new
|
|
6367
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("FN_REQUIRES_MIN_ARGUMENTS" /* REQUIRES_MIN_ARGUMENTS */, {
|
|
6249
6368
|
data: { functionName: "range", minArgs: 1 }
|
|
6250
6369
|
});
|
|
6251
6370
|
}
|
|
6252
6371
|
let start;
|
|
6253
6372
|
let end;
|
|
6254
6373
|
if (args.length === 1) {
|
|
6255
|
-
if (!(args[0] instanceof
|
|
6256
|
-
throw new
|
|
6374
|
+
if (!(args[0] instanceof chunkOABJLZRZ_cjs.NumberSymbol)) {
|
|
6375
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("FN_EXPECTS_TYPE_ARGUMENT" /* EXPECTS_TYPE_ARGUMENT */, {
|
|
6257
6376
|
data: { functionName: "range", expectedType: "Number", argumentPosition: "first" }
|
|
6258
6377
|
});
|
|
6259
6378
|
}
|
|
6260
6379
|
const v = args[0].value;
|
|
6261
6380
|
if (v !== Math.trunc(v) || Number.isNaN(v) || !Number.isFinite(v) || v < 0 || v > 1e6) {
|
|
6262
|
-
throw new
|
|
6381
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
|
|
6263
6382
|
data: {
|
|
6264
6383
|
functionName: "range",
|
|
6265
6384
|
constraint: `count must be a non-negative integer <= 1000000, got ${v}`
|
|
@@ -6269,20 +6388,20 @@ var _FunctionsManager = class _FunctionsManager extends BaseManager {
|
|
|
6269
6388
|
start = 0;
|
|
6270
6389
|
end = v;
|
|
6271
6390
|
} else {
|
|
6272
|
-
if (!(args[0] instanceof
|
|
6273
|
-
throw new
|
|
6391
|
+
if (!(args[0] instanceof chunkOABJLZRZ_cjs.NumberSymbol)) {
|
|
6392
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("FN_EXPECTS_TYPE_ARGUMENT" /* EXPECTS_TYPE_ARGUMENT */, {
|
|
6274
6393
|
data: { functionName: "range", expectedType: "Number", argumentPosition: "first" }
|
|
6275
6394
|
});
|
|
6276
6395
|
}
|
|
6277
|
-
if (!(args[1] instanceof
|
|
6278
|
-
throw new
|
|
6396
|
+
if (!(args[1] instanceof chunkOABJLZRZ_cjs.NumberSymbol)) {
|
|
6397
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("FN_EXPECTS_TYPE_ARGUMENT" /* EXPECTS_TYPE_ARGUMENT */, {
|
|
6279
6398
|
data: { functionName: "range", expectedType: "Number", argumentPosition: "second" }
|
|
6280
6399
|
});
|
|
6281
6400
|
}
|
|
6282
6401
|
const sv = args[0].value;
|
|
6283
6402
|
const ev = args[1].value;
|
|
6284
6403
|
if (sv !== Math.trunc(sv) || ev !== Math.trunc(ev) || Number.isNaN(sv) || Number.isNaN(ev) || !Number.isFinite(sv) || !Number.isFinite(ev)) {
|
|
6285
|
-
throw new
|
|
6404
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
|
|
6286
6405
|
data: {
|
|
6287
6406
|
functionName: "range",
|
|
6288
6407
|
constraint: `arguments must be integers, got ${sv} and ${ev}`
|
|
@@ -6290,7 +6409,7 @@ var _FunctionsManager = class _FunctionsManager extends BaseManager {
|
|
|
6290
6409
|
});
|
|
6291
6410
|
}
|
|
6292
6411
|
if (ev - sv > 1e6) {
|
|
6293
|
-
throw new
|
|
6412
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
|
|
6294
6413
|
data: {
|
|
6295
6414
|
functionName: "range",
|
|
6296
6415
|
constraint: `size exceeds limit (1000000), got ${ev - sv}`
|
|
@@ -6301,13 +6420,13 @@ var _FunctionsManager = class _FunctionsManager extends BaseManager {
|
|
|
6301
6420
|
end = ev;
|
|
6302
6421
|
}
|
|
6303
6422
|
if (end < start) {
|
|
6304
|
-
return new
|
|
6423
|
+
return new chunkOABJLZRZ_cjs.ListSymbol([], false);
|
|
6305
6424
|
}
|
|
6306
6425
|
const elements = [];
|
|
6307
6426
|
for (let i = start; i < end; i++) {
|
|
6308
|
-
elements.push(new
|
|
6427
|
+
elements.push(new chunkOABJLZRZ_cjs.NumberSymbol(i));
|
|
6309
6428
|
}
|
|
6310
|
-
return new
|
|
6429
|
+
return new chunkOABJLZRZ_cjs.ListSymbol(elements, false);
|
|
6311
6430
|
});
|
|
6312
6431
|
}
|
|
6313
6432
|
registerFunction(name, impl) {
|
|
@@ -6316,11 +6435,11 @@ var _FunctionsManager = class _FunctionsManager extends BaseManager {
|
|
|
6316
6435
|
registerDynamicFunction(spec) {
|
|
6317
6436
|
const functionName = spec.keyword.toLowerCase();
|
|
6318
6437
|
const script = spec.script.script;
|
|
6319
|
-
const impl = /* @__PURE__ */
|
|
6438
|
+
const impl = /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((...args) => {
|
|
6320
6439
|
try {
|
|
6321
6440
|
const config = this.parentConfig?.clone();
|
|
6322
6441
|
if (!config) {
|
|
6323
|
-
throw new
|
|
6442
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("FN_NO_CONFIG_AVAILABLE" /* NO_CONFIG_AVAILABLE */, {
|
|
6324
6443
|
data: { functionName }
|
|
6325
6444
|
});
|
|
6326
6445
|
}
|
|
@@ -6332,19 +6451,19 @@ var _FunctionsManager = class _FunctionsManager extends BaseManager {
|
|
|
6332
6451
|
});
|
|
6333
6452
|
const result = interpreter.interpret();
|
|
6334
6453
|
if (result === null) {
|
|
6335
|
-
throw new
|
|
6454
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("FN_FUNCTION_RETURNED_NULL" /* FUNCTION_RETURNED_NULL */, {
|
|
6336
6455
|
data: { functionName }
|
|
6337
6456
|
});
|
|
6338
6457
|
}
|
|
6339
6458
|
if (typeof result === "string") {
|
|
6340
|
-
return new
|
|
6459
|
+
return new chunkOABJLZRZ_cjs.StringSymbol(result);
|
|
6341
6460
|
}
|
|
6342
6461
|
return result;
|
|
6343
6462
|
} catch (error) {
|
|
6344
|
-
throw new
|
|
6463
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("FN_EXECUTION_ERROR" /* EXECUTION_ERROR */, {
|
|
6345
6464
|
data: {
|
|
6346
6465
|
functionName,
|
|
6347
|
-
error:
|
|
6466
|
+
error: chunkOABJLZRZ_cjs.isLanguageError(error) ? error : chunkOABJLZRZ_cjs.serializeError(error)
|
|
6348
6467
|
}
|
|
6349
6468
|
});
|
|
6350
6469
|
}
|
|
@@ -6376,14 +6495,14 @@ var _FunctionsManager = class _FunctionsManager extends BaseManager {
|
|
|
6376
6495
|
(prop) => !prop?.optional
|
|
6377
6496
|
).length;
|
|
6378
6497
|
if (args.length < requiredCount) {
|
|
6379
|
-
throw new
|
|
6498
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("FN_REQUIRES_MIN_ARGUMENTS" /* REQUIRES_MIN_ARGUMENTS */, {
|
|
6380
6499
|
token,
|
|
6381
6500
|
data: { functionName: name, minArgs: requiredCount }
|
|
6382
6501
|
});
|
|
6383
6502
|
}
|
|
6384
6503
|
}
|
|
6385
6504
|
};
|
|
6386
|
-
|
|
6505
|
+
chunkZMMIYWFF_cjs.__name(_FunctionsManager, "FunctionsManager");
|
|
6387
6506
|
var FunctionsManager = _FunctionsManager;
|
|
6388
6507
|
var parseTokenSpec = schemaValidation.Token.parseTokenSpec;
|
|
6389
6508
|
schemaValidation.Token.safeParseTokenSpec;
|
|
@@ -6589,7 +6708,7 @@ ${spec}` : "";
|
|
|
6589
6708
|
*/
|
|
6590
6709
|
validateListItems(value, itemsSpec, visitedUrls, basePath, depth) {
|
|
6591
6710
|
const results = [];
|
|
6592
|
-
if (!(value instanceof
|
|
6711
|
+
if (!(value instanceof chunkOABJLZRZ_cjs.ListSymbol)) {
|
|
6593
6712
|
return results;
|
|
6594
6713
|
}
|
|
6595
6714
|
const items = value.value;
|
|
@@ -6702,10 +6821,10 @@ ${spec}` : "";
|
|
|
6702
6821
|
interpreter.resetSymbolTable();
|
|
6703
6822
|
interpreter.setReference("input", value);
|
|
6704
6823
|
const result = interpreter.interpret();
|
|
6705
|
-
if (result instanceof
|
|
6824
|
+
if (result instanceof chunkOABJLZRZ_cjs.BooleanSymbol && result.value === true) {
|
|
6706
6825
|
return { valid: true, tokenType };
|
|
6707
6826
|
}
|
|
6708
|
-
if (result instanceof
|
|
6827
|
+
if (result instanceof chunkOABJLZRZ_cjs.StringSymbol) {
|
|
6709
6828
|
return {
|
|
6710
6829
|
valid: false,
|
|
6711
6830
|
error: result.value,
|
|
@@ -6732,16 +6851,16 @@ ${spec}` : "";
|
|
|
6732
6851
|
* Extract a Map from various symbol types that can contain key-value pairs.
|
|
6733
6852
|
*/
|
|
6734
6853
|
getValueMap(value) {
|
|
6735
|
-
if (value instanceof
|
|
6854
|
+
if (value instanceof chunkOABJLZRZ_cjs.DictionarySymbol) {
|
|
6736
6855
|
return value.value;
|
|
6737
6856
|
}
|
|
6738
|
-
if (value instanceof
|
|
6857
|
+
if (value instanceof chunkOABJLZRZ_cjs.TokenSymbol && value.value instanceof Map) {
|
|
6739
6858
|
return value.value;
|
|
6740
6859
|
}
|
|
6741
6860
|
return null;
|
|
6742
6861
|
}
|
|
6743
6862
|
};
|
|
6744
|
-
|
|
6863
|
+
chunkZMMIYWFF_cjs.__name(_TokenManager, "TokenManager");
|
|
6745
6864
|
var TokenManager = _TokenManager;
|
|
6746
6865
|
var parseUnitSpec = schemaValidation.Unit.parseUnitSpec;
|
|
6747
6866
|
schemaValidation.Unit.safeParseUnitSpec;
|
|
@@ -6886,11 +7005,11 @@ var _UnitManager = class _UnitManager extends BaseManager {
|
|
|
6886
7005
|
const sourceUri = conversion.source === "$self" ? uri : conversion.source;
|
|
6887
7006
|
const targetUri = conversion.target === "$self" ? uri : conversion.target;
|
|
6888
7007
|
const { ast } = parseExpression(conversion.script.script);
|
|
6889
|
-
const fn = /* @__PURE__ */
|
|
7008
|
+
const fn = /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((unit) => {
|
|
6890
7009
|
const config = this.createInterpreterConfig({ input: unit });
|
|
6891
7010
|
const result = new Interpreter(ast, config).interpret();
|
|
6892
|
-
if (!(result instanceof
|
|
6893
|
-
throw new
|
|
7011
|
+
if (!(result instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol)) {
|
|
7012
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("UNIT_CONVERSION_CRASHED" /* CONVERSION_CRASHED */, {
|
|
6894
7013
|
data: { error: "Unit conversion function must return a NumberWithUnitSymbol" }
|
|
6895
7014
|
});
|
|
6896
7015
|
}
|
|
@@ -6929,16 +7048,16 @@ ${spec}` : "";
|
|
|
6929
7048
|
convertTo(unit, targetUri) {
|
|
6930
7049
|
const sourceUri = this.getUriByKeyword(unit.unit);
|
|
6931
7050
|
if (!sourceUri) {
|
|
6932
|
-
throw new
|
|
7051
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("UNIT_SOURCE_URI_NOT_FOUND" /* SOURCE_URI_NOT_FOUND */, {
|
|
6933
7052
|
data: { unit: unit.unit }
|
|
6934
7053
|
});
|
|
6935
7054
|
}
|
|
6936
7055
|
try {
|
|
6937
7056
|
return this.convertThroughPath(unit, sourceUri, targetUri);
|
|
6938
7057
|
} catch (error) {
|
|
6939
|
-
throw new
|
|
7058
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("UNIT_CONVERSION_CRASHED" /* CONVERSION_CRASHED */, {
|
|
6940
7059
|
data: {
|
|
6941
|
-
error:
|
|
7060
|
+
error: chunkOABJLZRZ_cjs.isLanguageError(error) ? error : chunkOABJLZRZ_cjs.serializeError(error)
|
|
6942
7061
|
}
|
|
6943
7062
|
});
|
|
6944
7063
|
}
|
|
@@ -6946,7 +7065,7 @@ ${spec}` : "";
|
|
|
6946
7065
|
isOneNumberRelative(inputs) {
|
|
6947
7066
|
let relativeCount = 0;
|
|
6948
7067
|
for (const input of inputs) {
|
|
6949
|
-
if (input instanceof
|
|
7068
|
+
if (input instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol) {
|
|
6950
7069
|
const spec = this.getSpecByKeyword(input.unit);
|
|
6951
7070
|
if (spec?.type === "relative") {
|
|
6952
7071
|
relativeCount++;
|
|
@@ -6957,14 +7076,14 @@ ${spec}` : "";
|
|
|
6957
7076
|
}
|
|
6958
7077
|
convertRelative(numbers) {
|
|
6959
7078
|
if (numbers.length !== 2) {
|
|
6960
|
-
throw new
|
|
7079
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("UNIT_RELATIVE_REQUIRES_TWO_NUMBERS" /* RELATIVE_REQUIRES_TWO_NUMBERS */);
|
|
6961
7080
|
}
|
|
6962
7081
|
let relativeNum = null;
|
|
6963
7082
|
let baseNum = null;
|
|
6964
7083
|
let relativeIndex = -1;
|
|
6965
7084
|
for (let i = 0; i < numbers.length; i++) {
|
|
6966
7085
|
const num = numbers[i];
|
|
6967
|
-
if (num instanceof
|
|
7086
|
+
if (num instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol) {
|
|
6968
7087
|
const spec2 = this.getSpecByKeyword(num.unit);
|
|
6969
7088
|
if (spec2?.type === "relative") {
|
|
6970
7089
|
if (relativeNum !== null) {
|
|
@@ -6984,13 +7103,13 @@ ${spec}` : "";
|
|
|
6984
7103
|
}
|
|
6985
7104
|
const spec = this.getSpecByKeyword(relativeNum.unit);
|
|
6986
7105
|
if (!spec?.to_absolute) {
|
|
6987
|
-
throw new
|
|
7106
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("UNIT_NO_TO_ABSOLUTE_SCRIPT" /* NO_TO_ABSOLUTE_SCRIPT */, {
|
|
6988
7107
|
data: { unit: relativeNum.unit }
|
|
6989
7108
|
});
|
|
6990
7109
|
}
|
|
6991
7110
|
const { ast } = parseExpression(spec.to_absolute.script);
|
|
6992
|
-
const relativeValueSymbol = new
|
|
6993
|
-
const otherValueSymbol = new
|
|
7111
|
+
const relativeValueSymbol = new chunkOABJLZRZ_cjs.NumberSymbol(relativeNum.value);
|
|
7112
|
+
const otherValueSymbol = new chunkOABJLZRZ_cjs.NumberSymbol(baseNum.value);
|
|
6994
7113
|
const result = new Interpreter(ast, {
|
|
6995
7114
|
references: {
|
|
6996
7115
|
relative_value: relativeValueSymbol,
|
|
@@ -6998,21 +7117,21 @@ ${spec}` : "";
|
|
|
6998
7117
|
}
|
|
6999
7118
|
}).interpret();
|
|
7000
7119
|
let convertedValue;
|
|
7001
|
-
if (result instanceof
|
|
7120
|
+
if (result instanceof chunkOABJLZRZ_cjs.NumberSymbol) {
|
|
7002
7121
|
convertedValue = result.value;
|
|
7003
7122
|
} else if (typeof result === "number") {
|
|
7004
7123
|
convertedValue = result;
|
|
7005
7124
|
} else {
|
|
7006
|
-
throw new
|
|
7125
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("UNIT_TO_ABSOLUTE_MUST_RETURN_NUMBER" /* TO_ABSOLUTE_MUST_RETURN_NUMBER */);
|
|
7007
7126
|
}
|
|
7008
7127
|
if (Number.isInteger(convertedValue)) {
|
|
7009
7128
|
convertedValue = Math.trunc(convertedValue);
|
|
7010
7129
|
}
|
|
7011
7130
|
let convertedNum;
|
|
7012
|
-
if (baseNum instanceof
|
|
7013
|
-
convertedNum = new
|
|
7131
|
+
if (baseNum instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol) {
|
|
7132
|
+
convertedNum = new chunkOABJLZRZ_cjs.NumberWithUnitSymbol(convertedValue, baseNum.unit);
|
|
7014
7133
|
} else {
|
|
7015
|
-
convertedNum = new
|
|
7134
|
+
convertedNum = new chunkOABJLZRZ_cjs.NumberSymbol(convertedValue);
|
|
7016
7135
|
}
|
|
7017
7136
|
const resultNumbers = [...numbers];
|
|
7018
7137
|
resultNumbers[relativeIndex] = convertedNum;
|
|
@@ -7023,7 +7142,7 @@ ${spec}` : "";
|
|
|
7023
7142
|
return [];
|
|
7024
7143
|
}
|
|
7025
7144
|
const numberWithUnits = inputs.filter(
|
|
7026
|
-
(inp) => inp instanceof
|
|
7145
|
+
(inp) => inp instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol
|
|
7027
7146
|
);
|
|
7028
7147
|
if (numberWithUnits.length < 1) {
|
|
7029
7148
|
return inputs;
|
|
@@ -7031,7 +7150,7 @@ ${spec}` : "";
|
|
|
7031
7150
|
const isRelative = this.isOneNumberRelative(inputs);
|
|
7032
7151
|
if (isRelative) {
|
|
7033
7152
|
if (inputs.length > 2) {
|
|
7034
|
-
throw new
|
|
7153
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("UNIT_CANNOT_CONVERT_MULTIPLE_RELATIVE" /* CANNOT_CONVERT_MULTIPLE_RELATIVE */);
|
|
7035
7154
|
}
|
|
7036
7155
|
return this.convertRelative(inputs);
|
|
7037
7156
|
}
|
|
@@ -7043,7 +7162,7 @@ ${spec}` : "";
|
|
|
7043
7162
|
conversionResults[unitUri] = [];
|
|
7044
7163
|
let canConvert = true;
|
|
7045
7164
|
for (const inp of inputs) {
|
|
7046
|
-
if (!(inp instanceof
|
|
7165
|
+
if (!(inp instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol)) {
|
|
7047
7166
|
conversionResults[unitUri].push(inp);
|
|
7048
7167
|
continue;
|
|
7049
7168
|
}
|
|
@@ -7077,7 +7196,7 @@ ${spec}` : "";
|
|
|
7077
7196
|
maxPerUri[uri] = maxValue;
|
|
7078
7197
|
}
|
|
7079
7198
|
if (Object.keys(maxPerUri).length === 0) {
|
|
7080
|
-
throw new
|
|
7199
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("UNIT_NO_VALID_CONVERSION_PATH" /* NO_VALID_CONVERSION_PATH */);
|
|
7081
7200
|
}
|
|
7082
7201
|
const commonUnitUri = Object.keys(maxPerUri).reduce(
|
|
7083
7202
|
(a, b) => maxPerUri[a] > maxPerUri[b] ? a : b
|
|
@@ -7085,7 +7204,7 @@ ${spec}` : "";
|
|
|
7085
7204
|
return conversionResults[commonUnitUri] || [];
|
|
7086
7205
|
}
|
|
7087
7206
|
};
|
|
7088
|
-
|
|
7207
|
+
chunkZMMIYWFF_cjs.__name(_UnitManager, "UnitManager");
|
|
7089
7208
|
var UnitManager = _UnitManager;
|
|
7090
7209
|
|
|
7091
7210
|
// src/interpreter/config/config.ts
|
|
@@ -7121,17 +7240,17 @@ var _Config = class _Config {
|
|
|
7121
7240
|
if (lowerBaseType === "color") {
|
|
7122
7241
|
if (subType) {
|
|
7123
7242
|
if (!this.colorManager.getSpecByType(subType)) {
|
|
7124
|
-
throw new
|
|
7243
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("CFG_NO_SPEC_FOUND" /* NO_SPEC_FOUND */, {
|
|
7125
7244
|
data: { specName: subType }
|
|
7126
7245
|
});
|
|
7127
7246
|
}
|
|
7128
|
-
return new
|
|
7247
|
+
return new chunkOABJLZRZ_cjs.ColorSymbol(null, subType, null, this);
|
|
7129
7248
|
}
|
|
7130
|
-
return new
|
|
7249
|
+
return new chunkOABJLZRZ_cjs.ColorSymbol(null, void 0, null, this);
|
|
7131
7250
|
}
|
|
7132
|
-
const basicSymbolConstructor =
|
|
7251
|
+
const basicSymbolConstructor = chunkOABJLZRZ_cjs.basicSymbolTypes[baseType.toLowerCase()];
|
|
7133
7252
|
if (!basicSymbolConstructor) {
|
|
7134
|
-
throw new
|
|
7253
|
+
throw new chunkOABJLZRZ_cjs.InterpreterError("CFG_NO_TYPE_FOUND" /* NO_TYPE_FOUND */, {
|
|
7135
7254
|
data: { typeName: baseType }
|
|
7136
7255
|
});
|
|
7137
7256
|
}
|
|
@@ -7144,7 +7263,7 @@ var _Config = class _Config {
|
|
|
7144
7263
|
return true;
|
|
7145
7264
|
}
|
|
7146
7265
|
if (subType) return false;
|
|
7147
|
-
return !!
|
|
7266
|
+
return !!chunkOABJLZRZ_cjs.basicSymbolTypes[lowerBaseType];
|
|
7148
7267
|
}
|
|
7149
7268
|
get inlineConstants() {
|
|
7150
7269
|
return this._inlineConstants;
|
|
@@ -7186,7 +7305,7 @@ var _Config = class _Config {
|
|
|
7186
7305
|
return this;
|
|
7187
7306
|
}
|
|
7188
7307
|
};
|
|
7189
|
-
|
|
7308
|
+
chunkZMMIYWFF_cjs.__name(_Config, "Config");
|
|
7190
7309
|
var Config = _Config;
|
|
7191
7310
|
schemaValidation.Constants.parseConstantsSpec;
|
|
7192
7311
|
schemaValidation.Constants.safeParseConstantsSpec;
|
|
@@ -7195,12 +7314,10 @@ schemaValidation.Constants.specName;
|
|
|
7195
7314
|
|
|
7196
7315
|
// src/lib/eval.ts
|
|
7197
7316
|
function evaluateExpression(expression, options = {}) {
|
|
7198
|
-
const { references = {}, config,
|
|
7317
|
+
const { references = {}, config, mode = "script" } = options;
|
|
7199
7318
|
const startTime = performance.now();
|
|
7200
7319
|
try {
|
|
7201
|
-
const
|
|
7202
|
-
const parser = new Parser(lexer);
|
|
7203
|
-
const ast = parser.parse(allowStatements);
|
|
7320
|
+
const { ast } = parseExpression(expression, { mode });
|
|
7204
7321
|
if (!ast) {
|
|
7205
7322
|
return {
|
|
7206
7323
|
success: true,
|
|
@@ -7214,9 +7331,9 @@ function evaluateExpression(expression, options = {}) {
|
|
|
7214
7331
|
const result = interpreter.interpret();
|
|
7215
7332
|
return {
|
|
7216
7333
|
success: true,
|
|
7217
|
-
result:
|
|
7218
|
-
resultString:
|
|
7219
|
-
type:
|
|
7334
|
+
result: chunkOABJLZRZ_cjs.serializeInterpreterResult(result),
|
|
7335
|
+
resultString: chunkOABJLZRZ_cjs.stringifyInterpreterResult(result),
|
|
7336
|
+
type: chunkOABJLZRZ_cjs.isTokenscriptSymbol(result) ? result.getTypeName() : chunkOABJLZRZ_cjs.getResultTypeName(result),
|
|
7220
7337
|
executionTime: performance.now() - startTime
|
|
7221
7338
|
};
|
|
7222
7339
|
} catch (error) {
|
|
@@ -7227,11 +7344,11 @@ function evaluateExpression(expression, options = {}) {
|
|
|
7227
7344
|
};
|
|
7228
7345
|
}
|
|
7229
7346
|
}
|
|
7230
|
-
|
|
7347
|
+
chunkZMMIYWFF_cjs.__name(evaluateExpression, "evaluateExpression");
|
|
7231
7348
|
|
|
7232
7349
|
// src/interpreter/tolerant/index.ts
|
|
7233
7350
|
function parseTolerantly(text) {
|
|
7234
|
-
const lexer = new Lexer(text, { tolerant: true });
|
|
7351
|
+
const lexer = new Lexer(text, lexerOptionsForMode("inline", { tolerant: true }));
|
|
7235
7352
|
try {
|
|
7236
7353
|
const parser = new Parser(lexer, { tolerant: true });
|
|
7237
7354
|
const ast = parser.parse(true);
|
|
@@ -7252,12 +7369,12 @@ function parseTolerantly(text) {
|
|
|
7252
7369
|
};
|
|
7253
7370
|
}
|
|
7254
7371
|
}
|
|
7255
|
-
|
|
7372
|
+
chunkZMMIYWFF_cjs.__name(parseTolerantly, "parseTolerantly");
|
|
7256
7373
|
function tokenizeTolerantly(text) {
|
|
7257
|
-
const lexer = new Lexer(text, { tolerant: true });
|
|
7374
|
+
const lexer = new Lexer(text, lexerOptionsForMode("inline", { tolerant: true }));
|
|
7258
7375
|
return lexer.tokenizeAll();
|
|
7259
7376
|
}
|
|
7260
|
-
|
|
7377
|
+
chunkZMMIYWFF_cjs.__name(tokenizeTolerantly, "tokenizeTolerantly");
|
|
7261
7378
|
function collectAllReferences(ast) {
|
|
7262
7379
|
if (!ast) return [];
|
|
7263
7380
|
const refs = [];
|
|
@@ -7270,7 +7387,7 @@ function collectAllReferences(ast) {
|
|
|
7270
7387
|
});
|
|
7271
7388
|
return refs;
|
|
7272
7389
|
}
|
|
7273
|
-
|
|
7390
|
+
chunkZMMIYWFF_cjs.__name(collectAllReferences, "collectAllReferences");
|
|
7274
7391
|
var PARTIAL_FOUND = Symbol("PARTIAL_FOUND");
|
|
7275
7392
|
function hasPartialNodes(ast) {
|
|
7276
7393
|
if (!ast) return false;
|
|
@@ -7286,7 +7403,7 @@ function hasPartialNodes(ast) {
|
|
|
7286
7403
|
throw e;
|
|
7287
7404
|
}
|
|
7288
7405
|
}
|
|
7289
|
-
|
|
7406
|
+
chunkZMMIYWFF_cjs.__name(hasPartialNodes, "hasPartialNodes");
|
|
7290
7407
|
|
|
7291
7408
|
// src/lib/interpreter.ts
|
|
7292
7409
|
var ASTNodes = {
|
|
@@ -7341,6 +7458,7 @@ exports.getBrokenReferences = getBrokenReferences;
|
|
|
7341
7458
|
exports.getModifiedDependants = getModifiedDependants;
|
|
7342
7459
|
exports.getRenamedReferences = getRenamedReferences;
|
|
7343
7460
|
exports.hasPartialNodes = hasPartialNodes;
|
|
7461
|
+
exports.lexerOptionsForMode = lexerOptionsForMode;
|
|
7344
7462
|
exports.parseExpression = parseExpression;
|
|
7345
7463
|
exports.parseTolerantly = parseTolerantly;
|
|
7346
7464
|
exports.processTokenSets = processTokenSets;
|
|
@@ -7350,5 +7468,5 @@ exports.tokenizeTolerantly = tokenizeTolerantly;
|
|
|
7350
7468
|
exports.validateTokenName = validateTokenName;
|
|
7351
7469
|
exports.validateTokenPath = validateTokenPath;
|
|
7352
7470
|
exports.walkAST = walkAST;
|
|
7353
|
-
//# sourceMappingURL=chunk-
|
|
7354
|
-
//# sourceMappingURL=chunk-
|
|
7471
|
+
//# sourceMappingURL=chunk-KX5QZ5G2.cjs.map
|
|
7472
|
+
//# sourceMappingURL=chunk-KX5QZ5G2.cjs.map
|