@generaltranslation/compiler 1.3.21 → 1.3.23
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/_virtual/_rolldown/runtime.js +23 -0
- package/dist/config.js +32 -27
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +120 -187
- package/dist/index.js.map +1 -1
- package/dist/passes/basePass.js +40 -83
- package/dist/passes/basePass.js.map +1 -1
- package/dist/passes/collectionPass.js +18 -11
- package/dist/passes/collectionPass.js.map +1 -1
- package/dist/passes/handleErrors.js +21 -30
- package/dist/passes/handleErrors.js.map +1 -1
- package/dist/passes/injectionPass.js +15 -9
- package/dist/passes/injectionPass.js.map +1 -1
- package/dist/passes/jsxInsertionPass.js +33 -31
- package/dist/passes/jsxInsertionPass.js.map +1 -1
- package/dist/passes/macroExpansionPass.js +28 -26
- package/dist/passes/macroExpansionPass.js.map +1 -1
- package/dist/passes/runtimeTranslatePass.js +37 -35
- package/dist/passes/runtimeTranslatePass.js.map +1 -1
- package/dist/processing/collection/processCallExpression.js +144 -249
- package/dist/processing/collection/processCallExpression.js.map +1 -1
- package/dist/processing/collection/processTaggedTemplateExpression.js +38 -75
- package/dist/processing/collection/processTaggedTemplateExpression.js.map +1 -1
- package/dist/processing/collection/processVariableDeclarator.js +20 -18
- package/dist/processing/collection/processVariableDeclarator.js.map +1 -1
- package/dist/processing/index.js +29 -31
- package/dist/processing/injection/processCallExpression.js +69 -142
- package/dist/processing/injection/processCallExpression.js.map +1 -1
- package/dist/processing/injection/processVariableDeclarator.js +22 -20
- package/dist/processing/injection/processVariableDeclarator.js.map +1 -1
- package/dist/processing/jsx-insertion/processCallExpression.js +284 -393
- package/dist/processing/jsx-insertion/processCallExpression.js.map +1 -1
- package/dist/processing/jsx-insertion/processImportDeclaration.js +37 -83
- package/dist/processing/jsx-insertion/processImportDeclaration.js.map +1 -1
- package/dist/processing/jsx-insertion/processProgram.js +26 -66
- package/dist/processing/jsx-insertion/processProgram.js.map +1 -1
- package/dist/processing/macro-expansion/processImportDeclaration.js +21 -55
- package/dist/processing/macro-expansion/processImportDeclaration.js.map +1 -1
- package/dist/processing/macro-expansion/processProgram.js +20 -26
- package/dist/processing/macro-expansion/processProgram.js.map +1 -1
- package/dist/processing/macro-expansion/processTaggedTemplateExpression.js +33 -69
- package/dist/processing/macro-expansion/processTaggedTemplateExpression.js.map +1 -1
- package/dist/processing/processArrowFunctionExpression.js +18 -16
- package/dist/processing/processArrowFunctionExpression.js.map +1 -1
- package/dist/processing/processAssignmentExpression.js +12 -10
- package/dist/processing/processAssignmentExpression.js.map +1 -1
- package/dist/processing/processCatchClause.js +18 -16
- package/dist/processing/processCatchClause.js.map +1 -1
- package/dist/processing/processClassDeclaration.js +18 -16
- package/dist/processing/processClassDeclaration.js.map +1 -1
- package/dist/processing/processClassMethod.js +18 -17
- package/dist/processing/processClassMethod.js.map +1 -1
- package/dist/processing/processClassPrivateMethod.js +18 -17
- package/dist/processing/processClassPrivateMethod.js.map +1 -1
- package/dist/processing/processForInStatement.js +18 -16
- package/dist/processing/processForInStatement.js.map +1 -1
- package/dist/processing/processForOfStatement.js +18 -16
- package/dist/processing/processForOfStatement.js.map +1 -1
- package/dist/processing/processFunctionDeclaration.js +20 -18
- package/dist/processing/processFunctionDeclaration.js.map +1 -1
- package/dist/processing/processFunctionExpression.js +26 -24
- package/dist/processing/processFunctionExpression.js.map +1 -1
- package/dist/processing/processImportDeclaration.js +11 -9
- package/dist/processing/processImportDeclaration.js.map +1 -1
- package/dist/processing/processObjectMethod.js +19 -18
- package/dist/processing/processObjectMethod.js.map +1 -1
- package/dist/processing/processProgram.js +13 -13
- package/dist/processing/processProgram.js.map +1 -1
- package/dist/processing/processScopeChange.js +15 -13
- package/dist/processing/processScopeChange.js.map +1 -1
- package/dist/processing/runtime-translate/processImportDeclaration.js +30 -63
- package/dist/processing/runtime-translate/processImportDeclaration.js.map +1 -1
- package/dist/processing/runtime-translate/processProgram.js +34 -57
- package/dist/processing/runtime-translate/processProgram.js.map +1 -1
- package/dist/state/ErrorTracker.js +18 -17
- package/dist/state/ErrorTracker.js.map +1 -1
- package/dist/state/Logger.js +42 -52
- package/dist/state/Logger.js.map +1 -1
- package/dist/state/ScopeTracker.d.ts +11 -2
- package/dist/state/ScopeTracker.d.ts.map +1 -1
- package/dist/state/ScopeTracker.js +154 -209
- package/dist/state/ScopeTracker.js.map +1 -1
- package/dist/state/StringCollector.d.ts +9 -2
- package/dist/state/StringCollector.d.ts.map +1 -1
- package/dist/state/StringCollector.js +165 -184
- package/dist/state/StringCollector.js.map +1 -1
- package/dist/state/types.js +1 -3
- package/dist/state/utils/initializeState.js +62 -67
- package/dist/state/utils/initializeState.js.map +1 -1
- package/dist/transform/getTrackedVariable.js +33 -38
- package/dist/transform/getTrackedVariable.js.map +1 -1
- package/dist/transform/injection/callbacks/injectUseGTCallbackParameters.js +19 -27
- package/dist/transform/injection/callbacks/injectUseGTCallbackParameters.js.map +1 -1
- package/dist/transform/injection/callbacks/injectUseMessagesCallbackParameters.js +8 -6
- package/dist/transform/injection/callbacks/injectUseMessagesCallbackParameters.js.map +1 -1
- package/dist/transform/injection/callbacks/injectUseTranslationsCallbackParameters.js +8 -6
- package/dist/transform/injection/callbacks/injectUseTranslationsCallbackParameters.js.map +1 -1
- package/dist/transform/injection/injectCallbackDeclaratorFunctionParameters.js +74 -155
- package/dist/transform/injection/injectCallbackDeclaratorFunctionParameters.js.map +1 -1
- package/dist/transform/injection/injectHashIntoTranslationOptions.js +21 -61
- package/dist/transform/injection/injectHashIntoTranslationOptions.js.map +1 -1
- package/dist/transform/injection/injectStandaloneTFunctionParameters.js +21 -27
- package/dist/transform/injection/injectStandaloneTFunctionParameters.js.map +1 -1
- package/dist/transform/injection/injectTComponentParameters.js +25 -65
- package/dist/transform/injection/injectTComponentParameters.js.map +1 -1
- package/dist/transform/jsx-children/constructJsxChildren.d.ts +1 -1
- package/dist/transform/jsx-children/constructJsxChildren.d.ts.map +1 -1
- package/dist/transform/jsx-children/constructJsxChildren.js +273 -392
- package/dist/transform/jsx-children/constructJsxChildren.js.map +1 -1
- package/dist/transform/jsx-children/errors.js +16 -6
- package/dist/transform/jsx-children/errors.js.map +1 -1
- package/dist/transform/jsx-children/index.js +3 -6
- package/dist/transform/jsx-children/utils/getBranchComponentParameters.js +26 -85
- package/dist/transform/jsx-children/utils/getBranchComponentParameters.js.map +1 -1
- package/dist/transform/jsx-children/utils/getCalleeNameFromJsxExpressionParam.js +33 -66
- package/dist/transform/jsx-children/utils/getCalleeNameFromJsxExpressionParam.js.map +1 -1
- package/dist/transform/jsx-children/utils/id.js +18 -17
- package/dist/transform/jsx-children/utils/id.js.map +1 -1
- package/dist/transform/jsx-children/validation/validateChildrenElement.js +13 -47
- package/dist/transform/jsx-children/validation/validateChildrenElement.js.map +1 -1
- package/dist/transform/jsx-children/validation/validateChildrenFromArgs.js +25 -63
- package/dist/transform/jsx-children/validation/validateChildrenFromArgs.js.map +1 -1
- package/dist/transform/jsx-children/validation/validateIdentifier.js +38 -41
- package/dist/transform/jsx-children/validation/validateIdentifier.js.map +1 -1
- package/dist/transform/jsx-children/validation/validateJsxCall.js +15 -26
- package/dist/transform/jsx-children/validation/validateJsxCall.js.map +1 -1
- package/dist/transform/jsx-children/validation/validateNameFieldForVarComponent.js +33 -61
- package/dist/transform/jsx-children/validation/validateNameFieldForVarComponent.js.map +1 -1
- package/dist/transform/jsx-children/validation/validateStringLiteralPropertyFromArg.js +38 -66
- package/dist/transform/jsx-children/validation/validateStringLiteralPropertyFromArg.js.map +1 -1
- package/dist/transform/jsx-children/validation/validateTemplateLiteral.js +17 -13
- package/dist/transform/jsx-children/validation/validateTemplateLiteral.js.map +1 -1
- package/dist/transform/jsx-children/validation/validateUnaryExpression.js +26 -61
- package/dist/transform/jsx-children/validation/validateUnaryExpression.js.map +1 -1
- package/dist/transform/jsx-insertion/injectJsxInsertionImport.js +16 -48
- package/dist/transform/jsx-insertion/injectJsxInsertionImport.js.map +1 -1
- package/dist/transform/macro-expansion/injectMacroImport.js +14 -43
- package/dist/transform/macro-expansion/injectMacroImport.js.map +1 -1
- package/dist/transform/macro-expansion/transformTemplateLiteral.js +23 -22
- package/dist/transform/macro-expansion/transformTemplateLiteral.js.map +1 -1
- package/dist/transform/registration/callbacks/registerUseGTCallback.js +27 -34
- package/dist/transform/registration/callbacks/registerUseGTCallback.js.map +1 -1
- package/dist/transform/registration/callbacks/registerUseMessagesCallback.js +9 -9
- package/dist/transform/registration/callbacks/registerUseMessagesCallback.js.map +1 -1
- package/dist/transform/registration/callbacks/registerUseTranslationsCallback.js +9 -9
- package/dist/transform/registration/callbacks/registerUseTranslationsCallback.js.map +1 -1
- package/dist/transform/registration/registerStandaloneTranslation.js +27 -28
- package/dist/transform/registration/registerStandaloneTranslation.js.map +1 -1
- package/dist/transform/registration/registerTranslationComponent.js +15 -15
- package/dist/transform/registration/registerTranslationComponent.js.map +1 -1
- package/dist/transform/runtime-translate/buildRuntimeTranslateCalls.js +34 -85
- package/dist/transform/runtime-translate/buildRuntimeTranslateCalls.js.map +1 -1
- package/dist/transform/runtime-translate/injectRuntimeTranslateImport.js +25 -55
- package/dist/transform/runtime-translate/injectRuntimeTranslateImport.js.map +1 -1
- package/dist/transform/tracking/trackAssignmentExpression.js +26 -63
- package/dist/transform/tracking/trackAssignmentExpression.js.map +1 -1
- package/dist/transform/tracking/trackCatchClause.js +17 -48
- package/dist/transform/tracking/trackCatchClause.js.map +1 -1
- package/dist/transform/tracking/trackClassDeclaration.js +13 -13
- package/dist/transform/tracking/trackClassDeclaration.js.map +1 -1
- package/dist/transform/tracking/trackForDeclaration.js +17 -53
- package/dist/transform/tracking/trackForDeclaration.js.map +1 -1
- package/dist/transform/tracking/trackFunctionName.js +10 -10
- package/dist/transform/tracking/trackFunctionName.js.map +1 -1
- package/dist/transform/tracking/trackFunctionParams.js +19 -54
- package/dist/transform/tracking/trackFunctionParams.js.map +1 -1
- package/dist/transform/tracking/trackImportDeclaration.js +36 -89
- package/dist/transform/tracking/trackImportDeclaration.js.map +1 -1
- package/dist/transform/tracking/trackOverridingVariable.js +9 -11
- package/dist/transform/tracking/trackOverridingVariable.js.map +1 -1
- package/dist/transform/tracking/trackVariableDeclarator.js +51 -102
- package/dist/transform/tracking/trackVariableDeclarator.js.map +1 -1
- package/dist/transform/validation/validateTranslationComponentArgs.d.ts +1 -1
- package/dist/transform/validation/validateTranslationComponentArgs.d.ts.map +1 -1
- package/dist/transform/validation/validateTranslationComponentArgs.js +156 -232
- package/dist/transform/validation/validateTranslationComponentArgs.js.map +1 -1
- package/dist/transform/validation/validateTranslationFunction.js +218 -329
- package/dist/transform/validation/validateTranslationFunction.js.map +1 -1
- package/dist/utils/calculateHash.d.ts +1 -1
- package/dist/utils/calculateHash.d.ts.map +1 -1
- package/dist/utils/calculateHash.js +55 -70
- package/dist/utils/calculateHash.js.map +1 -1
- package/dist/utils/constants/gt/constants.js +142 -132
- package/dist/utils/constants/gt/constants.js.map +1 -1
- package/dist/utils/constants/gt/helpers.d.ts +1 -1
- package/dist/utils/constants/gt/helpers.d.ts.map +1 -1
- package/dist/utils/constants/gt/helpers.js +147 -149
- package/dist/utils/constants/gt/helpers.js.map +1 -1
- package/dist/utils/constants/other/constants.js +45 -41
- package/dist/utils/constants/other/constants.js.map +1 -1
- package/dist/utils/constants/other/helpers.js +13 -11
- package/dist/utils/constants/other/helpers.js.map +1 -1
- package/dist/utils/constants/react/constants.js +47 -41
- package/dist/utils/constants/react/constants.js.map +1 -1
- package/dist/utils/constants/react/helpers.js +17 -16
- package/dist/utils/constants/react/helpers.js.map +1 -1
- package/dist/utils/constants/resolveIdentifier/isGTComponent.js +41 -76
- package/dist/utils/constants/resolveIdentifier/isGTComponent.js.map +1 -1
- package/dist/utils/constants/resolveIdentifier/isReactJsxFunction.js +33 -83
- package/dist/utils/constants/resolveIdentifier/isReactJsxFunction.js.map +1 -1
- package/dist/utils/errors.js +18 -20
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/multiplication/multiply.js +31 -35
- package/dist/utils/multiplication/multiply.js.map +1 -1
- package/dist/utils/multiplication/types.js +1 -3
- package/dist/utils/parsing/extractIdentifiersFromLVal.js +30 -96
- package/dist/utils/parsing/extractIdentifiersFromLVal.js.map +1 -1
- package/dist/utils/parsing/getCalleeNameFromExpression.js +31 -65
- package/dist/utils/parsing/getCalleeNameFromExpression.js.map +1 -1
- package/dist/utils/parsing/getCalleeNameFromExpressionWrapper.js +13 -10
- package/dist/utils/parsing/getCalleeNameFromExpressionWrapper.js.map +1 -1
- package/dist/utils/parsing/getObjectPropertyFromObjectExpression.js +19 -56
- package/dist/utils/parsing/getObjectPropertyFromObjectExpression.js.map +1 -1
- package/dist/utils/parsing/getStringLiteralFromExpression.js +18 -49
- package/dist/utils/parsing/getStringLiteralFromExpression.js.map +1 -1
- package/dist/utils/parsing/isDeriveInvocation.js +25 -61
- package/dist/utils/parsing/isDeriveInvocation.js.map +1 -1
- package/dist/utils/parsing/isStringTranslationTaggedTemplate.js +23 -59
- package/dist/utils/parsing/isStringTranslationTaggedTemplate.js.map +1 -1
- package/dist/utils/string-expressions/buildTransformationResult.js +57 -96
- package/dist/utils/string-expressions/buildTransformationResult.js.map +1 -1
- package/dist/utils/string-expressions/flattenExpressionToParts.js +131 -142
- package/dist/utils/string-expressions/flattenExpressionToParts.js.map +1 -1
- package/dist/utils/string-expressions/resolveStaticExpression.js +36 -34
- package/dist/utils/string-expressions/resolveStaticExpression.js.map +1 -1
- package/dist/utils/validation/validateChildrenFromObjectExpression.js +29 -24
- package/dist/utils/validation/validateChildrenFromObjectExpression.js.map +1 -1
- package/dist/utils/validation/validateExpressionIsNumericLiteral.js +13 -47
- package/dist/utils/validation/validateExpressionIsNumericLiteral.js.map +1 -1
- package/dist/utils/validation/validateExpressionIsStringLiteral.js +15 -48
- package/dist/utils/validation/validateExpressionIsStringLiteral.js.map +1 -1
- package/package.json +8 -4
- package/dist/processing/index.js.map +0 -1
- package/dist/state/types.js.map +0 -1
- package/dist/transform/jsx-children/index.js.map +0 -1
- package/dist/utils/multiplication/types.js.map +0 -1
|
@@ -1,42 +1,37 @@
|
|
|
1
|
-
"
|
|
2
|
-
|
|
3
|
-
exports.getTrackedVariable = getTrackedVariable;
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
//#region src/transform/getTrackedVariable.ts
|
|
4
3
|
/**
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
* Given state, namespace, and functionname, return:
|
|
5
|
+
* - canonicalName
|
|
6
|
+
* - identifier
|
|
7
|
+
* - type
|
|
8
|
+
*/
|
|
10
9
|
function getTrackedVariable(scopeTracker, namespaceName, functionName) {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
// Resolve aliased function name
|
|
35
|
-
const variable = scopeTracker.getVariable(functionName);
|
|
36
|
-
return {
|
|
37
|
-
canonicalName: (_a = variable === null || variable === void 0 ? void 0 : variable.canonicalName) !== null && _a !== void 0 ? _a : undefined,
|
|
38
|
-
identifier: (_b = variable === null || variable === void 0 ? void 0 : variable.identifier) !== null && _b !== void 0 ? _b : undefined,
|
|
39
|
-
type: (_c = variable === null || variable === void 0 ? void 0 : variable.type) !== null && _c !== void 0 ? _c : undefined,
|
|
40
|
-
};
|
|
10
|
+
if (!functionName) return {
|
|
11
|
+
canonicalName: void 0,
|
|
12
|
+
identifier: void 0,
|
|
13
|
+
type: void 0
|
|
14
|
+
};
|
|
15
|
+
if (namespaceName) {
|
|
16
|
+
if (!scopeTracker.hasNamespaceImport(namespaceName)) return {
|
|
17
|
+
canonicalName: void 0,
|
|
18
|
+
identifier: void 0,
|
|
19
|
+
type: void 0
|
|
20
|
+
};
|
|
21
|
+
return {
|
|
22
|
+
canonicalName: functionName,
|
|
23
|
+
identifier: void 0,
|
|
24
|
+
type: "generaltranslation"
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
const variable = scopeTracker.getVariable(functionName);
|
|
28
|
+
return {
|
|
29
|
+
canonicalName: (variable === null || variable === void 0 ? void 0 : variable.canonicalName) ?? void 0,
|
|
30
|
+
identifier: (variable === null || variable === void 0 ? void 0 : variable.identifier) ?? void 0,
|
|
31
|
+
type: (variable === null || variable === void 0 ? void 0 : variable.type) ?? void 0
|
|
32
|
+
};
|
|
41
33
|
}
|
|
34
|
+
//#endregion
|
|
35
|
+
exports.getTrackedVariable = getTrackedVariable;
|
|
36
|
+
|
|
42
37
|
//# sourceMappingURL=getTrackedVariable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTrackedVariable.js","
|
|
1
|
+
{"version":3,"file":"getTrackedVariable.js","names":[],"sources":["../../src/transform/getTrackedVariable.ts"],"sourcesContent":["import { ScopeTracker } from '../state/ScopeTracker';\nimport { VariableType } from '../state/ScopeTracker';\n\n/**\n * Given state, namespace, and functionname, return:\n * - canonicalName\n * - identifier\n * - type\n */\nexport function getTrackedVariable(\n scopeTracker: ScopeTracker,\n namespaceName: string | null,\n functionName: string | null\n): {\n canonicalName: string | undefined;\n identifier: number | undefined;\n type: VariableType | undefined;\n} {\n if (!functionName) {\n return {\n canonicalName: undefined,\n identifier: undefined,\n type: undefined,\n };\n }\n\n // If namespace, no alias resolution needed\n if (namespaceName) {\n if (!scopeTracker.hasNamespaceImport(namespaceName)) {\n return {\n canonicalName: undefined,\n identifier: undefined,\n type: undefined,\n };\n }\n return {\n canonicalName: functionName,\n identifier: undefined,\n type: 'generaltranslation', // TODO: revisit this when we add support for multiple namespaces\n };\n }\n\n // Resolve aliased function name\n const variable = scopeTracker.getVariable(functionName);\n return {\n canonicalName: variable?.canonicalName ?? undefined,\n identifier: variable?.identifier ?? undefined,\n type: variable?.type ?? undefined,\n };\n}\n"],"mappings":";;;;;;;;AASA,SAAgB,mBACd,cACA,eACA,cAKA;AACA,KAAI,CAAC,aACH,QAAO;EACL,eAAe,KAAA;EACf,YAAY,KAAA;EACZ,MAAM,KAAA;EACP;AAIH,KAAI,eAAe;AACjB,MAAI,CAAC,aAAa,mBAAmB,cAAc,CACjD,QAAO;GACL,eAAe,KAAA;GACf,YAAY,KAAA;GACZ,MAAM,KAAA;GACP;AAEH,SAAO;GACL,eAAe;GACf,YAAY,KAAA;GACZ,MAAM;GACP;;CAIH,MAAM,WAAW,aAAa,YAAY,aAAa;AACvD,QAAO;EACL,gBAAA,aAAA,QAAA,aAAA,KAAA,IAAA,KAAA,IAAe,SAAU,kBAAiB,KAAA;EAC1C,aAAA,aAAA,QAAA,aAAA,KAAA,IAAA,KAAA,IAAY,SAAU,eAAc,KAAA;EACpC,OAAA,aAAA,QAAA,aAAA,KAAA,IAAA,KAAA,IAAM,SAAU,SAAQ,KAAA;EACzB"}
|
|
@@ -1,31 +1,23 @@
|
|
|
1
|
-
"
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const injectHashIntoTranslationOptions_1 = require("../injectHashIntoTranslationOptions");
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_transform_validation_validateTranslationFunction = require("../../validation/validateTranslationFunction.js");
|
|
3
|
+
const require_transform_injection_injectHashIntoTranslationOptions = require("../injectHashIntoTranslationOptions.js");
|
|
4
|
+
//#region src/transform/injection/callbacks/injectUseGTCallbackParameters.ts
|
|
6
5
|
/**
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
* Injects parameters into invocation of useGT_callback(..., { $_hash })
|
|
7
|
+
* @param parentIdentifier - identifier from callback declaration (ie maps to useGT() call)
|
|
8
|
+
*/
|
|
10
9
|
function injectUseGTCallbackParameters(callExprPath, state) {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
if (useGTCallbackParams.hash !== undefined) {
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
// Get hash from string collector
|
|
24
|
-
const translationHash = state.stringCollector.getTranslationHash(counterId);
|
|
25
|
-
if (translationHash === undefined) {
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
// Inject parameters into invocation
|
|
29
|
-
(0, injectHashIntoTranslationOptions_1.injectHashIntoTranslationOptions)(callExpr, translationHash.hash);
|
|
10
|
+
const callExpr = callExprPath.node;
|
|
11
|
+
const counterId = state.stringCollector.incrementCounter();
|
|
12
|
+
const useGTCallbackParams = require_transform_validation_validateTranslationFunction.validateTranslationFunction(callExprPath, state);
|
|
13
|
+
state.errorTracker.addErrors(useGTCallbackParams.errors);
|
|
14
|
+
if (useGTCallbackParams.errors.length > 0) return;
|
|
15
|
+
if (useGTCallbackParams.hash !== void 0) return;
|
|
16
|
+
const translationHash = state.stringCollector.getTranslationHash(counterId);
|
|
17
|
+
if (translationHash === void 0) return;
|
|
18
|
+
require_transform_injection_injectHashIntoTranslationOptions.injectHashIntoTranslationOptions(callExpr, translationHash.hash);
|
|
30
19
|
}
|
|
20
|
+
//#endregion
|
|
21
|
+
exports.injectUseGTCallbackParameters = injectUseGTCallbackParameters;
|
|
22
|
+
|
|
31
23
|
//# sourceMappingURL=injectUseGTCallbackParameters.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"injectUseGTCallbackParameters.js","
|
|
1
|
+
{"version":3,"file":"injectUseGTCallbackParameters.js","names":["validateTranslationFunction"],"sources":["../../../../src/transform/injection/callbacks/injectUseGTCallbackParameters.ts"],"sourcesContent":["import { TransformState } from '../../../state/types';\nimport * as t from '@babel/types';\nimport { validateTranslationFunction } from '../../validation/validateTranslationFunction';\nimport { injectHashIntoTranslationOptions } from '../injectHashIntoTranslationOptions';\nimport { NodePath } from '@babel/traverse';\n\n/**\n * Injects parameters into invocation of useGT_callback(..., { $_hash })\n * @param parentIdentifier - identifier from callback declaration (ie maps to useGT() call)\n */\nexport function injectUseGTCallbackParameters(\n callExprPath: NodePath<t.CallExpression>,\n state: TransformState\n) {\n const callExpr = callExprPath.node;\n // Increment counter\n const counterId = state.stringCollector.incrementCounter();\n\n // Check for existing hash\n const useGTCallbackParams = validateTranslationFunction(callExprPath, state);\n state.errorTracker.addErrors(useGTCallbackParams.errors);\n if (useGTCallbackParams.errors.length > 0) {\n return;\n }\n if (useGTCallbackParams.hash !== undefined) {\n return;\n }\n\n // Get hash from string collector\n const translationHash = state.stringCollector.getTranslationHash(counterId);\n if (translationHash === undefined) {\n return;\n }\n\n // Inject parameters into invocation\n injectHashIntoTranslationOptions(callExpr, translationHash.hash);\n}\n"],"mappings":";;;;;;;;AAUA,SAAgB,8BACd,cACA,OACA;CACA,MAAM,WAAW,aAAa;CAE9B,MAAM,YAAY,MAAM,gBAAgB,kBAAkB;CAG1D,MAAM,sBAAsBA,yDAAAA,4BAA4B,cAAc,MAAM;AAC5E,OAAM,aAAa,UAAU,oBAAoB,OAAO;AACxD,KAAI,oBAAoB,OAAO,SAAS,EACtC;AAEF,KAAI,oBAAoB,SAAS,KAAA,EAC/B;CAIF,MAAM,kBAAkB,MAAM,gBAAgB,mBAAmB,UAAU;AAC3E,KAAI,oBAAoB,KAAA,EACtB;AAIF,8DAAA,iCAAiC,UAAU,gBAAgB,KAAK"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
"
|
|
2
|
-
|
|
3
|
-
exports.injectUseMessagesCallbackParameters = injectUseMessagesCallbackParameters;
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
//#region src/transform/injection/callbacks/injectUseMessagesCallbackParameters.ts
|
|
4
3
|
/**
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
function injectUseMessagesCallbackParameters(_callExprPath, _state) {
|
|
4
|
+
* Injects parameters into invocation of useMessages_callback(..., { $_hash })
|
|
5
|
+
*/
|
|
6
|
+
function injectUseMessagesCallbackParameters(_callExprPath, _state) {}
|
|
7
|
+
//#endregion
|
|
8
|
+
exports.injectUseMessagesCallbackParameters = injectUseMessagesCallbackParameters;
|
|
9
|
+
|
|
8
10
|
//# sourceMappingURL=injectUseMessagesCallbackParameters.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"injectUseMessagesCallbackParameters.js","
|
|
1
|
+
{"version":3,"file":"injectUseMessagesCallbackParameters.js","names":[],"sources":["../../../../src/transform/injection/callbacks/injectUseMessagesCallbackParameters.ts"],"sourcesContent":["import { TransformState } from '../../../state/types';\nimport * as t from '@babel/types';\nimport { NodePath } from '@babel/traverse';\n\n/**\n * Injects parameters into invocation of useMessages_callback(..., { $_hash })\n */\nexport function injectUseMessagesCallbackParameters(\n _callExprPath: NodePath<t.CallExpression>,\n _state: TransformState\n) {}\n"],"mappings":";;;;;AAOA,SAAgB,oCACd,eACA,QACA"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
"
|
|
2
|
-
|
|
3
|
-
exports.injectUseTranslationsCallbackParameters = injectUseTranslationsCallbackParameters;
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
//#region src/transform/injection/callbacks/injectUseTranslationsCallbackParameters.ts
|
|
4
3
|
/**
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
function injectUseTranslationsCallbackParameters(_callExprPath, _state) {
|
|
4
|
+
* Injects parameters into invocation of useTranslations_callback(..., { $_hash })
|
|
5
|
+
*/
|
|
6
|
+
function injectUseTranslationsCallbackParameters(_callExprPath, _state) {}
|
|
7
|
+
//#endregion
|
|
8
|
+
exports.injectUseTranslationsCallbackParameters = injectUseTranslationsCallbackParameters;
|
|
9
|
+
|
|
8
10
|
//# sourceMappingURL=injectUseTranslationsCallbackParameters.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"injectUseTranslationsCallbackParameters.js","
|
|
1
|
+
{"version":3,"file":"injectUseTranslationsCallbackParameters.js","names":[],"sources":["../../../../src/transform/injection/callbacks/injectUseTranslationsCallbackParameters.ts"],"sourcesContent":["import { TransformState } from '../../../state/types';\nimport * as t from '@babel/types';\nimport { NodePath } from '@babel/traverse';\n\n/**\n * Injects parameters into invocation of useTranslations_callback(..., { $_hash })\n */\nexport function injectUseTranslationsCallbackParameters(\n _callExprPath: NodePath<t.CallExpression>,\n _state: TransformState\n) {}\n"],"mappings":";;;;;AAOA,SAAgB,wCACd,eACA,QACA"}
|
|
@@ -1,165 +1,84 @@
|
|
|
1
|
-
"
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
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.injectCallbackDeclaratorFunctionParameters = injectCallbackDeclaratorFunctionParameters;
|
|
37
|
-
const t = __importStar(require("@babel/types"));
|
|
38
|
-
const getTrackedVariable_1 = require("../getTrackedVariable");
|
|
39
|
-
const getCalleeNameFromExpressionWrapper_1 = require("../../utils/parsing/getCalleeNameFromExpressionWrapper");
|
|
40
|
-
const helpers_1 = require("../../utils/constants/gt/helpers");
|
|
41
|
-
const constants_1 = require("../../utils/constants/gt/constants");
|
|
42
|
-
const extractIdentifiersFromLVal_1 = require("../../utils/parsing/extractIdentifiersFromLVal");
|
|
43
|
-
const trackOverridingVariable_1 = require("../tracking/trackOverridingVariable");
|
|
44
|
-
const errors_1 = require("../../utils/errors");
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_runtime = require("../../_virtual/_rolldown/runtime.js");
|
|
3
|
+
const require_transform_tracking_trackOverridingVariable = require("../tracking/trackOverridingVariable.js");
|
|
4
|
+
const require_utils_parsing_extractIdentifiersFromLVal = require("../../utils/parsing/extractIdentifiersFromLVal.js");
|
|
5
|
+
require("../../utils/constants/gt/constants.js");
|
|
6
|
+
const require_utils_constants_gt_helpers = require("../../utils/constants/gt/helpers.js");
|
|
7
|
+
const require_transform_getTrackedVariable = require("../getTrackedVariable.js");
|
|
8
|
+
const require_utils_errors = require("../../utils/errors.js");
|
|
9
|
+
const require_utils_parsing_getCalleeNameFromExpressionWrapper = require("../../utils/parsing/getCalleeNameFromExpressionWrapper.js");
|
|
10
|
+
let _babel_types = require("@babel/types");
|
|
11
|
+
_babel_types = require_runtime.__toESM(_babel_types);
|
|
12
|
+
//#region src/transform/injection/injectCallbackDeclaratorFunctionParameters.ts
|
|
45
13
|
/**
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
14
|
+
* inject parameters into invocation of translation function
|
|
15
|
+
* - useGT(messages=[{hash, message, id, context, maxChars}])
|
|
16
|
+
*/
|
|
49
17
|
function injectCallbackDeclaratorFunctionParameters(varDeclarator, state) {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
const expression = getFunctionInvocation(varDeclarator);
|
|
85
|
-
if (!expression) {
|
|
86
|
-
state.logger.logError(`No valid function invocation found for ${functionName}. Parameter injection failed.` +
|
|
87
|
-
(0, errors_1.createErrorLocation)(varDeclarator.id));
|
|
88
|
-
return;
|
|
89
|
-
}
|
|
90
|
-
if (expression.arguments.length > 0) {
|
|
91
|
-
// Found existing arguments, skip injection
|
|
92
|
-
return;
|
|
93
|
-
}
|
|
94
|
-
// Look up identifier
|
|
95
|
-
const id = (_a = state.scopeTracker.getVariable(identifier)) === null || _a === void 0 ? void 0 : _a.identifier;
|
|
96
|
-
if (!id) {
|
|
97
|
-
state.logger.logError(`No translation callback variable found for ${identifier}. Parameter injection failed.` +
|
|
98
|
-
(0, errors_1.createErrorLocation)(varDeclarator.id));
|
|
99
|
-
return;
|
|
100
|
-
}
|
|
101
|
-
// Inject into the callees
|
|
102
|
-
switch (canonicalName) {
|
|
103
|
-
case constants_1.GT_FUNCTIONS_WITH_CALLBACKS.useGT:
|
|
104
|
-
case constants_1.GT_FUNCTIONS_WITH_CALLBACKS.getGT:
|
|
105
|
-
injectUseGTParameters(expression, state, id);
|
|
106
|
-
break;
|
|
107
|
-
default:
|
|
108
|
-
return;
|
|
109
|
-
}
|
|
18
|
+
var _state$scopeTracker$g;
|
|
19
|
+
if (!_babel_types.isLVal(varDeclarator.id)) return;
|
|
20
|
+
const { namespaceName, functionName } = require_utils_parsing_getCalleeNameFromExpressionWrapper.getCalleeNameFromExpressionWrapper(varDeclarator.init);
|
|
21
|
+
if (!functionName) return;
|
|
22
|
+
const { canonicalName, type } = require_transform_getTrackedVariable.getTrackedVariable(state.scopeTracker, namespaceName, functionName);
|
|
23
|
+
if (!canonicalName) return;
|
|
24
|
+
const identifiers = require_utils_parsing_extractIdentifiersFromLVal.extractIdentifiersFromLVal(varDeclarator.id);
|
|
25
|
+
if (type !== "generaltranslation" || !require_utils_constants_gt_helpers.isGTFunctionWithCallbacks(canonicalName)) {
|
|
26
|
+
for (const identifier of identifiers) require_transform_tracking_trackOverridingVariable.trackOverridingVariable(identifier, state.scopeTracker);
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
if (identifiers.length !== 1) {
|
|
30
|
+
state.logger.logError(`Multiple identifiers found for GT function with callbacks: ${canonicalName}. Parameter injection failed.` + require_utils_errors.createErrorLocation(varDeclarator.id));
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
const identifier = identifiers[0];
|
|
34
|
+
const expression = getFunctionInvocation(varDeclarator);
|
|
35
|
+
if (!expression) {
|
|
36
|
+
state.logger.logError(`No valid function invocation found for ${functionName}. Parameter injection failed.` + require_utils_errors.createErrorLocation(varDeclarator.id));
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
if (expression.arguments.length > 0) return;
|
|
40
|
+
const id = (_state$scopeTracker$g = state.scopeTracker.getVariable(identifier)) === null || _state$scopeTracker$g === void 0 ? void 0 : _state$scopeTracker$g.identifier;
|
|
41
|
+
if (!id) {
|
|
42
|
+
state.logger.logError(`No translation callback variable found for ${identifier}. Parameter injection failed.` + require_utils_errors.createErrorLocation(varDeclarator.id));
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
switch (canonicalName) {
|
|
46
|
+
case "useGT":
|
|
47
|
+
case "getGT":
|
|
48
|
+
injectUseGTParameters(expression, state, id);
|
|
49
|
+
break;
|
|
50
|
+
default: return;
|
|
51
|
+
}
|
|
110
52
|
}
|
|
111
53
|
/**
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
54
|
+
* Inject the parameters into the useGT/getGT call
|
|
55
|
+
* @param arguments - The arguments
|
|
56
|
+
* @param state - The state
|
|
57
|
+
* @param identifier - The identifier
|
|
58
|
+
* @param translationContent - The translation content
|
|
59
|
+
*/
|
|
118
60
|
function injectUseGTParameters(expression, state, id) {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
t.objectProperty(t.identifier('message'), t.stringLiteral(content.message)),
|
|
129
|
-
...(content.id
|
|
130
|
-
? [
|
|
131
|
-
t.objectProperty(t.identifier('id'), t.stringLiteral(content.id)),
|
|
132
|
-
]
|
|
133
|
-
: []),
|
|
134
|
-
...(content.context
|
|
135
|
-
? [
|
|
136
|
-
t.objectProperty(t.identifier('context'), t.stringLiteral(content.context)),
|
|
137
|
-
]
|
|
138
|
-
: []),
|
|
139
|
-
...(content.maxChars != null
|
|
140
|
-
? [
|
|
141
|
-
t.objectProperty(t.identifier('maxChars'), t.numericLiteral(content.maxChars)),
|
|
142
|
-
]
|
|
143
|
-
: []),
|
|
144
|
-
]))),
|
|
145
|
-
];
|
|
61
|
+
const translationContent = state.stringCollector.getTranslationContent(id);
|
|
62
|
+
if (!translationContent) return;
|
|
63
|
+
expression.arguments = [_babel_types.arrayExpression(translationContent.map((content) => _babel_types.objectExpression([
|
|
64
|
+
_babel_types.objectProperty(_babel_types.identifier("hash"), _babel_types.stringLiteral(content.hash)),
|
|
65
|
+
_babel_types.objectProperty(_babel_types.identifier("message"), _babel_types.stringLiteral(content.message)),
|
|
66
|
+
...content.id ? [_babel_types.objectProperty(_babel_types.identifier("id"), _babel_types.stringLiteral(content.id))] : [],
|
|
67
|
+
...content.context ? [_babel_types.objectProperty(_babel_types.identifier("context"), _babel_types.stringLiteral(content.context))] : [],
|
|
68
|
+
...content.maxChars != null ? [_babel_types.objectProperty(_babel_types.identifier("maxChars"), _babel_types.numericLiteral(content.maxChars))] : []
|
|
69
|
+
])))];
|
|
146
70
|
}
|
|
147
71
|
/**
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
72
|
+
* Get the function invocation from the variable declarator
|
|
73
|
+
* @param varDeclarator - The variable declarator
|
|
74
|
+
*/
|
|
151
75
|
function getFunctionInvocation(varDeclarator) {
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
}
|
|
157
|
-
if (t.isCallExpression(expression)) {
|
|
158
|
-
return expression;
|
|
159
|
-
}
|
|
160
|
-
if (t.isAwaitExpression(expression) &&
|
|
161
|
-
t.isCallExpression(expression.argument)) {
|
|
162
|
-
return expression.argument;
|
|
163
|
-
}
|
|
76
|
+
const expression = varDeclarator.init;
|
|
77
|
+
if (!expression) return;
|
|
78
|
+
if (_babel_types.isCallExpression(expression)) return expression;
|
|
79
|
+
if (_babel_types.isAwaitExpression(expression) && _babel_types.isCallExpression(expression.argument)) return expression.argument;
|
|
164
80
|
}
|
|
81
|
+
//#endregion
|
|
82
|
+
exports.injectCallbackDeclaratorFunctionParameters = injectCallbackDeclaratorFunctionParameters;
|
|
83
|
+
|
|
165
84
|
//# sourceMappingURL=injectCallbackDeclaratorFunctionParameters.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"injectCallbackDeclaratorFunctionParameters.js","
|
|
1
|
+
{"version":3,"file":"injectCallbackDeclaratorFunctionParameters.js","names":["t","getCalleeNameFromExpressionWrapper","getTrackedVariable","extractIdentifiersFromLVal","isGTFunctionWithCallbacks","createErrorLocation"],"sources":["../../../src/transform/injection/injectCallbackDeclaratorFunctionParameters.ts"],"sourcesContent":["import { TransformState } from '../../state/types';\nimport * as t from '@babel/types';\nimport { getTrackedVariable } from '../getTrackedVariable';\nimport { getCalleeNameFromExpressionWrapper } from '../../utils/parsing/getCalleeNameFromExpressionWrapper';\nimport { isGTFunctionWithCallbacks } from '../../utils/constants/gt/helpers';\nimport { GT_FUNCTIONS_WITH_CALLBACKS } from '../../utils/constants/gt/constants';\nimport { extractIdentifiersFromLVal } from '../../utils/parsing/extractIdentifiersFromLVal';\nimport { trackOverridingVariable } from '../tracking/trackOverridingVariable';\nimport { createErrorLocation } from '../../utils/errors';\n\n/**\n * inject parameters into invocation of translation function\n * - useGT(messages=[{hash, message, id, context, maxChars}])\n */\nexport function injectCallbackDeclaratorFunctionParameters(\n varDeclarator: t.VariableDeclarator,\n state: TransformState\n): void {\n // Ignore non-LVal assignments\n if (!t.isLVal(varDeclarator.id)) {\n return;\n }\n\n // Get function name from callee\n const { namespaceName, functionName } = getCalleeNameFromExpressionWrapper(\n varDeclarator.init\n );\n if (!functionName) {\n return;\n }\n\n // Get the canonical function name\n const { canonicalName, type } = getTrackedVariable(\n state.scopeTracker,\n namespaceName,\n functionName\n );\n if (!canonicalName) {\n return;\n }\n\n // Extract identifiers from the LVal\n const identifiers = extractIdentifiersFromLVal(varDeclarator.id);\n\n // Validate the type\n if (\n type !== 'generaltranslation' ||\n !isGTFunctionWithCallbacks(canonicalName)\n ) {\n // Track as an overriding variable\n for (const identifier of identifiers) {\n trackOverridingVariable(identifier, state.scopeTracker);\n }\n return;\n }\n\n // There can only be one callback defined for const gt = useGT()\n if (identifiers.length !== 1) {\n state.logger.logError(\n `Multiple identifiers found for GT function with callbacks: ${canonicalName}. Parameter injection failed.` +\n createErrorLocation(varDeclarator.id)\n );\n return;\n }\n const identifier = identifiers[0];\n\n // Inject the parameters into the call expression\n const expression = getFunctionInvocation(varDeclarator);\n if (!expression) {\n state.logger.logError(\n `No valid function invocation found for ${functionName}. Parameter injection failed.` +\n createErrorLocation(varDeclarator.id)\n );\n return;\n }\n if (expression.arguments.length > 0) {\n // Found existing arguments, skip injection\n return;\n }\n\n // Look up identifier\n const id = state.scopeTracker.getVariable(identifier)?.identifier;\n if (!id) {\n state.logger.logError(\n `No translation callback variable found for ${identifier}. Parameter injection failed.` +\n createErrorLocation(varDeclarator.id)\n );\n return;\n }\n // Inject into the callees\n switch (canonicalName) {\n case GT_FUNCTIONS_WITH_CALLBACKS.useGT:\n case GT_FUNCTIONS_WITH_CALLBACKS.getGT:\n injectUseGTParameters(expression, state, id);\n break;\n default:\n return;\n }\n}\n\n/**\n * Inject the parameters into the useGT/getGT call\n * @param arguments - The arguments\n * @param state - The state\n * @param identifier - The identifier\n * @param translationContent - The translation content\n */\nfunction injectUseGTParameters(\n expression: t.CallExpression,\n state: TransformState,\n id: number\n) {\n // Get the corresponding callback injection data\n const translationContent = state.stringCollector.getTranslationContent(id);\n if (!translationContent) {\n return;\n }\n\n // Inject the parameters into the call expression\n expression.arguments = [\n t.arrayExpression(\n translationContent.map((content) =>\n t.objectExpression([\n t.objectProperty(t.identifier('hash'), t.stringLiteral(content.hash)),\n t.objectProperty(\n t.identifier('message'),\n t.stringLiteral(content.message)\n ),\n ...(content.id\n ? [\n t.objectProperty(\n t.identifier('id'),\n t.stringLiteral(content.id)\n ),\n ]\n : []),\n ...(content.context\n ? [\n t.objectProperty(\n t.identifier('context'),\n t.stringLiteral(content.context)\n ),\n ]\n : []),\n ...(content.maxChars != null\n ? [\n t.objectProperty(\n t.identifier('maxChars'),\n t.numericLiteral(content.maxChars)\n ),\n ]\n : []),\n ])\n )\n ),\n ];\n}\n\n/**\n * Get the function invocation from the variable declarator\n * @param varDeclarator - The variable declarator\n */\nfunction getFunctionInvocation(\n varDeclarator: t.VariableDeclarator\n): t.CallExpression | undefined {\n const expression = varDeclarator.init;\n if (!expression) {\n // failed\n return;\n }\n if (t.isCallExpression(expression)) {\n return expression;\n }\n if (\n t.isAwaitExpression(expression) &&\n t.isCallExpression(expression.argument)\n ) {\n return expression.argument;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAcA,SAAgB,2CACd,eACA,OACM;;AAEN,KAAI,CAACA,aAAE,OAAO,cAAc,GAAG,CAC7B;CAIF,MAAM,EAAE,eAAe,iBAAiBC,yDAAAA,mCACtC,cAAc,KACf;AACD,KAAI,CAAC,aACH;CAIF,MAAM,EAAE,eAAe,SAASC,qCAAAA,mBAC9B,MAAM,cACN,eACA,aACD;AACD,KAAI,CAAC,cACH;CAIF,MAAM,cAAcC,iDAAAA,2BAA2B,cAAc,GAAG;AAGhE,KACE,SAAS,wBACT,CAACC,mCAAAA,0BAA0B,cAAc,EACzC;AAEA,OAAK,MAAM,cAAc,YACvB,oDAAA,wBAAwB,YAAY,MAAM,aAAa;AAEzD;;AAIF,KAAI,YAAY,WAAW,GAAG;AAC5B,QAAM,OAAO,SACX,8DAA8D,cAAc,iCAC1EC,qBAAAA,oBAAoB,cAAc,GAAG,CACxC;AACD;;CAEF,MAAM,aAAa,YAAY;CAG/B,MAAM,aAAa,sBAAsB,cAAc;AACvD,KAAI,CAAC,YAAY;AACf,QAAM,OAAO,SACX,0CAA0C,aAAa,iCACrDA,qBAAAA,oBAAoB,cAAc,GAAG,CACxC;AACD;;AAEF,KAAI,WAAW,UAAU,SAAS,EAEhC;CAIF,MAAM,MAAA,wBAAK,MAAM,aAAa,YAAY,WAAW,MAAA,QAAA,0BAAA,KAAA,IAAA,KAAA,IAAA,sBAAE;AACvD,KAAI,CAAC,IAAI;AACP,QAAM,OAAO,SACX,8CAA8C,WAAW,iCACvDA,qBAAAA,oBAAoB,cAAc,GAAG,CACxC;AACD;;AAGF,SAAQ,eAAR;EACE,KAAA;EACA,KAAA;AACE,yBAAsB,YAAY,OAAO,GAAG;AAC5C;EACF,QACE;;;;;;;;;;AAWN,SAAS,sBACP,YACA,OACA,IACA;CAEA,MAAM,qBAAqB,MAAM,gBAAgB,sBAAsB,GAAG;AAC1E,KAAI,CAAC,mBACH;AAIF,YAAW,YAAY,CACrBL,aAAE,gBACA,mBAAmB,KAAK,YACtBA,aAAE,iBAAiB;EACjBA,aAAE,eAAeA,aAAE,WAAW,OAAO,EAAEA,aAAE,cAAc,QAAQ,KAAK,CAAC;EACrEA,aAAE,eACAA,aAAE,WAAW,UAAU,EACvBA,aAAE,cAAc,QAAQ,QAAQ,CACjC;EACD,GAAI,QAAQ,KACR,CACEA,aAAE,eACAA,aAAE,WAAW,KAAK,EAClBA,aAAE,cAAc,QAAQ,GAAG,CAC5B,CACF,GACD,EAAE;EACN,GAAI,QAAQ,UACR,CACEA,aAAE,eACAA,aAAE,WAAW,UAAU,EACvBA,aAAE,cAAc,QAAQ,QAAQ,CACjC,CACF,GACD,EAAE;EACN,GAAI,QAAQ,YAAY,OACpB,CACEA,aAAE,eACAA,aAAE,WAAW,WAAW,EACxBA,aAAE,eAAe,QAAQ,SAAS,CACnC,CACF,GACD,EAAE;EACP,CAAC,CACH,CACF,CACF;;;;;;AAOH,SAAS,sBACP,eAC8B;CAC9B,MAAM,aAAa,cAAc;AACjC,KAAI,CAAC,WAEH;AAEF,KAAIA,aAAE,iBAAiB,WAAW,CAChC,QAAO;AAET,KACEA,aAAE,kBAAkB,WAAW,IAC/BA,aAAE,iBAAiB,WAAW,SAAS,CAEvC,QAAO,WAAW"}
|
|
@@ -1,65 +1,25 @@
|
|
|
1
|
-
"
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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.injectHashIntoTranslationOptions = injectHashIntoTranslationOptions;
|
|
37
|
-
const t = __importStar(require("@babel/types"));
|
|
38
|
-
const constants_1 = require("../../utils/constants/gt/constants");
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_runtime = require("../../_virtual/_rolldown/runtime.js");
|
|
3
|
+
require("../../utils/constants/gt/constants.js");
|
|
4
|
+
let _babel_types = require("@babel/types");
|
|
5
|
+
_babel_types = require_runtime.__toESM(_babel_types);
|
|
6
|
+
//#region src/transform/injection/injectHashIntoTranslationOptions.ts
|
|
39
7
|
/**
|
|
40
|
-
|
|
41
|
-
|
|
8
|
+
* Inject $_hash into the second options argument for string translation calls.
|
|
9
|
+
*/
|
|
42
10
|
function injectHashIntoTranslationOptions(callExpr, hash) {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
optionsArg.properties.push(newEntry);
|
|
54
|
-
}
|
|
55
|
-
else if (t.isExpression(optionsArg)) {
|
|
56
|
-
callExpr.arguments[1] = t.objectExpression([
|
|
57
|
-
t.spreadElement(optionsArg),
|
|
58
|
-
newEntry,
|
|
59
|
-
]);
|
|
60
|
-
}
|
|
61
|
-
else if (t.isArgumentPlaceholder(optionsArg)) {
|
|
62
|
-
callExpr.arguments[1] = t.objectExpression([newEntry]);
|
|
63
|
-
}
|
|
11
|
+
const newEntry = _babel_types.objectProperty(_babel_types.stringLiteral("$_hash"), _babel_types.stringLiteral(hash));
|
|
12
|
+
if (callExpr.arguments.length === 1) {
|
|
13
|
+
callExpr.arguments.push(_babel_types.objectExpression([newEntry]));
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
if (callExpr.arguments.length !== 2) return;
|
|
17
|
+
const optionsArg = callExpr.arguments[1];
|
|
18
|
+
if (_babel_types.isObjectExpression(optionsArg)) optionsArg.properties.push(newEntry);
|
|
19
|
+
else if (_babel_types.isExpression(optionsArg)) callExpr.arguments[1] = _babel_types.objectExpression([_babel_types.spreadElement(optionsArg), newEntry]);
|
|
20
|
+
else if (_babel_types.isArgumentPlaceholder(optionsArg)) callExpr.arguments[1] = _babel_types.objectExpression([newEntry]);
|
|
64
21
|
}
|
|
22
|
+
//#endregion
|
|
23
|
+
exports.injectHashIntoTranslationOptions = injectHashIntoTranslationOptions;
|
|
24
|
+
|
|
65
25
|
//# sourceMappingURL=injectHashIntoTranslationOptions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"injectHashIntoTranslationOptions.js","
|
|
1
|
+
{"version":3,"file":"injectHashIntoTranslationOptions.js","names":["t"],"sources":["../../../src/transform/injection/injectHashIntoTranslationOptions.ts"],"sourcesContent":["import * as t from '@babel/types';\nimport { USEGT_CALLBACK_OPTIONS } from '../../utils/constants/gt/constants';\n\n/**\n * Inject $_hash into the second options argument for string translation calls.\n */\nexport function injectHashIntoTranslationOptions(\n callExpr: t.CallExpression,\n hash: string\n): void {\n const newEntry = t.objectProperty(\n t.stringLiteral(USEGT_CALLBACK_OPTIONS.$_hash),\n t.stringLiteral(hash)\n );\n\n if (callExpr.arguments.length === 1) {\n callExpr.arguments.push(t.objectExpression([newEntry]));\n return;\n }\n\n if (callExpr.arguments.length !== 2) {\n return;\n }\n\n const optionsArg = callExpr.arguments[1];\n if (t.isObjectExpression(optionsArg)) {\n optionsArg.properties.push(newEntry);\n } else if (t.isExpression(optionsArg)) {\n callExpr.arguments[1] = t.objectExpression([\n t.spreadElement(optionsArg),\n newEntry,\n ]);\n } else if (t.isArgumentPlaceholder(optionsArg)) {\n callExpr.arguments[1] = t.objectExpression([newEntry]);\n }\n}\n"],"mappings":";;;;;;;;;AAMA,SAAgB,iCACd,UACA,MACM;CACN,MAAM,WAAWA,aAAE,eACjBA,aAAE,cAAA,SAA4C,EAC9CA,aAAE,cAAc,KAAK,CACtB;AAED,KAAI,SAAS,UAAU,WAAW,GAAG;AACnC,WAAS,UAAU,KAAKA,aAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;AACvD;;AAGF,KAAI,SAAS,UAAU,WAAW,EAChC;CAGF,MAAM,aAAa,SAAS,UAAU;AACtC,KAAIA,aAAE,mBAAmB,WAAW,CAClC,YAAW,WAAW,KAAK,SAAS;UAC3BA,aAAE,aAAa,WAAW,CACnC,UAAS,UAAU,KAAKA,aAAE,iBAAiB,CACzCA,aAAE,cAAc,WAAW,EAC3B,SACD,CAAC;UACOA,aAAE,sBAAsB,WAAW,CAC5C,UAAS,UAAU,KAAKA,aAAE,iBAAiB,CAAC,SAAS,CAAC"}
|