@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.
Files changed (238) hide show
  1. package/dist/_virtual/_rolldown/runtime.js +23 -0
  2. package/dist/config.js +32 -27
  3. package/dist/config.js.map +1 -1
  4. package/dist/index.d.ts +1 -1
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +120 -187
  7. package/dist/index.js.map +1 -1
  8. package/dist/passes/basePass.js +40 -83
  9. package/dist/passes/basePass.js.map +1 -1
  10. package/dist/passes/collectionPass.js +18 -11
  11. package/dist/passes/collectionPass.js.map +1 -1
  12. package/dist/passes/handleErrors.js +21 -30
  13. package/dist/passes/handleErrors.js.map +1 -1
  14. package/dist/passes/injectionPass.js +15 -9
  15. package/dist/passes/injectionPass.js.map +1 -1
  16. package/dist/passes/jsxInsertionPass.js +33 -31
  17. package/dist/passes/jsxInsertionPass.js.map +1 -1
  18. package/dist/passes/macroExpansionPass.js +28 -26
  19. package/dist/passes/macroExpansionPass.js.map +1 -1
  20. package/dist/passes/runtimeTranslatePass.js +37 -35
  21. package/dist/passes/runtimeTranslatePass.js.map +1 -1
  22. package/dist/processing/collection/processCallExpression.js +144 -249
  23. package/dist/processing/collection/processCallExpression.js.map +1 -1
  24. package/dist/processing/collection/processTaggedTemplateExpression.js +38 -75
  25. package/dist/processing/collection/processTaggedTemplateExpression.js.map +1 -1
  26. package/dist/processing/collection/processVariableDeclarator.js +20 -18
  27. package/dist/processing/collection/processVariableDeclarator.js.map +1 -1
  28. package/dist/processing/index.js +29 -31
  29. package/dist/processing/injection/processCallExpression.js +69 -142
  30. package/dist/processing/injection/processCallExpression.js.map +1 -1
  31. package/dist/processing/injection/processVariableDeclarator.js +22 -20
  32. package/dist/processing/injection/processVariableDeclarator.js.map +1 -1
  33. package/dist/processing/jsx-insertion/processCallExpression.js +284 -393
  34. package/dist/processing/jsx-insertion/processCallExpression.js.map +1 -1
  35. package/dist/processing/jsx-insertion/processImportDeclaration.js +37 -83
  36. package/dist/processing/jsx-insertion/processImportDeclaration.js.map +1 -1
  37. package/dist/processing/jsx-insertion/processProgram.js +26 -66
  38. package/dist/processing/jsx-insertion/processProgram.js.map +1 -1
  39. package/dist/processing/macro-expansion/processImportDeclaration.js +21 -55
  40. package/dist/processing/macro-expansion/processImportDeclaration.js.map +1 -1
  41. package/dist/processing/macro-expansion/processProgram.js +20 -26
  42. package/dist/processing/macro-expansion/processProgram.js.map +1 -1
  43. package/dist/processing/macro-expansion/processTaggedTemplateExpression.js +33 -69
  44. package/dist/processing/macro-expansion/processTaggedTemplateExpression.js.map +1 -1
  45. package/dist/processing/processArrowFunctionExpression.js +18 -16
  46. package/dist/processing/processArrowFunctionExpression.js.map +1 -1
  47. package/dist/processing/processAssignmentExpression.js +12 -10
  48. package/dist/processing/processAssignmentExpression.js.map +1 -1
  49. package/dist/processing/processCatchClause.js +18 -16
  50. package/dist/processing/processCatchClause.js.map +1 -1
  51. package/dist/processing/processClassDeclaration.js +18 -16
  52. package/dist/processing/processClassDeclaration.js.map +1 -1
  53. package/dist/processing/processClassMethod.js +18 -17
  54. package/dist/processing/processClassMethod.js.map +1 -1
  55. package/dist/processing/processClassPrivateMethod.js +18 -17
  56. package/dist/processing/processClassPrivateMethod.js.map +1 -1
  57. package/dist/processing/processForInStatement.js +18 -16
  58. package/dist/processing/processForInStatement.js.map +1 -1
  59. package/dist/processing/processForOfStatement.js +18 -16
  60. package/dist/processing/processForOfStatement.js.map +1 -1
  61. package/dist/processing/processFunctionDeclaration.js +20 -18
  62. package/dist/processing/processFunctionDeclaration.js.map +1 -1
  63. package/dist/processing/processFunctionExpression.js +26 -24
  64. package/dist/processing/processFunctionExpression.js.map +1 -1
  65. package/dist/processing/processImportDeclaration.js +11 -9
  66. package/dist/processing/processImportDeclaration.js.map +1 -1
  67. package/dist/processing/processObjectMethod.js +19 -18
  68. package/dist/processing/processObjectMethod.js.map +1 -1
  69. package/dist/processing/processProgram.js +13 -13
  70. package/dist/processing/processProgram.js.map +1 -1
  71. package/dist/processing/processScopeChange.js +15 -13
  72. package/dist/processing/processScopeChange.js.map +1 -1
  73. package/dist/processing/runtime-translate/processImportDeclaration.js +30 -63
  74. package/dist/processing/runtime-translate/processImportDeclaration.js.map +1 -1
  75. package/dist/processing/runtime-translate/processProgram.js +34 -57
  76. package/dist/processing/runtime-translate/processProgram.js.map +1 -1
  77. package/dist/state/ErrorTracker.js +18 -17
  78. package/dist/state/ErrorTracker.js.map +1 -1
  79. package/dist/state/Logger.js +42 -52
  80. package/dist/state/Logger.js.map +1 -1
  81. package/dist/state/ScopeTracker.d.ts +11 -2
  82. package/dist/state/ScopeTracker.d.ts.map +1 -1
  83. package/dist/state/ScopeTracker.js +154 -209
  84. package/dist/state/ScopeTracker.js.map +1 -1
  85. package/dist/state/StringCollector.d.ts +9 -2
  86. package/dist/state/StringCollector.d.ts.map +1 -1
  87. package/dist/state/StringCollector.js +165 -184
  88. package/dist/state/StringCollector.js.map +1 -1
  89. package/dist/state/types.js +1 -3
  90. package/dist/state/utils/initializeState.js +62 -67
  91. package/dist/state/utils/initializeState.js.map +1 -1
  92. package/dist/transform/getTrackedVariable.js +33 -38
  93. package/dist/transform/getTrackedVariable.js.map +1 -1
  94. package/dist/transform/injection/callbacks/injectUseGTCallbackParameters.js +19 -27
  95. package/dist/transform/injection/callbacks/injectUseGTCallbackParameters.js.map +1 -1
  96. package/dist/transform/injection/callbacks/injectUseMessagesCallbackParameters.js +8 -6
  97. package/dist/transform/injection/callbacks/injectUseMessagesCallbackParameters.js.map +1 -1
  98. package/dist/transform/injection/callbacks/injectUseTranslationsCallbackParameters.js +8 -6
  99. package/dist/transform/injection/callbacks/injectUseTranslationsCallbackParameters.js.map +1 -1
  100. package/dist/transform/injection/injectCallbackDeclaratorFunctionParameters.js +74 -155
  101. package/dist/transform/injection/injectCallbackDeclaratorFunctionParameters.js.map +1 -1
  102. package/dist/transform/injection/injectHashIntoTranslationOptions.js +21 -61
  103. package/dist/transform/injection/injectHashIntoTranslationOptions.js.map +1 -1
  104. package/dist/transform/injection/injectStandaloneTFunctionParameters.js +21 -27
  105. package/dist/transform/injection/injectStandaloneTFunctionParameters.js.map +1 -1
  106. package/dist/transform/injection/injectTComponentParameters.js +25 -65
  107. package/dist/transform/injection/injectTComponentParameters.js.map +1 -1
  108. package/dist/transform/jsx-children/constructJsxChildren.d.ts +1 -1
  109. package/dist/transform/jsx-children/constructJsxChildren.d.ts.map +1 -1
  110. package/dist/transform/jsx-children/constructJsxChildren.js +273 -392
  111. package/dist/transform/jsx-children/constructJsxChildren.js.map +1 -1
  112. package/dist/transform/jsx-children/errors.js +16 -6
  113. package/dist/transform/jsx-children/errors.js.map +1 -1
  114. package/dist/transform/jsx-children/index.js +3 -6
  115. package/dist/transform/jsx-children/utils/getBranchComponentParameters.js +26 -85
  116. package/dist/transform/jsx-children/utils/getBranchComponentParameters.js.map +1 -1
  117. package/dist/transform/jsx-children/utils/getCalleeNameFromJsxExpressionParam.js +33 -66
  118. package/dist/transform/jsx-children/utils/getCalleeNameFromJsxExpressionParam.js.map +1 -1
  119. package/dist/transform/jsx-children/utils/id.js +18 -17
  120. package/dist/transform/jsx-children/utils/id.js.map +1 -1
  121. package/dist/transform/jsx-children/validation/validateChildrenElement.js +13 -47
  122. package/dist/transform/jsx-children/validation/validateChildrenElement.js.map +1 -1
  123. package/dist/transform/jsx-children/validation/validateChildrenFromArgs.js +25 -63
  124. package/dist/transform/jsx-children/validation/validateChildrenFromArgs.js.map +1 -1
  125. package/dist/transform/jsx-children/validation/validateIdentifier.js +38 -41
  126. package/dist/transform/jsx-children/validation/validateIdentifier.js.map +1 -1
  127. package/dist/transform/jsx-children/validation/validateJsxCall.js +15 -26
  128. package/dist/transform/jsx-children/validation/validateJsxCall.js.map +1 -1
  129. package/dist/transform/jsx-children/validation/validateNameFieldForVarComponent.js +33 -61
  130. package/dist/transform/jsx-children/validation/validateNameFieldForVarComponent.js.map +1 -1
  131. package/dist/transform/jsx-children/validation/validateStringLiteralPropertyFromArg.js +38 -66
  132. package/dist/transform/jsx-children/validation/validateStringLiteralPropertyFromArg.js.map +1 -1
  133. package/dist/transform/jsx-children/validation/validateTemplateLiteral.js +17 -13
  134. package/dist/transform/jsx-children/validation/validateTemplateLiteral.js.map +1 -1
  135. package/dist/transform/jsx-children/validation/validateUnaryExpression.js +26 -61
  136. package/dist/transform/jsx-children/validation/validateUnaryExpression.js.map +1 -1
  137. package/dist/transform/jsx-insertion/injectJsxInsertionImport.js +16 -48
  138. package/dist/transform/jsx-insertion/injectJsxInsertionImport.js.map +1 -1
  139. package/dist/transform/macro-expansion/injectMacroImport.js +14 -43
  140. package/dist/transform/macro-expansion/injectMacroImport.js.map +1 -1
  141. package/dist/transform/macro-expansion/transformTemplateLiteral.js +23 -22
  142. package/dist/transform/macro-expansion/transformTemplateLiteral.js.map +1 -1
  143. package/dist/transform/registration/callbacks/registerUseGTCallback.js +27 -34
  144. package/dist/transform/registration/callbacks/registerUseGTCallback.js.map +1 -1
  145. package/dist/transform/registration/callbacks/registerUseMessagesCallback.js +9 -9
  146. package/dist/transform/registration/callbacks/registerUseMessagesCallback.js.map +1 -1
  147. package/dist/transform/registration/callbacks/registerUseTranslationsCallback.js +9 -9
  148. package/dist/transform/registration/callbacks/registerUseTranslationsCallback.js.map +1 -1
  149. package/dist/transform/registration/registerStandaloneTranslation.js +27 -28
  150. package/dist/transform/registration/registerStandaloneTranslation.js.map +1 -1
  151. package/dist/transform/registration/registerTranslationComponent.js +15 -15
  152. package/dist/transform/registration/registerTranslationComponent.js.map +1 -1
  153. package/dist/transform/runtime-translate/buildRuntimeTranslateCalls.js +34 -85
  154. package/dist/transform/runtime-translate/buildRuntimeTranslateCalls.js.map +1 -1
  155. package/dist/transform/runtime-translate/injectRuntimeTranslateImport.js +25 -55
  156. package/dist/transform/runtime-translate/injectRuntimeTranslateImport.js.map +1 -1
  157. package/dist/transform/tracking/trackAssignmentExpression.js +26 -63
  158. package/dist/transform/tracking/trackAssignmentExpression.js.map +1 -1
  159. package/dist/transform/tracking/trackCatchClause.js +17 -48
  160. package/dist/transform/tracking/trackCatchClause.js.map +1 -1
  161. package/dist/transform/tracking/trackClassDeclaration.js +13 -13
  162. package/dist/transform/tracking/trackClassDeclaration.js.map +1 -1
  163. package/dist/transform/tracking/trackForDeclaration.js +17 -53
  164. package/dist/transform/tracking/trackForDeclaration.js.map +1 -1
  165. package/dist/transform/tracking/trackFunctionName.js +10 -10
  166. package/dist/transform/tracking/trackFunctionName.js.map +1 -1
  167. package/dist/transform/tracking/trackFunctionParams.js +19 -54
  168. package/dist/transform/tracking/trackFunctionParams.js.map +1 -1
  169. package/dist/transform/tracking/trackImportDeclaration.js +36 -89
  170. package/dist/transform/tracking/trackImportDeclaration.js.map +1 -1
  171. package/dist/transform/tracking/trackOverridingVariable.js +9 -11
  172. package/dist/transform/tracking/trackOverridingVariable.js.map +1 -1
  173. package/dist/transform/tracking/trackVariableDeclarator.js +51 -102
  174. package/dist/transform/tracking/trackVariableDeclarator.js.map +1 -1
  175. package/dist/transform/validation/validateTranslationComponentArgs.d.ts +1 -1
  176. package/dist/transform/validation/validateTranslationComponentArgs.d.ts.map +1 -1
  177. package/dist/transform/validation/validateTranslationComponentArgs.js +156 -232
  178. package/dist/transform/validation/validateTranslationComponentArgs.js.map +1 -1
  179. package/dist/transform/validation/validateTranslationFunction.js +218 -329
  180. package/dist/transform/validation/validateTranslationFunction.js.map +1 -1
  181. package/dist/utils/calculateHash.d.ts +1 -1
  182. package/dist/utils/calculateHash.d.ts.map +1 -1
  183. package/dist/utils/calculateHash.js +55 -70
  184. package/dist/utils/calculateHash.js.map +1 -1
  185. package/dist/utils/constants/gt/constants.js +142 -132
  186. package/dist/utils/constants/gt/constants.js.map +1 -1
  187. package/dist/utils/constants/gt/helpers.d.ts +1 -1
  188. package/dist/utils/constants/gt/helpers.d.ts.map +1 -1
  189. package/dist/utils/constants/gt/helpers.js +147 -149
  190. package/dist/utils/constants/gt/helpers.js.map +1 -1
  191. package/dist/utils/constants/other/constants.js +45 -41
  192. package/dist/utils/constants/other/constants.js.map +1 -1
  193. package/dist/utils/constants/other/helpers.js +13 -11
  194. package/dist/utils/constants/other/helpers.js.map +1 -1
  195. package/dist/utils/constants/react/constants.js +47 -41
  196. package/dist/utils/constants/react/constants.js.map +1 -1
  197. package/dist/utils/constants/react/helpers.js +17 -16
  198. package/dist/utils/constants/react/helpers.js.map +1 -1
  199. package/dist/utils/constants/resolveIdentifier/isGTComponent.js +41 -76
  200. package/dist/utils/constants/resolveIdentifier/isGTComponent.js.map +1 -1
  201. package/dist/utils/constants/resolveIdentifier/isReactJsxFunction.js +33 -83
  202. package/dist/utils/constants/resolveIdentifier/isReactJsxFunction.js.map +1 -1
  203. package/dist/utils/errors.js +18 -20
  204. package/dist/utils/errors.js.map +1 -1
  205. package/dist/utils/multiplication/multiply.js +31 -35
  206. package/dist/utils/multiplication/multiply.js.map +1 -1
  207. package/dist/utils/multiplication/types.js +1 -3
  208. package/dist/utils/parsing/extractIdentifiersFromLVal.js +30 -96
  209. package/dist/utils/parsing/extractIdentifiersFromLVal.js.map +1 -1
  210. package/dist/utils/parsing/getCalleeNameFromExpression.js +31 -65
  211. package/dist/utils/parsing/getCalleeNameFromExpression.js.map +1 -1
  212. package/dist/utils/parsing/getCalleeNameFromExpressionWrapper.js +13 -10
  213. package/dist/utils/parsing/getCalleeNameFromExpressionWrapper.js.map +1 -1
  214. package/dist/utils/parsing/getObjectPropertyFromObjectExpression.js +19 -56
  215. package/dist/utils/parsing/getObjectPropertyFromObjectExpression.js.map +1 -1
  216. package/dist/utils/parsing/getStringLiteralFromExpression.js +18 -49
  217. package/dist/utils/parsing/getStringLiteralFromExpression.js.map +1 -1
  218. package/dist/utils/parsing/isDeriveInvocation.js +25 -61
  219. package/dist/utils/parsing/isDeriveInvocation.js.map +1 -1
  220. package/dist/utils/parsing/isStringTranslationTaggedTemplate.js +23 -59
  221. package/dist/utils/parsing/isStringTranslationTaggedTemplate.js.map +1 -1
  222. package/dist/utils/string-expressions/buildTransformationResult.js +57 -96
  223. package/dist/utils/string-expressions/buildTransformationResult.js.map +1 -1
  224. package/dist/utils/string-expressions/flattenExpressionToParts.js +131 -142
  225. package/dist/utils/string-expressions/flattenExpressionToParts.js.map +1 -1
  226. package/dist/utils/string-expressions/resolveStaticExpression.js +36 -34
  227. package/dist/utils/string-expressions/resolveStaticExpression.js.map +1 -1
  228. package/dist/utils/validation/validateChildrenFromObjectExpression.js +29 -24
  229. package/dist/utils/validation/validateChildrenFromObjectExpression.js.map +1 -1
  230. package/dist/utils/validation/validateExpressionIsNumericLiteral.js +13 -47
  231. package/dist/utils/validation/validateExpressionIsNumericLiteral.js.map +1 -1
  232. package/dist/utils/validation/validateExpressionIsStringLiteral.js +15 -48
  233. package/dist/utils/validation/validateExpressionIsStringLiteral.js.map +1 -1
  234. package/package.json +8 -4
  235. package/dist/processing/index.js.map +0 -1
  236. package/dist/state/types.js.map +0 -1
  237. package/dist/transform/jsx-children/index.js.map +0 -1
  238. package/dist/utils/multiplication/types.js.map +0 -1
@@ -1,40 +1,42 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resolveStaticExpression = resolveStaticExpression;
4
- const flattenExpressionToParts_1 = require("./flattenExpressionToParts");
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
- kind: 'dynamic-expression',
8
- message: 'Expression is not a static string',
6
+ kind: "dynamic-expression",
7
+ message: "Expression is not a static string"
9
8
  };
10
9
  /**
11
- * Attempt to resolve an expression to static string values at compile time.
12
- * Handles string literals, template literals, binary '+' concatenation,
13
- * nested combinations, and numeric/boolean/null literals coerced to string.
14
- *
15
- * Returns all resolved values, or undefined if the expression contains
16
- * dynamic or derive content.
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
- const { parts, errors } = (0, flattenExpressionToParts_1.flattenExpressionToParts)(exprPath);
20
- if (errors.length > 0)
21
- return { errors };
22
- const variants = (0, multiply_1.multiply)(parts);
23
- const values = [];
24
- for (const variant of variants) {
25
- let value = '';
26
- for (const part of variant) {
27
- // Signal derive by returning undefined
28
- if (part.type === 'derive') {
29
- return { errors: [], values: undefined };
30
- }
31
- else if (part.type !== 'static') {
32
- return { errors: [DYNAMIC_EXPRESSION_ERROR] };
33
- }
34
- value += part.value;
35
- }
36
- values.push(value);
37
- }
38
- return { errors: [], values };
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","sourceRoot":"","sources":["../../../src/utils/string-expressions/resolveStaticExpression.ts"],"names":[],"mappings":";;AA4BA,0DAwBC;AAlDD,yEAGoC;AACpC,yDAAsD;AAStD,MAAM,wBAAwB,GAAiC;IAC7D,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,mCAAmC;CAC7C,CAAC;AAEF;;;;;;;GAOG;AACH,SAAgB,uBAAuB,CAAC,QAAgC;IAItE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAA,mDAAwB,EAAC,QAAQ,CAAC,CAAC;IAC7D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAA,mBAAQ,EAAC,KAAK,CAAC,CAAC;IAEjC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,uCAAuC;YACvC,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;YAC3C,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAClC,OAAO,EAAE,MAAM,EAAE,CAAC,wBAAwB,CAAC,EAAE,CAAC;YAChD,CAAC;YACD,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC;QACtB,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;AAChC,CAAC"}
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
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateChildrenPropertyFromObjectExpression = validateChildrenPropertyFromObjectExpression;
4
- const constants_1 = require("../constants/gt/constants");
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
- * Given an object expression path validates and extracts children property
8
- * This is only for use as children of <T> components
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
- const errors = [];
12
- // Get the children property
13
- const childrenObjectPropertyPath = (0, getObjectPropertyFromObjectExpression_1.getObjectPropertyPathFromObjectExpression)(argsPath, 'children');
14
- if (!childrenObjectPropertyPath) {
15
- return { errors, value: undefined };
16
- }
17
- if (!childrenObjectPropertyPath.isObjectProperty()) {
18
- errors.push(`The children property of the <${constants_1.GT_COMPONENT_TYPES.T}> component must be an object property`);
19
- return { errors };
20
- }
21
- const valuePath = childrenObjectPropertyPath.get('value');
22
- if (!valuePath.isExpression()) {
23
- errors.push(`The children properties of the <${constants_1.GT_COMPONENT_TYPES.T}> component must be an expression`);
24
- return { errors };
25
- }
26
- return { errors, value: valuePath };
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","sourceRoot":"","sources":["../../../src/utils/validation/validateChildrenFromObjectExpression.ts"],"names":[],"mappings":";;AASA,oGAgCC;AAvCD,yDAA+D;AAC/D,4GAA6G;AAE7G;;;GAGG;AACH,SAAgB,4CAA4C,CAC1D,QAAsC;IAKtC,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,4BAA4B;IAC5B,MAAM,0BAA0B,GAAG,IAAA,iFAAyC,EAC1E,QAAQ,EACR,UAAU,CACX,CAAC;IACF,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAChC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IACtC,CAAC;IACD,IAAI,CAAC,0BAA0B,CAAC,gBAAgB,EAAE,EAAE,CAAC;QACnD,MAAM,CAAC,IAAI,CACT,iCAAiC,8BAAkB,CAAC,CAAC,wCAAwC,CAC9F,CAAC;QACF,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;IAED,MAAM,SAAS,GAAG,0BAA0B,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC1D,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CACT,mCAAmC,8BAAkB,CAAC,CAAC,mCAAmC,CAC3F,CAAC;QACF,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAmC,EAAE,CAAC;AAChE,CAAC"}
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
- "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.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
- * Given an expression, check if it is a numeric literal
40
- */
7
+ * Given an expression, check if it is a numeric literal
8
+ */
41
9
  function validateExpressionIsNumericLiteral(expr) {
42
- if (t.isNumericLiteral(expr)) {
43
- return true;
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","sourceRoot":"","sources":["../../../src/utils/validation/validateExpressionIsNumericLiteral.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,gFAWC;AAhBD,gDAAkC;AAElC;;GAEG;AACH,SAAgB,kCAAkC,CAChD,IAAkB;IAElB,IAAI,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,sCAAsC;IACtC,IAAI,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
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
- "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.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
- * Given an expression, check if it is a string literal
40
- * Valid: 'Hello', "Hello", `Hello`
41
- * Invalid: `Hello ${name}`, "Hello " + name, "Hello " + 1
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
- if (t.isStringLiteral(expr)) {
45
- return true;
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","sourceRoot":"","sources":["../../../src/utils/validation/validateExpressionIsStringLiteral.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,8EAQC;AAfD,gDAAkC;AAElC;;;;GAIG;AACH,SAAgB,iCAAiC,CAAC,IAAkB;IAClE,IAAI,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
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.21",
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": "8.2.13"
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
- "build": "tsc",
45
- "build:watch": "tsc --watch",
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"}
@@ -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":""}