@generaltranslation/compiler 1.1.30 → 1.1.31
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/passes/macroExpansionPass.d.ts.map +1 -1
- package/dist/passes/macroExpansionPass.js +2 -2
- package/dist/passes/macroExpansionPass.js.map +1 -1
- package/dist/processing/macro-expansion/processCallExpression.d.ts.map +1 -1
- package/dist/processing/macro-expansion/processCallExpression.js +4 -2
- package/dist/processing/macro-expansion/processCallExpression.js.map +1 -1
- package/dist/processing/macro-expansion/processTaggedTemplateExpression.js +1 -1
- package/dist/processing/macro-expansion/processTaggedTemplateExpression.js.map +1 -1
- package/dist/transform/macro-expansion/transformConcatenation.d.ts +5 -4
- package/dist/transform/macro-expansion/transformConcatenation.d.ts.map +1 -1
- package/dist/transform/macro-expansion/transformConcatenation.js +9 -57
- package/dist/transform/macro-expansion/transformConcatenation.js.map +1 -1
- package/dist/transform/macro-expansion/transformTemplateLiteral.d.ts +6 -2
- package/dist/transform/macro-expansion/transformTemplateLiteral.d.ts.map +1 -1
- package/dist/transform/macro-expansion/transformTemplateLiteral.js +10 -55
- package/dist/transform/macro-expansion/transformTemplateLiteral.js.map +1 -1
- package/dist/transform/templates-and-concat/buildTransformationResult.d.ts +14 -0
- package/dist/transform/templates-and-concat/buildTransformationResult.d.ts.map +1 -0
- package/dist/transform/templates-and-concat/buildTransformationResult.js +100 -0
- package/dist/transform/templates-and-concat/buildTransformationResult.js.map +1 -0
- package/dist/transform/templates-and-concat/flattenExpressionToParts.d.ts +19 -0
- package/dist/transform/templates-and-concat/flattenExpressionToParts.d.ts.map +1 -0
- package/dist/transform/templates-and-concat/flattenExpressionToParts.js +86 -0
- package/dist/transform/templates-and-concat/flattenExpressionToParts.js.map +1 -0
- package/dist/transform/templates-and-concat/mergeAdjacentStaticParts.d.ts +6 -0
- package/dist/transform/templates-and-concat/mergeAdjacentStaticParts.d.ts.map +1 -0
- package/dist/transform/templates-and-concat/mergeAdjacentStaticParts.js +22 -0
- package/dist/transform/templates-and-concat/mergeAdjacentStaticParts.js.map +1 -0
- package/dist/utils/constants/gt/constants.d.ts +4 -0
- package/dist/utils/constants/gt/constants.d.ts.map +1 -1
- package/dist/utils/constants/gt/constants.js +8 -1
- package/dist/utils/constants/gt/constants.js.map +1 -1
- package/dist/utils/parsing/isDeriveInvocation.d.ts +9 -0
- package/dist/utils/parsing/isDeriveInvocation.d.ts.map +1 -0
- package/dist/utils/parsing/{flattenConcatenation.js → isDeriveInvocation.js} +27 -14
- package/dist/utils/parsing/isDeriveInvocation.js.map +1 -0
- package/package.json +2 -2
- package/dist/utils/parsing/flattenConcatenation.d.ts +0 -9
- package/dist/utils/parsing/flattenConcatenation.d.ts.map +0 -1
- package/dist/utils/parsing/flattenConcatenation.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"macroExpansionPass.d.ts","sourceRoot":"","sources":["../../src/passes/macroExpansionPass.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"macroExpansionPass.d.ts","sourceRoot":"","sources":["../../src/passes/macroExpansionPass.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAKhD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,CAmBzE"}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.macroExpansionPass = macroExpansionPass;
|
|
4
4
|
const processTaggedTemplateExpression_1 = require("../processing/macro-expansion/processTaggedTemplateExpression");
|
|
5
|
-
const processCallExpression_1 = require("../processing/macro-expansion/processCallExpression");
|
|
6
5
|
const processImportDeclaration_1 = require("../processing/macro-expansion/processImportDeclaration");
|
|
7
6
|
const processProgram_1 = require("../processing/macro-expansion/processProgram");
|
|
8
7
|
/**
|
|
@@ -21,7 +20,8 @@ function macroExpansionPass(state) {
|
|
|
21
20
|
return {
|
|
22
21
|
ImportDeclaration: (0, processImportDeclaration_1.processImportDeclaration)(onImportFound),
|
|
23
22
|
TaggedTemplateExpression: (0, processTaggedTemplateExpression_1.processTaggedTemplateExpression)(state),
|
|
24
|
-
|
|
23
|
+
// Disabling this to be re-enabled at stage 4
|
|
24
|
+
// CallExpression: processCallExpression(state),
|
|
25
25
|
Program: (0, processProgram_1.processProgram)({
|
|
26
26
|
state,
|
|
27
27
|
countBefore,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"macroExpansionPass.js","sourceRoot":"","sources":["../../src/passes/macroExpansionPass.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"macroExpansionPass.js","sourceRoot":"","sources":["../../src/passes/macroExpansionPass.ts"],"names":[],"mappings":";;AAaA,gDAmBC;AA9BD,mHAAgH;AAChH,qGAAkG;AAClG,iFAA8E;AAE9E;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAAC,KAAqB;IACtD,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC;IAE1D,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,eAAe,GAAG,IAAI,CAAC;IACzB,CAAC,CAAC;IAEF,OAAO;QACL,iBAAiB,EAAE,IAAA,mDAAwB,EAAC,aAAa,CAAC;QAC1D,wBAAwB,EAAE,IAAA,iEAA+B,EAAC,KAAK,CAAC;QAChE,6CAA6C;QAC7C,gDAAgD;QAChD,OAAO,EAAE,IAAA,+BAAc,EAAC;YACtB,KAAK;YACL,WAAW;YACX,iBAAiB,EAAE,GAAG,EAAE,CAAC,eAAe;SACzC,CAAC;KACH,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processCallExpression.d.ts","sourceRoot":"","sources":["../../../src/processing/macro-expansion/processCallExpression.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"processCallExpression.d.ts","sourceRoot":"","sources":["../../../src/processing/macro-expansion/processCallExpression.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAKnD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,cAAc,GACpB,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,cAAc,CAAC,CA+CrC"}
|
|
@@ -49,6 +49,7 @@ const constants_1 = require("../../utils/constants/gt/constants");
|
|
|
49
49
|
function processCallExpression(state) {
|
|
50
50
|
const symbol = state.settings.stringTranslationMacro;
|
|
51
51
|
return (path) => {
|
|
52
|
+
var _a;
|
|
52
53
|
if (!t.isIdentifier(path.node.callee, { name: symbol }))
|
|
53
54
|
return;
|
|
54
55
|
// Only transform unbound t (global macro) or t imported from a GT source
|
|
@@ -65,9 +66,10 @@ function processCallExpression(state) {
|
|
|
65
66
|
const firstArg = path.node.arguments[0];
|
|
66
67
|
if (!firstArg)
|
|
67
68
|
return;
|
|
69
|
+
const firstArgPath = (_a = path.get('arguments')) === null || _a === void 0 ? void 0 : _a[0];
|
|
68
70
|
if (state.settings.enableTemplateLiteralArg &&
|
|
69
71
|
t.isTemplateLiteral(firstArg)) {
|
|
70
|
-
const { message, variables } = (0, transformTemplateLiteral_1.transformTemplateLiteral)(
|
|
72
|
+
const { message, variables } = (0, transformTemplateLiteral_1.transformTemplateLiteral)(firstArgPath);
|
|
71
73
|
path.node.arguments[0] = message;
|
|
72
74
|
if (variables) {
|
|
73
75
|
mergeVariables(path.node.arguments, variables);
|
|
@@ -75,7 +77,7 @@ function processCallExpression(state) {
|
|
|
75
77
|
}
|
|
76
78
|
else if (state.settings.enableConcatenationArg &&
|
|
77
79
|
t.isBinaryExpression(firstArg, { operator: '+' })) {
|
|
78
|
-
const { message, variables } = (0, transformConcatenation_1.transformConcatenation)(
|
|
80
|
+
const { message, variables } = (0, transformConcatenation_1.transformConcatenation)(firstArgPath);
|
|
79
81
|
path.node.arguments[0] = message;
|
|
80
82
|
if (variables) {
|
|
81
83
|
mergeVariables(path.node.arguments, variables);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processCallExpression.js","sourceRoot":"","sources":["../../../src/processing/macro-expansion/processCallExpression.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,
|
|
1
|
+
{"version":3,"file":"processCallExpression.js","sourceRoot":"","sources":["../../../src/processing/macro-expansion/processCallExpression.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,sDAiDC;AA/DD,gDAAkC;AAElC,uGAAoG;AACpG,mGAAgG;AAChG,kEAAuE;AAEvE;;;;;;;GAOG;AACH,SAAgB,qBAAqB,CACnC,KAAqB;IAErB,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAErD,OAAO,CAAC,IAAI,EAAE,EAAE;;QACd,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAAE,OAAO;QAEhE,yEAAyE;QACzE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBAAE,OAAO;YAC9C,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;YAC3C,IACE,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,mBAAmB,EAAE;gBACjC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,6BAAiB,CAAC,gBAAgB,EACnE,CAAC;gBACD,OAAO;YACT,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,MAAM,YAAY,GAAG,MAAA,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,0CAAG,CAAC,CAAC,CAAC;QAEhD,IACE,KAAK,CAAC,QAAQ,CAAC,wBAAwB;YACvC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAC7B,CAAC;YACD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAA,mDAAwB,EACrD,YAA2C,CAC5C,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;YACjC,IAAI,SAAS,EAAE,CAAC;gBACd,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;aAAM,IACL,KAAK,CAAC,QAAQ,CAAC,sBAAsB;YACrC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EACjD,CAAC;YACD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAA,+CAAsB,EACnD,YAA4C,CAC7C,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;YACjC,IAAI,SAAS,EAAE,CAAC;gBACd,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CACrB,IAAgE,EAChE,SAA6B;IAE7B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,IAAI,CAAC,CAAC,CAAwB,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IAC3E,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC"}
|
|
@@ -65,7 +65,7 @@ function processTaggedTemplateExpression(state) {
|
|
|
65
65
|
return;
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
|
-
const { message, variables } = (0, transformTemplateLiteral_1.transformTemplateLiteral)(path.
|
|
68
|
+
const { message, variables } = (0, transformTemplateLiteral_1.transformTemplateLiteral)(path.get('quasi'));
|
|
69
69
|
const args = [message];
|
|
70
70
|
if (variables)
|
|
71
71
|
args.push(variables);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processTaggedTemplateExpression.js","sourceRoot":"","sources":["../../../src/processing/macro-expansion/processTaggedTemplateExpression.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,0EA+BC;AA9CD,gDAAkC;AAElC,kEAAwE;AACxE,kEAAuE;AACvE,uGAAoG;AAEpG;;;;;;;;GAQG;AACH,SAAgB,+BAA+B,CAC7C,KAAqB;IAErB,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAErD,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,oBAAoB;YAAE,OAAO;QACjD,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAAE,OAAO;QAE7D,8EAA8E;QAC9E,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBAAE,OAAO;YAC9C,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;YAC3C,IACE,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,mBAAmB,EAAE,CAAA;gBAClC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,6BAAiB,CAAC,gBAAgB,EACnE,CAAC;gBACD,OAAO;YACT,CAAC;QACH,CAAC;QAED,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAA,mDAAwB,EAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"processTaggedTemplateExpression.js","sourceRoot":"","sources":["../../../src/processing/macro-expansion/processTaggedTemplateExpression.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,0EA+BC;AA9CD,gDAAkC;AAElC,kEAAwE;AACxE,kEAAuE;AACvE,uGAAoG;AAEpG;;;;;;;;GAQG;AACH,SAAgB,+BAA+B,CAC7C,KAAqB;IAErB,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAErD,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,oBAAoB;YAAE,OAAO;QACjD,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAAE,OAAO;QAE7D,8EAA8E;QAC9E,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBAAE,OAAO;YAC9C,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;YAC3C,IACE,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,mBAAmB,EAAE,CAAA;gBAClC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,6BAAiB,CAAC,gBAAgB,EACnE,CAAC;gBACD,OAAO;YACT,CAAC;QACH,CAAC;QAED,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAA,mDAAwB,EAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3E,MAAM,IAAI,GAAmB,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,SAAS;YAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEpC,IAAI,CAAC,WAAW,CACd,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,8BAAkB,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAC3D,CAAC;QACF,KAAK,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC;IAC1C,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import * as t from '@babel/types';
|
|
2
|
+
import { NodePath } from '@babel/traverse';
|
|
2
3
|
/**
|
|
3
4
|
* Transform a BinaryExpression with '+' operator into a normalized t() call format.
|
|
4
5
|
*
|
|
5
|
-
*
|
|
6
|
-
* ICU-style variable placeholders.
|
|
6
|
+
* Recursively flattens the concatenation tree and simplifies static parts,
|
|
7
|
+
* converting dynamic operands into ICU-style variable placeholders.
|
|
7
8
|
*/
|
|
8
|
-
export declare function transformConcatenation(
|
|
9
|
-
message: t.StringLiteral;
|
|
9
|
+
export declare function transformConcatenation(path: NodePath<t.BinaryExpression>): {
|
|
10
|
+
message: t.StringLiteral | t.TemplateLiteral;
|
|
10
11
|
variables: t.ObjectExpression | null;
|
|
11
12
|
};
|
|
12
13
|
//# sourceMappingURL=transformConcatenation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformConcatenation.d.ts","sourceRoot":"","sources":["../../../src/transform/macro-expansion/transformConcatenation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"transformConcatenation.d.ts","sourceRoot":"","sources":["../../../src/transform/macro-expansion/transformConcatenation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAK3C;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG;IAC1E,OAAO,EAAE,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,eAAe,CAAC;IAC7C,SAAS,EAAE,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC;CACtC,CAIA"}
|
|
@@ -1,66 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
3
|
exports.transformConcatenation = transformConcatenation;
|
|
37
|
-
const
|
|
38
|
-
const
|
|
4
|
+
const flattenExpressionToParts_1 = require("../templates-and-concat/flattenExpressionToParts");
|
|
5
|
+
const mergeAdjacentStaticParts_1 = require("../templates-and-concat/mergeAdjacentStaticParts");
|
|
6
|
+
const buildTransformationResult_1 = require("../templates-and-concat/buildTransformationResult");
|
|
39
7
|
/**
|
|
40
8
|
* Transform a BinaryExpression with '+' operator into a normalized t() call format.
|
|
41
9
|
*
|
|
42
|
-
*
|
|
43
|
-
* ICU-style variable placeholders.
|
|
10
|
+
* Recursively flattens the concatenation tree and simplifies static parts,
|
|
11
|
+
* converting dynamic operands into ICU-style variable placeholders.
|
|
44
12
|
*/
|
|
45
|
-
function transformConcatenation(
|
|
46
|
-
const
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
let varIndex = 0;
|
|
50
|
-
for (const operand of operands) {
|
|
51
|
-
if (t.isStringLiteral(operand)) {
|
|
52
|
-
parts.push(operand.value);
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
const key = varIndex.toString();
|
|
56
|
-
parts.push(`{${key}}`);
|
|
57
|
-
properties.push(t.objectProperty(t.stringLiteral(key), operand));
|
|
58
|
-
varIndex++;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
return {
|
|
62
|
-
message: t.stringLiteral(parts.join('')),
|
|
63
|
-
variables: properties.length > 0 ? t.objectExpression(properties) : null,
|
|
64
|
-
};
|
|
13
|
+
function transformConcatenation(path) {
|
|
14
|
+
const parts = (0, flattenExpressionToParts_1.flattenExpressionToParts)(path.node, path);
|
|
15
|
+
const merged = (0, mergeAdjacentStaticParts_1.mergeAdjacentStaticParts)(parts);
|
|
16
|
+
return (0, buildTransformationResult_1.buildTransformResult)(merged);
|
|
65
17
|
}
|
|
66
18
|
//# sourceMappingURL=transformConcatenation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformConcatenation.js","sourceRoot":"","sources":["../../../src/transform/macro-expansion/transformConcatenation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transformConcatenation.js","sourceRoot":"","sources":["../../../src/transform/macro-expansion/transformConcatenation.ts"],"names":[],"mappings":";;AAYA,wDAOC;AAjBD,+FAA4F;AAC5F,+FAA4F;AAC5F,iGAAyF;AAEzF;;;;;GAKG;AACH,SAAgB,sBAAsB,CAAC,IAAkC;IAIvE,MAAM,KAAK,GAAG,IAAA,mDAAwB,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,IAAA,mDAAwB,EAAC,KAAK,CAAC,CAAC;IAC/C,OAAO,IAAA,gDAAoB,EAAC,MAAM,CAAC,CAAC;AACtC,CAAC"}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import * as t from '@babel/types';
|
|
2
|
+
import { NodePath } from '@babel/traverse';
|
|
2
3
|
/**
|
|
3
4
|
* Converts template literal quasis and expressions into an ICU-style message
|
|
4
5
|
* string with numeric variable placeholders ({0}, {1}, etc.).
|
|
6
|
+
*
|
|
7
|
+
* Recursively simplifies nested static expressions (string literals,
|
|
8
|
+
* nested templates) and preserves derive() calls as template expressions.
|
|
5
9
|
*/
|
|
6
|
-
export declare function transformTemplateLiteral(
|
|
7
|
-
message: t.StringLiteral;
|
|
10
|
+
export declare function transformTemplateLiteral(path: NodePath<t.TemplateLiteral>): {
|
|
11
|
+
message: t.StringLiteral | t.TemplateLiteral;
|
|
8
12
|
variables: t.ObjectExpression | null;
|
|
9
13
|
};
|
|
10
14
|
//# sourceMappingURL=transformTemplateLiteral.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformTemplateLiteral.d.ts","sourceRoot":"","sources":["../../../src/transform/macro-expansion/transformTemplateLiteral.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"transformTemplateLiteral.d.ts","sourceRoot":"","sources":["../../../src/transform/macro-expansion/transformTemplateLiteral.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAK3C;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG;IAC3E,OAAO,EAAE,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,eAAe,CAAC;IAC7C,SAAS,EAAE,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC;CACtC,CAIA"}
|
|
@@ -1,64 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
3
|
exports.transformTemplateLiteral = transformTemplateLiteral;
|
|
37
|
-
const
|
|
4
|
+
const flattenExpressionToParts_1 = require("../templates-and-concat/flattenExpressionToParts");
|
|
5
|
+
const mergeAdjacentStaticParts_1 = require("../templates-and-concat/mergeAdjacentStaticParts");
|
|
6
|
+
const buildTransformationResult_1 = require("../templates-and-concat/buildTransformationResult");
|
|
38
7
|
/**
|
|
39
8
|
* Converts template literal quasis and expressions into an ICU-style message
|
|
40
9
|
* string with numeric variable placeholders ({0}, {1}, etc.).
|
|
10
|
+
*
|
|
11
|
+
* Recursively simplifies nested static expressions (string literals,
|
|
12
|
+
* nested templates) and preserves derive() calls as template expressions.
|
|
41
13
|
*/
|
|
42
|
-
function transformTemplateLiteral(
|
|
43
|
-
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
let varIndex = 0;
|
|
47
|
-
for (let i = 0; i < node.quasis.length; i++) {
|
|
48
|
-
// Add the cooked text from the quasi (use cooked to handle escape sequences)
|
|
49
|
-
parts.push((_a = node.quasis[i].value.cooked) !== null && _a !== void 0 ? _a : node.quasis[i].value.raw);
|
|
50
|
-
// If there's a corresponding expression, create a variable placeholder
|
|
51
|
-
if (i < node.expressions.length) {
|
|
52
|
-
const expr = node.expressions[i];
|
|
53
|
-
const key = varIndex.toString();
|
|
54
|
-
parts.push(`{${key}}`);
|
|
55
|
-
properties.push(t.objectProperty(t.stringLiteral(key), expr));
|
|
56
|
-
varIndex++;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
return {
|
|
60
|
-
message: t.stringLiteral(parts.join('')),
|
|
61
|
-
variables: properties.length > 0 ? t.objectExpression(properties) : null,
|
|
62
|
-
};
|
|
14
|
+
function transformTemplateLiteral(path) {
|
|
15
|
+
const parts = (0, flattenExpressionToParts_1.flattenExpressionToParts)(path.node, path);
|
|
16
|
+
const merged = (0, mergeAdjacentStaticParts_1.mergeAdjacentStaticParts)(parts);
|
|
17
|
+
return (0, buildTransformationResult_1.buildTransformResult)(merged);
|
|
63
18
|
}
|
|
64
19
|
//# sourceMappingURL=transformTemplateLiteral.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformTemplateLiteral.js","sourceRoot":"","sources":["../../../src/transform/macro-expansion/transformTemplateLiteral.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transformTemplateLiteral.js","sourceRoot":"","sources":["../../../src/transform/macro-expansion/transformTemplateLiteral.ts"],"names":[],"mappings":";;AAaA,4DAOC;AAlBD,+FAA4F;AAC5F,+FAA4F;AAC5F,iGAAyF;AAEzF;;;;;;GAMG;AACH,SAAgB,wBAAwB,CAAC,IAAiC;IAIxE,MAAM,KAAK,GAAG,IAAA,mDAAwB,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,IAAA,mDAAwB,EAAC,KAAK,CAAC,CAAC;IAC/C,OAAO,IAAA,gDAAoB,EAAC,MAAM,CAAC,CAAC;AACtC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as t from '@babel/types';
|
|
2
|
+
import { Part } from './flattenExpressionToParts';
|
|
3
|
+
/**
|
|
4
|
+
* Converts merged parts into an AST message node and optional variables object.
|
|
5
|
+
*
|
|
6
|
+
* - All static → StringLiteral, no variables
|
|
7
|
+
* - Has derive/dynamic → TemplateLiteral with derive expressions preserved
|
|
8
|
+
* and dynamic values extracted as {n} placeholders
|
|
9
|
+
*/
|
|
10
|
+
export declare function buildTransformResult(parts: Part[]): {
|
|
11
|
+
message: t.StringLiteral | t.TemplateLiteral;
|
|
12
|
+
variables: t.ObjectExpression | null;
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=buildTransformationResult.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildTransformationResult.d.ts","sourceRoot":"","sources":["../../../src/transform/templates-and-concat/buildTransformationResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAElD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG;IACnD,OAAO,EAAE,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,eAAe,CAAC;IAC7C,SAAS,EAAE,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC;CACtC,CA2DA"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.buildTransformResult = buildTransformResult;
|
|
37
|
+
const t = __importStar(require("@babel/types"));
|
|
38
|
+
/**
|
|
39
|
+
* Converts merged parts into an AST message node and optional variables object.
|
|
40
|
+
*
|
|
41
|
+
* - All static → StringLiteral, no variables
|
|
42
|
+
* - Has derive/dynamic → TemplateLiteral with derive expressions preserved
|
|
43
|
+
* and dynamic values extracted as {n} placeholders
|
|
44
|
+
*/
|
|
45
|
+
function buildTransformResult(parts) {
|
|
46
|
+
const hasDerive = parts.some((p) => p.type === 'derive');
|
|
47
|
+
// No derive parts: collapse everything into a StringLiteral with {n} placeholders
|
|
48
|
+
if (!hasDerive) {
|
|
49
|
+
const properties = [];
|
|
50
|
+
let varIndex = 0;
|
|
51
|
+
let message = '';
|
|
52
|
+
for (const part of parts) {
|
|
53
|
+
if (part.type === 'static') {
|
|
54
|
+
message += part.value;
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
const key = varIndex.toString();
|
|
58
|
+
message += `{${key}}`;
|
|
59
|
+
properties.push(t.objectProperty(t.stringLiteral(key), part.node));
|
|
60
|
+
varIndex++;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return {
|
|
64
|
+
message: t.stringLiteral(message),
|
|
65
|
+
variables: properties.length > 0 ? t.objectExpression(properties) : null,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
// Has derive parts: build a TemplateLiteral with derive expressions preserved
|
|
69
|
+
const quasis = [];
|
|
70
|
+
const expressions = [];
|
|
71
|
+
const properties = [];
|
|
72
|
+
let varIndex = 0;
|
|
73
|
+
let quasiBuffer = '';
|
|
74
|
+
function flushQuasi(tail) {
|
|
75
|
+
quasis.push(t.templateElement({ raw: quasiBuffer, cooked: quasiBuffer }, tail));
|
|
76
|
+
quasiBuffer = '';
|
|
77
|
+
}
|
|
78
|
+
for (const part of parts) {
|
|
79
|
+
if (part.type === 'static') {
|
|
80
|
+
quasiBuffer += part.value;
|
|
81
|
+
}
|
|
82
|
+
else if (part.type === 'derive') {
|
|
83
|
+
flushQuasi(false);
|
|
84
|
+
expressions.push(part.node);
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
const key = varIndex.toString();
|
|
88
|
+
quasiBuffer += `{${key}}`;
|
|
89
|
+
properties.push(t.objectProperty(t.stringLiteral(key), part.node));
|
|
90
|
+
varIndex++;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
// Final quasi (tail)
|
|
94
|
+
flushQuasi(true);
|
|
95
|
+
return {
|
|
96
|
+
message: t.templateLiteral(quasis, expressions),
|
|
97
|
+
variables: properties.length > 0 ? t.objectExpression(properties) : null,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=buildTransformationResult.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildTransformationResult.js","sourceRoot":"","sources":["../../../src/transform/templates-and-concat/buildTransformationResult.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as t from '@babel/types';
|
|
2
|
+
import { NodePath } from '@babel/traverse';
|
|
3
|
+
export type Part = {
|
|
4
|
+
type: 'static';
|
|
5
|
+
value: string;
|
|
6
|
+
} | {
|
|
7
|
+
type: 'derive';
|
|
8
|
+
node: t.Expression;
|
|
9
|
+
} | {
|
|
10
|
+
type: 'dynamic';
|
|
11
|
+
node: t.Expression;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Recursively decomposes an expression tree into a flat list of typed parts.
|
|
15
|
+
* Handles string/numeric/boolean/null literals, void expressions,
|
|
16
|
+
* template literals, binary '+' concatenation, and derive() calls.
|
|
17
|
+
*/
|
|
18
|
+
export declare function flattenExpressionToParts(node: t.Expression, tPath: NodePath): Part[];
|
|
19
|
+
//# sourceMappingURL=flattenExpressionToParts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flattenExpressionToParts.d.ts","sourceRoot":"","sources":["../../../src/transform/templates-and-concat/flattenExpressionToParts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAG3C,MAAM,MAAM,IAAI,GACZ;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAA;CAAE,CAAC;AAE5C;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,CAAC,CAAC,UAAU,EAClB,KAAK,EAAE,QAAQ,GACd,IAAI,EAAE,CAiDR"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.flattenExpressionToParts = flattenExpressionToParts;
|
|
37
|
+
const t = __importStar(require("@babel/types"));
|
|
38
|
+
const isDeriveInvocation_1 = require("../../utils/parsing/isDeriveInvocation");
|
|
39
|
+
/**
|
|
40
|
+
* Recursively decomposes an expression tree into a flat list of typed parts.
|
|
41
|
+
* Handles string/numeric/boolean/null literals, void expressions,
|
|
42
|
+
* template literals, binary '+' concatenation, and derive() calls.
|
|
43
|
+
*/
|
|
44
|
+
function flattenExpressionToParts(node, tPath) {
|
|
45
|
+
if (t.isStringLiteral(node)) {
|
|
46
|
+
return [{ type: 'static', value: node.value }];
|
|
47
|
+
}
|
|
48
|
+
if (t.isNumericLiteral(node)) {
|
|
49
|
+
return [{ type: 'static', value: String(node.value) }];
|
|
50
|
+
}
|
|
51
|
+
if (t.isBooleanLiteral(node)) {
|
|
52
|
+
return [{ type: 'static', value: String(node.value) }];
|
|
53
|
+
}
|
|
54
|
+
if (t.isNullLiteral(node)) {
|
|
55
|
+
return [{ type: 'static', value: 'null' }];
|
|
56
|
+
}
|
|
57
|
+
if (t.isUnaryExpression(node) && node.operator === 'void') {
|
|
58
|
+
return [{ type: 'dynamic', node }];
|
|
59
|
+
}
|
|
60
|
+
if (t.isTemplateLiteral(node)) {
|
|
61
|
+
const parts = [];
|
|
62
|
+
for (let i = 0; i < node.quasis.length; i++) {
|
|
63
|
+
const { cooked, raw } = node.quasis[i].value;
|
|
64
|
+
const text = cooked !== null && cooked !== void 0 ? cooked : raw;
|
|
65
|
+
if (text) {
|
|
66
|
+
parts.push({ type: 'static', value: text });
|
|
67
|
+
}
|
|
68
|
+
if (i < node.expressions.length) {
|
|
69
|
+
const expr = node.expressions[i];
|
|
70
|
+
parts.push(...flattenExpressionToParts(expr, tPath));
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return parts;
|
|
74
|
+
}
|
|
75
|
+
if (t.isBinaryExpression(node) && node.operator === '+') {
|
|
76
|
+
return [
|
|
77
|
+
...flattenExpressionToParts(node.left, tPath),
|
|
78
|
+
...flattenExpressionToParts(node.right, tPath),
|
|
79
|
+
];
|
|
80
|
+
}
|
|
81
|
+
if ((0, isDeriveInvocation_1.isDeriveInvocation)(node, tPath)) {
|
|
82
|
+
return [{ type: 'derive', node }];
|
|
83
|
+
}
|
|
84
|
+
return [{ type: 'dynamic', node }];
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=flattenExpressionToParts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flattenExpressionToParts.js","sourceRoot":"","sources":["../../../src/transform/templates-and-concat/flattenExpressionToParts.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,4DAoDC;AAlED,gDAAkC;AAElC,+EAA4E;AAO5E;;;;GAIG;AACH,SAAgB,wBAAwB,CACtC,IAAkB,EAClB,KAAe;IAEf,IAAI,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;QAC1D,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAW,EAAE,CAAC;QACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC7C,MAAM,IAAI,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,GAAG,CAAC;YAC3B,IAAI,IAAI,EAAE,CAAC;gBACT,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;gBAChC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAiB,CAAC;gBACjD,KAAK,CAAC,IAAI,CAAC,GAAG,wBAAwB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC;QACxD,OAAO;YACL,GAAG,wBAAwB,CAAC,IAAI,CAAC,IAAoB,EAAE,KAAK,CAAC;YAC7D,GAAG,wBAAwB,CAAC,IAAI,CAAC,KAAqB,EAAE,KAAK,CAAC;SAC/D,CAAC;IACJ,CAAC;IAED,IAAI,IAAA,uCAAkB,EAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;QACpC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AACrC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mergeAdjacentStaticParts.d.ts","sourceRoot":"","sources":["../../../src/transform/templates-and-concat/mergeAdjacentStaticParts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAElD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,CAe9D"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mergeAdjacentStaticParts = mergeAdjacentStaticParts;
|
|
4
|
+
/**
|
|
5
|
+
* Collapse consecutive static parts by concatenating their values.
|
|
6
|
+
*/
|
|
7
|
+
function mergeAdjacentStaticParts(parts) {
|
|
8
|
+
const merged = [];
|
|
9
|
+
for (const part of parts) {
|
|
10
|
+
if (part.type === 'static' &&
|
|
11
|
+
merged.length > 0 &&
|
|
12
|
+
merged[merged.length - 1].type === 'static') {
|
|
13
|
+
merged[merged.length - 1].value +=
|
|
14
|
+
part.value;
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
merged.push(part);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return merged;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=mergeAdjacentStaticParts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mergeAdjacentStaticParts.js","sourceRoot":"","sources":["../../../src/transform/templates-and-concat/mergeAdjacentStaticParts.ts"],"names":[],"mappings":";;AAKA,4DAeC;AAlBD;;GAEG;AACH,SAAgB,wBAAwB,CAAC,KAAa;IACpD,MAAM,MAAM,GAAW,EAAE,CAAC;IAC1B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IACE,IAAI,CAAC,IAAI,KAAK,QAAQ;YACtB,MAAM,CAAC,MAAM,GAAG,CAAC;YACjB,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,EAC3C,CAAC;YACA,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAuC,CAAC,KAAK;gBACpE,IAAI,CAAC,KAAK,CAAC;QACf,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -61,6 +61,10 @@ export declare enum GT_CALLBACK_FUNCTIONS {
|
|
|
61
61
|
* Maps GT Functions to their callback functions
|
|
62
62
|
*/
|
|
63
63
|
export declare const GT_FUNCTIONS_TO_CALLBACKS: Record<GT_FUNCTIONS_WITH_CALLBACKS, GT_CALLBACK_FUNCTIONS>;
|
|
64
|
+
/**
|
|
65
|
+
* GT derive functions
|
|
66
|
+
*/
|
|
67
|
+
export declare const GT_DERIVE_STRING_FUNCTIONS: readonly [GT_OTHER_FUNCTIONS.declareStatic, GT_OTHER_FUNCTIONS.derive];
|
|
64
68
|
/**
|
|
65
69
|
* All gt functions (both regular and callback functions)
|
|
66
70
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/utils/constants/gt/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,uBAAuB;IACjC,WAAW,MAAM;IACjB,QAAQ,QAAQ;IAChB,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,oBAAY,kBAAkB;IAC5B,CAAC,MAAM;IACP,EAAE,OAAO;IACT,GAAG,QAAQ;IACX,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,cAAc,mBAAmB;CAClC;AAED;;GAEG;AACH,oBAAY,2BAA2B;IACrC,KAAK,UAAU;IACf,KAAK,UAAU;IACf,eAAe,oBAAoB;IACnC,eAAe,oBAAoB;IACnC,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;CAC5B;AAED;;GAEG;AACH,oBAAY,kBAAkB;IAC5B,GAAG,QAAQ;IACX,aAAa,kBAAkB;IAC/B,CAAC,MAAM;IACP,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,2BAA2B,GAAG,kBAAkB,CAAC;AAC5E;;GAEG;AACH,oBAAY,qBAAqB;IAC/B,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,wBAAwB,6BAA6B;IACrD,wBAAwB,6BAA6B;IACrD,oBAAoB,yBAAyB;IAC7C,oBAAoB,yBAAyB;CAC9C;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAC5C,2BAA2B,EAC3B,qBAAqB,CAYtB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACxB,YAAY,GACZ,qBAAqB,GACrB,kBAAkB,CAAC;AAEvB;;GAEG;AACH,oBAAY,iBAAiB;IAC3B,OAAO,YAAY;IACnB,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,QAAQ,aAAa;IACrB,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IACrC,OAAO,YAAY;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,aAUvB,CAAC;AAEH;;GAEG;AACH,oBAAY,sBAAsB;IAChC,GAAG,QAAQ;IACX,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;CAS5B,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/utils/constants/gt/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,uBAAuB;IACjC,WAAW,MAAM;IACjB,QAAQ,QAAQ;IAChB,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,oBAAY,kBAAkB;IAC5B,CAAC,MAAM;IACP,EAAE,OAAO;IACT,GAAG,QAAQ;IACX,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,cAAc,mBAAmB;CAClC;AAED;;GAEG;AACH,oBAAY,2BAA2B;IACrC,KAAK,UAAU;IACf,KAAK,UAAU;IACf,eAAe,oBAAoB;IACnC,eAAe,oBAAoB;IACnC,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;CAC5B;AAED;;GAEG;AACH,oBAAY,kBAAkB;IAC5B,GAAG,QAAQ;IACX,aAAa,kBAAkB;IAC/B,CAAC,MAAM;IACP,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,2BAA2B,GAAG,kBAAkB,CAAC;AAC5E;;GAEG;AACH,oBAAY,qBAAqB;IAC/B,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,wBAAwB,6BAA6B;IACrD,wBAAwB,6BAA6B;IACrD,oBAAoB,yBAAyB;IAC7C,oBAAoB,yBAAyB;CAC9C;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAC5C,2BAA2B,EAC3B,qBAAqB,CAYtB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,wEAG7B,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACxB,YAAY,GACZ,qBAAqB,GACrB,kBAAkB,CAAC;AAEvB;;GAEG;AACH,oBAAY,iBAAiB;IAC3B,OAAO,YAAY;IACnB,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,QAAQ,aAAa;IACrB,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IACrC,OAAO,YAAY;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,aAUvB,CAAC;AAEH;;GAEG;AACH,oBAAY,sBAAsB;IAChC,GAAG,QAAQ;IACX,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;CAS5B,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MINIFY_CANONICAL_NAME_MAP = exports.USEGT_CALLBACK_OPTIONS = exports.PLURAL_FORMS = exports.GT_IMPORT_SOURCES = exports.GT_FUNCTIONS_TO_CALLBACKS = exports.GT_CALLBACK_FUNCTIONS = exports.GT_OTHER_FUNCTIONS = exports.GT_FUNCTIONS_WITH_CALLBACKS = exports.GT_COMPONENT_TYPES = exports.GT_COMPONENT_CATEGORIES = void 0;
|
|
3
|
+
exports.MINIFY_CANONICAL_NAME_MAP = exports.USEGT_CALLBACK_OPTIONS = exports.PLURAL_FORMS = exports.GT_IMPORT_SOURCES = exports.GT_DERIVE_STRING_FUNCTIONS = exports.GT_FUNCTIONS_TO_CALLBACKS = exports.GT_CALLBACK_FUNCTIONS = exports.GT_OTHER_FUNCTIONS = exports.GT_FUNCTIONS_WITH_CALLBACKS = exports.GT_COMPONENT_TYPES = exports.GT_COMPONENT_CATEGORIES = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* Different TYPES of gt components
|
|
6
6
|
*/
|
|
@@ -72,6 +72,13 @@ exports.GT_FUNCTIONS_TO_CALLBACKS = {
|
|
|
72
72
|
[GT_FUNCTIONS_WITH_CALLBACKS.useMessages]: GT_CALLBACK_FUNCTIONS.useMessages_callback,
|
|
73
73
|
[GT_FUNCTIONS_WITH_CALLBACKS.getMessages]: GT_CALLBACK_FUNCTIONS.getMessages_callback,
|
|
74
74
|
};
|
|
75
|
+
/**
|
|
76
|
+
* GT derive functions
|
|
77
|
+
*/
|
|
78
|
+
exports.GT_DERIVE_STRING_FUNCTIONS = [
|
|
79
|
+
GT_OTHER_FUNCTIONS.declareStatic,
|
|
80
|
+
GT_OTHER_FUNCTIONS.derive,
|
|
81
|
+
];
|
|
75
82
|
/**
|
|
76
83
|
* GT import sources
|
|
77
84
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/utils/constants/gt/constants.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,IAAY,uBAIX;AAJD,WAAY,uBAAuB;IACjC,4CAAiB,CAAA;IACjB,2CAAgB,CAAA;IAChB,4CAAiB,CAAA;AACnB,CAAC,EAJW,uBAAuB,uCAAvB,uBAAuB,QAIlC;AAED;;GAEG;AACH,IAAY,kBAYX;AAZD,WAAY,kBAAkB;IAC5B,6BAAO,CAAA;IACP,+BAAS,CAAA;IACT,iCAAW,CAAA;IACX,2CAAqB,CAAA;IACrB,2CAAqB,CAAA;IACrB,iCAAW,CAAA;IACX,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;IACjB,uDAAiC,CAAA;AACnC,CAAC,EAZW,kBAAkB,kCAAlB,kBAAkB,QAY7B;AAED;;GAEG;AACH,IAAY,2BAOX;AAPD,WAAY,2BAA2B;IACrC,8CAAe,CAAA;IACf,8CAAe,CAAA;IACf,kEAAmC,CAAA;IACnC,kEAAmC,CAAA;IACnC,0DAA2B,CAAA;IAC3B,0DAA2B,CAAA;AAC7B,CAAC,EAPW,2BAA2B,2CAA3B,2BAA2B,QAOtC;AAED;;GAEG;AACH,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,iCAAW,CAAA;IACX,qDAA+B,CAAA;IAC/B,6BAAO,CAAA;IACP,uCAAiB,CAAA;AACnB,CAAC,EALW,kBAAkB,kCAAlB,kBAAkB,QAK7B;AAMD;;GAEG;AACH,IAAY,qBAOX;AAPD,WAAY,qBAAqB;IAC/B,0DAAiC,CAAA;IACjC,0DAAiC,CAAA;IACjC,8EAAqD,CAAA;IACrD,8EAAqD,CAAA;IACrD,sEAA6C,CAAA;IAC7C,sEAA6C,CAAA;AAC/C,CAAC,EAPW,qBAAqB,qCAArB,qBAAqB,QAOhC;AAED;;GAEG;AACU,QAAA,yBAAyB,GAGlC;IACF,CAAC,2BAA2B,CAAC,KAAK,CAAC,EAAE,qBAAqB,CAAC,cAAc;IACzE,CAAC,2BAA2B,CAAC,KAAK,CAAC,EAAE,qBAAqB,CAAC,cAAc;IACzE,CAAC,2BAA2B,CAAC,eAAe,CAAC,EAC3C,qBAAqB,CAAC,wBAAwB;IAChD,CAAC,2BAA2B,CAAC,eAAe,CAAC,EAC3C,qBAAqB,CAAC,wBAAwB;IAChD,CAAC,2BAA2B,CAAC,WAAW,CAAC,EACvC,qBAAqB,CAAC,oBAAoB;IAC5C,CAAC,2BAA2B,CAAC,WAAW,CAAC,EACvC,qBAAqB,CAAC,oBAAoB;CAC7C,CAAC;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/utils/constants/gt/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as t from '@babel/types';
|
|
2
|
+
import { NodePath } from '@babel/traverse';
|
|
3
|
+
/**
|
|
4
|
+
* Skip un-interpolation step for derive invocations
|
|
5
|
+
* @param {t.Expression} expr - The expression to check
|
|
6
|
+
* @returns {boolean} True if the expression is a derive invocation, false otherwise
|
|
7
|
+
*/
|
|
8
|
+
export declare function isDeriveInvocation(expr: t.Expression, tPath: NodePath): boolean;
|
|
9
|
+
//# sourceMappingURL=isDeriveInvocation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isDeriveInvocation.d.ts","sourceRoot":"","sources":["../../../src/utils/parsing/isDeriveInvocation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAI3C;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,CAAC,CAAC,UAAU,EAClB,KAAK,EAAE,QAAQ,GACd,OAAO,CAiBT"}
|
|
@@ -33,21 +33,34 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.
|
|
36
|
+
exports.isDeriveInvocation = isDeriveInvocation;
|
|
37
37
|
const t = __importStar(require("@babel/types"));
|
|
38
|
+
const helpers_1 = require("../constants/gt/helpers");
|
|
39
|
+
const constants_1 = require("../constants/gt/constants");
|
|
38
40
|
/**
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
* Non-'+' BinaryExpressions are returned as a single element.
|
|
41
|
+
* Skip un-interpolation step for derive invocations
|
|
42
|
+
* @param {t.Expression} expr - The expression to check
|
|
43
|
+
* @returns {boolean} True if the expression is a derive invocation, false otherwise
|
|
43
44
|
*/
|
|
44
|
-
function
|
|
45
|
-
if (t.
|
|
46
|
-
return
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
45
|
+
function isDeriveInvocation(expr, tPath) {
|
|
46
|
+
if (!t.isCallExpression(expr) || !t.isIdentifier(expr.callee))
|
|
47
|
+
return false;
|
|
48
|
+
const scope = tPath.scope;
|
|
49
|
+
const binding = scope.getBinding(expr.callee.name);
|
|
50
|
+
if (!binding)
|
|
51
|
+
return false;
|
|
52
|
+
if (!binding.path.isImportSpecifier())
|
|
53
|
+
return false;
|
|
54
|
+
const importDecl = binding.path.parentPath;
|
|
55
|
+
if (!(importDecl === null || importDecl === void 0 ? void 0 : importDecl.isImportDeclaration()))
|
|
56
|
+
return false;
|
|
57
|
+
const importSource = importDecl.node.source.value;
|
|
58
|
+
if (!(0, helpers_1.isGTImportSource)(importSource))
|
|
59
|
+
return false;
|
|
60
|
+
const imported = binding.path.node.imported;
|
|
61
|
+
const originalName = t.isIdentifier(imported)
|
|
62
|
+
? imported.name
|
|
63
|
+
: imported.value;
|
|
64
|
+
return constants_1.GT_DERIVE_STRING_FUNCTIONS.includes(originalName);
|
|
52
65
|
}
|
|
53
|
-
//# sourceMappingURL=
|
|
66
|
+
//# sourceMappingURL=isDeriveInvocation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isDeriveInvocation.js","sourceRoot":"","sources":["../../../src/utils/parsing/isDeriveInvocation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,gDAoBC;AA9BD,gDAAkC;AAElC,qDAA2D;AAC3D,yDAAuE;AAEvE;;;;GAIG;AACH,SAAgB,kBAAkB,CAChC,IAAkB,EAClB,KAAe;IAEf,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5E,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE;QAAE,OAAO,KAAK,CAAC;IACpD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;IAC3C,IAAI,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,mBAAmB,EAAE,CAAA;QAAE,OAAO,KAAK,CAAC;IACrD,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;IAClD,IAAI,CAAC,IAAA,0BAAgB,EAAC,YAAY,CAAC;QAAE,OAAO,KAAK,CAAC;IAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC5C,MAAM,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC;QAC3C,CAAC,CAAC,QAAQ,CAAC,IAAI;QACf,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;IACnB,OAAO,sCAA0B,CAAC,QAAQ,CACxC,YAA2D,CAC5D,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@generaltranslation/compiler",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.31",
|
|
4
4
|
"description": "Universal plugin for compile-time optimization of GT translation components",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"@babel/traverse": "^7.23.0",
|
|
25
25
|
"@babel/types": "^7.23.0",
|
|
26
26
|
"unplugin": "^2.3.10",
|
|
27
|
-
"generaltranslation": "8.1.
|
|
27
|
+
"generaltranslation": "8.1.19"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@types/babel__core": "^7.20.0",
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import * as t from '@babel/types';
|
|
2
|
-
/**
|
|
3
|
-
* Recursively flatten a left-recursive BinaryExpression tree with '+' operator
|
|
4
|
-
* into an ordered array of Expression nodes.
|
|
5
|
-
*
|
|
6
|
-
* Non-'+' BinaryExpressions are returned as a single element.
|
|
7
|
-
*/
|
|
8
|
-
export declare function flattenConcatenation(node: t.Expression): t.Expression[];
|
|
9
|
-
//# sourceMappingURL=flattenConcatenation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"flattenConcatenation.d.ts","sourceRoot":"","sources":["../../../src/utils/parsing/flattenConcatenation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAElC;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,EAAE,CAQvE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"flattenConcatenation.js","sourceRoot":"","sources":["../../../src/utils/parsing/flattenConcatenation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,oDAQC;AAhBD,gDAAkC;AAElC;;;;;GAKG;AACH,SAAgB,oBAAoB,CAAC,IAAkB;IACrD,IAAI,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC;QACxD,OAAO;YACL,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAoB,CAAC;YAClD,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAqB,CAAC;SACpD,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC"}
|