@generaltranslation/compiler 1.3.15 → 1.3.17
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/processing/collection/processCallExpression.d.ts.map +1 -1
- package/dist/processing/collection/processCallExpression.js +21 -15
- package/dist/processing/collection/processCallExpression.js.map +1 -1
- package/dist/processing/collection/processTaggedTemplateExpression.d.ts.map +1 -1
- package/dist/processing/collection/processTaggedTemplateExpression.js +13 -28
- package/dist/processing/collection/processTaggedTemplateExpression.js.map +1 -1
- package/dist/processing/injection/processCallExpression.d.ts.map +1 -1
- package/dist/processing/injection/processCallExpression.js +8 -8
- package/dist/processing/injection/processCallExpression.js.map +1 -1
- package/dist/processing/macro-expansion/processTaggedTemplateExpression.d.ts +1 -1
- package/dist/processing/macro-expansion/processTaggedTemplateExpression.d.ts.map +1 -1
- package/dist/processing/macro-expansion/processTaggedTemplateExpression.js +8 -15
- package/dist/processing/macro-expansion/processTaggedTemplateExpression.js.map +1 -1
- package/dist/transform/injection/callbacks/injectUseGTCallbackParameters.d.ts +2 -1
- package/dist/transform/injection/callbacks/injectUseGTCallbackParameters.d.ts.map +1 -1
- package/dist/transform/injection/callbacks/injectUseGTCallbackParameters.js +3 -2
- package/dist/transform/injection/callbacks/injectUseGTCallbackParameters.js.map +1 -1
- package/dist/transform/injection/callbacks/injectUseMessagesCallbackParameters.d.ts +2 -1
- package/dist/transform/injection/callbacks/injectUseMessagesCallbackParameters.d.ts.map +1 -1
- package/dist/transform/injection/callbacks/injectUseMessagesCallbackParameters.js +1 -1
- package/dist/transform/injection/callbacks/injectUseMessagesCallbackParameters.js.map +1 -1
- package/dist/transform/injection/callbacks/injectUseTranslationsCallbackParameters.d.ts +2 -1
- package/dist/transform/injection/callbacks/injectUseTranslationsCallbackParameters.d.ts.map +1 -1
- package/dist/transform/injection/callbacks/injectUseTranslationsCallbackParameters.js +1 -1
- package/dist/transform/injection/callbacks/injectUseTranslationsCallbackParameters.js.map +1 -1
- package/dist/transform/injection/injectStandaloneTFunctionParameters.d.ts +2 -1
- package/dist/transform/injection/injectStandaloneTFunctionParameters.d.ts.map +1 -1
- package/dist/transform/injection/injectStandaloneTFunctionParameters.js +3 -2
- package/dist/transform/injection/injectStandaloneTFunctionParameters.js.map +1 -1
- package/dist/transform/macro-expansion/transformTemplateLiteral.d.ts +3 -2
- package/dist/transform/macro-expansion/transformTemplateLiteral.d.ts.map +1 -1
- package/dist/transform/macro-expansion/transformTemplateLiteral.js +8 -5
- package/dist/transform/macro-expansion/transformTemplateLiteral.js.map +1 -1
- package/dist/transform/registration/registerStandaloneTranslation.d.ts.map +1 -1
- package/dist/transform/registration/registerStandaloneTranslation.js +2 -0
- package/dist/transform/registration/registerStandaloneTranslation.js.map +1 -1
- package/dist/transform/validation/validateTranslationFunctionCallback.d.ts +2 -1
- package/dist/transform/validation/validateTranslationFunctionCallback.d.ts.map +1 -1
- package/dist/transform/validation/validateTranslationFunctionCallback.js +21 -17
- package/dist/transform/validation/validateTranslationFunctionCallback.js.map +1 -1
- package/dist/utils/parsing/isDeriveInvocation.d.ts +2 -2
- package/dist/utils/parsing/isDeriveInvocation.d.ts.map +1 -1
- package/dist/utils/parsing/isDeriveInvocation.js +1 -2
- package/dist/utils/parsing/isDeriveInvocation.js.map +1 -1
- package/dist/utils/parsing/isStringTranslationTaggedTemplate.d.ts +13 -0
- package/dist/utils/parsing/isStringTranslationTaggedTemplate.d.ts.map +1 -0
- package/dist/utils/parsing/isStringTranslationTaggedTemplate.js +63 -0
- package/dist/utils/parsing/isStringTranslationTaggedTemplate.js.map +1 -0
- package/dist/utils/string-expressions/buildTransformationResult.d.ts.map +1 -0
- package/dist/utils/string-expressions/buildTransformationResult.js.map +1 -0
- package/dist/utils/string-expressions/flattenExpressionToParts.d.ts +28 -0
- package/dist/utils/string-expressions/flattenExpressionToParts.d.ts.map +1 -0
- package/dist/utils/string-expressions/flattenExpressionToParts.js +122 -0
- package/dist/utils/string-expressions/flattenExpressionToParts.js.map +1 -0
- package/dist/utils/string-expressions/mergeAdjacentStaticParts.d.ts.map +1 -0
- package/dist/utils/string-expressions/mergeAdjacentStaticParts.js.map +1 -0
- package/dist/{transform/templates-and-concat → utils/string-expressions}/resolveStaticExpression.d.ts +2 -1
- package/dist/utils/string-expressions/resolveStaticExpression.d.ts.map +1 -0
- package/dist/utils/string-expressions/resolveStaticExpression.js +30 -0
- package/dist/utils/string-expressions/resolveStaticExpression.js.map +1 -0
- package/package.json +2 -2
- package/dist/transform/macro-expansion/transformConcatenation.d.ts +0 -13
- package/dist/transform/macro-expansion/transformConcatenation.d.ts.map +0 -1
- package/dist/transform/macro-expansion/transformConcatenation.js +0 -18
- package/dist/transform/macro-expansion/transformConcatenation.js.map +0 -1
- package/dist/transform/templates-and-concat/buildTransformationResult.d.ts.map +0 -1
- package/dist/transform/templates-and-concat/buildTransformationResult.js.map +0 -1
- package/dist/transform/templates-and-concat/flattenExpressionToParts.d.ts +0 -19
- package/dist/transform/templates-and-concat/flattenExpressionToParts.d.ts.map +0 -1
- package/dist/transform/templates-and-concat/flattenExpressionToParts.js +0 -86
- package/dist/transform/templates-and-concat/flattenExpressionToParts.js.map +0 -1
- package/dist/transform/templates-and-concat/mergeAdjacentStaticParts.d.ts.map +0 -1
- package/dist/transform/templates-and-concat/mergeAdjacentStaticParts.js.map +0 -1
- package/dist/transform/templates-and-concat/resolveStaticExpression.d.ts.map +0 -1
- package/dist/transform/templates-and-concat/resolveStaticExpression.js +0 -89
- package/dist/transform/templates-and-concat/resolveStaticExpression.js.map +0 -1
- /package/dist/{transform/templates-and-concat → utils/string-expressions}/buildTransformationResult.d.ts +0 -0
- /package/dist/{transform/templates-and-concat → utils/string-expressions}/buildTransformationResult.js +0 -0
- /package/dist/{transform/templates-and-concat → utils/string-expressions}/mergeAdjacentStaticParts.d.ts +0 -0
- /package/dist/{transform/templates-and-concat → utils/string-expressions}/mergeAdjacentStaticParts.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerStandaloneTranslation.js","sourceRoot":"","sources":["../../../src/transform/registration/registerStandaloneTranslation.ts"],"names":[],"mappings":";;;;;AAOA,
|
|
1
|
+
{"version":3,"file":"registerStandaloneTranslation.js","sourceRoot":"","sources":["../../../src/transform/registration/registerStandaloneTranslation.ts"],"names":[],"mappings":";;;;;AAOA,sEA8CC;AApDD,8EAAmD;AAGnD;;GAEG;AACH,SAAgB,6BAA6B,CAAC,EAC5C,KAAK,EACL,OAAO,EACP,OAAO,EACP,EAAE,EACF,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,UAAU,GAUX;IACC,IAAI,aAAJ,IAAI,cAAJ,IAAI,IAAJ,IAAI,GAAK,IAAA,uBAAU,4DACjB,MAAM,EAAE,OAAO,IACZ,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,GACd,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,CAAC,GACxB,CAAC,QAAQ,IAAI,IAAI,IAAI,EAAE,QAAQ,EAAE,CAAC,KACrC,UAAU,EAAE,CAAC,MAAM,IAAI,KAAK,CAAe,IAC3C,EAAC;IAEH,KAAK,CAAC,eAAe,CAAC,sBAAsB,CAAC;QAC3C,OAAO,EAAE,OAAO;QAChB,IAAI;QACJ,EAAE;QACF,OAAO;QACP,QAAQ;QACR,MAAM;KACP,CAAC,CAAC;IAEH,oEAAoE;IACpE,6EAA6E;IAC7E,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC;IAC3D,KAAK,CAAC,eAAe,CAAC,kBAAkB,CAAC,SAAS,EAAE;QAClD,IAAI;KACL,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import * as t from '@babel/types';
|
|
2
2
|
import { TransformState } from '../../state/types';
|
|
3
|
+
import { NodePath } from '@babel/traverse';
|
|
3
4
|
/**
|
|
4
5
|
* Validate useGT_callback / getGT_callback
|
|
5
6
|
* - first argument must be a statically resolvable string expression
|
|
6
7
|
* (string literal, template literal, binary '+' concatenation, or derive() call)
|
|
7
8
|
* - second argument, if present, $id field + $context field must be a string literal
|
|
8
9
|
*/
|
|
9
|
-
export declare function validateUseGTCallback(
|
|
10
|
+
export declare function validateUseGTCallback(callExprPath: NodePath<t.CallExpression>, state: TransformState): {
|
|
10
11
|
errors: string[];
|
|
11
12
|
content?: string;
|
|
12
13
|
context?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateTranslationFunctionCallback.d.ts","sourceRoot":"","sources":["../../../src/transform/validation/validateTranslationFunctionCallback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAKlC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"validateTranslationFunctionCallback.d.ts","sourceRoot":"","sources":["../../../src/transform/validation/validateTranslationFunctionCallback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAKlC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAInD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,EACxC,KAAK,EAAE,cAAc,GACpB;IACD,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAiHA;AAED;;;GAGG;AAEH,wBAAgB,+BAA+B,CAAC,SAAS,EAAE,CAAC,CAAC,cAAc,GAAG;IAC5E,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAGA;AAED;;;GAGG;AAEH,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,CAAC,CAAC,cAAc,GAAG;IACxE,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAGA;AAyHD;;GAEG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,CAAC,CAAC,UAAU,EAClB,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,MAAM,EAAE,GACf;IAAE,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAoFtB"}
|
|
@@ -40,15 +40,16 @@ exports.validateDerive = validateDerive;
|
|
|
40
40
|
const t = __importStar(require("@babel/types"));
|
|
41
41
|
const constants_1 = require("../../utils/constants/gt/constants");
|
|
42
42
|
const getCalleeNameFromExpression_1 = require("../../utils/parsing/getCalleeNameFromExpression");
|
|
43
|
+
const resolveStaticExpression_1 = require("../../utils/string-expressions/resolveStaticExpression");
|
|
43
44
|
const getTrackedVariable_1 = require("../getTrackedVariable");
|
|
44
|
-
const resolveStaticExpression_1 = require("../templates-and-concat/resolveStaticExpression");
|
|
45
45
|
/**
|
|
46
46
|
* Validate useGT_callback / getGT_callback
|
|
47
47
|
* - first argument must be a statically resolvable string expression
|
|
48
48
|
* (string literal, template literal, binary '+' concatenation, or derive() call)
|
|
49
49
|
* - second argument, if present, $id field + $context field must be a string literal
|
|
50
50
|
*/
|
|
51
|
-
function validateUseGTCallback(
|
|
51
|
+
function validateUseGTCallback(callExprPath, state) {
|
|
52
|
+
const callExpr = callExprPath.node;
|
|
52
53
|
const errors = [];
|
|
53
54
|
// Validate that the function has at least 1 argument
|
|
54
55
|
if (callExpr.arguments.length < 1) {
|
|
@@ -61,7 +62,7 @@ function validateUseGTCallback(callExpr, state) {
|
|
|
61
62
|
return { errors };
|
|
62
63
|
}
|
|
63
64
|
// Try to resolve the expression to a static string (handles concat, nested templates, etc.)
|
|
64
|
-
const resolvedStaticExpression = (0, resolveStaticExpression_1.resolveStaticExpression)(
|
|
65
|
+
const resolvedStaticExpression = (0, resolveStaticExpression_1.resolveStaticExpression)(callExprPath.get('arguments')[0]);
|
|
65
66
|
const content = resolvedStaticExpression.value;
|
|
66
67
|
if (content === undefined && !state.settings.autoderive.strings) {
|
|
67
68
|
// Not a static expression — check if it contains a derive() function invocation
|
|
@@ -92,21 +93,22 @@ function validateUseGTCallback(callExpr, state) {
|
|
|
92
93
|
};
|
|
93
94
|
}
|
|
94
95
|
if (t.isObjectExpression(callExpr.arguments[1])) {
|
|
95
|
-
const
|
|
96
|
+
const objExprPath = callExprPath.get('arguments')[1];
|
|
97
|
+
const contextProperty = validatePropertyFromObjectExpression(objExprPath, constants_1.USEGT_CALLBACK_OPTIONS.$context, 'string-or-derive', state);
|
|
96
98
|
errors.push(...contextProperty.errors);
|
|
97
99
|
context = contextProperty.value;
|
|
98
100
|
hasDeriveContext =
|
|
99
101
|
contentHasAutoderive || contextProperty.hasDeriveExpression;
|
|
100
|
-
const idProperty = validatePropertyFromObjectExpression(
|
|
102
|
+
const idProperty = validatePropertyFromObjectExpression(objExprPath, constants_1.USEGT_CALLBACK_OPTIONS.$id, 'string');
|
|
101
103
|
errors.push(...idProperty.errors);
|
|
102
104
|
id = idProperty.value;
|
|
103
|
-
const maxCharsProperty = validatePropertyFromObjectExpression(
|
|
105
|
+
const maxCharsProperty = validatePropertyFromObjectExpression(objExprPath, constants_1.USEGT_CALLBACK_OPTIONS.$maxChars, 'number');
|
|
104
106
|
errors.push(...maxCharsProperty.errors);
|
|
105
107
|
maxChars = maxCharsProperty.value;
|
|
106
|
-
const hashProperty = validatePropertyFromObjectExpression(
|
|
108
|
+
const hashProperty = validatePropertyFromObjectExpression(objExprPath, constants_1.USEGT_CALLBACK_OPTIONS.$_hash, 'string');
|
|
107
109
|
errors.push(...hashProperty.errors);
|
|
108
110
|
hash = hashProperty.value;
|
|
109
|
-
const formatProperty = validatePropertyFromObjectExpression(
|
|
111
|
+
const formatProperty = validatePropertyFromObjectExpression(objExprPath, constants_1.USEGT_CALLBACK_OPTIONS.$format, 'string');
|
|
110
112
|
errors.push(...formatProperty.errors);
|
|
111
113
|
format = formatProperty.value;
|
|
112
114
|
}
|
|
@@ -139,26 +141,28 @@ function validateUseMessagesCallback(_callExpr) {
|
|
|
139
141
|
const errors = [];
|
|
140
142
|
return { errors };
|
|
141
143
|
}
|
|
142
|
-
function validatePropertyFromObjectExpression(
|
|
144
|
+
function validatePropertyFromObjectExpression(objExprPath, name, type, state) {
|
|
143
145
|
const result = { errors: [] };
|
|
144
|
-
let
|
|
145
|
-
for (const
|
|
146
|
-
if (!
|
|
146
|
+
let valuePath;
|
|
147
|
+
for (const propertyPath of objExprPath.get('properties')) {
|
|
148
|
+
if (!propertyPath.isObjectProperty()) {
|
|
147
149
|
continue;
|
|
148
150
|
}
|
|
151
|
+
const property = propertyPath.node;
|
|
149
152
|
if (t.isIdentifier(property.key) && property.key.name === name) {
|
|
150
|
-
|
|
153
|
+
valuePath = propertyPath;
|
|
151
154
|
break;
|
|
152
155
|
}
|
|
153
156
|
if (t.isStringLiteral(property.key) && property.key.value === name) {
|
|
154
|
-
|
|
157
|
+
valuePath = propertyPath;
|
|
155
158
|
break;
|
|
156
159
|
}
|
|
157
160
|
}
|
|
158
161
|
// return result if no value found
|
|
159
|
-
if (!
|
|
162
|
+
if (!valuePath) {
|
|
160
163
|
return result;
|
|
161
164
|
}
|
|
165
|
+
const value = valuePath.node;
|
|
162
166
|
// validate value
|
|
163
167
|
if (!t.isExpression(value.value)) {
|
|
164
168
|
result.errors.push(`useGT_callback / getGT_callback must use a string literal for its ${name} field. Variable content is not allowed.`);
|
|
@@ -166,7 +170,7 @@ function validatePropertyFromObjectExpression(objExpr, name, type, state) {
|
|
|
166
170
|
}
|
|
167
171
|
// extract value
|
|
168
172
|
if (type === 'string-or-derive') {
|
|
169
|
-
const resolved = (0, resolveStaticExpression_1.resolveStaticExpression)(
|
|
173
|
+
const resolved = (0, resolveStaticExpression_1.resolveStaticExpression)(valuePath.get('value'));
|
|
170
174
|
if (resolved.value !== undefined) {
|
|
171
175
|
result.value = resolved.value;
|
|
172
176
|
}
|
|
@@ -178,7 +182,7 @@ function validatePropertyFromObjectExpression(objExpr, name, type, state) {
|
|
|
178
182
|
result.hasDeriveExpression = true;
|
|
179
183
|
}
|
|
180
184
|
else {
|
|
181
|
-
result.errors.push(...
|
|
185
|
+
result.errors.push(...deriveErrors);
|
|
182
186
|
}
|
|
183
187
|
}
|
|
184
188
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateTranslationFunctionCallback.js","sourceRoot":"","sources":["../../../src/transform/validation/validateTranslationFunctionCallback.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"validateTranslationFunctionCallback.js","sourceRoot":"","sources":["../../../src/transform/validation/validateTranslationFunctionCallback.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as t from '@babel/types';
|
|
2
|
-
import {
|
|
2
|
+
import { Scope } from '@babel/traverse';
|
|
3
3
|
/**
|
|
4
4
|
* Skip un-interpolation step for derive invocations
|
|
5
5
|
* @param {t.Expression} expr - The expression to check
|
|
6
6
|
* @returns {boolean} True if the expression is a derive invocation, false otherwise
|
|
7
7
|
*/
|
|
8
|
-
export declare function isDeriveInvocation(expr: t.Expression,
|
|
8
|
+
export declare function isDeriveInvocation(expr: t.Expression, scope: Scope): boolean;
|
|
9
9
|
//# sourceMappingURL=isDeriveInvocation.d.ts.map
|
|
@@ -1 +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,
|
|
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,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAIxC;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAgB5E"}
|
|
@@ -42,10 +42,9 @@ const constants_1 = require("../constants/gt/constants");
|
|
|
42
42
|
* @param {t.Expression} expr - The expression to check
|
|
43
43
|
* @returns {boolean} True if the expression is a derive invocation, false otherwise
|
|
44
44
|
*/
|
|
45
|
-
function isDeriveInvocation(expr,
|
|
45
|
+
function isDeriveInvocation(expr, scope) {
|
|
46
46
|
if (!t.isCallExpression(expr) || !t.isIdentifier(expr.callee))
|
|
47
47
|
return false;
|
|
48
|
-
const scope = tPath.scope;
|
|
49
48
|
const binding = scope.getBinding(expr.callee.name);
|
|
50
49
|
if (!binding)
|
|
51
50
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isDeriveInvocation.js","sourceRoot":"","sources":["../../../src/utils/parsing/isDeriveInvocation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,
|
|
1
|
+
{"version":3,"file":"isDeriveInvocation.js","sourceRoot":"","sources":["../../../src/utils/parsing/isDeriveInvocation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,gDAgBC;AA1BD,gDAAkC;AAElC,qDAA2D;AAC3D,yDAAuE;AAEvE;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,IAAkB,EAAE,KAAY;IACjE,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5E,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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { NodePath } from '@babel/traverse';
|
|
2
|
+
import * as t from '@babel/types';
|
|
3
|
+
/**
|
|
4
|
+
* Checks whether a tagged template expression should be treated as the GT
|
|
5
|
+
* string translation macro.
|
|
6
|
+
*
|
|
7
|
+
* The macro is valid when it is an unbound bare identifier, or when it is
|
|
8
|
+
* imported from gt-react/browser. This covers global `t`, but not explicit
|
|
9
|
+
* member access such as `globalThis.t` or `window.t`. Other bindings are left
|
|
10
|
+
* alone so local/i18next t tags do not get transformed or extracted.
|
|
11
|
+
*/
|
|
12
|
+
export declare function isStringTranslationTaggedTemplate(path: NodePath<t.TaggedTemplateExpression>, symbol: string): boolean;
|
|
13
|
+
//# sourceMappingURL=isStringTranslationTaggedTemplate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isStringTranslationTaggedTemplate.d.ts","sourceRoot":"","sources":["../../../src/utils/parsing/isStringTranslationTaggedTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAGlC;;;;;;;;GAQG;AACH,wBAAgB,iCAAiC,CAC/C,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,wBAAwB,CAAC,EAC1C,MAAM,EAAE,MAAM,GACb,OAAO,CAmBT"}
|
|
@@ -0,0 +1,63 @@
|
|
|
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.isStringTranslationTaggedTemplate = isStringTranslationTaggedTemplate;
|
|
37
|
+
const t = __importStar(require("@babel/types"));
|
|
38
|
+
const constants_1 = require("../constants/gt/constants");
|
|
39
|
+
/**
|
|
40
|
+
* Checks whether a tagged template expression should be treated as the GT
|
|
41
|
+
* string translation macro.
|
|
42
|
+
*
|
|
43
|
+
* The macro is valid when it is an unbound bare identifier, or when it is
|
|
44
|
+
* imported from gt-react/browser. This covers global `t`, but not explicit
|
|
45
|
+
* member access such as `globalThis.t` or `window.t`. Other bindings are left
|
|
46
|
+
* alone so local/i18next t tags do not get transformed or extracted.
|
|
47
|
+
*/
|
|
48
|
+
function isStringTranslationTaggedTemplate(path, symbol) {
|
|
49
|
+
if (!t.isIdentifier(path.node.tag, { name: symbol })) {
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
const binding = path.scope.getBinding(symbol);
|
|
53
|
+
if (!binding) {
|
|
54
|
+
return true;
|
|
55
|
+
}
|
|
56
|
+
if (!binding.path.isImportSpecifier()) {
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
const importDecl = binding.path.parentPath;
|
|
60
|
+
return ((importDecl === null || importDecl === void 0 ? void 0 : importDecl.isImportDeclaration()) === true &&
|
|
61
|
+
importDecl.node.source.value === constants_1.GT_IMPORT_SOURCES.GT_REACT_BROWSER);
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=isStringTranslationTaggedTemplate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isStringTranslationTaggedTemplate.js","sourceRoot":"","sources":["../../../src/utils/parsing/isStringTranslationTaggedTemplate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,8EAsBC;AAlCD,gDAAkC;AAClC,yDAA8D;AAE9D;;;;;;;;GAQG;AACH,SAAgB,iCAAiC,CAC/C,IAA0C,EAC1C,MAAc;IAEd,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QACrD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;IAC3C,OAAO,CACL,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,mBAAmB,EAAE,MAAK,IAAI;QAC1C,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,6BAAiB,CAAC,gBAAgB,CACpE,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildTransformationResult.d.ts","sourceRoot":"","sources":["../../../src/utils/string-expressions/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 @@
|
|
|
1
|
+
{"version":3,"file":"buildTransformationResult.js","sourceRoot":"","sources":["../../../src/utils/string-expressions/buildTransformationResult.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as t from '@babel/types';
|
|
2
|
+
import type { 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
|
+
type FlattenExpressionResult = {
|
|
14
|
+
parts: Part[];
|
|
15
|
+
errors: string[];
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Recursively decomposes an expression tree into a flat list of typed parts.
|
|
19
|
+
* Handles string/numeric/boolean/null literals, void expressions,
|
|
20
|
+
* template literals, and binary '+' concatenation. When a NodePath is
|
|
21
|
+
* provided, imported derive() calls are preserved as derive parts.
|
|
22
|
+
*
|
|
23
|
+
* Returns errors alongside parts so callers can report extraction failures
|
|
24
|
+
* without throwing during expression flattening.
|
|
25
|
+
*/
|
|
26
|
+
export declare function flattenExpressionToParts(exprPath: NodePath<t.Expression>): FlattenExpressionResult;
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=flattenExpressionToParts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flattenExpressionToParts.d.ts","sourceRoot":"","sources":["../../../src/utils/string-expressions/flattenExpressionToParts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAGhD,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,KAAK,uBAAuB,GAAG;IAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEnE;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,GAC/B,uBAAuB,CAsFzB"}
|
|
@@ -0,0 +1,122 @@
|
|
|
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("../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, and binary '+' concatenation. When a NodePath is
|
|
43
|
+
* provided, imported derive() calls are preserved as derive parts.
|
|
44
|
+
*
|
|
45
|
+
* Returns errors alongside parts so callers can report extraction failures
|
|
46
|
+
* without throwing during expression flattening.
|
|
47
|
+
*/
|
|
48
|
+
function flattenExpressionToParts(exprPath) {
|
|
49
|
+
const expr = exprPath.node;
|
|
50
|
+
const scope = exprPath.scope;
|
|
51
|
+
// gt('Hello, World!')
|
|
52
|
+
if (t.isStringLiteral(expr)) {
|
|
53
|
+
return { parts: [{ type: 'static', value: expr.value }], errors: [] };
|
|
54
|
+
}
|
|
55
|
+
// gt(123)
|
|
56
|
+
if (t.isNumericLiteral(expr)) {
|
|
57
|
+
return {
|
|
58
|
+
parts: [{ type: 'static', value: String(expr.value) }],
|
|
59
|
+
errors: [],
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
// gt(true)
|
|
63
|
+
if (t.isBooleanLiteral(expr)) {
|
|
64
|
+
return {
|
|
65
|
+
parts: [{ type: 'static', value: String(expr.value) }],
|
|
66
|
+
errors: [],
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
// gt(null)
|
|
70
|
+
if (t.isNullLiteral(expr)) {
|
|
71
|
+
return { parts: [{ type: 'static', value: 'null' }], errors: [] };
|
|
72
|
+
}
|
|
73
|
+
// gt(void 0)
|
|
74
|
+
if (t.isUnaryExpression(expr) && expr.operator === 'void') {
|
|
75
|
+
return { parts: [{ type: 'dynamic', node: expr }], errors: [] };
|
|
76
|
+
}
|
|
77
|
+
// gt(`Hello, ${name}!`)
|
|
78
|
+
if (t.isTemplateLiteral(expr)) {
|
|
79
|
+
const result = { parts: [], errors: [] };
|
|
80
|
+
for (let i = 0; i < expr.quasis.length; i++) {
|
|
81
|
+
const cooked = expr.quasis[i].value.cooked;
|
|
82
|
+
if (cooked == null) {
|
|
83
|
+
result.errors.push('Template literal contains an invalid escape sequence');
|
|
84
|
+
return result;
|
|
85
|
+
}
|
|
86
|
+
else if (cooked) {
|
|
87
|
+
result.parts.push({ type: 'static', value: cooked });
|
|
88
|
+
}
|
|
89
|
+
if (i < expr.expressions.length) {
|
|
90
|
+
const exprPathIndex = exprPath.get('expressions')[i];
|
|
91
|
+
if (!exprPathIndex.isExpression()) {
|
|
92
|
+
result.errors.push('Expression is not a valid expression');
|
|
93
|
+
return result;
|
|
94
|
+
}
|
|
95
|
+
const expressionResult = flattenExpressionToParts(exprPathIndex);
|
|
96
|
+
result.parts.push(...expressionResult.parts);
|
|
97
|
+
result.errors.push(...expressionResult.errors);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return result;
|
|
101
|
+
}
|
|
102
|
+
// gt('Hello, ' + name + '!')
|
|
103
|
+
if (t.isBinaryExpression(expr) && expr.operator === '+') {
|
|
104
|
+
const leftPath = exprPath.get('left');
|
|
105
|
+
if (!leftPath.isExpression()) {
|
|
106
|
+
return { parts: [], errors: ['Expression is not a valid expression'] };
|
|
107
|
+
}
|
|
108
|
+
const { parts: leftParts, errors: leftErrors } = flattenExpressionToParts(leftPath);
|
|
109
|
+
const { parts: rightParts, errors: rightErrors } = flattenExpressionToParts(exprPath.get('right'));
|
|
110
|
+
return {
|
|
111
|
+
parts: [...leftParts, ...rightParts],
|
|
112
|
+
errors: [...leftErrors, ...rightErrors],
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
// gt(derive(() => 'Hello, World!'))
|
|
116
|
+
if ((0, isDeriveInvocation_1.isDeriveInvocation)(expr, scope)) {
|
|
117
|
+
return { parts: [{ type: 'derive', node: expr }], errors: [] };
|
|
118
|
+
}
|
|
119
|
+
// gt(name)
|
|
120
|
+
return { parts: [{ type: 'dynamic', node: expr }], errors: [] };
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=flattenExpressionToParts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flattenExpressionToParts.js","sourceRoot":"","sources":["../../../src/utils/string-expressions/flattenExpressionToParts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mergeAdjacentStaticParts.d.ts","sourceRoot":"","sources":["../../../src/utils/string-expressions/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 @@
|
|
|
1
|
+
{"version":3,"file":"mergeAdjacentStaticParts.js","sourceRoot":"","sources":["../../../src/utils/string-expressions/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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as t from '@babel/types';
|
|
2
|
+
import type { NodePath } from '@babel/traverse';
|
|
2
3
|
/**
|
|
3
4
|
* Attempt to resolve an expression to a static string at compile time.
|
|
4
5
|
* Handles string literals, template literals, binary '+' concatenation,
|
|
@@ -7,7 +8,7 @@ import * as t from '@babel/types';
|
|
|
7
8
|
* Returns the resolved string, or undefined if the expression contains
|
|
8
9
|
* any dynamic content (variables, function calls, etc.).
|
|
9
10
|
*/
|
|
10
|
-
export declare function resolveStaticExpression(
|
|
11
|
+
export declare function resolveStaticExpression(exprPath: NodePath<t.Expression>): {
|
|
11
12
|
errors: string[];
|
|
12
13
|
value?: string;
|
|
13
14
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveStaticExpression.d.ts","sourceRoot":"","sources":["../../../src/utils/string-expressions/resolveStaticExpression.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAGhD;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG;IACzE,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAgBA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveStaticExpression = resolveStaticExpression;
|
|
4
|
+
const flattenExpressionToParts_1 = require("./flattenExpressionToParts");
|
|
5
|
+
/**
|
|
6
|
+
* Attempt to resolve an expression to a static string at compile time.
|
|
7
|
+
* Handles string literals, template literals, binary '+' concatenation,
|
|
8
|
+
* nested combinations, and numeric/boolean/null literals coerced to string.
|
|
9
|
+
*
|
|
10
|
+
* Returns the resolved string, or undefined if the expression contains
|
|
11
|
+
* any dynamic content (variables, function calls, etc.).
|
|
12
|
+
*/
|
|
13
|
+
function resolveStaticExpression(exprPath) {
|
|
14
|
+
const { parts, errors } = (0, flattenExpressionToParts_1.flattenExpressionToParts)(exprPath);
|
|
15
|
+
if (errors.length > 0)
|
|
16
|
+
return { errors };
|
|
17
|
+
let value = '';
|
|
18
|
+
for (const part of parts) {
|
|
19
|
+
// Signal derive by returning undefined
|
|
20
|
+
if (part.type === 'derive') {
|
|
21
|
+
return { errors: [], value: undefined };
|
|
22
|
+
}
|
|
23
|
+
else if (part.type !== 'static') {
|
|
24
|
+
return { errors: ['Expression is not a static string'] };
|
|
25
|
+
}
|
|
26
|
+
value += part.value;
|
|
27
|
+
}
|
|
28
|
+
return { errors: [], value };
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=resolveStaticExpression.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveStaticExpression.js","sourceRoot":"","sources":["../../../src/utils/string-expressions/resolveStaticExpression.ts"],"names":[],"mappings":";;AAYA,0DAmBC;AA7BD,yEAAsE;AAEtE;;;;;;;GAOG;AACH,SAAgB,uBAAuB,CAAC,QAAgC;IAItE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAA,mDAAwB,EAAC,QAAQ,CAAC,CAAC;IAC7D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAEzC,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,uCAAuC;QACvC,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3B,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAC1C,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClC,OAAO,EAAE,MAAM,EAAE,CAAC,mCAAmC,CAAC,EAAE,CAAC;QAC3D,CAAC;QACD,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;AAC/B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@generaltranslation/compiler",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.17",
|
|
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.2.
|
|
27
|
+
"generaltranslation": "8.2.10"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@types/babel__core": "^7.20.0",
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import * as t from '@babel/types';
|
|
2
|
-
import { NodePath } from '@babel/traverse';
|
|
3
|
-
/**
|
|
4
|
-
* Transform a BinaryExpression with '+' operator into a normalized t() call format.
|
|
5
|
-
*
|
|
6
|
-
* Recursively flattens the concatenation tree and simplifies static parts,
|
|
7
|
-
* converting dynamic operands into ICU-style variable placeholders.
|
|
8
|
-
*/
|
|
9
|
-
export declare function transformConcatenation(path: NodePath<t.BinaryExpression>): {
|
|
10
|
-
message: t.StringLiteral | t.TemplateLiteral;
|
|
11
|
-
variables: t.ObjectExpression | null;
|
|
12
|
-
};
|
|
13
|
-
//# sourceMappingURL=transformConcatenation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
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,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.transformConcatenation = transformConcatenation;
|
|
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");
|
|
7
|
-
/**
|
|
8
|
-
* Transform a BinaryExpression with '+' operator into a normalized t() call format.
|
|
9
|
-
*
|
|
10
|
-
* Recursively flattens the concatenation tree and simplifies static parts,
|
|
11
|
-
* converting dynamic operands into ICU-style variable placeholders.
|
|
12
|
-
*/
|
|
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);
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=transformConcatenation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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 +0,0 @@
|
|
|
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"}
|