@danielx/civet 0.5.83 → 0.5.85
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/browser.js +514 -228
- package/dist/civet +0 -0
- package/dist/main.js +514 -228
- package/dist/main.mjs +514 -228
- package/package.json +1 -1
package/dist/main.js
CHANGED
|
@@ -128,16 +128,209 @@ var require_lib = __commonJS({
|
|
|
128
128
|
function gatherRecursiveWithinFunction(node, predicate) {
|
|
129
129
|
return gatherRecursive(node, predicate, isFunction);
|
|
130
130
|
}
|
|
131
|
+
function insertTrimmingSpace(target, c) {
|
|
132
|
+
if (!target)
|
|
133
|
+
return target;
|
|
134
|
+
if (Array.isArray(target))
|
|
135
|
+
return target.map((e, i) => {
|
|
136
|
+
if (i === 0)
|
|
137
|
+
return insertTrimmingSpace(e, c);
|
|
138
|
+
return e;
|
|
139
|
+
});
|
|
140
|
+
if (target.children)
|
|
141
|
+
return Object.assign({}, target, {
|
|
142
|
+
children: target.children.map((e, i) => {
|
|
143
|
+
if (i === 0)
|
|
144
|
+
return insertTrimmingSpace(e, c);
|
|
145
|
+
return e;
|
|
146
|
+
})
|
|
147
|
+
});
|
|
148
|
+
if (target.token)
|
|
149
|
+
return Object.assign({}, target, {
|
|
150
|
+
token: target.token.replace(/^ ?/, c)
|
|
151
|
+
});
|
|
152
|
+
return target;
|
|
153
|
+
}
|
|
154
|
+
function getTrimmingSpace(target) {
|
|
155
|
+
if (!target)
|
|
156
|
+
return;
|
|
157
|
+
if (Array.isArray(target))
|
|
158
|
+
return getTrimmingSpace(target[0]);
|
|
159
|
+
if (target.children)
|
|
160
|
+
return getTrimmingSpace(target.children[0]);
|
|
161
|
+
if (target.token)
|
|
162
|
+
return target.token.match(/^ ?/)[0];
|
|
163
|
+
}
|
|
164
|
+
function needsRef(exp) {
|
|
165
|
+
switch (exp.type) {
|
|
166
|
+
case "Identifier":
|
|
167
|
+
case "Literal":
|
|
168
|
+
case "Ref":
|
|
169
|
+
return false;
|
|
170
|
+
default:
|
|
171
|
+
return true;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
function maybeRef(exp, base = "ref") {
|
|
175
|
+
if (!needsRef(exp))
|
|
176
|
+
return exp;
|
|
177
|
+
return {
|
|
178
|
+
type: "Ref",
|
|
179
|
+
base,
|
|
180
|
+
id: base
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
function literalValue(literal) {
|
|
184
|
+
let { raw } = literal;
|
|
185
|
+
switch (raw) {
|
|
186
|
+
case "null":
|
|
187
|
+
return null;
|
|
188
|
+
case "true":
|
|
189
|
+
return true;
|
|
190
|
+
case "false":
|
|
191
|
+
return false;
|
|
192
|
+
}
|
|
193
|
+
if (raw.startsWith('"') && raw.endsWith('"') || raw.startsWith("'") && raw.endsWith("'")) {
|
|
194
|
+
return raw.slice(1, -1);
|
|
195
|
+
}
|
|
196
|
+
const numeric = literal.children.find(
|
|
197
|
+
(child) => child.type === "NumericLiteral"
|
|
198
|
+
);
|
|
199
|
+
if (numeric) {
|
|
200
|
+
raw = raw.replace(/_/g, "");
|
|
201
|
+
const { token } = numeric;
|
|
202
|
+
if (token.endsWith("n")) {
|
|
203
|
+
return BigInt(raw.slice(0, -1));
|
|
204
|
+
} else if (token.match(/[\.eE]/)) {
|
|
205
|
+
return parseFloat(raw);
|
|
206
|
+
} else if (token.startsWith("0")) {
|
|
207
|
+
switch (token.charAt(1).toLowerCase()) {
|
|
208
|
+
case "x":
|
|
209
|
+
return parseInt(raw.replace(/0[xX]/, ""), 16);
|
|
210
|
+
case "b":
|
|
211
|
+
return parseInt(raw.replace(/0[bB]/, ""), 2);
|
|
212
|
+
case "o":
|
|
213
|
+
return parseInt(raw.replace(/0[oO]/, ""), 8);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
return parseInt(raw, 10);
|
|
217
|
+
}
|
|
218
|
+
throw new Error("Unrecognized literal " + JSON.stringify(literal));
|
|
219
|
+
}
|
|
220
|
+
function forRange(open, forDeclaration, range, stepExp, close) {
|
|
221
|
+
const { start, end, inclusive } = range;
|
|
222
|
+
const counterRef = {
|
|
223
|
+
type: "Ref",
|
|
224
|
+
base: "i",
|
|
225
|
+
id: "i"
|
|
226
|
+
};
|
|
227
|
+
let stepRef;
|
|
228
|
+
if (stepExp) {
|
|
229
|
+
stepExp = insertTrimmingSpace(stepExp, "");
|
|
230
|
+
stepRef = maybeRef(stepExp, "step");
|
|
231
|
+
}
|
|
232
|
+
const startRef = maybeRef(start, "start");
|
|
233
|
+
const endRef = maybeRef(end, "end");
|
|
234
|
+
const startRefDec = startRef !== start ? [startRef, " = ", start, ", "] : [];
|
|
235
|
+
const endRefDec = endRef !== end ? [endRef, " = ", end, ", "] : [];
|
|
236
|
+
let ascDec = [], ascRef, asc;
|
|
237
|
+
if (stepRef) {
|
|
238
|
+
if (stepRef !== stepExp) {
|
|
239
|
+
ascDec = [", ", stepRef, " = ", stepExp];
|
|
240
|
+
}
|
|
241
|
+
} else if (start.type === "Literal" && end.type === "Literal") {
|
|
242
|
+
asc = literalValue(start) <= literalValue(end);
|
|
243
|
+
} else {
|
|
244
|
+
ascRef = {
|
|
245
|
+
type: "Ref",
|
|
246
|
+
base: "asc",
|
|
247
|
+
id: "asc"
|
|
248
|
+
};
|
|
249
|
+
ascDec = [", ", ascRef, " = ", startRef, " <= ", endRef];
|
|
250
|
+
}
|
|
251
|
+
let varAssign = [], varLetAssign = varAssign, varLet = varAssign, blockPrefix;
|
|
252
|
+
if (forDeclaration?.declare) {
|
|
253
|
+
if (forDeclaration.declare.token === "let") {
|
|
254
|
+
const varName = forDeclaration.children.splice(1);
|
|
255
|
+
varAssign = [...insertTrimmingSpace(varName, ""), " = "];
|
|
256
|
+
varLet = [",", ...varName, " = ", counterRef];
|
|
257
|
+
} else {
|
|
258
|
+
blockPrefix = [
|
|
259
|
+
["", forDeclaration, " = ", counterRef, ";\n"]
|
|
260
|
+
];
|
|
261
|
+
}
|
|
262
|
+
} else if (forDeclaration) {
|
|
263
|
+
varAssign = varLetAssign = [forDeclaration, " = "];
|
|
264
|
+
blockPrefix = [
|
|
265
|
+
["", {
|
|
266
|
+
type: "AssignmentExpression",
|
|
267
|
+
children: [],
|
|
268
|
+
names: forDeclaration.names
|
|
269
|
+
}]
|
|
270
|
+
];
|
|
271
|
+
}
|
|
272
|
+
const declaration = {
|
|
273
|
+
type: "Declaration",
|
|
274
|
+
children: ["let ", ...startRefDec, ...endRefDec, counterRef, " = ", ...varLetAssign, startRef, ...varLet, ...ascDec],
|
|
275
|
+
names: forDeclaration?.names
|
|
276
|
+
};
|
|
277
|
+
const counterPart = inclusive ? [counterRef, " <= ", endRef, " : ", counterRef, " >= ", endRef] : [counterRef, " < ", endRef, " : ", counterRef, " > ", endRef];
|
|
278
|
+
const condition = stepRef ? [stepRef, " !== 0 && (", stepRef, " > 0 ? ", ...counterPart, ")"] : ascRef ? [ascRef, " ? ", ...counterPart] : asc ? counterPart.slice(0, 3) : counterPart.slice(4);
|
|
279
|
+
const increment = stepRef ? [...varAssign, counterRef, " += ", stepRef] : ascRef ? [...varAssign, ascRef, " ? ++", counterRef, " : --", counterRef] : [...varAssign, asc ? "++" : "--", counterRef];
|
|
280
|
+
return {
|
|
281
|
+
declaration,
|
|
282
|
+
children: [open, declaration, "; ", ...condition, "; ", ...increment, close],
|
|
283
|
+
blockPrefix
|
|
284
|
+
};
|
|
285
|
+
}
|
|
286
|
+
function modifyString(str) {
|
|
287
|
+
return str.replace(/(^.?|[^\\]{2})(\\\\)*\n/g, "$1$2\\n");
|
|
288
|
+
}
|
|
289
|
+
function quoteString(str) {
|
|
290
|
+
str = str.replace(/\\/g, "\\\\");
|
|
291
|
+
if (str.includes('"') && !str.includes("'")) {
|
|
292
|
+
return "'" + str.replace(/'/g, "\\'") + "'";
|
|
293
|
+
} else {
|
|
294
|
+
return '"' + str.replace(/"/g, '\\"') + '"';
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
function processCoffeeInterpolation(s, parts, e, $loc) {
|
|
298
|
+
if (parts.length === 0 || parts.length === 1 && parts[0].token != null) {
|
|
299
|
+
return {
|
|
300
|
+
type: "StringLiteral",
|
|
301
|
+
token: parts.length ? `"${modifyString(parts[0].token)}"` : '""',
|
|
302
|
+
$loc
|
|
303
|
+
};
|
|
304
|
+
}
|
|
305
|
+
parts.forEach((part) => {
|
|
306
|
+
if (part.token) {
|
|
307
|
+
const str = part.token.replace(/(`|\$\{)/g, "\\$1");
|
|
308
|
+
part.token = modifyString(str);
|
|
309
|
+
}
|
|
310
|
+
});
|
|
311
|
+
s.token = e.token = "`";
|
|
312
|
+
return {
|
|
313
|
+
type: "TemplateLiteral",
|
|
314
|
+
children: [s, parts, e]
|
|
315
|
+
};
|
|
316
|
+
}
|
|
131
317
|
module2.exports = {
|
|
132
318
|
clone,
|
|
133
319
|
deepCopy,
|
|
320
|
+
forRange,
|
|
134
321
|
gatherNodes,
|
|
135
322
|
gatherRecursive,
|
|
136
323
|
gatherRecursiveAll,
|
|
137
324
|
gatherRecursiveWithinFunction,
|
|
325
|
+
getTrimmingSpace,
|
|
138
326
|
hasAwait,
|
|
139
327
|
hasYield,
|
|
328
|
+
insertTrimmingSpace,
|
|
140
329
|
isFunction,
|
|
330
|
+
literalValue,
|
|
331
|
+
modifyString,
|
|
332
|
+
processCoffeeInterpolation,
|
|
333
|
+
quoteString,
|
|
141
334
|
removeParentPointers
|
|
142
335
|
};
|
|
143
336
|
}
|
|
@@ -704,6 +897,7 @@ ${input.slice(result.pos)}
|
|
|
704
897
|
BracedContent,
|
|
705
898
|
NestedBlockStatements,
|
|
706
899
|
NestedBlockStatement,
|
|
900
|
+
BlockStatementPart,
|
|
707
901
|
Literal,
|
|
708
902
|
LiteralContent,
|
|
709
903
|
NullLiteral,
|
|
@@ -781,6 +975,7 @@ ${input.slice(result.pos)}
|
|
|
781
975
|
ElseExpressionBlock,
|
|
782
976
|
NestedBlockExpressions,
|
|
783
977
|
NestedBlockExpression,
|
|
978
|
+
BlockExpressionPart,
|
|
784
979
|
IterationStatement,
|
|
785
980
|
IterationExpression,
|
|
786
981
|
LoopStatement,
|
|
@@ -797,6 +992,7 @@ ${input.slice(result.pos)}
|
|
|
797
992
|
CoffeeForIndex,
|
|
798
993
|
CoffeeForDeclaration,
|
|
799
994
|
ForStatementParameters,
|
|
995
|
+
ForRangeParameters,
|
|
800
996
|
ForInOfDeclaration,
|
|
801
997
|
ForDeclaration,
|
|
802
998
|
ForBinding,
|
|
@@ -1108,6 +1304,10 @@ ${input.slice(result.pos)}
|
|
|
1108
1304
|
NestedTypeList,
|
|
1109
1305
|
NestedType,
|
|
1110
1306
|
TypeConditional,
|
|
1307
|
+
TypeTemplateSubstitution,
|
|
1308
|
+
TypeTemplateLiteral,
|
|
1309
|
+
CoffeeStringTypeSubstitution,
|
|
1310
|
+
CoffeeInterpolatedDoubleQuotedTypeLiteral,
|
|
1111
1311
|
TypeLiteral,
|
|
1112
1312
|
InlineInterfaceLiteral,
|
|
1113
1313
|
InlineBasicInterfaceProperty,
|
|
@@ -1524,10 +1724,7 @@ ${input.slice(result.pos)}
|
|
|
1524
1724
|
return result;
|
|
1525
1725
|
}
|
|
1526
1726
|
}
|
|
1527
|
-
var TopLevelSingleLineStatements$0 = $
|
|
1528
|
-
var statements = $0;
|
|
1529
|
-
return statements.map(([, statement]) => statement);
|
|
1530
|
-
});
|
|
1727
|
+
var TopLevelSingleLineStatements$0 = $P(TopLevelStatement);
|
|
1531
1728
|
function TopLevelSingleLineStatements(state) {
|
|
1532
1729
|
let eventData;
|
|
1533
1730
|
if (state.events) {
|
|
@@ -1550,10 +1747,10 @@ ${input.slice(result.pos)}
|
|
|
1550
1747
|
return result;
|
|
1551
1748
|
}
|
|
1552
1749
|
}
|
|
1553
|
-
var TopLevelStatement$0 = $TS($S($E(_), ModuleItem, StatementDelimiter), function($skip, $loc, $0, $1, $2, $3) {
|
|
1554
|
-
var ws = $
|
|
1555
|
-
var statement = $
|
|
1556
|
-
var delimiter = $
|
|
1750
|
+
var TopLevelStatement$0 = $TS($S($N(EOS), $E(_), ModuleItem, StatementDelimiter), function($skip, $loc, $0, $1, $2, $3, $4) {
|
|
1751
|
+
var ws = $2;
|
|
1752
|
+
var statement = $3;
|
|
1753
|
+
var delimiter = $4;
|
|
1557
1754
|
if (ws) {
|
|
1558
1755
|
statement = {
|
|
1559
1756
|
...statement,
|
|
@@ -1784,7 +1981,7 @@ ${input.slice(result.pos)}
|
|
|
1784
1981
|
if (args.length === 1 && args[0].type === "IterationExpression" && args[0].subtype !== "DoStatement" && !args[0].async && module2.isEmptyBareBlock(args[0].block)) {
|
|
1785
1982
|
return $skip;
|
|
1786
1983
|
}
|
|
1787
|
-
return [ta?.[0], open,
|
|
1984
|
+
return [ta?.[0], open, insertTrimmingSpace(ws, ""), args, close];
|
|
1788
1985
|
});
|
|
1789
1986
|
function ImplicitArguments(state) {
|
|
1790
1987
|
let eventData;
|
|
@@ -1994,7 +2191,7 @@ ${input.slice(result.pos)}
|
|
|
1994
2191
|
}
|
|
1995
2192
|
var ArgumentList$0 = $S(ArgumentPart, $P($S(CommaDelimiter, $C(NestedImplicitObjectLiteral, NestedArgumentList))));
|
|
1996
2193
|
var ArgumentList$1 = $TS($S(NestedImplicitObjectLiteral), function($skip, $loc, $0, $1) {
|
|
1997
|
-
return
|
|
2194
|
+
return insertTrimmingSpace($1, "");
|
|
1998
2195
|
});
|
|
1999
2196
|
var ArgumentList$2 = NestedArgumentList;
|
|
2000
2197
|
var ArgumentList$3 = $TS($S($E(_), ArgumentPart, $Q($S(CommaDelimiter, $E(_), ArgumentPart))), function($skip, $loc, $0, $1, $2, $3) {
|
|
@@ -2024,7 +2221,7 @@ ${input.slice(result.pos)}
|
|
|
2024
2221
|
}
|
|
2025
2222
|
var NonPipelineArgumentList$0 = $S(NonPipelineArgumentPart, $P($S(CommaDelimiter, $C(NestedImplicitObjectLiteral, NestedArgumentList))));
|
|
2026
2223
|
var NonPipelineArgumentList$1 = $TS($S(NestedImplicitObjectLiteral), function($skip, $loc, $0, $1) {
|
|
2027
|
-
return
|
|
2224
|
+
return insertTrimmingSpace($1, "");
|
|
2028
2225
|
});
|
|
2029
2226
|
var NonPipelineArgumentList$2 = NestedArgumentList;
|
|
2030
2227
|
var NonPipelineArgumentList$3 = $TS($S($E(_), NonPipelineArgumentPart, $Q($S(CommaDelimiter, $E(_), NonPipelineArgumentPart))), function($skip, $loc, $0, $1, $2, $3) {
|
|
@@ -2296,7 +2493,7 @@ ${input.slice(result.pos)}
|
|
|
2296
2493
|
var UnaryExpression$1 = $TS($S(CoffeeDoEnabled, Do, __, $C($S(LeftHandSideExpression, $N($S(__, AssignmentOpSymbol))), ArrowFunction, ExtendedExpression)), function($skip, $loc, $0, $1, $2, $3, $4) {
|
|
2297
2494
|
var ws = $3;
|
|
2298
2495
|
var exp = $4;
|
|
2299
|
-
ws =
|
|
2496
|
+
ws = insertTrimmingSpace(ws, "");
|
|
2300
2497
|
return ["(", ...ws, exp, ")()"];
|
|
2301
2498
|
});
|
|
2302
2499
|
function UnaryExpression(state) {
|
|
@@ -4307,7 +4504,7 @@ ${input.slice(result.pos)}
|
|
|
4307
4504
|
if (after.length) {
|
|
4308
4505
|
const spliceRef = module2.getRef("splice");
|
|
4309
4506
|
blockPrefix = {
|
|
4310
|
-
children: ["[",
|
|
4507
|
+
children: ["[", insertTrimmingSpace(after, ""), "] = ", spliceRef, ".call(", restIdentifier, ", -", after.length.toString(), ")"],
|
|
4311
4508
|
names: after.flatMap((p) => p.names)
|
|
4312
4509
|
};
|
|
4313
4510
|
}
|
|
@@ -5815,7 +6012,7 @@ ${input.slice(result.pos)}
|
|
|
5815
6012
|
var w = $2;
|
|
5816
6013
|
var decl = $3;
|
|
5817
6014
|
decl.names.forEach((name) => module2.operators.add(name));
|
|
5818
|
-
return [
|
|
6015
|
+
return [insertTrimmingSpace(w, ""), decl];
|
|
5819
6016
|
});
|
|
5820
6017
|
var OperatorDeclaration$1 = $TS($S(OperatorSignature, BracedBlock), function($skip, $loc, $0, $1, $2) {
|
|
5821
6018
|
var signature = $1;
|
|
@@ -5871,7 +6068,7 @@ ${input.slice(result.pos)}
|
|
|
5871
6068
|
if (!func) {
|
|
5872
6069
|
func = { $loc: op.$loc, token: "function" };
|
|
5873
6070
|
} else {
|
|
5874
|
-
func = [
|
|
6071
|
+
func = [insertTrimmingSpace(func[0], ""), func[1]];
|
|
5875
6072
|
}
|
|
5876
6073
|
return {
|
|
5877
6074
|
type: "FunctionSignature",
|
|
@@ -6531,6 +6728,7 @@ ${input.slice(result.pos)}
|
|
|
6531
6728
|
var statements = $2;
|
|
6532
6729
|
if (!statements.length)
|
|
6533
6730
|
return $skip;
|
|
6731
|
+
statements = statements.flat();
|
|
6534
6732
|
const first = statements[0];
|
|
6535
6733
|
const ws = first[0];
|
|
6536
6734
|
const indent = ws.at(-1);
|
|
@@ -6567,15 +6765,13 @@ ${input.slice(result.pos)}
|
|
|
6567
6765
|
return result;
|
|
6568
6766
|
}
|
|
6569
6767
|
}
|
|
6570
|
-
var NestedBlockStatement$0 = $TS($S(Nested, $
|
|
6768
|
+
var NestedBlockStatement$0 = $TS($S(Nested, $P(BlockStatementPart)), function($skip, $loc, $0, $1, $2) {
|
|
6571
6769
|
var nested = $1;
|
|
6572
|
-
var
|
|
6573
|
-
|
|
6574
|
-
|
|
6575
|
-
|
|
6576
|
-
|
|
6577
|
-
}
|
|
6578
|
-
return [nested, statement, delimiter];
|
|
6770
|
+
var statements = $2;
|
|
6771
|
+
return [
|
|
6772
|
+
[nested, ...statements[0]],
|
|
6773
|
+
...statements.slice(1).map((s) => ["", ...s])
|
|
6774
|
+
];
|
|
6579
6775
|
});
|
|
6580
6776
|
function NestedBlockStatement(state) {
|
|
6581
6777
|
let eventData;
|
|
@@ -6599,6 +6795,37 @@ ${input.slice(result.pos)}
|
|
|
6599
6795
|
return result;
|
|
6600
6796
|
}
|
|
6601
6797
|
}
|
|
6798
|
+
var BlockStatementPart$0 = $TS($S($N(EOS), $E(_), StatementListItem, StatementDelimiter), function($skip, $loc, $0, $1, $2, $3, $4) {
|
|
6799
|
+
var ws = $2;
|
|
6800
|
+
var statement = $3;
|
|
6801
|
+
var delimiter = $4;
|
|
6802
|
+
if (ws) {
|
|
6803
|
+
statement = { ...statement, children: [ws, ...statement.children] };
|
|
6804
|
+
}
|
|
6805
|
+
return [statement, delimiter];
|
|
6806
|
+
});
|
|
6807
|
+
function BlockStatementPart(state) {
|
|
6808
|
+
let eventData;
|
|
6809
|
+
if (state.events) {
|
|
6810
|
+
const result = state.events.enter?.("BlockStatementPart", state);
|
|
6811
|
+
if (result) {
|
|
6812
|
+
if (result.cache)
|
|
6813
|
+
return result.cache;
|
|
6814
|
+
eventData = result.data;
|
|
6815
|
+
}
|
|
6816
|
+
}
|
|
6817
|
+
if (state.tokenize) {
|
|
6818
|
+
const result = $TOKEN("BlockStatementPart", state, BlockStatementPart$0(state));
|
|
6819
|
+
if (state.events)
|
|
6820
|
+
state.events.exit?.("BlockStatementPart", state, result, eventData);
|
|
6821
|
+
return result;
|
|
6822
|
+
} else {
|
|
6823
|
+
const result = BlockStatementPart$0(state);
|
|
6824
|
+
if (state.events)
|
|
6825
|
+
state.events.exit?.("BlockStatementPart", state, result, eventData);
|
|
6826
|
+
return result;
|
|
6827
|
+
}
|
|
6828
|
+
}
|
|
6602
6829
|
var Literal$0 = $TS($S(LiteralContent), function($skip, $loc, $0, $1) {
|
|
6603
6830
|
return {
|
|
6604
6831
|
type: "Literal",
|
|
@@ -6899,8 +7126,8 @@ ${input.slice(result.pos)}
|
|
|
6899
7126
|
const inclusive = range.token === "..";
|
|
6900
7127
|
range.token = ",";
|
|
6901
7128
|
if (s.type === "Literal" && e.type === "Literal") {
|
|
6902
|
-
const start =
|
|
6903
|
-
const end =
|
|
7129
|
+
const start = literalValue(s);
|
|
7130
|
+
const end = literalValue(e);
|
|
6904
7131
|
if (typeof start !== typeof end) {
|
|
6905
7132
|
throw new Error("Range start and end must be of the same type");
|
|
6906
7133
|
}
|
|
@@ -9203,6 +9430,7 @@ ${input.slice(result.pos)}
|
|
|
9203
9430
|
}
|
|
9204
9431
|
var ExpressionBlock$0 = $TS($S(InsertOpenParen, NestedBlockExpressions, InsertNewline, InsertIndent, InsertCloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
|
|
9205
9432
|
var exps = $2;
|
|
9433
|
+
exps = exps.flat();
|
|
9206
9434
|
if (exps.length === 1) {
|
|
9207
9435
|
let [ws, exp] = exps[0];
|
|
9208
9436
|
switch (exp.type) {
|
|
@@ -9248,6 +9476,7 @@ ${input.slice(result.pos)}
|
|
|
9248
9476
|
}
|
|
9249
9477
|
var ElseExpressionBlock$0 = $TS($S(InsertOpenParen, NestedBlockExpressions, InsertNewline, InsertIndent, InsertCloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
|
|
9250
9478
|
var exps = $2;
|
|
9479
|
+
exps = exps.flat();
|
|
9251
9480
|
if (exps.length === 1) {
|
|
9252
9481
|
let [ws, exp] = exps[0];
|
|
9253
9482
|
switch (exp.type) {
|
|
@@ -9321,7 +9550,14 @@ ${input.slice(result.pos)}
|
|
|
9321
9550
|
return result;
|
|
9322
9551
|
}
|
|
9323
9552
|
}
|
|
9324
|
-
var NestedBlockExpression$0 = $S(Nested,
|
|
9553
|
+
var NestedBlockExpression$0 = $TS($S(Nested, $P(BlockExpressionPart)), function($skip, $loc, $0, $1, $2) {
|
|
9554
|
+
var nested = $1;
|
|
9555
|
+
var expressions = $2;
|
|
9556
|
+
return [
|
|
9557
|
+
[nested, ...expressions[0]],
|
|
9558
|
+
...expressions.slice(1).map((s) => ["", ...s])
|
|
9559
|
+
];
|
|
9560
|
+
});
|
|
9325
9561
|
function NestedBlockExpression(state) {
|
|
9326
9562
|
let eventData;
|
|
9327
9563
|
if (state.events) {
|
|
@@ -9344,6 +9580,37 @@ ${input.slice(result.pos)}
|
|
|
9344
9580
|
return result;
|
|
9345
9581
|
}
|
|
9346
9582
|
}
|
|
9583
|
+
var BlockExpressionPart$0 = $TS($S($N(EOS), $E(_), PostfixedExpression, ExpressionDelimiter), function($skip, $loc, $0, $1, $2, $3, $4) {
|
|
9584
|
+
var ws = $2;
|
|
9585
|
+
var exp = $3;
|
|
9586
|
+
var delimiter = $4;
|
|
9587
|
+
if (ws) {
|
|
9588
|
+
exp = { ...exp, children: [ws, ...exp.children] };
|
|
9589
|
+
}
|
|
9590
|
+
return [exp, delimiter];
|
|
9591
|
+
});
|
|
9592
|
+
function BlockExpressionPart(state) {
|
|
9593
|
+
let eventData;
|
|
9594
|
+
if (state.events) {
|
|
9595
|
+
const result = state.events.enter?.("BlockExpressionPart", state);
|
|
9596
|
+
if (result) {
|
|
9597
|
+
if (result.cache)
|
|
9598
|
+
return result.cache;
|
|
9599
|
+
eventData = result.data;
|
|
9600
|
+
}
|
|
9601
|
+
}
|
|
9602
|
+
if (state.tokenize) {
|
|
9603
|
+
const result = $TOKEN("BlockExpressionPart", state, BlockExpressionPart$0(state));
|
|
9604
|
+
if (state.events)
|
|
9605
|
+
state.events.exit?.("BlockExpressionPart", state, result, eventData);
|
|
9606
|
+
return result;
|
|
9607
|
+
} else {
|
|
9608
|
+
const result = BlockExpressionPart$0(state);
|
|
9609
|
+
if (state.events)
|
|
9610
|
+
state.events.exit?.("BlockExpressionPart", state, result, eventData);
|
|
9611
|
+
return result;
|
|
9612
|
+
}
|
|
9613
|
+
}
|
|
9347
9614
|
var IterationStatement$0 = LoopStatement;
|
|
9348
9615
|
var IterationStatement$1 = $T($S($N(CoffeeDoEnabled), DoWhileStatement), function(value) {
|
|
9349
9616
|
return value[1];
|
|
@@ -9492,7 +9759,7 @@ ${input.slice(result.pos)}
|
|
|
9492
9759
|
}
|
|
9493
9760
|
var DoStatement$0 = $TS($S(Do, NoPostfixBracedBlock), function($skip, $loc, $0, $1, $2) {
|
|
9494
9761
|
var block = $2;
|
|
9495
|
-
block =
|
|
9762
|
+
block = insertTrimmingSpace(block, "");
|
|
9496
9763
|
return {
|
|
9497
9764
|
type: "DoStatement",
|
|
9498
9765
|
children: [block],
|
|
@@ -9594,7 +9861,16 @@ ${input.slice(result.pos)}
|
|
|
9594
9861
|
var clause = $1;
|
|
9595
9862
|
var block = $2;
|
|
9596
9863
|
if (clause.blockPrefix) {
|
|
9597
|
-
|
|
9864
|
+
const expressions = [...clause.blockPrefix, ...block.expressions];
|
|
9865
|
+
block = {
|
|
9866
|
+
...block,
|
|
9867
|
+
expressions,
|
|
9868
|
+
children: block.children === block.expressions ? expressions : block.children.map((c) => c === block.expressions ? expressions : c)
|
|
9869
|
+
};
|
|
9870
|
+
if (block.bare) {
|
|
9871
|
+
block.children = [" {\n", ...block.children, "\n}"];
|
|
9872
|
+
block.bare = false;
|
|
9873
|
+
}
|
|
9598
9874
|
}
|
|
9599
9875
|
return {
|
|
9600
9876
|
...clause,
|
|
@@ -9671,7 +9947,7 @@ ${input.slice(result.pos)}
|
|
|
9671
9947
|
[indent, {
|
|
9672
9948
|
type: "IfStatement",
|
|
9673
9949
|
then: block,
|
|
9674
|
-
children: ["if (!(",
|
|
9950
|
+
children: ["if (!(", insertTrimmingSpace($3, ""), ")) ", block]
|
|
9675
9951
|
}]
|
|
9676
9952
|
]
|
|
9677
9953
|
};
|
|
@@ -9726,7 +10002,7 @@ ${input.slice(result.pos)}
|
|
|
9726
10002
|
return result;
|
|
9727
10003
|
}
|
|
9728
10004
|
}
|
|
9729
|
-
var CoffeeForStatementParameters$0 = $TS($S($E($S(Await, __)), InsertOpenParen, CoffeeForDeclaration, $E(CoffeeForIndex), __, $C(In, Of, From), ExpressionWithIndentedApplicationForbidden, $E($S(
|
|
10005
|
+
var CoffeeForStatementParameters$0 = $TS($S($E($S(Await, __)), InsertOpenParen, CoffeeForDeclaration, $E(CoffeeForIndex), __, $C(In, Of, From), ExpressionWithIndentedApplicationForbidden, $E($S($E(_), By, ExpressionWithIndentedApplicationForbidden)), InsertCloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
9730
10006
|
var open = $2;
|
|
9731
10007
|
var declaration = $3;
|
|
9732
10008
|
var index = $4;
|
|
@@ -9736,8 +10012,8 @@ ${input.slice(result.pos)}
|
|
|
9736
10012
|
var close = $9;
|
|
9737
10013
|
let blockPrefix = [];
|
|
9738
10014
|
const indent = module2.currentIndent.token + " ";
|
|
9739
|
-
exp =
|
|
9740
|
-
declaration =
|
|
10015
|
+
exp = insertTrimmingSpace(exp, "");
|
|
10016
|
+
declaration = insertTrimmingSpace(declaration, "");
|
|
9741
10017
|
if (kind.token === "from") {
|
|
9742
10018
|
if (step) {
|
|
9743
10019
|
throw new Error("Can't use 'by' with 'from' in CoffeeScript for loops");
|
|
@@ -9775,68 +10051,8 @@ ${input.slice(result.pos)}
|
|
|
9775
10051
|
case "Identifier":
|
|
9776
10052
|
expRef = exp;
|
|
9777
10053
|
break;
|
|
9778
|
-
case "RangeExpression":
|
|
9779
|
-
|
|
9780
|
-
let stepExp = step?.[2];
|
|
9781
|
-
let stepRef;
|
|
9782
|
-
if (stepExp) {
|
|
9783
|
-
stepExp = module2.insertTrimmingSpace(stepExp, "");
|
|
9784
|
-
if (stepExp.type === "Literal") {
|
|
9785
|
-
stepRef = stepExp;
|
|
9786
|
-
} else {
|
|
9787
|
-
stepRef = {
|
|
9788
|
-
type: "Ref",
|
|
9789
|
-
base: "step",
|
|
9790
|
-
id: "step"
|
|
9791
|
-
};
|
|
9792
|
-
}
|
|
9793
|
-
}
|
|
9794
|
-
let startRef, endRef;
|
|
9795
|
-
if (start.type === "Literal") {
|
|
9796
|
-
startRef = start;
|
|
9797
|
-
} else if (start.type === "Identifier") {
|
|
9798
|
-
startRef = start;
|
|
9799
|
-
} else {
|
|
9800
|
-
startRef = {
|
|
9801
|
-
type: "Ref",
|
|
9802
|
-
base: "ref",
|
|
9803
|
-
id: "ref"
|
|
9804
|
-
};
|
|
9805
|
-
}
|
|
9806
|
-
if (end.type === "Literal") {
|
|
9807
|
-
endRef = end;
|
|
9808
|
-
} else if (end.type === "Identifier") {
|
|
9809
|
-
endRef = end;
|
|
9810
|
-
} else {
|
|
9811
|
-
endRef = {
|
|
9812
|
-
type: "Ref",
|
|
9813
|
-
base: "ref",
|
|
9814
|
-
id: "ref"
|
|
9815
|
-
};
|
|
9816
|
-
}
|
|
9817
|
-
const startRefDec = startRef !== start ? [startRef, " = ", start, ", "] : [];
|
|
9818
|
-
const endRefDec = endRef !== end ? [endRef, " = ", end, ", "] : [];
|
|
9819
|
-
const varRef2 = declaration;
|
|
9820
|
-
const ascDec = stepRef ? stepRef !== stepExp ? [", step = ", stepExp] : [] : [", asc = ", startRef, " <= ", endRef];
|
|
9821
|
-
declaration = {
|
|
9822
|
-
type: "Declaration",
|
|
9823
|
-
children: ["let ", ...startRefDec, ...endRefDec, counterRef, " = ", varRef2, " = ", startRef, ...ascDec],
|
|
9824
|
-
names: varRef2.names
|
|
9825
|
-
};
|
|
9826
|
-
blockPrefix.push(["", {
|
|
9827
|
-
type: "AssignmentExpression",
|
|
9828
|
-
children: [],
|
|
9829
|
-
names: varRef2.names
|
|
9830
|
-
}]);
|
|
9831
|
-
const counterPart = inclusive ? [counterRef, " <= ", endRef, " : ", counterRef, " >= ", endRef] : [counterRef, " < ", endRef, " : ", counterRef, " > ", endRef];
|
|
9832
|
-
const condition2 = stepRef ? [stepRef, " !== 0 && (", stepRef, " > 0 ? ", ...counterPart, ")"] : ["asc ? ", ...counterPart];
|
|
9833
|
-
const increment2 = stepRef ? [varRef2, " = ", counterRef, " += ", stepRef] : [varRef2, " = asc ? ++", counterRef, " : --", counterRef];
|
|
9834
|
-
return {
|
|
9835
|
-
declaration,
|
|
9836
|
-
children: [$1, open, declaration, "; ", ...condition2, "; ", ...increment2, close],
|
|
9837
|
-
blockPrefix
|
|
9838
|
-
};
|
|
9839
|
-
}
|
|
10054
|
+
case "RangeExpression":
|
|
10055
|
+
return forRange(open, declaration, exp, step?.[2], close);
|
|
9840
10056
|
default:
|
|
9841
10057
|
expRef = {
|
|
9842
10058
|
type: "Ref",
|
|
@@ -9847,11 +10063,11 @@ ${input.slice(result.pos)}
|
|
|
9847
10063
|
const varRef = declaration;
|
|
9848
10064
|
let increment = "++", indexAssignment, assignmentNames = [...varRef.names];
|
|
9849
10065
|
if (index) {
|
|
9850
|
-
index =
|
|
10066
|
+
index = insertTrimmingSpace(index, "");
|
|
9851
10067
|
indexAssignment = [index, "="];
|
|
9852
10068
|
assignmentNames.push(...index.names);
|
|
9853
10069
|
}
|
|
9854
|
-
const expRefDec = expRef !== exp ? [expRef, " = ",
|
|
10070
|
+
const expRefDec = expRef !== exp ? [expRef, " = ", insertTrimmingSpace(exp, ""), ", "] : [];
|
|
9855
10071
|
blockPrefix.push([indent, {
|
|
9856
10072
|
type: "AssignmentExpression",
|
|
9857
10073
|
children: [varRef, " = ", expRef, "[", indexAssignment, counterRef, "]\n"],
|
|
@@ -9865,7 +10081,7 @@ ${input.slice(result.pos)}
|
|
|
9865
10081
|
let condition = [counterRef, " < ", lenRef, "; "];
|
|
9866
10082
|
if (step) {
|
|
9867
10083
|
let [stepWs, , stepExp] = step;
|
|
9868
|
-
stepWs =
|
|
10084
|
+
stepWs = insertTrimmingSpace(stepWs, "");
|
|
9869
10085
|
if (stepExp.type === "Literal") {
|
|
9870
10086
|
increment = [" +=", ...stepWs, stepExp];
|
|
9871
10087
|
if (stepExp.raw[0] === "-") {
|
|
@@ -9897,6 +10113,7 @@ ${input.slice(result.pos)}
|
|
|
9897
10113
|
blockPrefix
|
|
9898
10114
|
};
|
|
9899
10115
|
});
|
|
10116
|
+
var CoffeeForStatementParameters$1 = ForRangeParameters;
|
|
9900
10117
|
function CoffeeForStatementParameters(state) {
|
|
9901
10118
|
let eventData;
|
|
9902
10119
|
if (state.events) {
|
|
@@ -9908,12 +10125,12 @@ ${input.slice(result.pos)}
|
|
|
9908
10125
|
}
|
|
9909
10126
|
}
|
|
9910
10127
|
if (state.tokenize) {
|
|
9911
|
-
const result = $TOKEN("CoffeeForStatementParameters", state, CoffeeForStatementParameters$0(state));
|
|
10128
|
+
const result = $TOKEN("CoffeeForStatementParameters", state, CoffeeForStatementParameters$0(state) || CoffeeForStatementParameters$1(state));
|
|
9912
10129
|
if (state.events)
|
|
9913
10130
|
state.events.exit?.("CoffeeForStatementParameters", state, result, eventData);
|
|
9914
10131
|
return result;
|
|
9915
10132
|
} else {
|
|
9916
|
-
const result = CoffeeForStatementParameters$0(state);
|
|
10133
|
+
const result = CoffeeForStatementParameters$0(state) || CoffeeForStatementParameters$1(state);
|
|
9917
10134
|
if (state.events)
|
|
9918
10135
|
state.events.exit?.("CoffeeForStatementParameters", state, result, eventData);
|
|
9919
10136
|
return result;
|
|
@@ -9923,7 +10140,7 @@ ${input.slice(result.pos)}
|
|
|
9923
10140
|
var ws1 = $1;
|
|
9924
10141
|
var ws2 = $3;
|
|
9925
10142
|
var id = $4;
|
|
9926
|
-
ws2 =
|
|
10143
|
+
ws2 = insertTrimmingSpace(ws1, "");
|
|
9927
10144
|
return {
|
|
9928
10145
|
...id,
|
|
9929
10146
|
children: [...ws1 || [], ...ws2 || [], ...id.children]
|
|
@@ -9997,20 +10214,41 @@ ${input.slice(result.pos)}
|
|
|
9997
10214
|
children: $0
|
|
9998
10215
|
};
|
|
9999
10216
|
});
|
|
10000
|
-
var ForStatementParameters$2 = $TS($S($E($S(Await, __)), OpenParen, __, ForInOfDeclaration, __, $C(In, Of), ExpressionWithIndentedApplicationForbidden, __, CloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
10217
|
+
var ForStatementParameters$2 = $TS($S($E($S(Await, __)), OpenParen, __, ForInOfDeclaration, __, $C(In, Of), ExpressionWithIndentedApplicationForbidden, $E($S(__, By, ExpressionWithIndentedApplicationForbidden)), __, CloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10) {
|
|
10218
|
+
var open = $2;
|
|
10001
10219
|
var declaration = $4;
|
|
10220
|
+
var op = $6;
|
|
10221
|
+
var exp = $7;
|
|
10222
|
+
var step = $8;
|
|
10223
|
+
var close = $10;
|
|
10224
|
+
if (exp.type === "RangeExpression" && op.token === "of") {
|
|
10225
|
+
return forRange(open, declaration, exp, step, close);
|
|
10226
|
+
} else if (step) {
|
|
10227
|
+
throw new Error("for..of/in cannot use 'by' except with range literals");
|
|
10228
|
+
}
|
|
10002
10229
|
return {
|
|
10003
10230
|
declaration,
|
|
10004
10231
|
children: $0
|
|
10005
10232
|
};
|
|
10006
10233
|
});
|
|
10007
|
-
var ForStatementParameters$3 = $TS($S($E($S(Await, __)), InsertOpenParen, ForInOfDeclaration, __, $C(In, Of), ExpressionWithIndentedApplicationForbidden, InsertCloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
|
|
10234
|
+
var ForStatementParameters$3 = $TS($S($E($S(Await, __)), InsertOpenParen, ForInOfDeclaration, __, $C(In, Of), ExpressionWithIndentedApplicationForbidden, $E($S(__, By, ExpressionWithIndentedApplicationForbidden)), InsertCloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
|
|
10235
|
+
var open = $2;
|
|
10008
10236
|
var declaration = $3;
|
|
10237
|
+
var op = $5;
|
|
10238
|
+
var exp = $6;
|
|
10239
|
+
var step = $7;
|
|
10240
|
+
var close = $8;
|
|
10241
|
+
if (exp.type === "RangeExpression" && op.token === "of") {
|
|
10242
|
+
return forRange(open, declaration, exp, step, close);
|
|
10243
|
+
} else if (step) {
|
|
10244
|
+
throw new Error("for..of/in cannot use 'by' except with range literals");
|
|
10245
|
+
}
|
|
10009
10246
|
return {
|
|
10010
10247
|
declaration,
|
|
10011
10248
|
children: $0
|
|
10012
10249
|
};
|
|
10013
10250
|
});
|
|
10251
|
+
var ForStatementParameters$4 = ForRangeParameters;
|
|
10014
10252
|
function ForStatementParameters(state) {
|
|
10015
10253
|
let eventData;
|
|
10016
10254
|
if (state.events) {
|
|
@@ -10022,22 +10260,59 @@ ${input.slice(result.pos)}
|
|
|
10022
10260
|
}
|
|
10023
10261
|
}
|
|
10024
10262
|
if (state.tokenize) {
|
|
10025
|
-
const result = $TOKEN("ForStatementParameters", state, ForStatementParameters$0(state) || ForStatementParameters$1(state) || ForStatementParameters$2(state) || ForStatementParameters$3(state));
|
|
10263
|
+
const result = $TOKEN("ForStatementParameters", state, ForStatementParameters$0(state) || ForStatementParameters$1(state) || ForStatementParameters$2(state) || ForStatementParameters$3(state) || ForStatementParameters$4(state));
|
|
10026
10264
|
if (state.events)
|
|
10027
10265
|
state.events.exit?.("ForStatementParameters", state, result, eventData);
|
|
10028
10266
|
return result;
|
|
10029
10267
|
} else {
|
|
10030
|
-
const result = ForStatementParameters$0(state) || ForStatementParameters$1(state) || ForStatementParameters$2(state) || ForStatementParameters$3(state);
|
|
10268
|
+
const result = ForStatementParameters$0(state) || ForStatementParameters$1(state) || ForStatementParameters$2(state) || ForStatementParameters$3(state) || ForStatementParameters$4(state);
|
|
10031
10269
|
if (state.events)
|
|
10032
10270
|
state.events.exit?.("ForStatementParameters", state, result, eventData);
|
|
10033
10271
|
return result;
|
|
10034
10272
|
}
|
|
10035
10273
|
}
|
|
10274
|
+
var ForRangeParameters$0 = $TS($S($E($S(Await, __)), OpenParen, OpenBracket, RangeExpression, CloseBracket, $E($S(__, By, ExpressionWithIndentedApplicationForbidden)), CloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
|
|
10275
|
+
var open = $2;
|
|
10276
|
+
var exp = $4;
|
|
10277
|
+
var step = $6;
|
|
10278
|
+
var close = $7;
|
|
10279
|
+
return forRange(open, null, exp, step, close);
|
|
10280
|
+
});
|
|
10281
|
+
var ForRangeParameters$1 = $TS($S($E($S(Await, __)), InsertOpenParen, OpenBracket, RangeExpression, CloseBracket, $E($S(__, By, ExpressionWithIndentedApplicationForbidden)), InsertCloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
|
|
10282
|
+
var open = $2;
|
|
10283
|
+
var exp = $4;
|
|
10284
|
+
var step = $6;
|
|
10285
|
+
var close = $7;
|
|
10286
|
+
return forRange(open, null, exp, step, close);
|
|
10287
|
+
});
|
|
10288
|
+
function ForRangeParameters(state) {
|
|
10289
|
+
let eventData;
|
|
10290
|
+
if (state.events) {
|
|
10291
|
+
const result = state.events.enter?.("ForRangeParameters", state);
|
|
10292
|
+
if (result) {
|
|
10293
|
+
if (result.cache)
|
|
10294
|
+
return result.cache;
|
|
10295
|
+
eventData = result.data;
|
|
10296
|
+
}
|
|
10297
|
+
}
|
|
10298
|
+
if (state.tokenize) {
|
|
10299
|
+
const result = $TOKEN("ForRangeParameters", state, ForRangeParameters$0(state) || ForRangeParameters$1(state));
|
|
10300
|
+
if (state.events)
|
|
10301
|
+
state.events.exit?.("ForRangeParameters", state, result, eventData);
|
|
10302
|
+
return result;
|
|
10303
|
+
} else {
|
|
10304
|
+
const result = ForRangeParameters$0(state) || ForRangeParameters$1(state);
|
|
10305
|
+
if (state.events)
|
|
10306
|
+
state.events.exit?.("ForRangeParameters", state, result, eventData);
|
|
10307
|
+
return result;
|
|
10308
|
+
}
|
|
10309
|
+
}
|
|
10036
10310
|
var ForInOfDeclaration$0 = $TS($S(Var, ForBinding), function($skip, $loc, $0, $1, $2) {
|
|
10037
10311
|
var binding = $2;
|
|
10038
10312
|
return {
|
|
10039
10313
|
type: "ForDeclaration",
|
|
10040
10314
|
children: $0,
|
|
10315
|
+
declare: $1,
|
|
10041
10316
|
names: binding.names
|
|
10042
10317
|
};
|
|
10043
10318
|
});
|
|
@@ -10065,12 +10340,13 @@ ${input.slice(result.pos)}
|
|
|
10065
10340
|
return result;
|
|
10066
10341
|
}
|
|
10067
10342
|
}
|
|
10068
|
-
var ForDeclaration$0 = $TS($S(LetOrConst,
|
|
10343
|
+
var ForDeclaration$0 = $TS($S(LetOrConst, ForBinding), function($skip, $loc, $0, $1, $2) {
|
|
10069
10344
|
var c = $1;
|
|
10070
|
-
var binding = $
|
|
10345
|
+
var binding = $2;
|
|
10071
10346
|
return {
|
|
10072
10347
|
type: "ForDeclaration",
|
|
10073
10348
|
children: [c, binding],
|
|
10349
|
+
declare: c,
|
|
10074
10350
|
names: binding.names
|
|
10075
10351
|
};
|
|
10076
10352
|
});
|
|
@@ -10080,6 +10356,7 @@ ${input.slice(result.pos)}
|
|
|
10080
10356
|
return {
|
|
10081
10357
|
type: "ForDeclaration",
|
|
10082
10358
|
children: [c, binding],
|
|
10359
|
+
declare: c,
|
|
10083
10360
|
names: binding.names
|
|
10084
10361
|
};
|
|
10085
10362
|
});
|
|
@@ -10406,9 +10683,9 @@ ${input.slice(result.pos)}
|
|
|
10406
10683
|
if (!first)
|
|
10407
10684
|
return $skip;
|
|
10408
10685
|
const result = rest.map(([ws, _comma, exp, col]) => {
|
|
10409
|
-
exp =
|
|
10686
|
+
exp = insertTrimmingSpace(exp, "");
|
|
10410
10687
|
if (ws.length)
|
|
10411
|
-
return [
|
|
10688
|
+
return [insertTrimmingSpace("case ", ws), exp, col];
|
|
10412
10689
|
return ["case ", exp, col];
|
|
10413
10690
|
});
|
|
10414
10691
|
result.unshift(first);
|
|
@@ -10658,7 +10935,7 @@ ${input.slice(result.pos)}
|
|
|
10658
10935
|
var close = $3;
|
|
10659
10936
|
if (expression.type === "ParenthesizedExpression")
|
|
10660
10937
|
return expression;
|
|
10661
|
-
expression =
|
|
10938
|
+
expression = insertTrimmingSpace(expression, "");
|
|
10662
10939
|
return {
|
|
10663
10940
|
type: "ParenthesizedExpression",
|
|
10664
10941
|
children: [open, expression, close],
|
|
@@ -11639,7 +11916,7 @@ ${input.slice(result.pos)}
|
|
|
11639
11916
|
...spec,
|
|
11640
11917
|
children: [
|
|
11641
11918
|
ws,
|
|
11642
|
-
|
|
11919
|
+
insertTrimmingSpace(spec[0], ""),
|
|
11643
11920
|
spec.children.slice(1)
|
|
11644
11921
|
]
|
|
11645
11922
|
};
|
|
@@ -12699,7 +12976,7 @@ ${input.slice(result.pos)}
|
|
|
12699
12976
|
var str = $2;
|
|
12700
12977
|
return {
|
|
12701
12978
|
type: "StringLiteral",
|
|
12702
|
-
token: `"${
|
|
12979
|
+
token: `"${modifyString(str.token)}"`,
|
|
12703
12980
|
$loc
|
|
12704
12981
|
};
|
|
12705
12982
|
});
|
|
@@ -12707,7 +12984,7 @@ ${input.slice(result.pos)}
|
|
|
12707
12984
|
var str = $2;
|
|
12708
12985
|
return {
|
|
12709
12986
|
type: "StringLiteral",
|
|
12710
|
-
token: `'${
|
|
12987
|
+
token: `'${modifyString(str.token)}'`,
|
|
12711
12988
|
$loc
|
|
12712
12989
|
};
|
|
12713
12990
|
});
|
|
@@ -12860,24 +13137,7 @@ ${input.slice(result.pos)}
|
|
|
12860
13137
|
var s = $2;
|
|
12861
13138
|
var parts = $3;
|
|
12862
13139
|
var e = $4;
|
|
12863
|
-
|
|
12864
|
-
return {
|
|
12865
|
-
type: "StringLiteral",
|
|
12866
|
-
token: parts.length ? `"${module2.modifyString(parts[0].token)}"` : '""',
|
|
12867
|
-
$loc
|
|
12868
|
-
};
|
|
12869
|
-
}
|
|
12870
|
-
parts.forEach((part) => {
|
|
12871
|
-
if (part.token) {
|
|
12872
|
-
const str = part.token.replace(/(`|\$\{)/g, "\\$1");
|
|
12873
|
-
part.token = module2.modifyString(str);
|
|
12874
|
-
}
|
|
12875
|
-
});
|
|
12876
|
-
s.token = e.token = "`";
|
|
12877
|
-
return {
|
|
12878
|
-
type: "TemplateLiteral",
|
|
12879
|
-
children: [s, parts, e]
|
|
12880
|
-
};
|
|
13140
|
+
return processCoffeeInterpolation(s, parts, e, $loc);
|
|
12881
13141
|
});
|
|
12882
13142
|
function CoffeeInterpolatedDoubleQuotedString(state) {
|
|
12883
13143
|
let eventData;
|
|
@@ -13641,7 +13901,7 @@ ${input.slice(result.pos)}
|
|
|
13641
13901
|
return result;
|
|
13642
13902
|
}
|
|
13643
13903
|
}
|
|
13644
|
-
var TrailingComment$0 = $S($E(_), SingleLineComment);
|
|
13904
|
+
var TrailingComment$0 = $S($E(_), $E(SingleLineComment));
|
|
13645
13905
|
function TrailingComment(state) {
|
|
13646
13906
|
let eventData;
|
|
13647
13907
|
if (state.events) {
|
|
@@ -13717,7 +13977,7 @@ ${input.slice(result.pos)}
|
|
|
13717
13977
|
}
|
|
13718
13978
|
var Trimmed_$0 = $TV($Q(_), function($skip, $loc, $0, $1) {
|
|
13719
13979
|
var ws = $0;
|
|
13720
|
-
return
|
|
13980
|
+
return insertTrimmingSpace(ws, "");
|
|
13721
13981
|
});
|
|
13722
13982
|
function Trimmed_(state) {
|
|
13723
13983
|
let eventData;
|
|
@@ -13789,7 +14049,7 @@ ${input.slice(result.pos)}
|
|
|
13789
14049
|
return result;
|
|
13790
14050
|
}
|
|
13791
14051
|
}
|
|
13792
|
-
var ExpressionDelimiter$0 = $TS($S($E(_), Semicolon, InsertComma,
|
|
14052
|
+
var ExpressionDelimiter$0 = $TS($S($E(_), Semicolon, InsertComma, TrailingComment), function($skip, $loc, $0, $1, $2, $3, $4) {
|
|
13793
14053
|
return [$1, $3, $4];
|
|
13794
14054
|
});
|
|
13795
14055
|
var ExpressionDelimiter$1 = $T($S($Y(EOS), InsertComma), function(value) {
|
|
@@ -13866,7 +14126,7 @@ ${input.slice(result.pos)}
|
|
|
13866
14126
|
return result;
|
|
13867
14127
|
}
|
|
13868
14128
|
}
|
|
13869
|
-
var SemicolonDelimiter$0 = $TS($S($E(_), Semicolon,
|
|
14129
|
+
var SemicolonDelimiter$0 = $TS($S($E(_), Semicolon, TrailingComment), function($skip, $loc, $0, $1, $2, $3) {
|
|
13870
14130
|
return {
|
|
13871
14131
|
type: "SemicolonDelimiter",
|
|
13872
14132
|
children: $0
|
|
@@ -16581,7 +16841,7 @@ ${input.slice(result.pos)}
|
|
|
16581
16841
|
if (part.name.type === "ComputedPropertyName") {
|
|
16582
16842
|
rest.push(part);
|
|
16583
16843
|
} else {
|
|
16584
|
-
parts.push([part.name, "={",
|
|
16844
|
+
parts.push([part.name, "={", insertTrimmingSpace(part.value, ""), "}"]);
|
|
16585
16845
|
}
|
|
16586
16846
|
break;
|
|
16587
16847
|
case "SpreadProperty":
|
|
@@ -16682,7 +16942,7 @@ ${input.slice(result.pos)}
|
|
|
16682
16942
|
}
|
|
16683
16943
|
}
|
|
16684
16944
|
var JSXShorthandString$0 = $TR($EXPECT($R52, fail, "JSXShorthandString /(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
16685
|
-
return
|
|
16945
|
+
return quoteString($0);
|
|
16686
16946
|
});
|
|
16687
16947
|
var JSXShorthandString$1 = $TS($S(TemplateLiteral), function($skip, $loc, $0, $1) {
|
|
16688
16948
|
return ["{", $1, "}"];
|
|
@@ -18782,7 +19042,110 @@ ${input.slice(result.pos)}
|
|
|
18782
19042
|
return result;
|
|
18783
19043
|
}
|
|
18784
19044
|
}
|
|
18785
|
-
var
|
|
19045
|
+
var TypeTemplateSubstitution$0 = $S(SubstitutionStart, Type, __, CloseBrace);
|
|
19046
|
+
function TypeTemplateSubstitution(state) {
|
|
19047
|
+
let eventData;
|
|
19048
|
+
if (state.events) {
|
|
19049
|
+
const result = state.events.enter?.("TypeTemplateSubstitution", state);
|
|
19050
|
+
if (result) {
|
|
19051
|
+
if (result.cache)
|
|
19052
|
+
return result.cache;
|
|
19053
|
+
eventData = result.data;
|
|
19054
|
+
}
|
|
19055
|
+
}
|
|
19056
|
+
if (state.tokenize) {
|
|
19057
|
+
const result = $TOKEN("TypeTemplateSubstitution", state, TypeTemplateSubstitution$0(state));
|
|
19058
|
+
if (state.events)
|
|
19059
|
+
state.events.exit?.("TypeTemplateSubstitution", state, result, eventData);
|
|
19060
|
+
return result;
|
|
19061
|
+
} else {
|
|
19062
|
+
const result = TypeTemplateSubstitution$0(state);
|
|
19063
|
+
if (state.events)
|
|
19064
|
+
state.events.exit?.("TypeTemplateSubstitution", state, result, eventData);
|
|
19065
|
+
return result;
|
|
19066
|
+
}
|
|
19067
|
+
}
|
|
19068
|
+
var TypeTemplateLiteral$0 = $TS($S(Backtick, $Q($C(TemplateCharacters, TypeTemplateSubstitution)), Backtick), function($skip, $loc, $0, $1, $2, $3) {
|
|
19069
|
+
return {
|
|
19070
|
+
type: "TemplateLiteral",
|
|
19071
|
+
children: $0
|
|
19072
|
+
};
|
|
19073
|
+
});
|
|
19074
|
+
var TypeTemplateLiteral$1 = CoffeeInterpolatedDoubleQuotedTypeLiteral;
|
|
19075
|
+
function TypeTemplateLiteral(state) {
|
|
19076
|
+
let eventData;
|
|
19077
|
+
if (state.events) {
|
|
19078
|
+
const result = state.events.enter?.("TypeTemplateLiteral", state);
|
|
19079
|
+
if (result) {
|
|
19080
|
+
if (result.cache)
|
|
19081
|
+
return result.cache;
|
|
19082
|
+
eventData = result.data;
|
|
19083
|
+
}
|
|
19084
|
+
}
|
|
19085
|
+
if (state.tokenize) {
|
|
19086
|
+
const result = $TOKEN("TypeTemplateLiteral", state, TypeTemplateLiteral$0(state) || TypeTemplateLiteral$1(state));
|
|
19087
|
+
if (state.events)
|
|
19088
|
+
state.events.exit?.("TypeTemplateLiteral", state, result, eventData);
|
|
19089
|
+
return result;
|
|
19090
|
+
} else {
|
|
19091
|
+
const result = TypeTemplateLiteral$0(state) || TypeTemplateLiteral$1(state);
|
|
19092
|
+
if (state.events)
|
|
19093
|
+
state.events.exit?.("TypeTemplateLiteral", state, result, eventData);
|
|
19094
|
+
return result;
|
|
19095
|
+
}
|
|
19096
|
+
}
|
|
19097
|
+
var CoffeeStringTypeSubstitution$0 = $S(CoffeeSubstitutionStart, Type, __, CloseBrace);
|
|
19098
|
+
function CoffeeStringTypeSubstitution(state) {
|
|
19099
|
+
let eventData;
|
|
19100
|
+
if (state.events) {
|
|
19101
|
+
const result = state.events.enter?.("CoffeeStringTypeSubstitution", state);
|
|
19102
|
+
if (result) {
|
|
19103
|
+
if (result.cache)
|
|
19104
|
+
return result.cache;
|
|
19105
|
+
eventData = result.data;
|
|
19106
|
+
}
|
|
19107
|
+
}
|
|
19108
|
+
if (state.tokenize) {
|
|
19109
|
+
const result = $TOKEN("CoffeeStringTypeSubstitution", state, CoffeeStringTypeSubstitution$0(state));
|
|
19110
|
+
if (state.events)
|
|
19111
|
+
state.events.exit?.("CoffeeStringTypeSubstitution", state, result, eventData);
|
|
19112
|
+
return result;
|
|
19113
|
+
} else {
|
|
19114
|
+
const result = CoffeeStringTypeSubstitution$0(state);
|
|
19115
|
+
if (state.events)
|
|
19116
|
+
state.events.exit?.("CoffeeStringTypeSubstitution", state, result, eventData);
|
|
19117
|
+
return result;
|
|
19118
|
+
}
|
|
19119
|
+
}
|
|
19120
|
+
var CoffeeInterpolatedDoubleQuotedTypeLiteral$0 = $TS($S(CoffeeInterpolationEnabled, DoubleQuote, $Q($C(CoffeeDoubleQuotedStringCharacters, CoffeeStringTypeSubstitution)), DoubleQuote), function($skip, $loc, $0, $1, $2, $3, $4) {
|
|
19121
|
+
var s = $2;
|
|
19122
|
+
var parts = $3;
|
|
19123
|
+
var e = $4;
|
|
19124
|
+
return processCoffeeInterpolation(s, parts, e, $loc);
|
|
19125
|
+
});
|
|
19126
|
+
function CoffeeInterpolatedDoubleQuotedTypeLiteral(state) {
|
|
19127
|
+
let eventData;
|
|
19128
|
+
if (state.events) {
|
|
19129
|
+
const result = state.events.enter?.("CoffeeInterpolatedDoubleQuotedTypeLiteral", state);
|
|
19130
|
+
if (result) {
|
|
19131
|
+
if (result.cache)
|
|
19132
|
+
return result.cache;
|
|
19133
|
+
eventData = result.data;
|
|
19134
|
+
}
|
|
19135
|
+
}
|
|
19136
|
+
if (state.tokenize) {
|
|
19137
|
+
const result = $TOKEN("CoffeeInterpolatedDoubleQuotedTypeLiteral", state, CoffeeInterpolatedDoubleQuotedTypeLiteral$0(state));
|
|
19138
|
+
if (state.events)
|
|
19139
|
+
state.events.exit?.("CoffeeInterpolatedDoubleQuotedTypeLiteral", state, result, eventData);
|
|
19140
|
+
return result;
|
|
19141
|
+
} else {
|
|
19142
|
+
const result = CoffeeInterpolatedDoubleQuotedTypeLiteral$0(state);
|
|
19143
|
+
if (state.events)
|
|
19144
|
+
state.events.exit?.("CoffeeInterpolatedDoubleQuotedTypeLiteral", state, result, eventData);
|
|
19145
|
+
return result;
|
|
19146
|
+
}
|
|
19147
|
+
}
|
|
19148
|
+
var TypeLiteral$0 = TypeTemplateLiteral;
|
|
18786
19149
|
var TypeLiteral$1 = Literal;
|
|
18787
19150
|
var TypeLiteral$2 = $TS($S($EXPECT($L161, fail, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
|
|
18788
19151
|
return { type: "VoidType", $loc, token: $1 };
|
|
@@ -20541,20 +20904,6 @@ ${input.slice(result.pos)}
|
|
|
20541
20904
|
}
|
|
20542
20905
|
}
|
|
20543
20906
|
});
|
|
20544
|
-
module2.modifyString = function(str) {
|
|
20545
|
-
return str.replace(/(^.?|[^\\]{2})(\\\\)*\n/g, "$1$2\\n");
|
|
20546
|
-
};
|
|
20547
|
-
module2.unmodifyString = function(str) {
|
|
20548
|
-
return str.replace(/\\n/g, "\n");
|
|
20549
|
-
};
|
|
20550
|
-
module2.quoteString = function(str) {
|
|
20551
|
-
str = str.replace(/\\/g, "\\\\");
|
|
20552
|
-
if (str.includes('"') && !str.includes("'")) {
|
|
20553
|
-
return "'" + str.replace(/'/g, "\\'") + "'";
|
|
20554
|
-
} else {
|
|
20555
|
-
return '"' + str.replace(/"/g, '\\"') + '"';
|
|
20556
|
-
}
|
|
20557
|
-
};
|
|
20558
20907
|
});
|
|
20559
20908
|
function Reset(state) {
|
|
20560
20909
|
let eventData;
|
|
@@ -20600,8 +20949,8 @@ ${input.slice(result.pos)}
|
|
|
20600
20949
|
throw new Error("Glob pattern must have call or member expression value");
|
|
20601
20950
|
}
|
|
20602
20951
|
let value = part.value ?? part.name;
|
|
20603
|
-
const wValue =
|
|
20604
|
-
value = prefix.concat(
|
|
20952
|
+
const wValue = getTrimmingSpace(part.value);
|
|
20953
|
+
value = prefix.concat(insertTrimmingSpace(value, ""));
|
|
20605
20954
|
if (wValue)
|
|
20606
20955
|
value.unshift(wValue);
|
|
20607
20956
|
if (part.type === "SpreadProperty") {
|
|
@@ -20712,43 +21061,6 @@ ${input.slice(result.pos)}
|
|
|
20712
21061
|
};
|
|
20713
21062
|
}
|
|
20714
21063
|
};
|
|
20715
|
-
module2.literalValue = function(literal) {
|
|
20716
|
-
let { raw } = literal;
|
|
20717
|
-
switch (raw) {
|
|
20718
|
-
case "null":
|
|
20719
|
-
return null;
|
|
20720
|
-
case "true":
|
|
20721
|
-
return true;
|
|
20722
|
-
case "false":
|
|
20723
|
-
return false;
|
|
20724
|
-
}
|
|
20725
|
-
if (raw.startsWith('"') && raw.endsWith('"') || raw.startsWith("'") && raw.endsWith("'")) {
|
|
20726
|
-
return raw.slice(1, -1);
|
|
20727
|
-
}
|
|
20728
|
-
const numeric = literal.children.find(
|
|
20729
|
-
(child) => child.type === "NumericLiteral"
|
|
20730
|
-
);
|
|
20731
|
-
if (numeric) {
|
|
20732
|
-
raw = raw.replace(/_/g, "");
|
|
20733
|
-
const { token } = numeric;
|
|
20734
|
-
if (token.endsWith("n")) {
|
|
20735
|
-
return BigInt(raw.slice(0, -1));
|
|
20736
|
-
} else if (token.match(/[\.eE]/)) {
|
|
20737
|
-
return parseFloat(raw);
|
|
20738
|
-
} else if (token.startsWith("0")) {
|
|
20739
|
-
switch (token.charAt(1).toLowerCase()) {
|
|
20740
|
-
case "x":
|
|
20741
|
-
return parseInt(raw.replace(/0[xX]/, ""), 16);
|
|
20742
|
-
case "b":
|
|
20743
|
-
return parseInt(raw.replace(/0[bB]/, ""), 2);
|
|
20744
|
-
case "o":
|
|
20745
|
-
return parseInt(raw.replace(/0[oO]/, ""), 8);
|
|
20746
|
-
}
|
|
20747
|
-
}
|
|
20748
|
-
return parseInt(raw, 10);
|
|
20749
|
-
}
|
|
20750
|
-
throw new Error("Unrecognized literal " + JSON.stringify(literal));
|
|
20751
|
-
};
|
|
20752
21064
|
module2.expressionizeIfClause = function(clause, b, e) {
|
|
20753
21065
|
const children = clause.children.slice(1);
|
|
20754
21066
|
children.push("?", b);
|
|
@@ -21088,16 +21400,16 @@ ${input.slice(result.pos)}
|
|
|
21088
21400
|
}
|
|
21089
21401
|
let children;
|
|
21090
21402
|
if (op2.call) {
|
|
21091
|
-
wsOp =
|
|
21403
|
+
wsOp = insertTrimmingSpace(wsOp, "");
|
|
21092
21404
|
if (op2.reversed) {
|
|
21093
|
-
wsB =
|
|
21405
|
+
wsB = insertTrimmingSpace(wsB, "");
|
|
21094
21406
|
children = [wsOp, op2.call, "(", wsB, b, ", ", a, ")", op2.suffix];
|
|
21095
21407
|
} else {
|
|
21096
21408
|
children = [wsOp, op2.call, "(", a, ",", wsB, b, ")", op2.suffix];
|
|
21097
21409
|
}
|
|
21098
21410
|
} else if (op2.method) {
|
|
21099
|
-
wsOp =
|
|
21100
|
-
wsB =
|
|
21411
|
+
wsOp = insertTrimmingSpace(wsOp, "");
|
|
21412
|
+
wsB = insertTrimmingSpace(wsB, "");
|
|
21101
21413
|
if (op2.reversed) {
|
|
21102
21414
|
children = [wsB, b, wsOp, ".", op2.method, "(", a, ")"];
|
|
21103
21415
|
} else {
|
|
@@ -21207,39 +21519,6 @@ ${input.slice(result.pos)}
|
|
|
21207
21519
|
}
|
|
21208
21520
|
return target;
|
|
21209
21521
|
};
|
|
21210
|
-
module2.insertTrimmingSpace = function(target, c) {
|
|
21211
|
-
if (!target)
|
|
21212
|
-
return target;
|
|
21213
|
-
if (Array.isArray(target))
|
|
21214
|
-
return target.map((e, i) => {
|
|
21215
|
-
if (i === 0)
|
|
21216
|
-
return module2.insertTrimmingSpace(e, c);
|
|
21217
|
-
return e;
|
|
21218
|
-
});
|
|
21219
|
-
if (target.children)
|
|
21220
|
-
return Object.assign({}, target, {
|
|
21221
|
-
children: target.children.map((e, i) => {
|
|
21222
|
-
if (i === 0)
|
|
21223
|
-
return module2.insertTrimmingSpace(e, c);
|
|
21224
|
-
return e;
|
|
21225
|
-
})
|
|
21226
|
-
});
|
|
21227
|
-
if (target.token)
|
|
21228
|
-
return Object.assign({}, target, {
|
|
21229
|
-
token: target.token.replace(/^ ?/, c)
|
|
21230
|
-
});
|
|
21231
|
-
return target;
|
|
21232
|
-
};
|
|
21233
|
-
module2.getTrimmingSpace = function(target) {
|
|
21234
|
-
if (!target)
|
|
21235
|
-
return;
|
|
21236
|
-
if (Array.isArray(target))
|
|
21237
|
-
return module2.getTrimmingSpace(target[0]);
|
|
21238
|
-
if (target.children)
|
|
21239
|
-
return module2.getTrimmingSpace(target.children[0]);
|
|
21240
|
-
if (target.token)
|
|
21241
|
-
return target.token.match(/^ ?/)[0];
|
|
21242
|
-
};
|
|
21243
21522
|
const initialSpacingRe = /^(?:\r?\n|\n)*((?:\r?\n|\n)\s+)/;
|
|
21244
21523
|
module2.dedentBlockSubstitutions = function($02) {
|
|
21245
21524
|
const [s, strWithSubstitutions, e] = $02;
|
|
@@ -21329,7 +21608,7 @@ ${input.slice(result.pos)}
|
|
|
21329
21608
|
const spliceRef = module2.getRef("splice");
|
|
21330
21609
|
blockPrefix = {
|
|
21331
21610
|
type: "PostRestBindingElements",
|
|
21332
|
-
children: ["[",
|
|
21611
|
+
children: ["[", insertTrimmingSpace(after, ""), "] = ", spliceRef, ".call(", restIdentifier, ", -", after.length.toString(), ")"],
|
|
21333
21612
|
names: after.flatMap((p) => p.names)
|
|
21334
21613
|
};
|
|
21335
21614
|
}
|
|
@@ -22713,13 +22992,20 @@ ${input.slice(result.pos)}
|
|
|
22713
22992
|
var {
|
|
22714
22993
|
clone,
|
|
22715
22994
|
deepCopy,
|
|
22995
|
+
forRange,
|
|
22716
22996
|
gatherNodes,
|
|
22717
22997
|
gatherRecursive,
|
|
22718
22998
|
gatherRecursiveAll,
|
|
22719
22999
|
gatherRecursiveWithinFunction,
|
|
23000
|
+
getTrimmingSpace,
|
|
22720
23001
|
hasAwait,
|
|
22721
23002
|
hasYield,
|
|
23003
|
+
insertTrimmingSpace,
|
|
22722
23004
|
isFunction,
|
|
23005
|
+
literalValue,
|
|
23006
|
+
modifyString,
|
|
23007
|
+
processCoffeeInterpolation,
|
|
23008
|
+
quoteString,
|
|
22723
23009
|
removeParentPointers
|
|
22724
23010
|
} = require_lib();
|
|
22725
23011
|
}
|