i18next-cli 1.72.1 → 1.72.2
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/cjs/cli.js +1 -1
- package/dist/cjs/extractor/core/ast-visitors.js +60 -0
- package/dist/cjs/extractor/parsers/expression-resolver.js +51 -0
- package/dist/esm/cli.js +1 -1
- package/dist/esm/extractor/core/ast-visitors.js +60 -0
- package/dist/esm/extractor/parsers/expression-resolver.js +51 -0
- package/package.json +1 -1
- package/types/extractor/core/ast-visitors.d.ts +9 -0
- package/types/extractor/core/ast-visitors.d.ts.map +1 -1
- package/types/extractor/parsers/expression-resolver.d.ts.map +1 -1
package/dist/cjs/cli.js
CHANGED
|
@@ -37,7 +37,7 @@ const program = new commander.Command();
|
|
|
37
37
|
program
|
|
38
38
|
.name('i18next-cli')
|
|
39
39
|
.description('A unified, high-performance i18next CLI.')
|
|
40
|
-
.version('1.72.
|
|
40
|
+
.version('1.72.2'); // This string is replaced with the actual version at build time by rollup
|
|
41
41
|
// new: global config override option
|
|
42
42
|
program.option('-c, --config <path>', 'Path to i18next-cli config file (overrides detection)');
|
|
43
43
|
program
|
|
@@ -448,6 +448,9 @@ class ASTVisitors {
|
|
|
448
448
|
arrayCallbackCleanup = this.tryBindObjectArrayCallback(node);
|
|
449
449
|
}
|
|
450
450
|
}
|
|
451
|
+
else if (node.type === 'ForOfStatement') {
|
|
452
|
+
arrayCallbackCleanup = this.tryBindForOfLoop(node);
|
|
453
|
+
}
|
|
451
454
|
// --- RECURSION ---
|
|
452
455
|
// Recurse into the children of the current node
|
|
453
456
|
for (const key in node) {
|
|
@@ -835,6 +838,63 @@ class ASTVisitors {
|
|
|
835
838
|
return undefined;
|
|
836
839
|
}
|
|
837
840
|
}
|
|
841
|
+
/**
|
|
842
|
+
* If `node` is `for (const unit of KNOWN_ARRAY)` — or the destructured
|
|
843
|
+
* `for (const { unit } of KNOWN_ARRAY_OF_OBJECTS)` — binds the loop variable
|
|
844
|
+
* for the duration of the loop body, the same way `.map()`/`.forEach()`
|
|
845
|
+
* callback parameters are bound.
|
|
846
|
+
*
|
|
847
|
+
* Returns a cleanup function, or undefined when nothing was bound.
|
|
848
|
+
*/
|
|
849
|
+
tryBindForOfLoop(node) {
|
|
850
|
+
try {
|
|
851
|
+
if (node.right?.type !== 'Identifier')
|
|
852
|
+
return undefined;
|
|
853
|
+
const source = node.right.value;
|
|
854
|
+
const left = node.left;
|
|
855
|
+
const pat = left?.type === 'VariableDeclaration' ? left.declarations?.[0]?.id : left;
|
|
856
|
+
// `for (const unit of ['day', 'hour'] as const)`
|
|
857
|
+
if (pat?.type === 'Identifier') {
|
|
858
|
+
const values = this.expressionResolver.getVariableValues(source);
|
|
859
|
+
if (values?.length) {
|
|
860
|
+
this.expressionResolver.setTemporaryVariable(pat.value, values);
|
|
861
|
+
return () => this.expressionResolver.deleteTemporaryVariable(pat.value);
|
|
862
|
+
}
|
|
863
|
+
// `for (const item of items)` so `item.unit` resolves
|
|
864
|
+
const members = this.expressionResolver.getArrayElementMembers(source);
|
|
865
|
+
if (members) {
|
|
866
|
+
this.expressionResolver.setTemporaryObjectVariable(pat.value, members);
|
|
867
|
+
return () => this.expressionResolver.deleteTemporaryObjectVariable(pat.value);
|
|
868
|
+
}
|
|
869
|
+
return undefined;
|
|
870
|
+
}
|
|
871
|
+
// `for (const { unit } of [{ unit: 'day' }, …] as const)`
|
|
872
|
+
if (pat?.type === 'ObjectPattern') {
|
|
873
|
+
const members = this.expressionResolver.getArrayElementMembers(source);
|
|
874
|
+
if (!members)
|
|
875
|
+
return undefined;
|
|
876
|
+
const bound = [];
|
|
877
|
+
for (const prop of (pat.properties ?? [])) {
|
|
878
|
+
const memberName = prop?.key?.value;
|
|
879
|
+
let localNode = prop?.type === 'KeyValuePatternProperty' ? prop.value : prop?.key;
|
|
880
|
+
if (localNode?.type === 'AssignmentPattern')
|
|
881
|
+
localNode = localNode.left;
|
|
882
|
+
const localName = localNode?.type === 'Identifier' ? localNode.value : undefined;
|
|
883
|
+
if (!memberName || !localName || !members[memberName])
|
|
884
|
+
continue;
|
|
885
|
+
this.expressionResolver.setTemporaryVariable(localName, members[memberName]);
|
|
886
|
+
bound.push(localName);
|
|
887
|
+
}
|
|
888
|
+
if (bound.length === 0)
|
|
889
|
+
return undefined;
|
|
890
|
+
return () => bound.forEach(name => this.expressionResolver.deleteTemporaryVariable(name));
|
|
891
|
+
}
|
|
892
|
+
return undefined;
|
|
893
|
+
}
|
|
894
|
+
catch {
|
|
895
|
+
return undefined;
|
|
896
|
+
}
|
|
897
|
+
}
|
|
838
898
|
/**
|
|
839
899
|
* If `node` is `items.map(cb)` (or forEach/flatMap/…) where `items` is typed
|
|
840
900
|
* as an array of an object shape (`items: IProps[]`), binds the callback
|
|
@@ -100,6 +100,27 @@ class ExpressionResolver {
|
|
|
100
100
|
}
|
|
101
101
|
return;
|
|
102
102
|
}
|
|
103
|
+
// ── ObjectPattern id: `const { unit } = rate` ───────────────────────────
|
|
104
|
+
// Bind each destructured local to the source object's property values.
|
|
105
|
+
if (node.id.type === 'ObjectPattern' && node.init?.type === 'Identifier') {
|
|
106
|
+
const map = this.getObjectMap(node.init.value);
|
|
107
|
+
const objMembers = this.temporaryObjectVariables.get(node.init.value);
|
|
108
|
+
if (!map && !objMembers)
|
|
109
|
+
return;
|
|
110
|
+
for (const prop of (node.id.properties ?? [])) {
|
|
111
|
+
const memberName = prop?.key?.value;
|
|
112
|
+
let localNode = prop?.type === 'KeyValuePatternProperty' ? prop.value : prop?.key;
|
|
113
|
+
if (localNode?.type === 'AssignmentPattern')
|
|
114
|
+
localNode = localNode.left;
|
|
115
|
+
const localName = localNode?.type === 'Identifier' ? localNode.value : undefined;
|
|
116
|
+
if (!memberName || !localName)
|
|
117
|
+
continue;
|
|
118
|
+
const vals = objMembers?.[memberName] ?? (map?.[memberName] !== undefined ? [map[memberName]] : undefined);
|
|
119
|
+
if (vals?.length)
|
|
120
|
+
this.variableTable.set(localName, vals);
|
|
121
|
+
}
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
103
124
|
// only handle simple identifier bindings like `const x = ...`
|
|
104
125
|
if (node.id.type !== 'Identifier')
|
|
105
126
|
return;
|
|
@@ -175,6 +196,36 @@ class ExpressionResolver {
|
|
|
175
196
|
this.sharedVariableTable.set(name, vals);
|
|
176
197
|
return;
|
|
177
198
|
}
|
|
199
|
+
// Array of object literals — `const UNITS = [{ unit: 'day' }, …] as const`.
|
|
200
|
+
// Collect each property's possible values so `UNITS.map(({ unit }) => …)`
|
|
201
|
+
// and `for (const { unit } of UNITS)` can bind the destructured names.
|
|
202
|
+
const members = {};
|
|
203
|
+
for (const elem of unwrappedInit.elements) {
|
|
204
|
+
let objExpr = elem?.expression;
|
|
205
|
+
while (objExpr?.type === 'TsConstAssertion' ||
|
|
206
|
+
objExpr?.type === 'TsAsExpression' ||
|
|
207
|
+
objExpr?.type === 'TsSatisfiesExpression')
|
|
208
|
+
objExpr = objExpr.expression;
|
|
209
|
+
if (objExpr?.type !== 'ObjectExpression')
|
|
210
|
+
continue;
|
|
211
|
+
for (const p of (objExpr.properties ?? [])) {
|
|
212
|
+
if (p?.type !== 'KeyValueProperty')
|
|
213
|
+
continue;
|
|
214
|
+
const keyName = p.key?.type === 'Identifier' || p.key?.type === 'StringLiteral' ? p.key.value : undefined;
|
|
215
|
+
if (!keyName)
|
|
216
|
+
continue;
|
|
217
|
+
const resolved = this.resolvePossibleStringValuesFromExpression(p.value);
|
|
218
|
+
if (resolved.length !== 1)
|
|
219
|
+
continue;
|
|
220
|
+
const list = members[keyName] ??= [];
|
|
221
|
+
if (!list.includes(resolved[0]))
|
|
222
|
+
list.push(resolved[0]);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
if (Object.keys(members).length > 0) {
|
|
226
|
+
this.arrayElementMembers.set(name, members);
|
|
227
|
+
return;
|
|
228
|
+
}
|
|
178
229
|
}
|
|
179
230
|
// For other initializers, try to resolve to one-or-more strings.
|
|
180
231
|
// Also check the type annotation: when the type resolves to a broader set
|
package/dist/esm/cli.js
CHANGED
|
@@ -31,7 +31,7 @@ const program = new Command();
|
|
|
31
31
|
program
|
|
32
32
|
.name('i18next-cli')
|
|
33
33
|
.description('A unified, high-performance i18next CLI.')
|
|
34
|
-
.version('1.72.
|
|
34
|
+
.version('1.72.2'); // This string is replaced with the actual version at build time by rollup
|
|
35
35
|
// new: global config override option
|
|
36
36
|
program.option('-c, --config <path>', 'Path to i18next-cli config file (overrides detection)');
|
|
37
37
|
program
|
|
@@ -446,6 +446,9 @@ class ASTVisitors {
|
|
|
446
446
|
arrayCallbackCleanup = this.tryBindObjectArrayCallback(node);
|
|
447
447
|
}
|
|
448
448
|
}
|
|
449
|
+
else if (node.type === 'ForOfStatement') {
|
|
450
|
+
arrayCallbackCleanup = this.tryBindForOfLoop(node);
|
|
451
|
+
}
|
|
449
452
|
// --- RECURSION ---
|
|
450
453
|
// Recurse into the children of the current node
|
|
451
454
|
for (const key in node) {
|
|
@@ -833,6 +836,63 @@ class ASTVisitors {
|
|
|
833
836
|
return undefined;
|
|
834
837
|
}
|
|
835
838
|
}
|
|
839
|
+
/**
|
|
840
|
+
* If `node` is `for (const unit of KNOWN_ARRAY)` — or the destructured
|
|
841
|
+
* `for (const { unit } of KNOWN_ARRAY_OF_OBJECTS)` — binds the loop variable
|
|
842
|
+
* for the duration of the loop body, the same way `.map()`/`.forEach()`
|
|
843
|
+
* callback parameters are bound.
|
|
844
|
+
*
|
|
845
|
+
* Returns a cleanup function, or undefined when nothing was bound.
|
|
846
|
+
*/
|
|
847
|
+
tryBindForOfLoop(node) {
|
|
848
|
+
try {
|
|
849
|
+
if (node.right?.type !== 'Identifier')
|
|
850
|
+
return undefined;
|
|
851
|
+
const source = node.right.value;
|
|
852
|
+
const left = node.left;
|
|
853
|
+
const pat = left?.type === 'VariableDeclaration' ? left.declarations?.[0]?.id : left;
|
|
854
|
+
// `for (const unit of ['day', 'hour'] as const)`
|
|
855
|
+
if (pat?.type === 'Identifier') {
|
|
856
|
+
const values = this.expressionResolver.getVariableValues(source);
|
|
857
|
+
if (values?.length) {
|
|
858
|
+
this.expressionResolver.setTemporaryVariable(pat.value, values);
|
|
859
|
+
return () => this.expressionResolver.deleteTemporaryVariable(pat.value);
|
|
860
|
+
}
|
|
861
|
+
// `for (const item of items)` so `item.unit` resolves
|
|
862
|
+
const members = this.expressionResolver.getArrayElementMembers(source);
|
|
863
|
+
if (members) {
|
|
864
|
+
this.expressionResolver.setTemporaryObjectVariable(pat.value, members);
|
|
865
|
+
return () => this.expressionResolver.deleteTemporaryObjectVariable(pat.value);
|
|
866
|
+
}
|
|
867
|
+
return undefined;
|
|
868
|
+
}
|
|
869
|
+
// `for (const { unit } of [{ unit: 'day' }, …] as const)`
|
|
870
|
+
if (pat?.type === 'ObjectPattern') {
|
|
871
|
+
const members = this.expressionResolver.getArrayElementMembers(source);
|
|
872
|
+
if (!members)
|
|
873
|
+
return undefined;
|
|
874
|
+
const bound = [];
|
|
875
|
+
for (const prop of (pat.properties ?? [])) {
|
|
876
|
+
const memberName = prop?.key?.value;
|
|
877
|
+
let localNode = prop?.type === 'KeyValuePatternProperty' ? prop.value : prop?.key;
|
|
878
|
+
if (localNode?.type === 'AssignmentPattern')
|
|
879
|
+
localNode = localNode.left;
|
|
880
|
+
const localName = localNode?.type === 'Identifier' ? localNode.value : undefined;
|
|
881
|
+
if (!memberName || !localName || !members[memberName])
|
|
882
|
+
continue;
|
|
883
|
+
this.expressionResolver.setTemporaryVariable(localName, members[memberName]);
|
|
884
|
+
bound.push(localName);
|
|
885
|
+
}
|
|
886
|
+
if (bound.length === 0)
|
|
887
|
+
return undefined;
|
|
888
|
+
return () => bound.forEach(name => this.expressionResolver.deleteTemporaryVariable(name));
|
|
889
|
+
}
|
|
890
|
+
return undefined;
|
|
891
|
+
}
|
|
892
|
+
catch {
|
|
893
|
+
return undefined;
|
|
894
|
+
}
|
|
895
|
+
}
|
|
836
896
|
/**
|
|
837
897
|
* If `node` is `items.map(cb)` (or forEach/flatMap/…) where `items` is typed
|
|
838
898
|
* as an array of an object shape (`items: IProps[]`), binds the callback
|
|
@@ -98,6 +98,27 @@ class ExpressionResolver {
|
|
|
98
98
|
}
|
|
99
99
|
return;
|
|
100
100
|
}
|
|
101
|
+
// ── ObjectPattern id: `const { unit } = rate` ───────────────────────────
|
|
102
|
+
// Bind each destructured local to the source object's property values.
|
|
103
|
+
if (node.id.type === 'ObjectPattern' && node.init?.type === 'Identifier') {
|
|
104
|
+
const map = this.getObjectMap(node.init.value);
|
|
105
|
+
const objMembers = this.temporaryObjectVariables.get(node.init.value);
|
|
106
|
+
if (!map && !objMembers)
|
|
107
|
+
return;
|
|
108
|
+
for (const prop of (node.id.properties ?? [])) {
|
|
109
|
+
const memberName = prop?.key?.value;
|
|
110
|
+
let localNode = prop?.type === 'KeyValuePatternProperty' ? prop.value : prop?.key;
|
|
111
|
+
if (localNode?.type === 'AssignmentPattern')
|
|
112
|
+
localNode = localNode.left;
|
|
113
|
+
const localName = localNode?.type === 'Identifier' ? localNode.value : undefined;
|
|
114
|
+
if (!memberName || !localName)
|
|
115
|
+
continue;
|
|
116
|
+
const vals = objMembers?.[memberName] ?? (map?.[memberName] !== undefined ? [map[memberName]] : undefined);
|
|
117
|
+
if (vals?.length)
|
|
118
|
+
this.variableTable.set(localName, vals);
|
|
119
|
+
}
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
101
122
|
// only handle simple identifier bindings like `const x = ...`
|
|
102
123
|
if (node.id.type !== 'Identifier')
|
|
103
124
|
return;
|
|
@@ -173,6 +194,36 @@ class ExpressionResolver {
|
|
|
173
194
|
this.sharedVariableTable.set(name, vals);
|
|
174
195
|
return;
|
|
175
196
|
}
|
|
197
|
+
// Array of object literals — `const UNITS = [{ unit: 'day' }, …] as const`.
|
|
198
|
+
// Collect each property's possible values so `UNITS.map(({ unit }) => …)`
|
|
199
|
+
// and `for (const { unit } of UNITS)` can bind the destructured names.
|
|
200
|
+
const members = {};
|
|
201
|
+
for (const elem of unwrappedInit.elements) {
|
|
202
|
+
let objExpr = elem?.expression;
|
|
203
|
+
while (objExpr?.type === 'TsConstAssertion' ||
|
|
204
|
+
objExpr?.type === 'TsAsExpression' ||
|
|
205
|
+
objExpr?.type === 'TsSatisfiesExpression')
|
|
206
|
+
objExpr = objExpr.expression;
|
|
207
|
+
if (objExpr?.type !== 'ObjectExpression')
|
|
208
|
+
continue;
|
|
209
|
+
for (const p of (objExpr.properties ?? [])) {
|
|
210
|
+
if (p?.type !== 'KeyValueProperty')
|
|
211
|
+
continue;
|
|
212
|
+
const keyName = p.key?.type === 'Identifier' || p.key?.type === 'StringLiteral' ? p.key.value : undefined;
|
|
213
|
+
if (!keyName)
|
|
214
|
+
continue;
|
|
215
|
+
const resolved = this.resolvePossibleStringValuesFromExpression(p.value);
|
|
216
|
+
if (resolved.length !== 1)
|
|
217
|
+
continue;
|
|
218
|
+
const list = members[keyName] ??= [];
|
|
219
|
+
if (!list.includes(resolved[0]))
|
|
220
|
+
list.push(resolved[0]);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
if (Object.keys(members).length > 0) {
|
|
224
|
+
this.arrayElementMembers.set(name, members);
|
|
225
|
+
return;
|
|
226
|
+
}
|
|
176
227
|
}
|
|
177
228
|
// For other initializers, try to resolve to one-or-more strings.
|
|
178
229
|
// Also check the type annotation: when the type resolves to a broader set
|
package/package.json
CHANGED
|
@@ -108,6 +108,15 @@ export declare class ASTVisitors {
|
|
|
108
108
|
* `Object.values(MAP).map/forEach(v => ...)` → param bound to MAP's values
|
|
109
109
|
*/
|
|
110
110
|
private tryGetArrayIterationCallbackInfo;
|
|
111
|
+
/**
|
|
112
|
+
* If `node` is `for (const unit of KNOWN_ARRAY)` — or the destructured
|
|
113
|
+
* `for (const { unit } of KNOWN_ARRAY_OF_OBJECTS)` — binds the loop variable
|
|
114
|
+
* for the duration of the loop body, the same way `.map()`/`.forEach()`
|
|
115
|
+
* callback parameters are bound.
|
|
116
|
+
*
|
|
117
|
+
* Returns a cleanup function, or undefined when nothing was bound.
|
|
118
|
+
*/
|
|
119
|
+
private tryBindForOfLoop;
|
|
111
120
|
/**
|
|
112
121
|
* If `node` is `items.map(cb)` (or forEach/flatMap/…) where `items` is typed
|
|
113
122
|
* as an array of an object shape (`items: IProps[]`), binds the callback
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast-visitors.d.ts","sourceRoot":"","sources":["../../../src/extractor/core/ast-visitors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAQ,MAAM,WAAW,CAAA;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC7G,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAoBtE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;IAC9D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,KAAK,CAAiB;IAE9B,IAAW,UAAU,gBAEpB;IAED,SAAgB,YAAY,EAAE,YAAY,CAAA;IAC1C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;IACvD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAuB;IAC7D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,WAAW,CAAa;IAEhC;;;;;;OAMG;gBAED,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,EAC7C,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,eAAe,EACvB,kBAAkB,CAAC,EAAE,kBAAkB;IAoCzC;;;;;;;;;;;;;OAaG;IACI,mBAAmB,CAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAK/C;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAqDzB;;;;;OAKG;IACI,KAAK,CAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAUjC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,IAAI;
|
|
1
|
+
{"version":3,"file":"ast-visitors.d.ts","sourceRoot":"","sources":["../../../src/extractor/core/ast-visitors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAQ,MAAM,WAAW,CAAA;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC7G,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAoBtE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;IAC9D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,KAAK,CAAiB;IAE9B,IAAW,UAAU,gBAEpB;IAED,SAAgB,YAAY,EAAE,YAAY,CAAA;IAC1C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;IACvD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAuB;IAC7D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,WAAW,CAAa;IAEhC;;;;;;OAMG;gBAED,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,EAC7C,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,eAAe,EACvB,kBAAkB,CAAC,EAAE,kBAAkB;IAoCzC;;;;;;;;;;;;;OAaG;IACI,mBAAmB,CAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAK/C;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAqDzB;;;;;OAKG;IACI,KAAK,CAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAUjC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,IAAI;IAwaZ;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAiH1B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAIzB,mFAAmF;IACnF,OAAO,CAAC,oBAAoB;IAoB5B;;;;;;;;OAQG;IACH,OAAO,CAAC,gCAAgC;IAsDxC;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;IAgDxB;;;;;;;;;OASG;IACH,OAAO,CAAC,0BAA0B;IAgDlC;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAqB5B;;;;;;;;OAQG;IACI,eAAe,CAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAI5D;;OAEG;IACI,cAAc,CAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAKxD;;;;;;OAMG;IACI,cAAc,IAAK,MAAM;IAIhC;;OAEG;IACI,cAAc,IAAK,MAAM;CAGjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expression-resolver.d.ts","sourceRoot":"","sources":["../../../src/extractor/parsers/expression-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAkD,MAAM,WAAW,CAAA;AAC3F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAErD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,KAAK,CAAiB;IAK9B,OAAO,CAAC,aAAa,CAA4D;IAGjF,OAAO,CAAC,eAAe,CAAiD;IAIxE,OAAO,CAAC,cAAc,CAAmC;IAIzD,OAAO,CAAC,mBAAmB,CAAmC;IAI9D,OAAO,CAAC,oBAAoB,CAAmC;IAM/D,OAAO,CAAC,yBAAyB,CAAmC;IAIpE,OAAO,CAAC,kBAAkB,CAAmC;IAK7D,OAAO,CAAC,eAAe,CAAmD;IAE1E,OAAO,CAAC,oBAAoB,CAAgC;IAI5D,OAAO,CAAC,wBAAwB,CAAmD;IAKnF,OAAO,CAAC,mBAAmB,CAAmD;gBAEjE,KAAK,EAAE,eAAe;IAInC;;OAEG;IACI,gBAAgB,IAAK,IAAI;IAOhC;;;;;;;;;OASG;IACH,yBAAyB,CAAE,IAAI,EAAE,GAAG,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"expression-resolver.d.ts","sourceRoot":"","sources":["../../../src/extractor/parsers/expression-resolver.ts"],"names":[],"mappings":"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"}
|