@generaltranslation/compiler 1.3.22 → 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.js +154 -209
- package/dist/state/ScopeTracker.js.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.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.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.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.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 -5
- 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,271 +1,166 @@
|
|
|
1
|
-
"
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.processCallExpression = processCallExpression;
|
|
40
|
-
const t = __importStar(require("@babel/types"));
|
|
41
|
-
const helpers_1 = require("../../utils/constants/gt/helpers");
|
|
42
|
-
const getCalleeNameFromExpression_1 = require("../../utils/parsing/getCalleeNameFromExpression");
|
|
43
|
-
const constants_1 = require("../../utils/constants/gt/constants");
|
|
44
|
-
const validateTranslationFunction_1 = require("../../transform/validation/validateTranslationFunction");
|
|
45
|
-
const registerUseGTCallback_1 = require("../../transform/registration/callbacks/registerUseGTCallback");
|
|
46
|
-
const registerUseTranslationsCallback_1 = require("../../transform/registration/callbacks/registerUseTranslationsCallback");
|
|
47
|
-
const registerUseMessagesCallback_1 = require("../../transform/registration/callbacks/registerUseMessagesCallback");
|
|
48
|
-
const getTrackedVariable_1 = require("../../transform/getTrackedVariable");
|
|
49
|
-
const helpers_2 = require("../../utils/constants/react/helpers");
|
|
50
|
-
const validateTranslationComponentArgs_1 = require("../../transform/validation/validateTranslationComponentArgs");
|
|
51
|
-
const registerTranslationComponent_1 = require("../../transform/registration/registerTranslationComponent");
|
|
52
|
-
const getCalleeNameFromJsxExpressionParam_1 = require("../../transform/jsx-children/utils/getCalleeNameFromJsxExpressionParam");
|
|
53
|
-
const errors_1 = require("../../utils/errors");
|
|
54
|
-
const calculateHash_1 = __importDefault(require("../../utils/calculateHash"));
|
|
55
|
-
const registerStandaloneTranslation_1 = require("../../transform/registration/registerStandaloneTranslation");
|
|
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
|
+
const require_utils_constants_gt_helpers = require("../../utils/constants/gt/helpers.js");
|
|
5
|
+
const require_utils_constants_react_helpers = require("../../utils/constants/react/helpers.js");
|
|
6
|
+
const require_utils_parsing_getCalleeNameFromExpression = require("../../utils/parsing/getCalleeNameFromExpression.js");
|
|
7
|
+
const require_transform_getTrackedVariable = require("../../transform/getTrackedVariable.js");
|
|
8
|
+
const require_transform_validation_validateTranslationFunction = require("../../transform/validation/validateTranslationFunction.js");
|
|
9
|
+
const require_utils_calculateHash = require("../../utils/calculateHash.js");
|
|
10
|
+
const require_transform_registration_callbacks_registerUseGTCallback = require("../../transform/registration/callbacks/registerUseGTCallback.js");
|
|
11
|
+
require("../../transform/registration/callbacks/registerUseTranslationsCallback.js");
|
|
12
|
+
require("../../transform/registration/callbacks/registerUseMessagesCallback.js");
|
|
13
|
+
const require_utils_errors = require("../../utils/errors.js");
|
|
14
|
+
const require_transform_jsx_children_utils_getCalleeNameFromJsxExpressionParam = require("../../transform/jsx-children/utils/getCalleeNameFromJsxExpressionParam.js");
|
|
15
|
+
const require_transform_validation_validateTranslationComponentArgs = require("../../transform/validation/validateTranslationComponentArgs.js");
|
|
16
|
+
const require_transform_registration_registerTranslationComponent = require("../../transform/registration/registerTranslationComponent.js");
|
|
17
|
+
const require_transform_registration_registerStandaloneTranslation = require("../../transform/registration/registerStandaloneTranslation.js");
|
|
18
|
+
let _babel_types = require("@babel/types");
|
|
19
|
+
_babel_types = require_runtime.__toESM(_babel_types);
|
|
20
|
+
//#region src/processing/collection/processCallExpression.ts
|
|
56
21
|
/**
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
22
|
+
* Process call expressions
|
|
23
|
+
* - register content from GT callback functions invocations (useGT_callback, etc.)
|
|
24
|
+
* - register <T> + other component content (via jsxDev, jsx, jsxs invocations)
|
|
25
|
+
* - register msg() function invocations?
|
|
26
|
+
* - generally validate content
|
|
27
|
+
*/
|
|
63
28
|
function processCallExpression(state) {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
|
-
// Handle each respective case
|
|
78
|
-
if (type === 'generaltranslation' &&
|
|
79
|
-
(0, helpers_1.isTranslationFunctionCallback)(canonicalName)) {
|
|
80
|
-
// Handle translation function callbacks (useGT_callback, etc.)
|
|
81
|
-
handleTranslationCallbackInvocation(callExprPath, state, canonicalName, identifier);
|
|
82
|
-
}
|
|
83
|
-
else if (type === 'react' && (0, helpers_2.isReactFunction)(canonicalName)) {
|
|
84
|
-
// Handle react variables (jsxDEV, etc.)
|
|
85
|
-
handleReactInvocation(callExprPath, state);
|
|
86
|
-
}
|
|
87
|
-
else if (type === 'generaltranslation' &&
|
|
88
|
-
canonicalName === constants_1.GT_OTHER_FUNCTIONS.msg) {
|
|
89
|
-
// msg() is runtime-only content; it must not advance the injection counter.
|
|
90
|
-
handleStandaloneTranslation(callExprPath, state, { injectHash: false });
|
|
91
|
-
}
|
|
92
|
-
else if (type === 'generaltranslation' &&
|
|
93
|
-
canonicalName === constants_1.GT_OTHER_FUNCTIONS.t) {
|
|
94
|
-
// Standalone t() receives an injected $_hash, so collection reserves a
|
|
95
|
-
// matching counter slot for the injection pass.
|
|
96
|
-
handleStandaloneTranslation(callExprPath, state, { injectHash: true });
|
|
97
|
-
}
|
|
98
|
-
};
|
|
29
|
+
return (callExprPath) => {
|
|
30
|
+
const callExpr = callExprPath.node;
|
|
31
|
+
const { namespaceName, functionName } = require_utils_parsing_getCalleeNameFromExpression.getCalleeNameFromExpression(callExpr);
|
|
32
|
+
if (!functionName) return;
|
|
33
|
+
const { canonicalName, identifier, type } = require_transform_getTrackedVariable.getTrackedVariable(state.scopeTracker, namespaceName, functionName);
|
|
34
|
+
if (!canonicalName) return;
|
|
35
|
+
if (type === "generaltranslation" && require_utils_constants_gt_helpers.isTranslationFunctionCallback(canonicalName)) handleTranslationCallbackInvocation(callExprPath, state, canonicalName, identifier);
|
|
36
|
+
else if (type === "react" && require_utils_constants_react_helpers.isReactFunction(canonicalName)) handleReactInvocation(callExprPath, state);
|
|
37
|
+
else if (type === "generaltranslation" && canonicalName === "msg") handleStandaloneTranslation(callExprPath, state, { injectHash: false });
|
|
38
|
+
else if (type === "generaltranslation" && canonicalName === "t") handleStandaloneTranslation(callExprPath, state, { injectHash: true });
|
|
39
|
+
};
|
|
99
40
|
}
|
|
100
|
-
/* =============================== */
|
|
101
|
-
/* Handlers */
|
|
102
|
-
/* =============================== */
|
|
103
41
|
/**
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
42
|
+
* Handle general translation variables
|
|
43
|
+
* useGTCallback(), useTranslationsCallback(), useMessagesCallback(), etc.
|
|
44
|
+
*/
|
|
107
45
|
function handleTranslationCallbackInvocation(callExprPath, state, canonicalName, identifier) {
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
return;
|
|
124
|
-
}
|
|
46
|
+
switch (canonicalName) {
|
|
47
|
+
case "useGT_callback":
|
|
48
|
+
case "getGT_callback":
|
|
49
|
+
handleUseGTCallback(callExprPath, state, identifier);
|
|
50
|
+
break;
|
|
51
|
+
case "useTranslations_callback":
|
|
52
|
+
case "getTranslations_callback":
|
|
53
|
+
handleUseTranslationsCallback(callExprPath, state, identifier);
|
|
54
|
+
break;
|
|
55
|
+
case "useMessages_callback":
|
|
56
|
+
case "getMessages_callback":
|
|
57
|
+
handleUseMessagesCallback(callExprPath, state, identifier);
|
|
58
|
+
break;
|
|
59
|
+
default: return;
|
|
60
|
+
}
|
|
125
61
|
}
|
|
126
62
|
/**
|
|
127
|
-
|
|
128
|
-
|
|
63
|
+
* Handle useGT_callback / getGT_callback
|
|
64
|
+
*/
|
|
129
65
|
function handleUseGTCallback(callExprPath, state, identifier) {
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
state,
|
|
145
|
-
content: useGTCallbackParams.content,
|
|
146
|
-
context: useGTCallbackParams.context,
|
|
147
|
-
id: useGTCallbackParams.id,
|
|
148
|
-
maxChars: useGTCallbackParams.maxChars,
|
|
149
|
-
hash,
|
|
150
|
-
format: useGTCallbackParams.format,
|
|
151
|
-
});
|
|
66
|
+
const useGTCallbackParams = require_transform_validation_validateTranslationFunction.validateTranslationFunction(callExprPath, state);
|
|
67
|
+
state.errorTracker.addErrors(useGTCallbackParams.errors);
|
|
68
|
+
if (useGTCallbackParams.errors.length > 0 || useGTCallbackParams.content === void 0) return;
|
|
69
|
+
const hash = useGTCallbackParams.hasDeriveContext ? "" : useGTCallbackParams.hash;
|
|
70
|
+
require_transform_registration_callbacks_registerUseGTCallback.registerUseGTCallback({
|
|
71
|
+
identifier,
|
|
72
|
+
state,
|
|
73
|
+
content: useGTCallbackParams.content,
|
|
74
|
+
context: useGTCallbackParams.context,
|
|
75
|
+
id: useGTCallbackParams.id,
|
|
76
|
+
maxChars: useGTCallbackParams.maxChars,
|
|
77
|
+
hash,
|
|
78
|
+
format: useGTCallbackParams.format
|
|
79
|
+
});
|
|
152
80
|
}
|
|
153
81
|
/**
|
|
154
|
-
|
|
155
|
-
|
|
82
|
+
* Handle useTranslations_callback / getTranslations_callback
|
|
83
|
+
*/
|
|
156
84
|
function handleUseTranslationsCallback(callExprPath, state, identifier) {
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
if (useTranslationsCallbackParams.errors.length > 0) {
|
|
162
|
-
return;
|
|
163
|
-
}
|
|
164
|
-
// Track the function call
|
|
165
|
-
(0, registerUseTranslationsCallback_1.registerUseTranslationsCallback)({
|
|
166
|
-
identifier,
|
|
167
|
-
state,
|
|
168
|
-
});
|
|
85
|
+
const callExpr = callExprPath.node;
|
|
86
|
+
const useTranslationsCallbackParams = require_transform_validation_validateTranslationFunction.validateUseTranslationsCallback(callExpr);
|
|
87
|
+
state.errorTracker.addErrors(useTranslationsCallbackParams.errors);
|
|
88
|
+
if (useTranslationsCallbackParams.errors.length > 0) return;
|
|
169
89
|
}
|
|
170
90
|
/**
|
|
171
|
-
|
|
172
|
-
|
|
91
|
+
* Handle useMessages_callback / getMessages_callback
|
|
92
|
+
*/
|
|
173
93
|
function handleUseMessagesCallback(callExprPath, state, identifier) {
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
state.errorTracker.addErrors(useMessagesCallbackParams.errors);
|
|
179
|
-
if (useMessagesCallbackParams.errors.length > 0) {
|
|
180
|
-
return;
|
|
181
|
-
}
|
|
182
|
-
// Track the function call
|
|
183
|
-
(0, registerUseMessagesCallback_1.registerUseMessagesCallback)({
|
|
184
|
-
identifier,
|
|
185
|
-
state,
|
|
186
|
-
});
|
|
94
|
+
const callExpr = callExprPath.node;
|
|
95
|
+
const useMessagesCallbackParams = require_transform_validation_validateTranslationFunction.validateUseMessagesCallback(callExpr);
|
|
96
|
+
state.errorTracker.addErrors(useMessagesCallbackParams.errors);
|
|
97
|
+
if (useMessagesCallbackParams.errors.length > 0) return;
|
|
187
98
|
}
|
|
188
99
|
/**
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
100
|
+
* Handle react function invocations
|
|
101
|
+
* jsxDEV, jsx, jsxs, ...
|
|
102
|
+
*
|
|
103
|
+
* We want to check these because they wrap <T> and other components
|
|
104
|
+
*/
|
|
194
105
|
function handleReactInvocation(callExprPath, state) {
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
const hash = hasDeriveContext
|
|
232
|
-
? ''
|
|
233
|
-
: _hash ||
|
|
234
|
-
(0, calculateHash_1.default)(Object.assign(Object.assign(Object.assign(Object.assign({ source: children }, (context && { context })), (id && { id })), (maxChars != null && { maxChars })), { dataFormat: 'JSX' }));
|
|
235
|
-
// Debug: record hash → children mapping
|
|
236
|
-
// Note: children may be undefined when autoderive filters all dynamic-content
|
|
237
|
-
// errors (the early return in constructJsxChildren means value is never set).
|
|
238
|
-
// This is intentional — the compiler signals CLI resolution via hash=''.
|
|
239
|
-
if (state.debugManifest) {
|
|
240
|
-
state.debugManifest.set(hash, children !== null && children !== void 0 ? children : null);
|
|
241
|
-
}
|
|
242
|
-
// Track the component (increment counter, initialize aggregator, set hash)
|
|
243
|
-
(0, registerTranslationComponent_1.registerTranslationComponent)(state, hash, { children, id, context });
|
|
106
|
+
const callExpr = callExprPath.node;
|
|
107
|
+
if (callExpr.arguments.length === 0) {
|
|
108
|
+
state.errorTracker.addError("React invocation must have at least one argument" + require_utils_errors.createErrorLocation(callExpr));
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
const firstArg = callExpr.arguments[0];
|
|
112
|
+
if (!_babel_types.isExpression(firstArg)) {
|
|
113
|
+
state.errorTracker.addError("React invocation first argument must be an expression" + require_utils_errors.createErrorLocation(callExpr));
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
const { namespaceName, functionName } = require_transform_jsx_children_utils_getCalleeNameFromJsxExpressionParam.getCalleeNameFromJsxExpressionParam(firstArg);
|
|
117
|
+
if (!functionName) {
|
|
118
|
+
state.errorTracker.addError("React invocation first argument must be a function" + require_utils_errors.createErrorLocation(callExpr));
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
const { canonicalName, type } = require_transform_getTrackedVariable.getTrackedVariable(state.scopeTracker, namespaceName, functionName);
|
|
122
|
+
if (!canonicalName) return;
|
|
123
|
+
if (type !== "generaltranslation" || !require_utils_constants_gt_helpers.isTranslationComponent(canonicalName)) return;
|
|
124
|
+
const { errors, _hash, id, context, children, maxChars, hasDeriveContext } = require_transform_validation_validateTranslationComponentArgs.validateTranslationComponentArgs(callExprPath, canonicalName, state);
|
|
125
|
+
if (errors.length > 0) {
|
|
126
|
+
state.errorTracker.addErrors(errors);
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
const hash = hasDeriveContext ? "" : _hash || require_utils_calculateHash.default({
|
|
130
|
+
source: children,
|
|
131
|
+
...context && { context },
|
|
132
|
+
...id && { id },
|
|
133
|
+
...maxChars != null && { maxChars },
|
|
134
|
+
dataFormat: "JSX"
|
|
135
|
+
});
|
|
136
|
+
if (state.debugManifest) state.debugManifest.set(hash, children ?? null);
|
|
137
|
+
require_transform_registration_registerTranslationComponent.registerTranslationComponent(state, hash, {
|
|
138
|
+
children,
|
|
139
|
+
id,
|
|
140
|
+
context
|
|
141
|
+
});
|
|
244
142
|
}
|
|
245
143
|
/**
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
144
|
+
* Handle standalone translation functions: t() and msg()
|
|
145
|
+
* Same argument structure as useGT_callback (message string + options object).
|
|
146
|
+
*/
|
|
249
147
|
function handleStandaloneTranslation(callExprPath, state, { injectHash }) {
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
id: params.id,
|
|
265
|
-
context: params.context,
|
|
266
|
-
maxChars: params.maxChars,
|
|
267
|
-
format: params.format,
|
|
268
|
-
injectHash,
|
|
269
|
-
});
|
|
148
|
+
const params = require_transform_validation_validateTranslationFunction.validateTranslationFunction(callExprPath, state);
|
|
149
|
+
state.errorTracker.addErrors(params.errors);
|
|
150
|
+
if (params.errors.length > 0 || params.content === void 0) return;
|
|
151
|
+
if (params.hasDeriveContext) return;
|
|
152
|
+
require_transform_registration_registerStandaloneTranslation.registerStandaloneTranslation({
|
|
153
|
+
state,
|
|
154
|
+
content: params.content,
|
|
155
|
+
hash: params.hash,
|
|
156
|
+
id: params.id,
|
|
157
|
+
context: params.context,
|
|
158
|
+
maxChars: params.maxChars,
|
|
159
|
+
format: params.format,
|
|
160
|
+
injectHash
|
|
161
|
+
});
|
|
270
162
|
}
|
|
163
|
+
//#endregion
|
|
164
|
+
exports.processCallExpression = processCallExpression;
|
|
165
|
+
|
|
271
166
|
//# sourceMappingURL=processCallExpression.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processCallExpression.js","sourceRoot":"","sources":["../../../src/processing/collection/processCallExpression.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"processCallExpression.js","names":["getCalleeNameFromExpression","getTrackedVariable","isTranslationFunctionCallback","isReactFunction","validateTranslationFunction","validateUseTranslationsCallback","validateUseMessagesCallback","createErrorLocation","t","getCalleeNameFromJsxExpressionParam","isTranslationComponent","validateTranslationComponentArgs","hashSource"],"sources":["../../../src/processing/collection/processCallExpression.ts"],"sourcesContent":["import { NodePath, VisitNode } from '@babel/traverse';\nimport * as t from '@babel/types';\nimport { TransformState } from '../../state/types';\nimport {\n isTranslationComponent,\n isTranslationFunctionCallback,\n} from '../../utils/constants/gt/helpers';\nimport { getCalleeNameFromExpression } from '../../utils/parsing/getCalleeNameFromExpression';\nimport {\n GT_ALL_FUNCTIONS,\n GT_CALLBACK_FUNCTIONS,\n GT_OTHER_FUNCTIONS,\n} from '../../utils/constants/gt/constants';\nimport {\n validateTranslationFunction,\n validateUseMessagesCallback,\n validateUseTranslationsCallback,\n} from '../../transform/validation/validateTranslationFunction';\nimport { registerUseGTCallback } from '../../transform/registration/callbacks/registerUseGTCallback';\nimport { registerUseTranslationsCallback } from '../../transform/registration/callbacks/registerUseTranslationsCallback';\nimport { registerUseMessagesCallback } from '../../transform/registration/callbacks/registerUseMessagesCallback';\nimport { getTrackedVariable } from '../../transform/getTrackedVariable';\nimport { isReactFunction } from '../../utils/constants/react/helpers';\nimport { validateTranslationComponentArgs } from '../../transform/validation/validateTranslationComponentArgs';\nimport { registerTranslationComponent } from '../../transform/registration/registerTranslationComponent';\nimport { getCalleeNameFromJsxExpressionParam } from '../../transform/jsx-children/utils/getCalleeNameFromJsxExpressionParam';\nimport { createErrorLocation } from '../../utils/errors';\nimport hashSource from '../../utils/calculateHash';\nimport { registerStandaloneTranslation } from '../../transform/registration/registerStandaloneTranslation';\n\n/**\n * Process call expressions\n * - register content from GT callback functions invocations (useGT_callback, etc.)\n * - register <T> + other component content (via jsxDev, jsx, jsxs invocations)\n * - register msg() function invocations?\n * - generally validate content\n */\nexport function processCallExpression(\n state: TransformState\n): VisitNode<t.Node, t.CallExpression> {\n return (callExprPath) => {\n // Get the call expression\n const callExpr = callExprPath.node;\n\n // Get function name from callee\n const { namespaceName, functionName } =\n getCalleeNameFromExpression(callExpr);\n if (!functionName) {\n return;\n }\n\n // Get the canonical function name\n const { canonicalName, identifier, type } = getTrackedVariable(\n state.scopeTracker,\n namespaceName,\n functionName\n );\n if (!canonicalName) {\n return;\n }\n\n // Handle each respective case\n if (\n type === 'generaltranslation' &&\n isTranslationFunctionCallback(canonicalName)\n ) {\n // Handle translation function callbacks (useGT_callback, etc.)\n handleTranslationCallbackInvocation(\n callExprPath,\n state,\n canonicalName,\n identifier!\n );\n } else if (type === 'react' && isReactFunction(canonicalName)) {\n // Handle react variables (jsxDEV, etc.)\n handleReactInvocation(callExprPath, state);\n } else if (\n type === 'generaltranslation' &&\n canonicalName === GT_OTHER_FUNCTIONS.msg\n ) {\n // msg() is runtime-only content; it must not advance the injection counter.\n handleStandaloneTranslation(callExprPath, state, { injectHash: false });\n } else if (\n type === 'generaltranslation' &&\n canonicalName === GT_OTHER_FUNCTIONS.t\n ) {\n // Standalone t() receives an injected $_hash, so collection reserves a\n // matching counter slot for the injection pass.\n handleStandaloneTranslation(callExprPath, state, { injectHash: true });\n }\n };\n}\n\n/* =============================== */\n/* Handlers */\n/* =============================== */\n\n/**\n * Handle general translation variables\n * useGTCallback(), useTranslationsCallback(), useMessagesCallback(), etc.\n */\nfunction handleTranslationCallbackInvocation(\n callExprPath: NodePath<t.CallExpression>,\n state: TransformState,\n canonicalName: GT_ALL_FUNCTIONS,\n identifier: number\n) {\n // Handle translation function callbacks ()\n switch (canonicalName) {\n case GT_CALLBACK_FUNCTIONS.useGT_callback:\n case GT_CALLBACK_FUNCTIONS.getGT_callback:\n handleUseGTCallback(callExprPath, state, identifier);\n break;\n case GT_CALLBACK_FUNCTIONS.useTranslations_callback:\n case GT_CALLBACK_FUNCTIONS.getTranslations_callback:\n handleUseTranslationsCallback(callExprPath, state, identifier);\n break;\n case GT_CALLBACK_FUNCTIONS.useMessages_callback:\n case GT_CALLBACK_FUNCTIONS.getMessages_callback:\n handleUseMessagesCallback(callExprPath, state, identifier);\n break;\n default:\n return;\n }\n}\n\n/**\n * Handle useGT_callback / getGT_callback\n */\nfunction handleUseGTCallback(\n callExprPath: NodePath<t.CallExpression>,\n state: TransformState,\n identifier: number\n) {\n // Check for violations\n const useGTCallbackParams = validateTranslationFunction(callExprPath, state);\n state.errorTracker.addErrors(useGTCallbackParams.errors);\n if (\n useGTCallbackParams.errors.length > 0 ||\n useGTCallbackParams.content === undefined\n ) {\n return;\n }\n\n // Track the function call\n // When context contains derive(), skip hash calculation (CLI handles resolution)\n const hash = useGTCallbackParams.hasDeriveContext\n ? ''\n : useGTCallbackParams.hash;\n\n registerUseGTCallback({\n identifier,\n state,\n content: useGTCallbackParams.content,\n context: useGTCallbackParams.context,\n id: useGTCallbackParams.id,\n maxChars: useGTCallbackParams.maxChars,\n hash,\n format: useGTCallbackParams.format,\n });\n}\n\n/**\n * Handle useTranslations_callback / getTranslations_callback\n */\nfunction handleUseTranslationsCallback(\n callExprPath: NodePath<t.CallExpression>,\n state: TransformState,\n identifier: number\n) {\n // Check for violations\n const callExpr = callExprPath.node;\n const useTranslationsCallbackParams =\n validateUseTranslationsCallback(callExpr);\n state.errorTracker.addErrors(useTranslationsCallbackParams.errors);\n if (useTranslationsCallbackParams.errors.length > 0) {\n return;\n }\n\n // Track the function call\n registerUseTranslationsCallback({\n identifier,\n state,\n });\n}\n\n/**\n * Handle useMessages_callback / getMessages_callback\n */\nfunction handleUseMessagesCallback(\n callExprPath: NodePath<t.CallExpression>,\n state: TransformState,\n identifier: number\n) {\n // Validate parameters\n const callExpr = callExprPath.node;\n const useMessagesCallbackParams = validateUseMessagesCallback(callExpr);\n\n // Check for violations\n state.errorTracker.addErrors(useMessagesCallbackParams.errors);\n if (useMessagesCallbackParams.errors.length > 0) {\n return;\n }\n\n // Track the function call\n registerUseMessagesCallback({\n identifier,\n state,\n });\n}\n\n/**\n * Handle react function invocations\n * jsxDEV, jsx, jsxs, ...\n *\n * We want to check these because they wrap <T> and other components\n */\nfunction handleReactInvocation(\n callExprPath: NodePath<t.CallExpression>,\n state: TransformState\n) {\n const callExpr = callExprPath.node;\n // Check if it contains a GT component (first argument)\n if (callExpr.arguments.length === 0) {\n state.errorTracker.addError(\n 'React invocation must have at least one argument' +\n createErrorLocation(callExpr)\n );\n return;\n }\n const firstArg = callExpr.arguments[0];\n if (!t.isExpression(firstArg)) {\n state.errorTracker.addError(\n 'React invocation first argument must be an expression' +\n createErrorLocation(callExpr)\n );\n return;\n }\n\n // Get function name from callee\n const { namespaceName, functionName } =\n getCalleeNameFromJsxExpressionParam(firstArg);\n if (!functionName) {\n state.errorTracker.addError(\n 'React invocation first argument must be a function' +\n createErrorLocation(callExpr)\n );\n return;\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 // Filter out non-GT components\n if (type !== 'generaltranslation' || !isTranslationComponent(canonicalName)) {\n return;\n }\n\n // Validate the arguments\n const { errors, _hash, id, context, children, maxChars, hasDeriveContext } =\n validateTranslationComponentArgs(callExprPath, canonicalName, state);\n\n if (errors.length > 0) {\n state.errorTracker.addErrors(errors);\n return;\n }\n\n // Calculate hash (skip when context contains derive — CLI handles resolution)\n const hash = hasDeriveContext\n ? ''\n : _hash ||\n hashSource({\n source: children!,\n ...(context && { context }),\n ...(id && { id }),\n ...(maxChars != null && { maxChars }),\n dataFormat: 'JSX',\n });\n\n // Debug: record hash → children mapping\n // Note: children may be undefined when autoderive filters all dynamic-content\n // errors (the early return in constructJsxChildren means value is never set).\n // This is intentional — the compiler signals CLI resolution via hash=''.\n if (state.debugManifest) {\n state.debugManifest.set(hash, children ?? null);\n }\n\n // Track the component (increment counter, initialize aggregator, set hash)\n registerTranslationComponent(state, hash, { children, id, context });\n}\n\n/**\n * Handle standalone translation functions: t() and msg()\n * Same argument structure as useGT_callback (message string + options object).\n */\nfunction handleStandaloneTranslation(\n callExprPath: NodePath<t.CallExpression>,\n state: TransformState,\n { injectHash }: { injectHash: boolean }\n) {\n // Reuse the same validation as useGT_callback (identical argument structure)\n const params = validateTranslationFunction(callExprPath, state);\n state.errorTracker.addErrors(params.errors);\n if (params.errors.length > 0 || params.content === undefined) {\n return;\n }\n\n // Skip derive content\n if (params.hasDeriveContext) {\n return;\n }\n\n registerStandaloneTranslation({\n state,\n content: params.content,\n hash: params.hash,\n id: params.id,\n context: params.context,\n maxChars: params.maxChars,\n format: params.format,\n injectHash,\n });\n}\n"],"mappings":"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"}
|
|
@@ -1,79 +1,42 @@
|
|
|
1
|
-
"
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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.processTaggedTemplateExpression = processTaggedTemplateExpression;
|
|
37
|
-
const t = __importStar(require("@babel/types"));
|
|
38
|
-
const transformTemplateLiteral_1 = require("../../transform/macro-expansion/transformTemplateLiteral");
|
|
39
|
-
const registerStandaloneTranslation_1 = require("../../transform/registration/registerStandaloneTranslation");
|
|
40
|
-
const isStringTranslationTaggedTemplate_1 = require("../../utils/parsing/isStringTranslationTaggedTemplate");
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_runtime = require("../../_virtual/_rolldown/runtime.js");
|
|
3
|
+
const require_transform_registration_registerStandaloneTranslation = require("../../transform/registration/registerStandaloneTranslation.js");
|
|
4
|
+
const require_transform_macro_expansion_transformTemplateLiteral = require("../../transform/macro-expansion/transformTemplateLiteral.js");
|
|
5
|
+
const require_utils_parsing_isStringTranslationTaggedTemplate = require("../../utils/parsing/isStringTranslationTaggedTemplate.js");
|
|
6
|
+
let _babel_types = require("@babel/types");
|
|
7
|
+
_babel_types = require_runtime.__toESM(_babel_types);
|
|
8
|
+
//#region src/processing/collection/processTaggedTemplateExpression.ts
|
|
41
9
|
/**
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
10
|
+
* Process tagged template expressions during the collection pass.
|
|
11
|
+
* Extracts the message for runtime-only entries (t`Hello ${name}`).
|
|
12
|
+
*
|
|
13
|
+
* Only extracts when:
|
|
14
|
+
* - t is unbound (global macro)
|
|
15
|
+
* - t is imported from gt-react/browser
|
|
16
|
+
*
|
|
17
|
+
* Does NOT transform the AST — read-only extraction.
|
|
18
|
+
* If the message contains derive() (returns TemplateLiteral), it's skipped.
|
|
19
|
+
*/
|
|
52
20
|
function processTaggedTemplateExpression(state) {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
}
|
|
71
|
-
// Register as runtime-only content; tagged templates are not hash-injected.
|
|
72
|
-
(0, registerStandaloneTranslation_1.registerStandaloneTranslation)({
|
|
73
|
-
state,
|
|
74
|
-
content: message.value,
|
|
75
|
-
injectHash: false,
|
|
76
|
-
});
|
|
77
|
-
};
|
|
21
|
+
const symbol = state.settings.stringTranslationMacro;
|
|
22
|
+
return (path) => {
|
|
23
|
+
var _content$;
|
|
24
|
+
if (!require_utils_parsing_isStringTranslationTaggedTemplate.isStringTranslationTaggedTemplate(path, symbol)) return;
|
|
25
|
+
const { content, errors } = require_transform_macro_expansion_transformTemplateLiteral.transformTemplateLiteral(path.get("quasi"));
|
|
26
|
+
const message = (_content$ = content[0]) === null || _content$ === void 0 ? void 0 : _content$.message;
|
|
27
|
+
if (errors.length > 0 || message == null) {
|
|
28
|
+
state.errorTracker.addErrors(errors);
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
if (!_babel_types.isStringLiteral(message)) return;
|
|
32
|
+
require_transform_registration_registerStandaloneTranslation.registerStandaloneTranslation({
|
|
33
|
+
state,
|
|
34
|
+
content: message.value,
|
|
35
|
+
injectHash: false
|
|
36
|
+
});
|
|
37
|
+
};
|
|
78
38
|
}
|
|
39
|
+
//#endregion
|
|
40
|
+
exports.processTaggedTemplateExpression = processTaggedTemplateExpression;
|
|
41
|
+
|
|
79
42
|
//# sourceMappingURL=processTaggedTemplateExpression.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processTaggedTemplateExpression.js","
|
|
1
|
+
{"version":3,"file":"processTaggedTemplateExpression.js","names":["isStringTranslationTaggedTemplate","transformTemplateLiteral","t"],"sources":["../../../src/processing/collection/processTaggedTemplateExpression.ts"],"sourcesContent":["import { VisitNode } from '@babel/traverse';\nimport * as t from '@babel/types';\nimport { TransformState } from '../../state/types';\nimport { transformTemplateLiteral } from '../../transform/macro-expansion/transformTemplateLiteral';\nimport { registerStandaloneTranslation } from '../../transform/registration/registerStandaloneTranslation';\nimport { isStringTranslationTaggedTemplate } from '../../utils/parsing/isStringTranslationTaggedTemplate';\n\n/**\n * Process tagged template expressions during the collection pass.\n * Extracts the message for runtime-only entries (t`Hello ${name}`).\n *\n * Only extracts when:\n * - t is unbound (global macro)\n * - t is imported from gt-react/browser\n *\n * Does NOT transform the AST — read-only extraction.\n * If the message contains derive() (returns TemplateLiteral), it's skipped.\n */\nexport function processTaggedTemplateExpression(\n state: TransformState\n): VisitNode<t.Node, t.TaggedTemplateExpression> {\n const symbol = state.settings.stringTranslationMacro;\n\n return (path) => {\n if (!isStringTranslationTaggedTemplate(path, symbol)) return;\n\n // Extract message from the template literal (reuse macro expansion utility)\n const { content, errors } = transformTemplateLiteral(path.get('quasi'));\n // TODO: Until derive added, we only support one message variant\n const message = content[0]?.message;\n if (errors.length > 0 || message == null) {\n state.errorTracker.addErrors(errors);\n return;\n }\n\n // If message is a TemplateLiteral, it contains derive() — skip\n // TODO: remove this check once derive is supported\n if (!t.isStringLiteral(message)) {\n return;\n }\n\n // Register as runtime-only content; tagged templates are not hash-injected.\n registerStandaloneTranslation({\n state,\n content: message.value,\n injectHash: false,\n });\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAkBA,SAAgB,gCACd,OAC+C;CAC/C,MAAM,SAAS,MAAM,SAAS;AAE9B,SAAQ,SAAS;;AACf,MAAI,CAACA,wDAAAA,kCAAkC,MAAM,OAAO,CAAE;EAGtD,MAAM,EAAE,SAAS,WAAWC,2DAAAA,yBAAyB,KAAK,IAAI,QAAQ,CAAC;EAEvE,MAAM,WAAA,YAAU,QAAQ,QAAA,QAAA,cAAA,KAAA,IAAA,KAAA,IAAA,UAAI;AAC5B,MAAI,OAAO,SAAS,KAAK,WAAW,MAAM;AACxC,SAAM,aAAa,UAAU,OAAO;AACpC;;AAKF,MAAI,CAACC,aAAE,gBAAgB,QAAQ,CAC7B;AAIF,+DAAA,8BAA8B;GAC5B;GACA,SAAS,QAAQ;GACjB,YAAY;GACb,CAAC"}
|