@generaltranslation/compiler 0.0.0-alpha.0
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/LICENSE.md +105 -0
- package/README.md +274 -0
- package/dist/config.d.ts +25 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +6 -0
- package/dist/config.js.map +1 -0
- package/dist/index.d.ts +68 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +132 -0
- package/dist/index.js.map +1 -0
- package/dist/passes/basePass.d.ts +4 -0
- package/dist/passes/basePass.d.ts.map +1 -0
- package/dist/passes/basePass.js +86 -0
- package/dist/passes/basePass.js.map +1 -0
- package/dist/passes/handleErrors.d.ts +13 -0
- package/dist/passes/handleErrors.d.ts.map +1 -0
- package/dist/passes/handleErrors.js +35 -0
- package/dist/passes/handleErrors.js.map +1 -0
- package/dist/processing/first-pass/processCallExpression.d.ts +12 -0
- package/dist/processing/first-pass/processCallExpression.d.ts.map +1 -0
- package/dist/processing/first-pass/processCallExpression.js +203 -0
- package/dist/processing/first-pass/processCallExpression.js.map +1 -0
- package/dist/processing/first-pass/processVariableDeclarator.d.ts +17 -0
- package/dist/processing/first-pass/processVariableDeclarator.d.ts.map +1 -0
- package/dist/processing/first-pass/processVariableDeclarator.js +22 -0
- package/dist/processing/first-pass/processVariableDeclarator.js.map +1 -0
- package/dist/processing/index.d.ts +15 -0
- package/dist/processing/index.d.ts.map +1 -0
- package/dist/processing/index.js +31 -0
- package/dist/processing/index.js.map +1 -0
- package/dist/processing/processArrowFunctionExpression.d.ts +9 -0
- package/dist/processing/processArrowFunctionExpression.d.ts.map +1 -0
- package/dist/processing/processArrowFunctionExpression.js +20 -0
- package/dist/processing/processArrowFunctionExpression.js.map +1 -0
- package/dist/processing/processAssignmentExpression.d.ts +9 -0
- package/dist/processing/processAssignmentExpression.d.ts.map +1 -0
- package/dist/processing/processAssignmentExpression.js +14 -0
- package/dist/processing/processAssignmentExpression.js.map +1 -0
- package/dist/processing/processCatchClause.d.ts +9 -0
- package/dist/processing/processCatchClause.d.ts.map +1 -0
- package/dist/processing/processCatchClause.js +20 -0
- package/dist/processing/processCatchClause.js.map +1 -0
- package/dist/processing/processClassDeclaration.d.ts +9 -0
- package/dist/processing/processClassDeclaration.d.ts.map +1 -0
- package/dist/processing/processClassDeclaration.js +20 -0
- package/dist/processing/processClassDeclaration.js.map +1 -0
- package/dist/processing/processClassMethod.d.ts +9 -0
- package/dist/processing/processClassMethod.d.ts.map +1 -0
- package/dist/processing/processClassMethod.js +21 -0
- package/dist/processing/processClassMethod.js.map +1 -0
- package/dist/processing/processClassPrivateMethod.d.ts +9 -0
- package/dist/processing/processClassPrivateMethod.d.ts.map +1 -0
- package/dist/processing/processClassPrivateMethod.js +21 -0
- package/dist/processing/processClassPrivateMethod.js.map +1 -0
- package/dist/processing/processForInStatement.d.ts +9 -0
- package/dist/processing/processForInStatement.d.ts.map +1 -0
- package/dist/processing/processForInStatement.js +20 -0
- package/dist/processing/processForInStatement.js.map +1 -0
- package/dist/processing/processForOfStatement.d.ts +9 -0
- package/dist/processing/processForOfStatement.d.ts.map +1 -0
- package/dist/processing/processForOfStatement.js +20 -0
- package/dist/processing/processForOfStatement.js.map +1 -0
- package/dist/processing/processFunctionDeclaration.d.ts +9 -0
- package/dist/processing/processFunctionDeclaration.d.ts.map +1 -0
- package/dist/processing/processFunctionDeclaration.js +22 -0
- package/dist/processing/processFunctionDeclaration.js.map +1 -0
- package/dist/processing/processFunctionExpression.d.ts +13 -0
- package/dist/processing/processFunctionExpression.d.ts.map +1 -0
- package/dist/processing/processFunctionExpression.js +28 -0
- package/dist/processing/processFunctionExpression.js.map +1 -0
- package/dist/processing/processImportDeclaration.d.ts +8 -0
- package/dist/processing/processImportDeclaration.d.ts.map +1 -0
- package/dist/processing/processImportDeclaration.js +13 -0
- package/dist/processing/processImportDeclaration.js.map +1 -0
- package/dist/processing/processObjectMethod.d.ts +10 -0
- package/dist/processing/processObjectMethod.d.ts.map +1 -0
- package/dist/processing/processObjectMethod.js +22 -0
- package/dist/processing/processObjectMethod.js.map +1 -0
- package/dist/processing/processProgram.d.ts +9 -0
- package/dist/processing/processProgram.d.ts.map +1 -0
- package/dist/processing/processProgram.js +17 -0
- package/dist/processing/processProgram.js.map +1 -0
- package/dist/processing/processScopeChange.d.ts +8 -0
- package/dist/processing/processScopeChange.d.ts.map +1 -0
- package/dist/processing/processScopeChange.js +17 -0
- package/dist/processing/processScopeChange.js.map +1 -0
- package/dist/processing/second-pass/processCallExpression.d.ts +8 -0
- package/dist/processing/second-pass/processCallExpression.d.ts.map +1 -0
- package/dist/processing/second-pass/processCallExpression.js +147 -0
- package/dist/processing/second-pass/processCallExpression.js.map +1 -0
- package/dist/processing/second-pass/processVariableDeclarator.d.ts +17 -0
- package/dist/processing/second-pass/processVariableDeclarator.d.ts.map +1 -0
- package/dist/processing/second-pass/processVariableDeclarator.js +24 -0
- package/dist/processing/second-pass/processVariableDeclarator.js.map +1 -0
- package/dist/state/ErrorTracker.d.ts +7 -0
- package/dist/state/ErrorTracker.d.ts.map +1 -0
- package/dist/state/ErrorTracker.js +19 -0
- package/dist/state/ErrorTracker.js.map +1 -0
- package/dist/state/Logger.d.ts +23 -0
- package/dist/state/Logger.d.ts.map +1 -0
- package/dist/state/Logger.js +56 -0
- package/dist/state/Logger.js.map +1 -0
- package/dist/state/ScopeTracker.d.ts +126 -0
- package/dist/state/ScopeTracker.d.ts.map +1 -0
- package/dist/state/ScopeTracker.js +212 -0
- package/dist/state/ScopeTracker.js.map +1 -0
- package/dist/state/StringCollector.d.ts +108 -0
- package/dist/state/StringCollector.d.ts.map +1 -0
- package/dist/state/StringCollector.js +159 -0
- package/dist/state/StringCollector.js.map +1 -0
- package/dist/state/types.d.ts +21 -0
- package/dist/state/types.d.ts.map +1 -0
- package/dist/state/types.js +3 -0
- package/dist/state/types.js.map +1 -0
- package/dist/state/utils/initializeState.d.ts +7 -0
- package/dist/state/utils/initializeState.d.ts.map +1 -0
- package/dist/state/utils/initializeState.js +30 -0
- package/dist/state/utils/initializeState.js.map +1 -0
- package/dist/transform/getTrackedVariable.d.ts +14 -0
- package/dist/transform/getTrackedVariable.d.ts.map +1 -0
- package/dist/transform/getTrackedVariable.js +42 -0
- package/dist/transform/getTrackedVariable.js.map +1 -0
- package/dist/transform/injection/callbacks/injectUseGTCallbackParameters.d.ts +8 -0
- package/dist/transform/injection/callbacks/injectUseGTCallbackParameters.d.ts.map +1 -0
- package/dist/transform/injection/callbacks/injectUseGTCallbackParameters.js +84 -0
- package/dist/transform/injection/callbacks/injectUseGTCallbackParameters.js.map +1 -0
- package/dist/transform/injection/callbacks/injectUseMessagesCallbackParameters.d.ts +7 -0
- package/dist/transform/injection/callbacks/injectUseMessagesCallbackParameters.d.ts.map +1 -0
- package/dist/transform/injection/callbacks/injectUseMessagesCallbackParameters.js +8 -0
- package/dist/transform/injection/callbacks/injectUseMessagesCallbackParameters.js.map +1 -0
- package/dist/transform/injection/callbacks/injectUseTranslationsCallbackParameters.d.ts +7 -0
- package/dist/transform/injection/callbacks/injectUseTranslationsCallbackParameters.d.ts.map +1 -0
- package/dist/transform/injection/callbacks/injectUseTranslationsCallbackParameters.js +8 -0
- package/dist/transform/injection/callbacks/injectUseTranslationsCallbackParameters.js.map +1 -0
- package/dist/transform/injection/injectCallbackDeclaratorFunctionParameters.d.ts +8 -0
- package/dist/transform/injection/injectCallbackDeclaratorFunctionParameters.d.ts.map +1 -0
- package/dist/transform/injection/injectCallbackDeclaratorFunctionParameters.js +160 -0
- package/dist/transform/injection/injectCallbackDeclaratorFunctionParameters.js.map +1 -0
- package/dist/transform/injection/injectTComponentParameters.d.ts +7 -0
- package/dist/transform/injection/injectTComponentParameters.d.ts.map +1 -0
- package/dist/transform/injection/injectTComponentParameters.js +69 -0
- package/dist/transform/injection/injectTComponentParameters.js.map +1 -0
- package/dist/transform/jsx-children/constructJsxChildren.d.ts +17 -0
- package/dist/transform/jsx-children/constructJsxChildren.d.ts.map +1 -0
- package/dist/transform/jsx-children/constructJsxChildren.js +387 -0
- package/dist/transform/jsx-children/constructJsxChildren.js.map +1 -0
- package/dist/transform/jsx-children/index.d.ts +2 -0
- package/dist/transform/jsx-children/index.d.ts.map +1 -0
- package/dist/transform/jsx-children/index.js +6 -0
- package/dist/transform/jsx-children/index.js.map +1 -0
- package/dist/transform/jsx-children/utils/getBranchComponentParameters.d.ts +6 -0
- package/dist/transform/jsx-children/utils/getBranchComponentParameters.d.ts.map +1 -0
- package/dist/transform/jsx-children/utils/getBranchComponentParameters.js +82 -0
- package/dist/transform/jsx-children/utils/getBranchComponentParameters.js.map +1 -0
- package/dist/transform/jsx-children/utils/getCalleeNameFromJsxExpressionParam.d.ts +10 -0
- package/dist/transform/jsx-children/utils/getCalleeNameFromJsxExpressionParam.d.ts.map +1 -0
- package/dist/transform/jsx-children/utils/getCalleeNameFromJsxExpressionParam.js +62 -0
- package/dist/transform/jsx-children/utils/getCalleeNameFromJsxExpressionParam.js.map +1 -0
- package/dist/transform/jsx-children/utils/id.d.ts +8 -0
- package/dist/transform/jsx-children/utils/id.d.ts.map +1 -0
- package/dist/transform/jsx-children/utils/id.js +19 -0
- package/dist/transform/jsx-children/utils/id.js.map +1 -0
- package/dist/transform/jsx-children/validation/validateChildrenElement.d.ts +6 -0
- package/dist/transform/jsx-children/validation/validateChildrenElement.d.ts.map +1 -0
- package/dist/transform/jsx-children/validation/validateChildrenElement.js +51 -0
- package/dist/transform/jsx-children/validation/validateChildrenElement.js.map +1 -0
- package/dist/transform/jsx-children/validation/validateChildrenFromArgs.d.ts +9 -0
- package/dist/transform/jsx-children/validation/validateChildrenFromArgs.d.ts.map +1 -0
- package/dist/transform/jsx-children/validation/validateChildrenFromArgs.js +57 -0
- package/dist/transform/jsx-children/validation/validateChildrenFromArgs.js.map +1 -0
- package/dist/transform/jsx-children/validation/validateIdentifier.d.ts +11 -0
- package/dist/transform/jsx-children/validation/validateIdentifier.d.ts.map +1 -0
- package/dist/transform/jsx-children/validation/validateIdentifier.js +45 -0
- package/dist/transform/jsx-children/validation/validateIdentifier.js.map +1 -0
- package/dist/transform/jsx-children/validation/validateJsxCall.d.ts +7 -0
- package/dist/transform/jsx-children/validation/validateJsxCall.d.ts.map +1 -0
- package/dist/transform/jsx-children/validation/validateJsxCall.js +30 -0
- package/dist/transform/jsx-children/validation/validateJsxCall.js.map +1 -0
- package/dist/transform/jsx-children/validation/validateNameFieldForVarComponent.d.ts +11 -0
- package/dist/transform/jsx-children/validation/validateNameFieldForVarComponent.d.ts.map +1 -0
- package/dist/transform/jsx-children/validation/validateNameFieldForVarComponent.js +65 -0
- package/dist/transform/jsx-children/validation/validateNameFieldForVarComponent.js.map +1 -0
- package/dist/transform/jsx-children/validation/validateStringLiteralPropertyFromArg.d.ts +9 -0
- package/dist/transform/jsx-children/validation/validateStringLiteralPropertyFromArg.d.ts.map +1 -0
- package/dist/transform/jsx-children/validation/validateStringLiteralPropertyFromArg.js +70 -0
- package/dist/transform/jsx-children/validation/validateStringLiteralPropertyFromArg.js.map +1 -0
- package/dist/transform/jsx-children/validation/validateTemplateLiteral.d.ts +9 -0
- package/dist/transform/jsx-children/validation/validateTemplateLiteral.d.ts.map +1 -0
- package/dist/transform/jsx-children/validation/validateTemplateLiteral.js +17 -0
- package/dist/transform/jsx-children/validation/validateTemplateLiteral.js.map +1 -0
- package/dist/transform/jsx-children/validation/validateUnaryExpression.d.ts +10 -0
- package/dist/transform/jsx-children/validation/validateUnaryExpression.d.ts.map +1 -0
- package/dist/transform/jsx-children/validation/validateUnaryExpression.js +65 -0
- package/dist/transform/jsx-children/validation/validateUnaryExpression.js.map +1 -0
- package/dist/transform/registration/callbacks/registerUseGTCallback.d.ts +7 -0
- package/dist/transform/registration/callbacks/registerUseGTCallback.d.ts.map +1 -0
- package/dist/transform/registration/callbacks/registerUseGTCallback.js +26 -0
- package/dist/transform/registration/callbacks/registerUseGTCallback.js.map +1 -0
- package/dist/transform/registration/callbacks/registerUseMessagesCallback.d.ts +7 -0
- package/dist/transform/registration/callbacks/registerUseMessagesCallback.d.ts.map +1 -0
- package/dist/transform/registration/callbacks/registerUseMessagesCallback.js +11 -0
- package/dist/transform/registration/callbacks/registerUseMessagesCallback.js.map +1 -0
- package/dist/transform/registration/callbacks/registerUseTranslationsCallback.d.ts +7 -0
- package/dist/transform/registration/callbacks/registerUseTranslationsCallback.d.ts.map +1 -0
- package/dist/transform/registration/callbacks/registerUseTranslationsCallback.js +11 -0
- package/dist/transform/registration/callbacks/registerUseTranslationsCallback.js.map +1 -0
- package/dist/transform/registration/registerTranslationComponent.d.ts +7 -0
- package/dist/transform/registration/registerTranslationComponent.d.ts.map +1 -0
- package/dist/transform/registration/registerTranslationComponent.js +16 -0
- package/dist/transform/registration/registerTranslationComponent.js.map +1 -0
- package/dist/transform/tracking/trackAssignmentExpression.d.ts +8 -0
- package/dist/transform/tracking/trackAssignmentExpression.d.ts.map +1 -0
- package/dist/transform/tracking/trackAssignmentExpression.js +71 -0
- package/dist/transform/tracking/trackAssignmentExpression.js.map +1 -0
- package/dist/transform/tracking/trackCatchClause.d.ts +8 -0
- package/dist/transform/tracking/trackCatchClause.d.ts.map +1 -0
- package/dist/transform/tracking/trackCatchClause.js +52 -0
- package/dist/transform/tracking/trackCatchClause.js.map +1 -0
- package/dist/transform/tracking/trackClassDeclaration.d.ts +8 -0
- package/dist/transform/tracking/trackClassDeclaration.d.ts.map +1 -0
- package/dist/transform/tracking/trackClassDeclaration.js +17 -0
- package/dist/transform/tracking/trackClassDeclaration.js.map +1 -0
- package/dist/transform/tracking/trackForDeclaration.d.ts +9 -0
- package/dist/transform/tracking/trackForDeclaration.d.ts.map +1 -0
- package/dist/transform/tracking/trackForDeclaration.js +57 -0
- package/dist/transform/tracking/trackForDeclaration.js.map +1 -0
- package/dist/transform/tracking/trackFunctionName.d.ts +9 -0
- package/dist/transform/tracking/trackFunctionName.d.ts.map +1 -0
- package/dist/transform/tracking/trackFunctionName.js +13 -0
- package/dist/transform/tracking/trackFunctionName.js.map +1 -0
- package/dist/transform/tracking/trackFunctionParams.d.ts +9 -0
- package/dist/transform/tracking/trackFunctionParams.d.ts.map +1 -0
- package/dist/transform/tracking/trackFunctionParams.js +58 -0
- package/dist/transform/tracking/trackFunctionParams.js.map +1 -0
- package/dist/transform/tracking/trackImportDeclaration.d.ts +9 -0
- package/dist/transform/tracking/trackImportDeclaration.d.ts.map +1 -0
- package/dist/transform/tracking/trackImportDeclaration.js +102 -0
- package/dist/transform/tracking/trackImportDeclaration.js.map +1 -0
- package/dist/transform/tracking/trackLabeledStatement.d.ts +8 -0
- package/dist/transform/tracking/trackLabeledStatement.d.ts.map +1 -0
- package/dist/transform/tracking/trackLabeledStatement.js +13 -0
- package/dist/transform/tracking/trackLabeledStatement.js.map +1 -0
- package/dist/transform/tracking/trackOverridingVariable.d.ts +6 -0
- package/dist/transform/tracking/trackOverridingVariable.d.ts.map +1 -0
- package/dist/transform/tracking/trackOverridingVariable.js +15 -0
- package/dist/transform/tracking/trackOverridingVariable.js.map +1 -0
- package/dist/transform/tracking/trackVariableDeclarator.d.ts +16 -0
- package/dist/transform/tracking/trackVariableDeclarator.d.ts.map +1 -0
- package/dist/transform/tracking/trackVariableDeclarator.js +108 -0
- package/dist/transform/tracking/trackVariableDeclarator.js.map +1 -0
- package/dist/transform/validation/validateTranslationComponentArgs.d.ts +21 -0
- package/dist/transform/validation/validateTranslationComponentArgs.d.ts.map +1 -0
- package/dist/transform/validation/validateTranslationComponentArgs.js +167 -0
- package/dist/transform/validation/validateTranslationComponentArgs.js.map +1 -0
- package/dist/utils/constants/gt/constants.d.ts +96 -0
- package/dist/utils/constants/gt/constants.d.ts.map +1 -0
- package/dist/utils/constants/gt/constants.js +115 -0
- package/dist/utils/constants/gt/constants.js.map +1 -0
- package/dist/utils/constants/gt/helpers.d.ts +73 -0
- package/dist/utils/constants/gt/helpers.d.ts.map +1 -0
- package/dist/utils/constants/gt/helpers.js +165 -0
- package/dist/utils/constants/gt/helpers.js.map +1 -0
- package/dist/utils/constants/other/constants.d.ts +26 -0
- package/dist/utils/constants/other/constants.d.ts.map +1 -0
- package/dist/utils/constants/other/constants.js +46 -0
- package/dist/utils/constants/other/constants.js.map +1 -0
- package/dist/utils/constants/other/helpers.d.ts +10 -0
- package/dist/utils/constants/other/helpers.d.ts.map +1 -0
- package/dist/utils/constants/other/helpers.js +18 -0
- package/dist/utils/constants/other/helpers.js.map +1 -0
- package/dist/utils/constants/react/constants.d.ts +32 -0
- package/dist/utils/constants/react/constants.d.ts.map +1 -0
- package/dist/utils/constants/react/constants.js +47 -0
- package/dist/utils/constants/react/constants.js.map +1 -0
- package/dist/utils/constants/react/helpers.d.ts +15 -0
- package/dist/utils/constants/react/helpers.d.ts.map +1 -0
- package/dist/utils/constants/react/helpers.js +26 -0
- package/dist/utils/constants/react/helpers.js.map +1 -0
- package/dist/utils/errors.d.ts +8 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +26 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/parsing/extractIdentifiersFromLVal.d.ts +6 -0
- package/dist/utils/parsing/extractIdentifiersFromLVal.d.ts.map +1 -0
- package/dist/utils/parsing/extractIdentifiersFromLVal.js +106 -0
- package/dist/utils/parsing/extractIdentifiersFromLVal.js.map +1 -0
- package/dist/utils/parsing/getAttr.d.ts +6 -0
- package/dist/utils/parsing/getAttr.d.ts.map +1 -0
- package/dist/utils/parsing/getAttr.js +71 -0
- package/dist/utils/parsing/getAttr.js.map +1 -0
- package/dist/utils/parsing/getCalleeNameFromExpression.d.ts +10 -0
- package/dist/utils/parsing/getCalleeNameFromExpression.d.ts.map +1 -0
- package/dist/utils/parsing/getCalleeNameFromExpression.js +69 -0
- package/dist/utils/parsing/getCalleeNameFromExpression.js.map +1 -0
- package/dist/utils/parsing/getCalleeNameFromExpressionWrapper.d.ts +9 -0
- package/dist/utils/parsing/getCalleeNameFromExpressionWrapper.d.ts.map +1 -0
- package/dist/utils/parsing/getCalleeNameFromExpressionWrapper.js +14 -0
- package/dist/utils/parsing/getCalleeNameFromExpressionWrapper.js.map +1 -0
- package/dist/utils/parsing/getObjectPropertyFromObjectExpression.d.ts +6 -0
- package/dist/utils/parsing/getObjectPropertyFromObjectExpression.d.ts.map +1 -0
- package/dist/utils/parsing/getObjectPropertyFromObjectExpression.js +55 -0
- package/dist/utils/parsing/getObjectPropertyFromObjectExpression.js.map +1 -0
- package/dist/utils/parsing/getStringLiteralFromExpression.d.ts +6 -0
- package/dist/utils/parsing/getStringLiteralFromExpression.d.ts.map +1 -0
- package/dist/utils/parsing/getStringLiteralFromExpression.js +53 -0
- package/dist/utils/parsing/getStringLiteralFromExpression.js.map +1 -0
- package/dist/utils/parsing/getStringLiteralFromObjectExpression.d.ts +6 -0
- package/dist/utils/parsing/getStringLiteralFromObjectExpression.d.ts.map +1 -0
- package/dist/utils/parsing/getStringLiteralFromObjectExpression.js +64 -0
- package/dist/utils/parsing/getStringLiteralFromObjectExpression.js.map +1 -0
- package/dist/utils/parsing/getTag.d.ts +8 -0
- package/dist/utils/parsing/getTag.d.ts.map +1 -0
- package/dist/utils/parsing/getTag.js +81 -0
- package/dist/utils/parsing/getTag.js.map +1 -0
- package/dist/utils/validation/validateChildrenFromObjectExpression.d.ts +10 -0
- package/dist/utils/validation/validateChildrenFromObjectExpression.d.ts.map +1 -0
- package/dist/utils/validation/validateChildrenFromObjectExpression.js +61 -0
- package/dist/utils/validation/validateChildrenFromObjectExpression.js.map +1 -0
- package/dist/utils/validation/validateExpressionIsStringLiteral.d.ts +8 -0
- package/dist/utils/validation/validateExpressionIsStringLiteral.d.ts.map +1 -0
- package/dist/utils/validation/validateExpressionIsStringLiteral.js +52 -0
- package/dist/utils/validation/validateExpressionIsStringLiteral.js.map +1 -0
- package/dist/utils/validation/validateTranslationFunctionCallback.d.ts +28 -0
- package/dist/utils/validation/validateTranslationFunctionCallback.d.ts.map +1 -0
- package/dist/utils/validation/validateTranslationFunctionCallback.js +154 -0
- package/dist/utils/validation/validateTranslationFunctionCallback.js.map +1 -0
- package/package.json +60 -0
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* String Collector - Manages translation content across two-pass transformation
|
|
4
|
+
*
|
|
5
|
+
* Pass 1: Collects translation strings, JSX content, and hash data
|
|
6
|
+
* Pass 2: Injects collected data back into useGT()/getGT() calls
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.StringCollector = void 0;
|
|
10
|
+
/**
|
|
11
|
+
* String collector for two-pass transformation system
|
|
12
|
+
*/
|
|
13
|
+
class StringCollector {
|
|
14
|
+
constructor() {
|
|
15
|
+
/** Vector of translation calls indexed by counter ID */
|
|
16
|
+
this.contentAggregators = new Map();
|
|
17
|
+
this.jsxAggregators = new Map();
|
|
18
|
+
this.hashAggregators = new Map();
|
|
19
|
+
/** Global counter incremented for each useGT/getGT call encountered */
|
|
20
|
+
this.globalCallCounter = 0;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Increment counter and return the current counter ID for a useGT/getGT call
|
|
24
|
+
* These IDs are deterministic
|
|
25
|
+
*/
|
|
26
|
+
incrementCounter() {
|
|
27
|
+
this.globalCallCounter += 1;
|
|
28
|
+
return this.globalCallCounter;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Get current global counter value
|
|
32
|
+
*/
|
|
33
|
+
getCounter() {
|
|
34
|
+
return this.globalCallCounter;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Pass 1: Add translation content from a gt() call to a specific useGT/getGT aggregator
|
|
38
|
+
* Multiple content items can be added to the same call
|
|
39
|
+
*/
|
|
40
|
+
pushTranslationContent(counterId, content) {
|
|
41
|
+
if (counterId === -1) {
|
|
42
|
+
throw new Error('Cannot have a counterId of -1. You are likely trying to register content from a namespace method invocation.');
|
|
43
|
+
}
|
|
44
|
+
// Get the agreggator
|
|
45
|
+
let aggregator = this.contentAggregators.get(counterId);
|
|
46
|
+
if (!aggregator) {
|
|
47
|
+
aggregator = [content];
|
|
48
|
+
this.contentAggregators.set(counterId, aggregator);
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
aggregator.push(content);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Pass 1: Set JSX translation content for a specific useGT/getGT
|
|
56
|
+
* Only one JSX item can be set per call (overwrites if called multiple times)
|
|
57
|
+
*/
|
|
58
|
+
setTranslationJsx(counterId, jsx) {
|
|
59
|
+
this.jsxAggregators.set(counterId, jsx);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Pass 1: Set hash-only content for a specific useGT/getGT
|
|
63
|
+
* Only one hash can be set per call (overwrites if called multiple times)
|
|
64
|
+
*/
|
|
65
|
+
setTranslationHash(counterId, hash) {
|
|
66
|
+
this.hashAggregators.set(counterId, hash);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Pass 2: Get translation call data for injection into a specific useGT/getGT call
|
|
70
|
+
*/
|
|
71
|
+
getTranslationData(counterId) {
|
|
72
|
+
if (this.contentAggregators.has(counterId)) {
|
|
73
|
+
return {
|
|
74
|
+
type: 'content',
|
|
75
|
+
value: this.contentAggregators.get(counterId),
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
else if (this.jsxAggregators.has(counterId)) {
|
|
79
|
+
return { type: 'jsx', value: this.jsxAggregators.get(counterId) };
|
|
80
|
+
}
|
|
81
|
+
else if (this.hashAggregators.has(counterId)) {
|
|
82
|
+
return { type: 'hash', value: this.hashAggregators.get(counterId) };
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Get the translation content for a specific useGT/getGT call
|
|
87
|
+
*/
|
|
88
|
+
getTranslationContent(counterId) {
|
|
89
|
+
return this.contentAggregators.get(counterId);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Get the translation JSX for a specific <T> component
|
|
93
|
+
*/
|
|
94
|
+
getTranslationJsx(counterId) {
|
|
95
|
+
return this.jsxAggregators.get(counterId);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Get the translation hash for a specific other call
|
|
99
|
+
*/
|
|
100
|
+
getTranslationHash(counterId) {
|
|
101
|
+
return this.hashAggregators.get(counterId);
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Reset all state (useful for testing)
|
|
105
|
+
*/
|
|
106
|
+
clear() {
|
|
107
|
+
this.contentAggregators.clear();
|
|
108
|
+
this.jsxAggregators.clear();
|
|
109
|
+
this.hashAggregators.clear();
|
|
110
|
+
this.globalCallCounter = 0;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Reset the counter to zero
|
|
114
|
+
*/
|
|
115
|
+
resetCounter() {
|
|
116
|
+
this.globalCallCounter = 0;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Has content
|
|
120
|
+
*/
|
|
121
|
+
hasContent() {
|
|
122
|
+
return (this.contentAggregators.size +
|
|
123
|
+
this.jsxAggregators.size +
|
|
124
|
+
this.hashAggregators.size >
|
|
125
|
+
0);
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Helper convert to string
|
|
129
|
+
*/
|
|
130
|
+
serialize() {
|
|
131
|
+
const output = {
|
|
132
|
+
contentAggregators: Object.fromEntries(this.contentAggregators),
|
|
133
|
+
jsxAggregators: Object.fromEntries(this.jsxAggregators),
|
|
134
|
+
hashAggregators: Object.fromEntries(this.hashAggregators),
|
|
135
|
+
globalCallCounter: this.globalCallCounter,
|
|
136
|
+
};
|
|
137
|
+
return output;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Helper to repopulate
|
|
141
|
+
*/
|
|
142
|
+
unserialize(input) {
|
|
143
|
+
this.contentAggregators = Object.entries(input.contentAggregators).reduce((acc, [key, value]) => {
|
|
144
|
+
acc.set(Number(key), value);
|
|
145
|
+
return acc;
|
|
146
|
+
}, new Map());
|
|
147
|
+
this.jsxAggregators = Object.entries(input.jsxAggregators).reduce((acc, [key, value]) => {
|
|
148
|
+
acc.set(Number(key), value);
|
|
149
|
+
return acc;
|
|
150
|
+
}, new Map());
|
|
151
|
+
this.hashAggregators = Object.entries(input.hashAggregators).reduce((acc, [key, value]) => {
|
|
152
|
+
acc.set(Number(key), value);
|
|
153
|
+
return acc;
|
|
154
|
+
}, new Map());
|
|
155
|
+
this.globalCallCounter = input.globalCallCounter;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
exports.StringCollector = StringCollector;
|
|
159
|
+
//# sourceMappingURL=StringCollector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StringCollector.js","sourceRoot":"","sources":["../../src/state/StringCollector.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { StringCollector } from './StringCollector';
|
|
2
|
+
import { PluginSettings } from '../config';
|
|
3
|
+
import { Logger } from './Logger';
|
|
4
|
+
import { ErrorTracker } from './ErrorTracker';
|
|
5
|
+
import { ScopeTracker } from './ScopeTracker';
|
|
6
|
+
/**
|
|
7
|
+
* Plugin state for processing files
|
|
8
|
+
* Matches the Rust TransformVisitor structure
|
|
9
|
+
*/
|
|
10
|
+
export interface TransformState {
|
|
11
|
+
settings: PluginSettings;
|
|
12
|
+
stringCollector: StringCollector;
|
|
13
|
+
scopeTracker: ScopeTracker;
|
|
14
|
+
logger: Logger;
|
|
15
|
+
errorTracker: ErrorTracker;
|
|
16
|
+
statistics: {
|
|
17
|
+
jsxElementCount: number;
|
|
18
|
+
dynamicContentViolations: number;
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/state/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,cAAc,CAAC;IACzB,eAAe,EAAE,eAAe,CAAC;IACjC,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE;QACV,eAAe,EAAE,MAAM,CAAC;QACxB,wBAAwB,EAAE,MAAM,CAAC;KAClC,CAAC;CACH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/state/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { GTUnpluginOptions } from '../..';
|
|
2
|
+
import { TransformState } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* Initialize processing state for a file
|
|
5
|
+
*/
|
|
6
|
+
export declare function initializeState(options: GTUnpluginOptions, filename: string): TransformState;
|
|
7
|
+
//# sourceMappingURL=initializeState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initializeState.d.ts","sourceRoot":"","sources":["../../../src/state/utils/initializeState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAO1C;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EAAE,MAAM,GACf,cAAc,CAmBhB"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.initializeState = initializeState;
|
|
4
|
+
const StringCollector_1 = require("../StringCollector");
|
|
5
|
+
const ScopeTracker_1 = require("../ScopeTracker");
|
|
6
|
+
const Logger_1 = require("../Logger");
|
|
7
|
+
const ErrorTracker_1 = require("../ErrorTracker");
|
|
8
|
+
/**
|
|
9
|
+
* Initialize processing state for a file
|
|
10
|
+
*/
|
|
11
|
+
function initializeState(options, filename) {
|
|
12
|
+
const settings = {
|
|
13
|
+
logLevel: options.logLevel || 'warn',
|
|
14
|
+
compileTimeHash: options.compileTimeHash || false,
|
|
15
|
+
disableBuildChecks: options.disableBuildChecks || false,
|
|
16
|
+
filename: filename,
|
|
17
|
+
};
|
|
18
|
+
return {
|
|
19
|
+
settings,
|
|
20
|
+
stringCollector: new StringCollector_1.StringCollector(),
|
|
21
|
+
scopeTracker: new ScopeTracker_1.ScopeTracker(),
|
|
22
|
+
logger: new Logger_1.Logger(settings.logLevel),
|
|
23
|
+
errorTracker: new ErrorTracker_1.ErrorTracker(),
|
|
24
|
+
statistics: {
|
|
25
|
+
jsxElementCount: 0,
|
|
26
|
+
dynamicContentViolations: 0,
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=initializeState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initializeState.js","sourceRoot":"","sources":["../../../src/state/utils/initializeState.ts"],"names":[],"mappings":";;AAWA,0CAsBC;AA9BD,wDAAqD;AACrD,kDAA+C;AAC/C,sCAAmC;AACnC,kDAA+C;AAE/C;;GAEG;AACH,SAAgB,eAAe,CAC7B,OAA0B,EAC1B,QAAgB;IAEhB,MAAM,QAAQ,GAAmB;QAC/B,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,MAAM;QACpC,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,KAAK;QACjD,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,IAAI,KAAK;QACvD,QAAQ,EAAE,QAAQ;KACnB,CAAC;IAEF,OAAO;QACL,QAAQ;QACR,eAAe,EAAE,IAAI,iCAAe,EAAE;QACtC,YAAY,EAAE,IAAI,2BAAY,EAAE;QAChC,MAAM,EAAE,IAAI,eAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACrC,YAAY,EAAE,IAAI,2BAAY,EAAE;QAChC,UAAU,EAAE;YACV,eAAe,EAAE,CAAC;YAClB,wBAAwB,EAAE,CAAC;SAC5B;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ScopeTracker } from '../state/ScopeTracker';
|
|
2
|
+
import { VariableType } from '../state/ScopeTracker';
|
|
3
|
+
/**
|
|
4
|
+
* Given state, namespace, and functionname, return:
|
|
5
|
+
* - canonicalName
|
|
6
|
+
* - identifier
|
|
7
|
+
* - type
|
|
8
|
+
*/
|
|
9
|
+
export declare function getTrackedVariable(scopeTracker: ScopeTracker, namespaceName: string | null, functionName: string | null): {
|
|
10
|
+
canonicalName: string | undefined;
|
|
11
|
+
identifier: number | undefined;
|
|
12
|
+
type: VariableType | undefined;
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=getTrackedVariable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTrackedVariable.d.ts","sourceRoot":"","sources":["../../src/transform/getTrackedVariable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,YAAY,EAAE,MAAM,GAAG,IAAI,GAC1B;IACD,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,IAAI,EAAE,YAAY,GAAG,SAAS,CAAC;CAChC,CAgCA"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getTrackedVariable = getTrackedVariable;
|
|
4
|
+
/**
|
|
5
|
+
* Given state, namespace, and functionname, return:
|
|
6
|
+
* - canonicalName
|
|
7
|
+
* - identifier
|
|
8
|
+
* - type
|
|
9
|
+
*/
|
|
10
|
+
function getTrackedVariable(scopeTracker, namespaceName, functionName) {
|
|
11
|
+
var _a, _b, _c;
|
|
12
|
+
if (!functionName) {
|
|
13
|
+
return {
|
|
14
|
+
canonicalName: undefined,
|
|
15
|
+
identifier: undefined,
|
|
16
|
+
type: undefined,
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
// If namespace, no alias resolution needed
|
|
20
|
+
if (namespaceName) {
|
|
21
|
+
if (!scopeTracker.hasNamespaceImport(namespaceName)) {
|
|
22
|
+
return {
|
|
23
|
+
canonicalName: undefined,
|
|
24
|
+
identifier: undefined,
|
|
25
|
+
type: undefined,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
canonicalName: functionName,
|
|
30
|
+
identifier: undefined,
|
|
31
|
+
type: 'generaltranslation', // TODO: revisit this when we add support for multiple namespaces
|
|
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
|
+
};
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=getTrackedVariable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTrackedVariable.js","sourceRoot":"","sources":["../../src/transform/getTrackedVariable.ts"],"names":[],"mappings":";;AASA,gDAwCC;AA9CD;;;;;GAKG;AACH,SAAgB,kBAAkB,CAChC,YAA0B,EAC1B,aAA4B,EAC5B,YAA2B;;IAM3B,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO;YACL,aAAa,EAAE,SAAS;YACxB,UAAU,EAAE,SAAS;YACrB,IAAI,EAAE,SAAS;SAChB,CAAC;IACJ,CAAC;IAED,2CAA2C;IAC3C,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,aAAa,CAAC,EAAE,CAAC;YACpD,OAAO;gBACL,aAAa,EAAE,SAAS;gBACxB,UAAU,EAAE,SAAS;gBACrB,IAAI,EAAE,SAAS;aAChB,CAAC;QACJ,CAAC;QACD,OAAO;YACL,aAAa,EAAE,YAAY;YAC3B,UAAU,EAAE,SAAS;YACrB,IAAI,EAAE,oBAAoB,EAAE,iEAAiE;SAC9F,CAAC;IACJ,CAAC;IAED,gCAAgC;IAChC,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IACxD,OAAO;QACL,aAAa,EAAE,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,aAAa,mCAAI,SAAS;QACnD,UAAU,EAAE,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,mCAAI,SAAS;QAC7C,IAAI,EAAE,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,mCAAI,SAAS;KAClC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TransformState } from '../../../state/types';
|
|
2
|
+
import * as t from '@babel/types';
|
|
3
|
+
/**
|
|
4
|
+
* Injects parameters into invocation of useGT_callback(..., { $_hash })
|
|
5
|
+
* @param parentIdentifier - identifier from callback declaration (ie maps to useGT() call)
|
|
6
|
+
*/
|
|
7
|
+
export declare function injectUseGTCallbackParameters(callExpr: t.CallExpression, state: TransformState): void;
|
|
8
|
+
//# sourceMappingURL=injectUseGTCallbackParameters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"injectUseGTCallbackParameters.d.ts","sourceRoot":"","sources":["../../../../src/transform/injection/callbacks/injectUseGTCallbackParameters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAElC;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,CAAC,CAAC,cAAc,EAC1B,KAAK,EAAE,cAAc,QA4CtB"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.injectUseGTCallbackParameters = injectUseGTCallbackParameters;
|
|
37
|
+
const t = __importStar(require("@babel/types"));
|
|
38
|
+
const validateTranslationFunctionCallback_1 = require("../../../utils/validation/validateTranslationFunctionCallback");
|
|
39
|
+
/**
|
|
40
|
+
* Injects parameters into invocation of useGT_callback(..., { $_hash })
|
|
41
|
+
* @param parentIdentifier - identifier from callback declaration (ie maps to useGT() call)
|
|
42
|
+
*/
|
|
43
|
+
function injectUseGTCallbackParameters(callExpr, state) {
|
|
44
|
+
// Increment counter
|
|
45
|
+
const counterId = state.stringCollector.incrementCounter();
|
|
46
|
+
// Check for existing hash
|
|
47
|
+
const useGTCallbackParams = (0, validateTranslationFunctionCallback_1.validateUseGTCallback)(callExpr);
|
|
48
|
+
state.errorTracker.addErrors(useGTCallbackParams.errors);
|
|
49
|
+
if (useGTCallbackParams.errors.length > 0) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
if (useGTCallbackParams.hash !== undefined) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
// Get hash from string collector
|
|
56
|
+
const translationHash = state.stringCollector.getTranslationHash(counterId);
|
|
57
|
+
if (translationHash === undefined) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
// Inject parameters into invocation
|
|
61
|
+
const newEntry = t.objectProperty(t.stringLiteral('$_hash'), t.stringLiteral(translationHash.hash));
|
|
62
|
+
if (callExpr.arguments.length === 1) {
|
|
63
|
+
// add a new object to arguments
|
|
64
|
+
callExpr.arguments.push(t.objectExpression([newEntry]));
|
|
65
|
+
}
|
|
66
|
+
else if (callExpr.arguments.length === 2) {
|
|
67
|
+
if (t.isObjectExpression(callExpr.arguments[1])) {
|
|
68
|
+
// add a new object to second argument
|
|
69
|
+
callExpr.arguments[1].properties.push(newEntry);
|
|
70
|
+
}
|
|
71
|
+
else if (t.isExpression(callExpr.arguments[1])) {
|
|
72
|
+
// convert identifier to object expression with spread
|
|
73
|
+
callExpr.arguments[1] = t.objectExpression([
|
|
74
|
+
t.spreadElement(callExpr.arguments[1]),
|
|
75
|
+
newEntry,
|
|
76
|
+
]);
|
|
77
|
+
}
|
|
78
|
+
else if (t.isArgumentPlaceholder(callExpr.arguments[1])) {
|
|
79
|
+
// add a new object to second argument
|
|
80
|
+
callExpr.arguments[1] = t.objectExpression([newEntry]);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=injectUseGTCallbackParameters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"injectUseGTCallbackParameters.js","sourceRoot":"","sources":["../../../../src/transform/injection/callbacks/injectUseGTCallbackParameters.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,sEA8CC;AApDD,gDAAkC;AAClC,uHAAsG;AACtG;;;GAGG;AACH,SAAgB,6BAA6B,CAC3C,QAA0B,EAC1B,KAAqB;IAErB,oBAAoB;IACpB,MAAM,SAAS,GAAG,KAAK,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC;IAE3D,0BAA0B;IAC1B,MAAM,mBAAmB,GAAG,IAAA,2DAAqB,EAAC,QAAQ,CAAC,CAAC;IAC5D,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACzD,IAAI,mBAAmB,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,OAAO;IACT,CAAC;IACD,IAAI,mBAAmB,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC3C,OAAO;IACT,CAAC;IAED,iCAAiC;IACjC,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC5E,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO;IACT,CAAC;IAED,oCAAoC;IACpC,MAAM,QAAQ,GAAG,CAAC,CAAC,cAAc,CAC/B,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,EACzB,CAAC,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,CACtC,CAAC;IACF,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,gCAAgC;QAChC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;SAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3C,IAAI,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChD,sCAAsC;YACtC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClD,CAAC;aAAM,IAAI,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,sDAAsD;YACtD,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,gBAAgB,CAAC;gBACzC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACtC,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,sCAAsC;YACtC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { TransformState } from '../../../state/types';
|
|
2
|
+
import * as t from '@babel/types';
|
|
3
|
+
/**
|
|
4
|
+
* Injects parameters into invocation of useMessages_callback(..., { $_hash })
|
|
5
|
+
*/
|
|
6
|
+
export declare function injectUseMessagesCallbackParameters(callExpr: t.CallExpression, state: TransformState): void;
|
|
7
|
+
//# sourceMappingURL=injectUseMessagesCallbackParameters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"injectUseMessagesCallbackParameters.d.ts","sourceRoot":"","sources":["../../../../src/transform/injection/callbacks/injectUseMessagesCallbackParameters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAElC;;GAEG;AACH,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,CAAC,CAAC,cAAc,EAC1B,KAAK,EAAE,cAAc,QACnB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.injectUseMessagesCallbackParameters = injectUseMessagesCallbackParameters;
|
|
4
|
+
/**
|
|
5
|
+
* Injects parameters into invocation of useMessages_callback(..., { $_hash })
|
|
6
|
+
*/
|
|
7
|
+
function injectUseMessagesCallbackParameters(callExpr, state) { }
|
|
8
|
+
//# sourceMappingURL=injectUseMessagesCallbackParameters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"injectUseMessagesCallbackParameters.js","sourceRoot":"","sources":["../../../../src/transform/injection/callbacks/injectUseMessagesCallbackParameters.ts"],"names":[],"mappings":";;AAMA,kFAGI;AANJ;;GAEG;AACH,SAAgB,mCAAmC,CACjD,QAA0B,EAC1B,KAAqB,IACpB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { TransformState } from '../../../state/types';
|
|
2
|
+
import * as t from '@babel/types';
|
|
3
|
+
/**
|
|
4
|
+
* Injects parameters into invocation of useTranslations_callback(..., { $_hash })
|
|
5
|
+
*/
|
|
6
|
+
export declare function injectUseTranslationsCallbackParameters(callExpr: t.CallExpression, state: TransformState): void;
|
|
7
|
+
//# sourceMappingURL=injectUseTranslationsCallbackParameters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"injectUseTranslationsCallbackParameters.d.ts","sourceRoot":"","sources":["../../../../src/transform/injection/callbacks/injectUseTranslationsCallbackParameters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAElC;;GAEG;AACH,wBAAgB,uCAAuC,CACrD,QAAQ,EAAE,CAAC,CAAC,cAAc,EAC1B,KAAK,EAAE,cAAc,QACnB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.injectUseTranslationsCallbackParameters = injectUseTranslationsCallbackParameters;
|
|
4
|
+
/**
|
|
5
|
+
* Injects parameters into invocation of useTranslations_callback(..., { $_hash })
|
|
6
|
+
*/
|
|
7
|
+
function injectUseTranslationsCallbackParameters(callExpr, state) { }
|
|
8
|
+
//# sourceMappingURL=injectUseTranslationsCallbackParameters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"injectUseTranslationsCallbackParameters.js","sourceRoot":"","sources":["../../../../src/transform/injection/callbacks/injectUseTranslationsCallbackParameters.ts"],"names":[],"mappings":";;AAMA,0FAGI;AANJ;;GAEG;AACH,SAAgB,uCAAuC,CACrD,QAA0B,EAC1B,KAAqB,IACpB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TransformState } from '../../state/types';
|
|
2
|
+
import * as t from '@babel/types';
|
|
3
|
+
/**
|
|
4
|
+
* inject parameters into invocation of translation function
|
|
5
|
+
* - useGT(messages=[{hash, message, id, context}])
|
|
6
|
+
*/
|
|
7
|
+
export declare function injectCallbackDeclaratorFunctionParameters(varDeclarator: t.VariableDeclarator, state: TransformState): void;
|
|
8
|
+
//# sourceMappingURL=injectCallbackDeclaratorFunctionParameters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"injectCallbackDeclaratorFunctionParameters.d.ts","sourceRoot":"","sources":["../../../src/transform/injection/injectCallbackDeclaratorFunctionParameters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AASlC;;;GAGG;AACH,wBAAgB,0CAA0C,CACxD,aAAa,EAAE,CAAC,CAAC,kBAAkB,EACnC,KAAK,EAAE,cAAc,GACpB,IAAI,CAiFN"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.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");
|
|
45
|
+
/**
|
|
46
|
+
* inject parameters into invocation of translation function
|
|
47
|
+
* - useGT(messages=[{hash, message, id, context}])
|
|
48
|
+
*/
|
|
49
|
+
function injectCallbackDeclaratorFunctionParameters(varDeclarator, state) {
|
|
50
|
+
var _a;
|
|
51
|
+
// Ignore non-LVal assignments
|
|
52
|
+
if (!t.isLVal(varDeclarator.id)) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
// Get function name from callee
|
|
56
|
+
const { namespaceName, functionName } = (0, getCalleeNameFromExpressionWrapper_1.getCalleeNameFromExpressionWrapper)(varDeclarator.init);
|
|
57
|
+
if (!functionName) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
// Get the canonical function name
|
|
61
|
+
const { canonicalName, type } = (0, getTrackedVariable_1.getTrackedVariable)(state.scopeTracker, namespaceName, functionName);
|
|
62
|
+
if (!canonicalName) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
// Extract identifiers from the LVal
|
|
66
|
+
const identifiers = (0, extractIdentifiersFromLVal_1.extractIdentifiersFromLVal)(varDeclarator.id);
|
|
67
|
+
// Validate the type
|
|
68
|
+
if (type !== 'generaltranslation' ||
|
|
69
|
+
!(0, helpers_1.isGTFunctionWithCallbacks)(canonicalName)) {
|
|
70
|
+
// Track as an overriding variable
|
|
71
|
+
for (const identifier of identifiers) {
|
|
72
|
+
(0, trackOverridingVariable_1.trackOverridingVariable)(identifier, state.scopeTracker);
|
|
73
|
+
}
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
// There can only be one callback defined for const gt = useGT()
|
|
77
|
+
if (identifiers.length !== 1) {
|
|
78
|
+
state.logger.logError(`Multiple identifiers found for GT function with callbacks: ${canonicalName}. Parameter injection failed.` +
|
|
79
|
+
(0, errors_1.createErrorLocation)(varDeclarator.id));
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
const identifier = identifiers[0];
|
|
83
|
+
// Inject the parameters into the call expression
|
|
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
|
+
}
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Inject the parameters into the useGT/getGT call
|
|
113
|
+
* @param arguments - The arguments
|
|
114
|
+
* @param state - The state
|
|
115
|
+
* @param identifier - The identifier
|
|
116
|
+
* @param translationContent - The translation content
|
|
117
|
+
*/
|
|
118
|
+
function injectUseGTParameters(expression, state, id) {
|
|
119
|
+
// Get the corresponding callback injection data
|
|
120
|
+
const translationContent = state.stringCollector.getTranslationContent(id);
|
|
121
|
+
if (!translationContent) {
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
// Inject the parameters into the call expression
|
|
125
|
+
expression.arguments = [
|
|
126
|
+
t.arrayExpression(translationContent.map((content) => t.objectExpression([
|
|
127
|
+
t.objectProperty(t.identifier('hash'), t.stringLiteral(content.hash)),
|
|
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
|
+
]))),
|
|
140
|
+
];
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Get the function invocation from the variable declarator
|
|
144
|
+
* @param varDeclarator - The variable declarator
|
|
145
|
+
*/
|
|
146
|
+
function getFunctionInvocation(varDeclarator) {
|
|
147
|
+
const expression = varDeclarator.init;
|
|
148
|
+
if (!expression) {
|
|
149
|
+
// failed
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
if (t.isCallExpression(expression)) {
|
|
153
|
+
return expression;
|
|
154
|
+
}
|
|
155
|
+
if (t.isAwaitExpression(expression) &&
|
|
156
|
+
t.isCallExpression(expression.argument)) {
|
|
157
|
+
return expression.argument;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=injectCallbackDeclaratorFunctionParameters.js.map
|