@generaltranslation/compiler 1.3.21 → 1.3.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/_rolldown/runtime.js +23 -0
- package/dist/config.js +32 -27
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +120 -187
- package/dist/index.js.map +1 -1
- package/dist/passes/basePass.js +40 -83
- package/dist/passes/basePass.js.map +1 -1
- package/dist/passes/collectionPass.js +18 -11
- package/dist/passes/collectionPass.js.map +1 -1
- package/dist/passes/handleErrors.js +21 -30
- package/dist/passes/handleErrors.js.map +1 -1
- package/dist/passes/injectionPass.js +15 -9
- package/dist/passes/injectionPass.js.map +1 -1
- package/dist/passes/jsxInsertionPass.js +33 -31
- package/dist/passes/jsxInsertionPass.js.map +1 -1
- package/dist/passes/macroExpansionPass.js +28 -26
- package/dist/passes/macroExpansionPass.js.map +1 -1
- package/dist/passes/runtimeTranslatePass.js +37 -35
- package/dist/passes/runtimeTranslatePass.js.map +1 -1
- package/dist/processing/collection/processCallExpression.js +144 -249
- package/dist/processing/collection/processCallExpression.js.map +1 -1
- package/dist/processing/collection/processTaggedTemplateExpression.js +38 -75
- package/dist/processing/collection/processTaggedTemplateExpression.js.map +1 -1
- package/dist/processing/collection/processVariableDeclarator.js +20 -18
- package/dist/processing/collection/processVariableDeclarator.js.map +1 -1
- package/dist/processing/index.js +29 -31
- package/dist/processing/injection/processCallExpression.js +69 -142
- package/dist/processing/injection/processCallExpression.js.map +1 -1
- package/dist/processing/injection/processVariableDeclarator.js +22 -20
- package/dist/processing/injection/processVariableDeclarator.js.map +1 -1
- package/dist/processing/jsx-insertion/processCallExpression.js +284 -393
- package/dist/processing/jsx-insertion/processCallExpression.js.map +1 -1
- package/dist/processing/jsx-insertion/processImportDeclaration.js +37 -83
- package/dist/processing/jsx-insertion/processImportDeclaration.js.map +1 -1
- package/dist/processing/jsx-insertion/processProgram.js +26 -66
- package/dist/processing/jsx-insertion/processProgram.js.map +1 -1
- package/dist/processing/macro-expansion/processImportDeclaration.js +21 -55
- package/dist/processing/macro-expansion/processImportDeclaration.js.map +1 -1
- package/dist/processing/macro-expansion/processProgram.js +20 -26
- package/dist/processing/macro-expansion/processProgram.js.map +1 -1
- package/dist/processing/macro-expansion/processTaggedTemplateExpression.js +33 -69
- package/dist/processing/macro-expansion/processTaggedTemplateExpression.js.map +1 -1
- package/dist/processing/processArrowFunctionExpression.js +18 -16
- package/dist/processing/processArrowFunctionExpression.js.map +1 -1
- package/dist/processing/processAssignmentExpression.js +12 -10
- package/dist/processing/processAssignmentExpression.js.map +1 -1
- package/dist/processing/processCatchClause.js +18 -16
- package/dist/processing/processCatchClause.js.map +1 -1
- package/dist/processing/processClassDeclaration.js +18 -16
- package/dist/processing/processClassDeclaration.js.map +1 -1
- package/dist/processing/processClassMethod.js +18 -17
- package/dist/processing/processClassMethod.js.map +1 -1
- package/dist/processing/processClassPrivateMethod.js +18 -17
- package/dist/processing/processClassPrivateMethod.js.map +1 -1
- package/dist/processing/processForInStatement.js +18 -16
- package/dist/processing/processForInStatement.js.map +1 -1
- package/dist/processing/processForOfStatement.js +18 -16
- package/dist/processing/processForOfStatement.js.map +1 -1
- package/dist/processing/processFunctionDeclaration.js +20 -18
- package/dist/processing/processFunctionDeclaration.js.map +1 -1
- package/dist/processing/processFunctionExpression.js +26 -24
- package/dist/processing/processFunctionExpression.js.map +1 -1
- package/dist/processing/processImportDeclaration.js +11 -9
- package/dist/processing/processImportDeclaration.js.map +1 -1
- package/dist/processing/processObjectMethod.js +19 -18
- package/dist/processing/processObjectMethod.js.map +1 -1
- package/dist/processing/processProgram.js +13 -13
- package/dist/processing/processProgram.js.map +1 -1
- package/dist/processing/processScopeChange.js +15 -13
- package/dist/processing/processScopeChange.js.map +1 -1
- package/dist/processing/runtime-translate/processImportDeclaration.js +30 -63
- package/dist/processing/runtime-translate/processImportDeclaration.js.map +1 -1
- package/dist/processing/runtime-translate/processProgram.js +34 -57
- package/dist/processing/runtime-translate/processProgram.js.map +1 -1
- package/dist/state/ErrorTracker.js +18 -17
- package/dist/state/ErrorTracker.js.map +1 -1
- package/dist/state/Logger.js +42 -52
- package/dist/state/Logger.js.map +1 -1
- package/dist/state/ScopeTracker.d.ts +11 -2
- package/dist/state/ScopeTracker.d.ts.map +1 -1
- package/dist/state/ScopeTracker.js +154 -209
- package/dist/state/ScopeTracker.js.map +1 -1
- package/dist/state/StringCollector.d.ts +9 -2
- package/dist/state/StringCollector.d.ts.map +1 -1
- package/dist/state/StringCollector.js +165 -184
- package/dist/state/StringCollector.js.map +1 -1
- package/dist/state/types.js +1 -3
- package/dist/state/utils/initializeState.js +62 -67
- package/dist/state/utils/initializeState.js.map +1 -1
- package/dist/transform/getTrackedVariable.js +33 -38
- package/dist/transform/getTrackedVariable.js.map +1 -1
- package/dist/transform/injection/callbacks/injectUseGTCallbackParameters.js +19 -27
- package/dist/transform/injection/callbacks/injectUseGTCallbackParameters.js.map +1 -1
- package/dist/transform/injection/callbacks/injectUseMessagesCallbackParameters.js +8 -6
- package/dist/transform/injection/callbacks/injectUseMessagesCallbackParameters.js.map +1 -1
- package/dist/transform/injection/callbacks/injectUseTranslationsCallbackParameters.js +8 -6
- package/dist/transform/injection/callbacks/injectUseTranslationsCallbackParameters.js.map +1 -1
- package/dist/transform/injection/injectCallbackDeclaratorFunctionParameters.js +74 -155
- package/dist/transform/injection/injectCallbackDeclaratorFunctionParameters.js.map +1 -1
- package/dist/transform/injection/injectHashIntoTranslationOptions.js +21 -61
- package/dist/transform/injection/injectHashIntoTranslationOptions.js.map +1 -1
- package/dist/transform/injection/injectStandaloneTFunctionParameters.js +21 -27
- package/dist/transform/injection/injectStandaloneTFunctionParameters.js.map +1 -1
- package/dist/transform/injection/injectTComponentParameters.js +25 -65
- package/dist/transform/injection/injectTComponentParameters.js.map +1 -1
- package/dist/transform/jsx-children/constructJsxChildren.d.ts +1 -1
- package/dist/transform/jsx-children/constructJsxChildren.d.ts.map +1 -1
- package/dist/transform/jsx-children/constructJsxChildren.js +273 -392
- package/dist/transform/jsx-children/constructJsxChildren.js.map +1 -1
- package/dist/transform/jsx-children/errors.js +16 -6
- package/dist/transform/jsx-children/errors.js.map +1 -1
- package/dist/transform/jsx-children/index.js +3 -6
- package/dist/transform/jsx-children/utils/getBranchComponentParameters.js +26 -85
- package/dist/transform/jsx-children/utils/getBranchComponentParameters.js.map +1 -1
- package/dist/transform/jsx-children/utils/getCalleeNameFromJsxExpressionParam.js +33 -66
- package/dist/transform/jsx-children/utils/getCalleeNameFromJsxExpressionParam.js.map +1 -1
- package/dist/transform/jsx-children/utils/id.js +18 -17
- package/dist/transform/jsx-children/utils/id.js.map +1 -1
- package/dist/transform/jsx-children/validation/validateChildrenElement.js +13 -47
- package/dist/transform/jsx-children/validation/validateChildrenElement.js.map +1 -1
- package/dist/transform/jsx-children/validation/validateChildrenFromArgs.js +25 -63
- package/dist/transform/jsx-children/validation/validateChildrenFromArgs.js.map +1 -1
- package/dist/transform/jsx-children/validation/validateIdentifier.js +38 -41
- package/dist/transform/jsx-children/validation/validateIdentifier.js.map +1 -1
- package/dist/transform/jsx-children/validation/validateJsxCall.js +15 -26
- package/dist/transform/jsx-children/validation/validateJsxCall.js.map +1 -1
- package/dist/transform/jsx-children/validation/validateNameFieldForVarComponent.js +33 -61
- package/dist/transform/jsx-children/validation/validateNameFieldForVarComponent.js.map +1 -1
- package/dist/transform/jsx-children/validation/validateStringLiteralPropertyFromArg.js +38 -66
- package/dist/transform/jsx-children/validation/validateStringLiteralPropertyFromArg.js.map +1 -1
- package/dist/transform/jsx-children/validation/validateTemplateLiteral.js +17 -13
- package/dist/transform/jsx-children/validation/validateTemplateLiteral.js.map +1 -1
- package/dist/transform/jsx-children/validation/validateUnaryExpression.js +26 -61
- package/dist/transform/jsx-children/validation/validateUnaryExpression.js.map +1 -1
- package/dist/transform/jsx-insertion/injectJsxInsertionImport.js +16 -48
- package/dist/transform/jsx-insertion/injectJsxInsertionImport.js.map +1 -1
- package/dist/transform/macro-expansion/injectMacroImport.js +14 -43
- package/dist/transform/macro-expansion/injectMacroImport.js.map +1 -1
- package/dist/transform/macro-expansion/transformTemplateLiteral.js +23 -22
- package/dist/transform/macro-expansion/transformTemplateLiteral.js.map +1 -1
- package/dist/transform/registration/callbacks/registerUseGTCallback.js +27 -34
- package/dist/transform/registration/callbacks/registerUseGTCallback.js.map +1 -1
- package/dist/transform/registration/callbacks/registerUseMessagesCallback.js +9 -9
- package/dist/transform/registration/callbacks/registerUseMessagesCallback.js.map +1 -1
- package/dist/transform/registration/callbacks/registerUseTranslationsCallback.js +9 -9
- package/dist/transform/registration/callbacks/registerUseTranslationsCallback.js.map +1 -1
- package/dist/transform/registration/registerStandaloneTranslation.js +27 -28
- package/dist/transform/registration/registerStandaloneTranslation.js.map +1 -1
- package/dist/transform/registration/registerTranslationComponent.js +15 -15
- package/dist/transform/registration/registerTranslationComponent.js.map +1 -1
- package/dist/transform/runtime-translate/buildRuntimeTranslateCalls.js +34 -85
- package/dist/transform/runtime-translate/buildRuntimeTranslateCalls.js.map +1 -1
- package/dist/transform/runtime-translate/injectRuntimeTranslateImport.js +25 -55
- package/dist/transform/runtime-translate/injectRuntimeTranslateImport.js.map +1 -1
- package/dist/transform/tracking/trackAssignmentExpression.js +26 -63
- package/dist/transform/tracking/trackAssignmentExpression.js.map +1 -1
- package/dist/transform/tracking/trackCatchClause.js +17 -48
- package/dist/transform/tracking/trackCatchClause.js.map +1 -1
- package/dist/transform/tracking/trackClassDeclaration.js +13 -13
- package/dist/transform/tracking/trackClassDeclaration.js.map +1 -1
- package/dist/transform/tracking/trackForDeclaration.js +17 -53
- package/dist/transform/tracking/trackForDeclaration.js.map +1 -1
- package/dist/transform/tracking/trackFunctionName.js +10 -10
- package/dist/transform/tracking/trackFunctionName.js.map +1 -1
- package/dist/transform/tracking/trackFunctionParams.js +19 -54
- package/dist/transform/tracking/trackFunctionParams.js.map +1 -1
- package/dist/transform/tracking/trackImportDeclaration.js +36 -89
- package/dist/transform/tracking/trackImportDeclaration.js.map +1 -1
- package/dist/transform/tracking/trackOverridingVariable.js +9 -11
- package/dist/transform/tracking/trackOverridingVariable.js.map +1 -1
- package/dist/transform/tracking/trackVariableDeclarator.js +51 -102
- package/dist/transform/tracking/trackVariableDeclarator.js.map +1 -1
- package/dist/transform/validation/validateTranslationComponentArgs.d.ts +1 -1
- package/dist/transform/validation/validateTranslationComponentArgs.d.ts.map +1 -1
- package/dist/transform/validation/validateTranslationComponentArgs.js +156 -232
- package/dist/transform/validation/validateTranslationComponentArgs.js.map +1 -1
- package/dist/transform/validation/validateTranslationFunction.js +218 -329
- package/dist/transform/validation/validateTranslationFunction.js.map +1 -1
- package/dist/utils/calculateHash.d.ts +1 -1
- package/dist/utils/calculateHash.d.ts.map +1 -1
- package/dist/utils/calculateHash.js +55 -70
- package/dist/utils/calculateHash.js.map +1 -1
- package/dist/utils/constants/gt/constants.js +142 -132
- package/dist/utils/constants/gt/constants.js.map +1 -1
- package/dist/utils/constants/gt/helpers.d.ts +1 -1
- package/dist/utils/constants/gt/helpers.d.ts.map +1 -1
- package/dist/utils/constants/gt/helpers.js +147 -149
- package/dist/utils/constants/gt/helpers.js.map +1 -1
- package/dist/utils/constants/other/constants.js +45 -41
- package/dist/utils/constants/other/constants.js.map +1 -1
- package/dist/utils/constants/other/helpers.js +13 -11
- package/dist/utils/constants/other/helpers.js.map +1 -1
- package/dist/utils/constants/react/constants.js +47 -41
- package/dist/utils/constants/react/constants.js.map +1 -1
- package/dist/utils/constants/react/helpers.js +17 -16
- package/dist/utils/constants/react/helpers.js.map +1 -1
- package/dist/utils/constants/resolveIdentifier/isGTComponent.js +41 -76
- package/dist/utils/constants/resolveIdentifier/isGTComponent.js.map +1 -1
- package/dist/utils/constants/resolveIdentifier/isReactJsxFunction.js +33 -83
- package/dist/utils/constants/resolveIdentifier/isReactJsxFunction.js.map +1 -1
- package/dist/utils/errors.js +18 -20
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/multiplication/multiply.js +31 -35
- package/dist/utils/multiplication/multiply.js.map +1 -1
- package/dist/utils/multiplication/types.js +1 -3
- package/dist/utils/parsing/extractIdentifiersFromLVal.js +30 -96
- package/dist/utils/parsing/extractIdentifiersFromLVal.js.map +1 -1
- package/dist/utils/parsing/getCalleeNameFromExpression.js +31 -65
- package/dist/utils/parsing/getCalleeNameFromExpression.js.map +1 -1
- package/dist/utils/parsing/getCalleeNameFromExpressionWrapper.js +13 -10
- package/dist/utils/parsing/getCalleeNameFromExpressionWrapper.js.map +1 -1
- package/dist/utils/parsing/getObjectPropertyFromObjectExpression.js +19 -56
- package/dist/utils/parsing/getObjectPropertyFromObjectExpression.js.map +1 -1
- package/dist/utils/parsing/getStringLiteralFromExpression.js +18 -49
- package/dist/utils/parsing/getStringLiteralFromExpression.js.map +1 -1
- package/dist/utils/parsing/isDeriveInvocation.js +25 -61
- package/dist/utils/parsing/isDeriveInvocation.js.map +1 -1
- package/dist/utils/parsing/isStringTranslationTaggedTemplate.js +23 -59
- package/dist/utils/parsing/isStringTranslationTaggedTemplate.js.map +1 -1
- package/dist/utils/string-expressions/buildTransformationResult.js +57 -96
- package/dist/utils/string-expressions/buildTransformationResult.js.map +1 -1
- package/dist/utils/string-expressions/flattenExpressionToParts.js +131 -142
- package/dist/utils/string-expressions/flattenExpressionToParts.js.map +1 -1
- package/dist/utils/string-expressions/resolveStaticExpression.js +36 -34
- package/dist/utils/string-expressions/resolveStaticExpression.js.map +1 -1
- package/dist/utils/validation/validateChildrenFromObjectExpression.js +29 -24
- package/dist/utils/validation/validateChildrenFromObjectExpression.js.map +1 -1
- package/dist/utils/validation/validateExpressionIsNumericLiteral.js +13 -47
- package/dist/utils/validation/validateExpressionIsNumericLiteral.js.map +1 -1
- package/dist/utils/validation/validateExpressionIsStringLiteral.js +15 -48
- package/dist/utils/validation/validateExpressionIsStringLiteral.js.map +1 -1
- package/package.json +8 -4
- package/dist/processing/index.js.map +0 -1
- package/dist/state/types.js.map +0 -1
- package/dist/transform/jsx-children/index.js.map +0 -1
- package/dist/utils/multiplication/types.js.map +0 -1
|
@@ -1,40 +1,42 @@
|
|
|
1
|
-
"
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const multiply_1 = require("../multiplication/multiply");
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_utils_string_expressions_flattenExpressionToParts = require("./flattenExpressionToParts.js");
|
|
3
|
+
const require_utils_multiplication_multiply = require("../multiplication/multiply.js");
|
|
4
|
+
//#region src/utils/string-expressions/resolveStaticExpression.ts
|
|
6
5
|
const DYNAMIC_EXPRESSION_ERROR = {
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
kind: "dynamic-expression",
|
|
7
|
+
message: "Expression is not a static string"
|
|
9
8
|
};
|
|
10
9
|
/**
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
10
|
+
* Attempt to resolve an expression to static string values at compile time.
|
|
11
|
+
* Handles string literals, template literals, binary '+' concatenation,
|
|
12
|
+
* nested combinations, and numeric/boolean/null literals coerced to string.
|
|
13
|
+
*
|
|
14
|
+
* Returns all resolved values, or undefined if the expression contains
|
|
15
|
+
* dynamic or derive content.
|
|
16
|
+
*/
|
|
18
17
|
function resolveStaticExpression(exprPath) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
18
|
+
const { parts, errors } = require_utils_string_expressions_flattenExpressionToParts.flattenExpressionToParts(exprPath);
|
|
19
|
+
if (errors.length > 0) return { errors };
|
|
20
|
+
const variants = require_utils_multiplication_multiply.multiply(parts);
|
|
21
|
+
const values = [];
|
|
22
|
+
for (const variant of variants) {
|
|
23
|
+
let value = "";
|
|
24
|
+
for (const part of variant) {
|
|
25
|
+
if (part.type === "derive") return {
|
|
26
|
+
errors: [],
|
|
27
|
+
values: void 0
|
|
28
|
+
};
|
|
29
|
+
else if (part.type !== "static") return { errors: [DYNAMIC_EXPRESSION_ERROR] };
|
|
30
|
+
value += part.value;
|
|
31
|
+
}
|
|
32
|
+
values.push(value);
|
|
33
|
+
}
|
|
34
|
+
return {
|
|
35
|
+
errors: [],
|
|
36
|
+
values
|
|
37
|
+
};
|
|
39
38
|
}
|
|
39
|
+
//#endregion
|
|
40
|
+
exports.resolveStaticExpression = resolveStaticExpression;
|
|
41
|
+
|
|
40
42
|
//# sourceMappingURL=resolveStaticExpression.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveStaticExpression.js","
|
|
1
|
+
{"version":3,"file":"resolveStaticExpression.js","names":["flattenExpressionToParts","multiply"],"sources":["../../../src/utils/string-expressions/resolveStaticExpression.ts"],"sourcesContent":["import * as t from '@babel/types';\nimport type { NodePath } from '@babel/traverse';\nimport {\n flattenExpressionToParts,\n type FlattenExpressionError,\n} from './flattenExpressionToParts';\nimport { multiply } from '../multiplication/multiply';\n\nexport type ResolveStaticExpressionError =\n | FlattenExpressionError\n | {\n kind: 'dynamic-expression';\n message: string;\n };\n\nconst DYNAMIC_EXPRESSION_ERROR: ResolveStaticExpressionError = {\n kind: 'dynamic-expression',\n message: 'Expression is not a static string',\n};\n\n/**\n * Attempt to resolve an expression to static string values at compile time.\n * Handles string literals, template literals, binary '+' concatenation,\n * nested combinations, and numeric/boolean/null literals coerced to string.\n *\n * Returns all resolved values, or undefined if the expression contains\n * dynamic or derive content.\n */\nexport function resolveStaticExpression(exprPath: NodePath<t.Expression>): {\n errors: ResolveStaticExpressionError[];\n values?: string[];\n} {\n const { parts, errors } = flattenExpressionToParts(exprPath);\n if (errors.length > 0) return { errors };\n const variants = multiply(parts);\n\n const values: string[] = [];\n for (const variant of variants) {\n let value = '';\n for (const part of variant) {\n // Signal derive by returning undefined\n if (part.type === 'derive') {\n return { errors: [], values: undefined };\n } else if (part.type !== 'static') {\n return { errors: [DYNAMIC_EXPRESSION_ERROR] };\n }\n value += part.value;\n }\n values.push(value);\n }\n\n return { errors: [], values };\n}\n"],"mappings":";;;;AAeA,MAAM,2BAAyD;CAC7D,MAAM;CACN,SAAS;CACV;;;;;;;;;AAUD,SAAgB,wBAAwB,UAGtC;CACA,MAAM,EAAE,OAAO,WAAWA,0DAAAA,yBAAyB,SAAS;AAC5D,KAAI,OAAO,SAAS,EAAG,QAAO,EAAE,QAAQ;CACxC,MAAM,WAAWC,sCAAAA,SAAS,MAAM;CAEhC,MAAM,SAAmB,EAAE;AAC3B,MAAK,MAAM,WAAW,UAAU;EAC9B,IAAI,QAAQ;AACZ,OAAK,MAAM,QAAQ,SAAS;AAE1B,OAAI,KAAK,SAAS,SAChB,QAAO;IAAE,QAAQ,EAAE;IAAE,QAAQ,KAAA;IAAW;YAC/B,KAAK,SAAS,SACvB,QAAO,EAAE,QAAQ,CAAC,yBAAyB,EAAE;AAE/C,YAAS,KAAK;;AAEhB,SAAO,KAAK,MAAM;;AAGpB,QAAO;EAAE,QAAQ,EAAE;EAAE;EAAQ"}
|
|
@@ -1,28 +1,33 @@
|
|
|
1
|
-
"
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const getObjectPropertyFromObjectExpression_1 = require("../parsing/getObjectPropertyFromObjectExpression");
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
require("../constants/gt/constants.js");
|
|
3
|
+
const require_utils_parsing_getObjectPropertyFromObjectExpression = require("../parsing/getObjectPropertyFromObjectExpression.js");
|
|
4
|
+
//#region src/utils/validation/validateChildrenFromObjectExpression.ts
|
|
6
5
|
/**
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
* Given an object expression path validates and extracts children property
|
|
7
|
+
* This is only for use as children of <T> components
|
|
8
|
+
*/
|
|
10
9
|
function validateChildrenPropertyFromObjectExpression(argsPath) {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
10
|
+
const errors = [];
|
|
11
|
+
const childrenObjectPropertyPath = require_utils_parsing_getObjectPropertyFromObjectExpression.getObjectPropertyPathFromObjectExpression(argsPath, "children");
|
|
12
|
+
if (!childrenObjectPropertyPath) return {
|
|
13
|
+
errors,
|
|
14
|
+
value: void 0
|
|
15
|
+
};
|
|
16
|
+
if (!childrenObjectPropertyPath.isObjectProperty()) {
|
|
17
|
+
errors.push(`The children property of the <T> component must be an object property`);
|
|
18
|
+
return { errors };
|
|
19
|
+
}
|
|
20
|
+
const valuePath = childrenObjectPropertyPath.get("value");
|
|
21
|
+
if (!valuePath.isExpression()) {
|
|
22
|
+
errors.push(`The children properties of the <T> component must be an expression`);
|
|
23
|
+
return { errors };
|
|
24
|
+
}
|
|
25
|
+
return {
|
|
26
|
+
errors,
|
|
27
|
+
value: valuePath
|
|
28
|
+
};
|
|
27
29
|
}
|
|
30
|
+
//#endregion
|
|
31
|
+
exports.validateChildrenPropertyFromObjectExpression = validateChildrenPropertyFromObjectExpression;
|
|
32
|
+
|
|
28
33
|
//# sourceMappingURL=validateChildrenFromObjectExpression.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateChildrenFromObjectExpression.js","
|
|
1
|
+
{"version":3,"file":"validateChildrenFromObjectExpression.js","names":["getObjectPropertyPathFromObjectExpression"],"sources":["../../../src/utils/validation/validateChildrenFromObjectExpression.ts"],"sourcesContent":["import * as t from '@babel/types';\nimport type { NodePath } from '@babel/traverse';\nimport { GT_COMPONENT_TYPES } from '../constants/gt/constants';\nimport { getObjectPropertyPathFromObjectExpression } from '../parsing/getObjectPropertyFromObjectExpression';\n\n/**\n * Given an object expression path validates and extracts children property\n * This is only for use as children of <T> components\n */\nexport function validateChildrenPropertyFromObjectExpression(\n argsPath: NodePath<t.ObjectExpression>\n): {\n errors: string[];\n value?: NodePath<t.Expression>;\n} {\n const errors: string[] = [];\n\n // Get the children property\n const childrenObjectPropertyPath = getObjectPropertyPathFromObjectExpression(\n argsPath,\n 'children'\n );\n if (!childrenObjectPropertyPath) {\n return { errors, value: undefined };\n }\n if (!childrenObjectPropertyPath.isObjectProperty()) {\n errors.push(\n `The children property of the <${GT_COMPONENT_TYPES.T}> component must be an object property`\n );\n return { errors };\n }\n\n const valuePath = childrenObjectPropertyPath.get('value');\n if (!valuePath.isExpression()) {\n errors.push(\n `The children properties of the <${GT_COMPONENT_TYPES.T}> component must be an expression`\n );\n return { errors };\n }\n\n return { errors, value: valuePath as NodePath<t.Expression> };\n}\n"],"mappings":";;;;;;;;AASA,SAAgB,6CACd,UAIA;CACA,MAAM,SAAmB,EAAE;CAG3B,MAAM,6BAA6BA,4DAAAA,0CACjC,UACA,WACD;AACD,KAAI,CAAC,2BACH,QAAO;EAAE;EAAQ,OAAO,KAAA;EAAW;AAErC,KAAI,CAAC,2BAA2B,kBAAkB,EAAE;AAClD,SAAO,KACL,wEACD;AACD,SAAO,EAAE,QAAQ;;CAGnB,MAAM,YAAY,2BAA2B,IAAI,QAAQ;AACzD,KAAI,CAAC,UAAU,cAAc,EAAE;AAC7B,SAAO,KACL,qEACD;AACD,SAAO,EAAE,QAAQ;;AAGnB,QAAO;EAAE;EAAQ,OAAO;EAAqC"}
|
|
@@ -1,51 +1,17 @@
|
|
|
1
|
-
"
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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.validateExpressionIsNumericLiteral = validateExpressionIsNumericLiteral;
|
|
37
|
-
const t = __importStar(require("@babel/types"));
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_runtime = require("../../_virtual/_rolldown/runtime.js");
|
|
3
|
+
let _babel_types = require("@babel/types");
|
|
4
|
+
_babel_types = require_runtime.__toESM(_babel_types);
|
|
5
|
+
//#region src/utils/validation/validateExpressionIsNumericLiteral.ts
|
|
38
6
|
/**
|
|
39
|
-
|
|
40
|
-
|
|
7
|
+
* Given an expression, check if it is a numeric literal
|
|
8
|
+
*/
|
|
41
9
|
function validateExpressionIsNumericLiteral(expr) {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
// handle numbers with unary operators
|
|
46
|
-
if (t.isUnaryExpression(expr) && t.isNumericLiteral(expr.argument)) {
|
|
47
|
-
return true;
|
|
48
|
-
}
|
|
49
|
-
return false;
|
|
10
|
+
if (_babel_types.isNumericLiteral(expr)) return true;
|
|
11
|
+
if (_babel_types.isUnaryExpression(expr) && _babel_types.isNumericLiteral(expr.argument)) return true;
|
|
12
|
+
return false;
|
|
50
13
|
}
|
|
14
|
+
//#endregion
|
|
15
|
+
exports.validateExpressionIsNumericLiteral = validateExpressionIsNumericLiteral;
|
|
16
|
+
|
|
51
17
|
//# sourceMappingURL=validateExpressionIsNumericLiteral.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateExpressionIsNumericLiteral.js","
|
|
1
|
+
{"version":3,"file":"validateExpressionIsNumericLiteral.js","names":["t"],"sources":["../../../src/utils/validation/validateExpressionIsNumericLiteral.ts"],"sourcesContent":["import * as t from '@babel/types';\n\n/**\n * Given an expression, check if it is a numeric literal\n */\nexport function validateExpressionIsNumericLiteral(\n expr: t.Expression\n): boolean {\n if (t.isNumericLiteral(expr)) {\n return true;\n }\n // handle numbers with unary operators\n if (t.isUnaryExpression(expr) && t.isNumericLiteral(expr.argument)) {\n return true;\n }\n return false;\n}\n"],"mappings":";;;;;;;;AAKA,SAAgB,mCACd,MACS;AACT,KAAIA,aAAE,iBAAiB,KAAK,CAC1B,QAAO;AAGT,KAAIA,aAAE,kBAAkB,KAAK,IAAIA,aAAE,iBAAiB,KAAK,SAAS,CAChE,QAAO;AAET,QAAO"}
|
|
@@ -1,52 +1,19 @@
|
|
|
1
|
-
"
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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.validateExpressionIsStringLiteral = validateExpressionIsStringLiteral;
|
|
37
|
-
const t = __importStar(require("@babel/types"));
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_runtime = require("../../_virtual/_rolldown/runtime.js");
|
|
3
|
+
let _babel_types = require("@babel/types");
|
|
4
|
+
_babel_types = require_runtime.__toESM(_babel_types);
|
|
5
|
+
//#region src/utils/validation/validateExpressionIsStringLiteral.ts
|
|
38
6
|
/**
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
7
|
+
* Given an expression, check if it is a string literal
|
|
8
|
+
* Valid: 'Hello', "Hello", `Hello`
|
|
9
|
+
* Invalid: `Hello ${name}`, "Hello " + name, "Hello " + 1
|
|
10
|
+
*/
|
|
43
11
|
function validateExpressionIsStringLiteral(expr) {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
if (t.isTemplateLiteral(expr)) {
|
|
48
|
-
return expr.expressions.length === 0;
|
|
49
|
-
}
|
|
50
|
-
return false;
|
|
12
|
+
if (_babel_types.isStringLiteral(expr)) return true;
|
|
13
|
+
if (_babel_types.isTemplateLiteral(expr)) return expr.expressions.length === 0;
|
|
14
|
+
return false;
|
|
51
15
|
}
|
|
16
|
+
//#endregion
|
|
17
|
+
exports.validateExpressionIsStringLiteral = validateExpressionIsStringLiteral;
|
|
18
|
+
|
|
52
19
|
//# sourceMappingURL=validateExpressionIsStringLiteral.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateExpressionIsStringLiteral.js","
|
|
1
|
+
{"version":3,"file":"validateExpressionIsStringLiteral.js","names":["t"],"sources":["../../../src/utils/validation/validateExpressionIsStringLiteral.ts"],"sourcesContent":["import * as t from '@babel/types';\n\n/**\n * Given an expression, check if it is a string literal\n * Valid: 'Hello', \"Hello\", `Hello`\n * Invalid: `Hello ${name}`, \"Hello \" + name, \"Hello \" + 1\n */\nexport function validateExpressionIsStringLiteral(expr: t.Expression): boolean {\n if (t.isStringLiteral(expr)) {\n return true;\n }\n if (t.isTemplateLiteral(expr)) {\n return expr.expressions.length === 0;\n }\n return false;\n}\n"],"mappings":";;;;;;;;;;AAOA,SAAgB,kCAAkC,MAA6B;AAC7E,KAAIA,aAAE,gBAAgB,KAAK,CACzB,QAAO;AAET,KAAIA,aAAE,kBAAkB,KAAK,CAC3B,QAAO,KAAK,YAAY,WAAW;AAErC,QAAO"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@generaltranslation/compiler",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.23",
|
|
4
4
|
"description": "Universal plugin for compile-time optimization of GT translation components",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -24,13 +24,15 @@
|
|
|
24
24
|
"@babel/traverse": "^7.23.0",
|
|
25
25
|
"@babel/types": "^7.23.0",
|
|
26
26
|
"unplugin": "^2.3.10",
|
|
27
|
-
"generaltranslation": "
|
|
27
|
+
"@generaltranslation/format": "0.1.1",
|
|
28
|
+
"generaltranslation": "8.2.15"
|
|
28
29
|
},
|
|
29
30
|
"devDependencies": {
|
|
30
31
|
"@types/babel__core": "^7.20.0",
|
|
31
32
|
"@types/babel__generator": "^7.6.0",
|
|
32
33
|
"@types/babel__traverse": "^7.20.0",
|
|
33
34
|
"@types/node": "^22.13.5",
|
|
35
|
+
"tsdown": "^0.21.10",
|
|
34
36
|
"typescript": "^5.9.2",
|
|
35
37
|
"vitest": "^3.2.4"
|
|
36
38
|
},
|
|
@@ -41,8 +43,10 @@
|
|
|
41
43
|
"node": ">=16.0.0"
|
|
42
44
|
},
|
|
43
45
|
"scripts": {
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
+
"emit-types": "sh ../../scripts/emit-types.sh",
|
|
47
|
+
"transpile": "tsdown && pnpm run emit-types",
|
|
48
|
+
"build": "pnpm run transpile",
|
|
49
|
+
"build:watch": "tsdown --watch",
|
|
46
50
|
"build:clean": "sh ../../scripts/clean.sh && pnpm run build",
|
|
47
51
|
"build:release": "pnpm run build:clean",
|
|
48
52
|
"format": "oxfmt src",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/processing/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mEAAiD;AACjD,gEAA8C;AAC9C,uDAAqC;AACrC,4DAA0C;AAC1C,uDAAqC;AACrC,8DAA4C;AAC5C,0DAAwC;AACxC,0DAAwC;AACxC,+DAA6C;AAC7C,8DAA4C;AAC5C,6DAA2C;AAC3C,wDAAsC;AACtC,mDAAiC;AACjC,uDAAqC"}
|
package/dist/state/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/state/types.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transform/jsx-children/index.ts"],"names":[],"mappings":";;;AAAA,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/utils/multiplication/types.ts"],"names":[],"mappings":""}
|