@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,102 +1,49 @@
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.trackImportDeclaration = trackImportDeclaration;
37
- const t = __importStar(require("@babel/types"));
38
- const helpers_1 = require("../../utils/constants/gt/helpers");
39
- const helpers_2 = require("../../utils/constants/react/helpers");
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_runtime = require("../../_virtual/_rolldown/runtime.js");
3
+ const require_utils_constants_gt_helpers = require("../../utils/constants/gt/helpers.js");
4
+ const require_utils_constants_react_helpers = require("../../utils/constants/react/helpers.js");
5
+ let _babel_types = require("@babel/types");
6
+ _babel_types = require_runtime.__toESM(_babel_types);
7
+ //#region src/transform/tracking/trackImportDeclaration.ts
40
8
  /**
41
- * Track import declarations for GT and React e.g. import { T, Var, useGT } from 'gt-next'
42
- * @param scopeTracker - Scope tracker to track variables
43
- * @param importDecl - Import declaration to track
44
- */
9
+ * Track import declarations for GT and React e.g. import { T, Var, useGT } from 'gt-next'
10
+ * @param scopeTracker - Scope tracker to track variables
11
+ * @param importDecl - Import declaration to track
12
+ */
45
13
  function trackImportDeclaration(state, importDecl) {
46
- for (const specifier of importDecl.specifiers) {
47
- if (t.isImportSpecifier(specifier)) {
48
- handleImportSpecifier(state, specifier, importDecl.source.value);
49
- }
50
- else if (t.isImportDefaultSpecifier(specifier)) {
51
- handleImportDefaultSpecifier(state, specifier, importDecl.source.value);
52
- }
53
- else {
54
- handleImportNamespaceSpecifier(state, specifier, importDecl.source.value);
55
- }
56
- }
14
+ for (const specifier of importDecl.specifiers) if (_babel_types.isImportSpecifier(specifier)) handleImportSpecifier(state, specifier, importDecl.source.value);
15
+ else if (_babel_types.isImportDefaultSpecifier(specifier)) handleImportDefaultSpecifier(state, specifier, importDecl.source.value);
16
+ else handleImportNamespaceSpecifier(state, specifier, importDecl.source.value);
57
17
  }
58
18
  /**
59
- * Handle import specifiers
60
- * import { T, Var, useGT } from 'gt-next'
61
- */
19
+ * Handle import specifiers
20
+ * import { T, Var, useGT } from 'gt-next'
21
+ */
62
22
  function handleImportSpecifier(state, importSpecifier, importSource) {
63
- const alias = importSpecifier.local.name;
64
- const originalName = t.isIdentifier(importSpecifier.imported)
65
- ? importSpecifier.imported.name
66
- : importSpecifier.imported.value;
67
- if ((0, helpers_1.isGTImportSource)(importSource)) {
68
- state.scopeTracker.trackTranslationVariable(alias, originalName, 0);
69
- }
70
- else if ((0, helpers_2.isReactImportSource)(importSource)) {
71
- state.scopeTracker.trackReactVariable(alias, originalName, 0);
72
- }
23
+ const alias = importSpecifier.local.name;
24
+ const originalName = _babel_types.isIdentifier(importSpecifier.imported) ? importSpecifier.imported.name : importSpecifier.imported.value;
25
+ if (require_utils_constants_gt_helpers.isGTImportSource(importSource)) state.scopeTracker.trackTranslationVariable(alias, originalName, 0);
26
+ else if (require_utils_constants_react_helpers.isReactImportSource(importSource)) state.scopeTracker.trackReactVariable(alias, originalName, 0);
73
27
  }
74
28
  /**
75
- * Handle import default specifiers
76
- * import GT from 'gt-next'
77
- */
29
+ * Handle import default specifiers
30
+ * import GT from 'gt-next'
31
+ */
78
32
  function handleImportDefaultSpecifier(state, importNamespaceSpecifier, importSource) {
79
- const namespace = importNamespaceSpecifier.local.name;
80
- if ((0, helpers_1.isGTImportSource)(importSource)) {
81
- state.scopeTracker.addNamespaceImport(namespace);
82
- }
83
- else if ((0, helpers_2.isReactImportSource)(importSource)) {
84
- // TODO: track React import default
85
- // scopeTracker.addNamespaceImport(namespace);
86
- }
33
+ const namespace = importNamespaceSpecifier.local.name;
34
+ if (require_utils_constants_gt_helpers.isGTImportSource(importSource)) state.scopeTracker.addNamespaceImport(namespace);
35
+ else if (require_utils_constants_react_helpers.isReactImportSource(importSource)) {}
87
36
  }
88
37
  /**
89
- * Handle import namespace specifiers
90
- * import * as GT from 'gt-next'
91
- */
38
+ * Handle import namespace specifiers
39
+ * import * as GT from 'gt-next'
40
+ */
92
41
  function handleImportNamespaceSpecifier(state, importNamespaceSpecifier, importSource) {
93
- const namespace = importNamespaceSpecifier.local.name;
94
- if ((0, helpers_1.isGTImportSource)(importSource)) {
95
- state.scopeTracker.addNamespaceImport(namespace);
96
- }
97
- else if ((0, helpers_2.isReactImportSource)(importSource)) {
98
- // TODO: track React import namespace
99
- // scopeTracker.addNamespaceImport(namespace);
100
- }
42
+ const namespace = importNamespaceSpecifier.local.name;
43
+ if (require_utils_constants_gt_helpers.isGTImportSource(importSource)) state.scopeTracker.addNamespaceImport(namespace);
44
+ else if (require_utils_constants_react_helpers.isReactImportSource(importSource)) {}
101
45
  }
46
+ //#endregion
47
+ exports.trackImportDeclaration = trackImportDeclaration;
48
+
102
49
  //# sourceMappingURL=trackImportDeclaration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"trackImportDeclaration.js","sourceRoot":"","sources":["../../../src/transform/tracking/trackImportDeclaration.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,wDAaC;AAxBD,gDAAkC;AAClC,8DAAoE;AAEpE,iEAA0E;AAG1E;;;;GAIG;AACH,SAAgB,sBAAsB,CACpC,KAAqB,EACrB,UAA+B;IAE/B,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;QAC9C,IAAI,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,qBAAqB,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnE,CAAC;aAAM,IAAI,CAAC,CAAC,wBAAwB,CAAC,SAAS,CAAC,EAAE,CAAC;YACjD,4BAA4B,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1E,CAAC;aAAM,CAAC;YACN,8BAA8B,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,qBAAqB,CAC5B,KAAqB,EACrB,eAAkC,EAClC,YAAoB;IAEpB,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC;IACzC,MAAM,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC,eAAe,CAAC,QAAQ,CAAC;QAC3D,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI;QAC/B,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC;IACnC,IAAI,IAAA,0BAAgB,EAAC,YAAY,CAAC,EAAE,CAAC;QACnC,KAAK,CAAC,YAAY,CAAC,wBAAwB,CACzC,KAAK,EACL,YAAgC,EAChC,CAAC,CACF,CAAC;IACJ,CAAC;SAAM,IAAI,IAAA,6BAAmB,EAAC,YAAY,CAAC,EAAE,CAAC;QAC7C,KAAK,CAAC,YAAY,CAAC,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,4BAA4B,CACnC,KAAqB,EACrB,wBAAkD,EAClD,YAAoB;IAEpB,MAAM,SAAS,GAAG,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC;IACtD,IAAI,IAAA,0BAAgB,EAAC,YAAY,CAAC,EAAE,CAAC;QACnC,KAAK,CAAC,YAAY,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;SAAM,IAAI,IAAA,6BAAmB,EAAC,YAAY,CAAC,EAAE,CAAC;QAC7C,mCAAmC;QACnC,8CAA8C;IAChD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,8BAA8B,CACrC,KAAqB,EACrB,wBAAoD,EACpD,YAAoB;IAEpB,MAAM,SAAS,GAAG,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC;IACtD,IAAI,IAAA,0BAAgB,EAAC,YAAY,CAAC,EAAE,CAAC;QACnC,KAAK,CAAC,YAAY,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;SAAM,IAAI,IAAA,6BAAmB,EAAC,YAAY,CAAC,EAAE,CAAC;QAC7C,qCAAqC;QACrC,8CAA8C;IAChD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"trackImportDeclaration.js","names":["t","isGTImportSource","isReactImportSource"],"sources":["../../../src/transform/tracking/trackImportDeclaration.ts"],"sourcesContent":["import * as t from '@babel/types';\nimport { isGTImportSource } from '../../utils/constants/gt/helpers';\nimport { GT_ALL_FUNCTIONS } from '../../utils/constants/gt/constants';\nimport { isReactImportSource } from '../../utils/constants/react/helpers';\nimport { TransformState } from '../../state/types';\n\n/**\n * Track import declarations for GT and React e.g. import { T, Var, useGT } from 'gt-next'\n * @param scopeTracker - Scope tracker to track variables\n * @param importDecl - Import declaration to track\n */\nexport function trackImportDeclaration(\n state: TransformState,\n importDecl: t.ImportDeclaration\n): void {\n for (const specifier of importDecl.specifiers) {\n if (t.isImportSpecifier(specifier)) {\n handleImportSpecifier(state, specifier, importDecl.source.value);\n } else if (t.isImportDefaultSpecifier(specifier)) {\n handleImportDefaultSpecifier(state, specifier, importDecl.source.value);\n } else {\n handleImportNamespaceSpecifier(state, specifier, importDecl.source.value);\n }\n }\n}\n\n/**\n * Handle import specifiers\n * import { T, Var, useGT } from 'gt-next'\n */\nfunction handleImportSpecifier(\n state: TransformState,\n importSpecifier: t.ImportSpecifier,\n importSource: string\n): void {\n const alias = importSpecifier.local.name;\n const originalName = t.isIdentifier(importSpecifier.imported)\n ? importSpecifier.imported.name\n : importSpecifier.imported.value;\n if (isGTImportSource(importSource)) {\n state.scopeTracker.trackTranslationVariable(\n alias,\n originalName as GT_ALL_FUNCTIONS,\n 0\n );\n } else if (isReactImportSource(importSource)) {\n state.scopeTracker.trackReactVariable(alias, originalName, 0);\n }\n}\n\n/**\n * Handle import default specifiers\n * import GT from 'gt-next'\n */\nfunction handleImportDefaultSpecifier(\n state: TransformState,\n importNamespaceSpecifier: t.ImportDefaultSpecifier,\n importSource: string\n): void {\n const namespace = importNamespaceSpecifier.local.name;\n if (isGTImportSource(importSource)) {\n state.scopeTracker.addNamespaceImport(namespace);\n } else if (isReactImportSource(importSource)) {\n // TODO: track React import default\n // scopeTracker.addNamespaceImport(namespace);\n }\n}\n\n/**\n * Handle import namespace specifiers\n * import * as GT from 'gt-next'\n */\nfunction handleImportNamespaceSpecifier(\n state: TransformState,\n importNamespaceSpecifier: t.ImportNamespaceSpecifier,\n importSource: string\n): void {\n const namespace = importNamespaceSpecifier.local.name;\n if (isGTImportSource(importSource)) {\n state.scopeTracker.addNamespaceImport(namespace);\n } else if (isReactImportSource(importSource)) {\n // TODO: track React import namespace\n // scopeTracker.addNamespaceImport(namespace);\n }\n}\n"],"mappings":";;;;;;;;;;;;AAWA,SAAgB,uBACd,OACA,YACM;AACN,MAAK,MAAM,aAAa,WAAW,WACjC,KAAIA,aAAE,kBAAkB,UAAU,CAChC,uBAAsB,OAAO,WAAW,WAAW,OAAO,MAAM;UACvDA,aAAE,yBAAyB,UAAU,CAC9C,8BAA6B,OAAO,WAAW,WAAW,OAAO,MAAM;KAEvE,gCAA+B,OAAO,WAAW,WAAW,OAAO,MAAM;;;;;;AAS/E,SAAS,sBACP,OACA,iBACA,cACM;CACN,MAAM,QAAQ,gBAAgB,MAAM;CACpC,MAAM,eAAeA,aAAE,aAAa,gBAAgB,SAAS,GACzD,gBAAgB,SAAS,OACzB,gBAAgB,SAAS;AAC7B,KAAIC,mCAAAA,iBAAiB,aAAa,CAChC,OAAM,aAAa,yBACjB,OACA,cACA,EACD;UACQC,sCAAAA,oBAAoB,aAAa,CAC1C,OAAM,aAAa,mBAAmB,OAAO,cAAc,EAAE;;;;;;AAQjE,SAAS,6BACP,OACA,0BACA,cACM;CACN,MAAM,YAAY,yBAAyB,MAAM;AACjD,KAAID,mCAAAA,iBAAiB,aAAa,CAChC,OAAM,aAAa,mBAAmB,UAAU;UACvCC,sCAAAA,oBAAoB,aAAa,EAAE;;;;;;AAUhD,SAAS,+BACP,OACA,0BACA,cACM;CACN,MAAM,YAAY,yBAAyB,MAAM;AACjD,KAAID,mCAAAA,iBAAiB,aAAa,CAChC,OAAM,aAAa,mBAAmB,UAAU;UACvCC,sCAAAA,oBAAoB,aAAa,EAAE"}
@@ -1,15 +1,13 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.trackOverridingVariable = trackOverridingVariable;
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ //#region src/transform/tracking/trackOverridingVariable.ts
4
3
  /**
5
- * Track overriding variables (ones that shadow existing GT imports)
6
- */
4
+ * Track overriding variables (ones that shadow existing GT imports)
5
+ */
7
6
  function trackOverridingVariable(variableName, scopeTracker) {
8
- // Only track variables that override existing variables
9
- if (!scopeTracker.getVariable(variableName)) {
10
- return;
11
- }
12
- // Add tracking for the variable
13
- scopeTracker.trackRegularVariable(variableName, 'other');
7
+ if (!scopeTracker.getVariable(variableName)) return;
8
+ scopeTracker.trackRegularVariable(variableName, "other");
14
9
  }
10
+ //#endregion
11
+ exports.trackOverridingVariable = trackOverridingVariable;
12
+
15
13
  //# sourceMappingURL=trackOverridingVariable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"trackOverridingVariable.js","sourceRoot":"","sources":["../../../src/transform/tracking/trackOverridingVariable.ts"],"names":[],"mappings":";;AAKA,0DAWC;AAdD;;GAEG;AACH,SAAgB,uBAAuB,CACrC,YAAoB,EACpB,YAA0B;IAE1B,wDAAwD;IACxD,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC;QAC5C,OAAO;IACT,CAAC;IAED,gCAAgC;IAChC,YAAY,CAAC,oBAAoB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"trackOverridingVariable.js","names":[],"sources":["../../../src/transform/tracking/trackOverridingVariable.ts"],"sourcesContent":["import { ScopeTracker } from '../../state/ScopeTracker';\n\n/**\n * Track overriding variables (ones that shadow existing GT imports)\n */\nexport function trackOverridingVariable(\n variableName: string,\n scopeTracker: ScopeTracker\n): void {\n // Only track variables that override existing variables\n if (!scopeTracker.getVariable(variableName)) {\n return;\n }\n\n // Add tracking for the variable\n scopeTracker.trackRegularVariable(variableName, 'other');\n}\n"],"mappings":";;;;;AAKA,SAAgB,wBACd,cACA,cACM;AAEN,KAAI,CAAC,aAAa,YAAY,aAAa,CACzC;AAIF,cAAa,qBAAqB,cAAc,QAAQ"}
@@ -1,108 +1,57 @@
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.trackVariableDeclarator = trackVariableDeclarator;
37
- const t = __importStar(require("@babel/types"));
38
- const extractIdentifiersFromLVal_1 = require("../../utils/parsing/extractIdentifiersFromLVal");
39
- const constants_1 = require("../../utils/constants/gt/constants");
40
- const helpers_1 = require("../../utils/constants/gt/helpers");
41
- const getTrackedVariable_1 = require("../getTrackedVariable");
42
- const getCalleeNameFromExpressionWrapper_1 = require("../../utils/parsing/getCalleeNameFromExpressionWrapper");
43
- const errors_1 = require("../../utils/errors");
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_runtime = require("../../_virtual/_rolldown/runtime.js");
3
+ const require_utils_parsing_extractIdentifiersFromLVal = require("../../utils/parsing/extractIdentifiersFromLVal.js");
4
+ const require_utils_constants_gt_constants = require("../../utils/constants/gt/constants.js");
5
+ const require_utils_constants_gt_helpers = require("../../utils/constants/gt/helpers.js");
6
+ const require_transform_getTrackedVariable = require("../getTrackedVariable.js");
7
+ const require_utils_errors = require("../../utils/errors.js");
8
+ const require_utils_parsing_getCalleeNameFromExpressionWrapper = require("../../utils/parsing/getCalleeNameFromExpressionWrapper.js");
9
+ let _babel_types = require("@babel/types");
10
+ _babel_types = require_runtime.__toESM(_babel_types);
11
+ //#region src/transform/tracking/trackVariableDeclarator.ts
44
12
  /**
45
- * Track variable assignments.
46
- * - Track callback variables (via translation function invocations: useGT, useTranslations, useMessages, etc.)
47
- * - Track overriding variables
48
- *
49
- * GT callbacks:
50
- * - const gt = useGT()
51
- *
52
- * Overriding variables:
53
- * - const gt = msg("hello");
54
- * - const gt = "Hello"
55
- */
13
+ * Track variable assignments.
14
+ * - Track callback variables (via translation function invocations: useGT, useTranslations, useMessages, etc.)
15
+ * - Track overriding variables
16
+ *
17
+ * GT callbacks:
18
+ * - const gt = useGT()
19
+ *
20
+ * Overriding variables:
21
+ * - const gt = msg("hello");
22
+ * - const gt = "Hello"
23
+ */
56
24
  function trackVariableDeclarator(varDeclarator, state) {
57
- // Ignore non-LVal assignments
58
- if (!t.isLVal(varDeclarator.id)) {
59
- return;
60
- }
61
- // Get function name from callee
62
- const { namespaceName, functionName } = (0, getCalleeNameFromExpressionWrapper_1.getCalleeNameFromExpressionWrapper)(varDeclarator.init);
63
- if (!functionName) {
64
- handleOverridingVariable(varDeclarator, state.scopeTracker);
65
- return;
66
- }
67
- // Get the canonical function name
68
- const { canonicalName, type } = (0, getTrackedVariable_1.getTrackedVariable)(state.scopeTracker, namespaceName, functionName);
69
- if (!canonicalName) {
70
- handleOverridingVariable(varDeclarator, state.scopeTracker);
71
- return;
72
- }
73
- // Track:
74
- // (1) GT callback functions
75
- // (2) Variables with overriding names
76
- if (type !== 'generaltranslation' ||
77
- !(0, helpers_1.isGTFunctionWithCallbacks)(canonicalName)) {
78
- handleOverridingVariable(varDeclarator, state.scopeTracker);
79
- return;
80
- }
81
- // Extract identifiers from the LVal
82
- const identifiers = (0, extractIdentifiersFromLVal_1.extractIdentifiersFromLVal)(varDeclarator.id);
83
- // Track GT functions with callbacks (useGT, useTranslations, useMessages, etc.)
84
- const callbackFunctionName = constants_1.GT_FUNCTIONS_TO_CALLBACKS[canonicalName];
85
- // There can only be one callback defined for const gt = useGT()
86
- if (identifiers.length !== 1) {
87
- state.errorTracker.addError('Multiple identifiers found for GT function with callbacks: ${canonicalName}. Variable tracking failed.' +
88
- (0, errors_1.createErrorLocation)(varDeclarator.id));
89
- return;
90
- }
91
- const identifier = identifiers[0];
92
- // Increment the counter
93
- const counterId = state.stringCollector.incrementCounter();
94
- // Track as a callback variables
95
- state.scopeTracker.trackTranslationCallbackVariable(identifier, callbackFunctionName, counterId);
25
+ if (!_babel_types.isLVal(varDeclarator.id)) return;
26
+ const { namespaceName, functionName } = require_utils_parsing_getCalleeNameFromExpressionWrapper.getCalleeNameFromExpressionWrapper(varDeclarator.init);
27
+ if (!functionName) {
28
+ handleOverridingVariable(varDeclarator, state.scopeTracker);
29
+ return;
30
+ }
31
+ const { canonicalName, type } = require_transform_getTrackedVariable.getTrackedVariable(state.scopeTracker, namespaceName, functionName);
32
+ if (!canonicalName) {
33
+ handleOverridingVariable(varDeclarator, state.scopeTracker);
34
+ return;
35
+ }
36
+ if (type !== "generaltranslation" || !require_utils_constants_gt_helpers.isGTFunctionWithCallbacks(canonicalName)) {
37
+ handleOverridingVariable(varDeclarator, state.scopeTracker);
38
+ return;
39
+ }
40
+ const identifiers = require_utils_parsing_extractIdentifiersFromLVal.extractIdentifiersFromLVal(varDeclarator.id);
41
+ const callbackFunctionName = require_utils_constants_gt_constants.GT_FUNCTIONS_TO_CALLBACKS[canonicalName];
42
+ if (identifiers.length !== 1) {
43
+ state.errorTracker.addError("Multiple identifiers found for GT function with callbacks: ${canonicalName}. Variable tracking failed." + require_utils_errors.createErrorLocation(varDeclarator.id));
44
+ return;
45
+ }
46
+ const identifier = identifiers[0];
47
+ const counterId = state.stringCollector.incrementCounter();
48
+ state.scopeTracker.trackTranslationCallbackVariable(identifier, callbackFunctionName, counterId);
96
49
  }
97
- /* =============================== */
98
- /* Helper Functions */
99
- /* =============================== */
100
50
  function handleOverridingVariable(varDeclarator, scopeTracker) {
101
- // Extract identifiers from the LVal
102
- const identifiers = (0, extractIdentifiersFromLVal_1.extractIdentifiersFromLVal)(varDeclarator.id);
103
- // Track as an overriding variable
104
- for (const identifier of identifiers) {
105
- scopeTracker.trackRegularVariable(identifier, 'other');
106
- }
51
+ const identifiers = require_utils_parsing_extractIdentifiersFromLVal.extractIdentifiersFromLVal(varDeclarator.id);
52
+ for (const identifier of identifiers) scopeTracker.trackRegularVariable(identifier, "other");
107
53
  }
54
+ //#endregion
55
+ exports.trackVariableDeclarator = trackVariableDeclarator;
56
+
108
57
  //# sourceMappingURL=trackVariableDeclarator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"trackVariableDeclarator.js","sourceRoot":"","sources":["../../../src/transform/tracking/trackVariableDeclarator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA,0DA0EC;AA/FD,gDAAkC;AAClC,+FAA4F;AAC5F,kEAA+E;AAC/E,8DAA6E;AAC7E,8DAA2D;AAC3D,+GAA4G;AAC5G,+CAAyD;AAGzD;;;;;;;;;;;GAWG;AACH,SAAgB,uBAAuB,CACrC,aAAmC,EACnC,KAAqB;IAErB,8BAA8B;IAC9B,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC;QAChC,OAAO;IACT,CAAC;IAED,gCAAgC;IAChC,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,IAAA,uEAAkC,EACxE,aAAa,CAAC,IAAI,CACnB,CAAC;IACF,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,wBAAwB,CACtB,aAAsD,EACtD,KAAK,CAAC,YAAY,CACnB,CAAC;QACF,OAAO;IACT,CAAC;IAED,kCAAkC;IAClC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,IAAA,uCAAkB,EAChD,KAAK,CAAC,YAAY,EAClB,aAAa,EACb,YAAY,CACb,CAAC;IACF,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,wBAAwB,CACtB,aAAsD,EACtD,KAAK,CAAC,YAAY,CACnB,CAAC;QACF,OAAO;IACT,CAAC;IAED,SAAS;IACT,4BAA4B;IAC5B,sCAAsC;IACtC,IACE,IAAI,KAAK,oBAAoB;QAC7B,CAAC,IAAA,mCAAyB,EAAC,aAAa,CAAC,EACzC,CAAC;QACD,wBAAwB,CACtB,aAAsD,EACtD,KAAK,CAAC,YAAY,CACnB,CAAC;QACF,OAAO;IACT,CAAC;IAED,oCAAoC;IACpC,MAAM,WAAW,GAAG,IAAA,uDAA0B,EAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAEjE,gFAAgF;IAChF,MAAM,oBAAoB,GAAG,qCAAyB,CAAC,aAAa,CAAC,CAAC;IAEtE,gEAAgE;IAChE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,YAAY,CAAC,QAAQ,CACzB,wGAAwG;YACtG,IAAA,4BAAmB,EAAC,aAAa,CAAC,EAAE,CAAC,CACxC,CAAC;QACF,OAAO;IACT,CAAC;IACD,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAElC,wBAAwB;IACxB,MAAM,SAAS,GAAG,KAAK,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC;IAE3D,gCAAgC;IAChC,KAAK,CAAC,YAAY,CAAC,gCAAgC,CACjD,UAAU,EACV,oBAAoB,EACpB,SAAS,CACV,CAAC;AACJ,CAAC;AAED,qCAAqC;AACrC,sBAAsB;AACtB,qCAAqC;AAErC,SAAS,wBAAwB,CAC/B,aAAoD,EACpD,YAA0B;IAE1B,oCAAoC;IACpC,MAAM,WAAW,GAAG,IAAA,uDAA0B,EAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAEjE,kCAAkC;IAClC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,YAAY,CAAC,oBAAoB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"trackVariableDeclarator.js","names":["t","getCalleeNameFromExpressionWrapper","getTrackedVariable","isGTFunctionWithCallbacks","extractIdentifiersFromLVal","GT_FUNCTIONS_TO_CALLBACKS","createErrorLocation"],"sources":["../../../src/transform/tracking/trackVariableDeclarator.ts"],"sourcesContent":["import { TransformState } from '../../state/types';\nimport * as t from '@babel/types';\nimport { extractIdentifiersFromLVal } from '../../utils/parsing/extractIdentifiersFromLVal';\nimport { GT_FUNCTIONS_TO_CALLBACKS } from '../../utils/constants/gt/constants';\nimport { isGTFunctionWithCallbacks } from '../../utils/constants/gt/helpers';\nimport { getTrackedVariable } from '../getTrackedVariable';\nimport { getCalleeNameFromExpressionWrapper } from '../../utils/parsing/getCalleeNameFromExpressionWrapper';\nimport { createErrorLocation } from '../../utils/errors';\nimport { ScopeTracker } from '../../state/ScopeTracker';\n\n/**\n * Track variable assignments.\n * - Track callback variables (via translation function invocations: useGT, useTranslations, useMessages, etc.)\n * - Track overriding variables\n *\n * GT callbacks:\n * - const gt = useGT()\n *\n * Overriding variables:\n * - const gt = msg(\"hello\");\n * - const gt = \"Hello\"\n */\nexport function trackVariableDeclarator(\n varDeclarator: t.VariableDeclarator,\n state: TransformState\n): void {\n // Ignore non-LVal assignments\n if (!t.isLVal(varDeclarator.id)) {\n return;\n }\n\n // Get function name from callee\n const { namespaceName, functionName } = getCalleeNameFromExpressionWrapper(\n varDeclarator.init\n );\n if (!functionName) {\n handleOverridingVariable(\n varDeclarator as t.VariableDeclarator & { id: t.LVal },\n state.scopeTracker\n );\n return;\n }\n\n // Get the canonical function name\n const { canonicalName, type } = getTrackedVariable(\n state.scopeTracker,\n namespaceName,\n functionName\n );\n if (!canonicalName) {\n handleOverridingVariable(\n varDeclarator as t.VariableDeclarator & { id: t.LVal },\n state.scopeTracker\n );\n return;\n }\n\n // Track:\n // (1) GT callback functions\n // (2) Variables with overriding names\n if (\n type !== 'generaltranslation' ||\n !isGTFunctionWithCallbacks(canonicalName)\n ) {\n handleOverridingVariable(\n varDeclarator as t.VariableDeclarator & { id: t.LVal },\n state.scopeTracker\n );\n return;\n }\n\n // Extract identifiers from the LVal\n const identifiers = extractIdentifiersFromLVal(varDeclarator.id);\n\n // Track GT functions with callbacks (useGT, useTranslations, useMessages, etc.)\n const callbackFunctionName = GT_FUNCTIONS_TO_CALLBACKS[canonicalName];\n\n // There can only be one callback defined for const gt = useGT()\n if (identifiers.length !== 1) {\n state.errorTracker.addError(\n 'Multiple identifiers found for GT function with callbacks: ${canonicalName}. Variable tracking failed.' +\n createErrorLocation(varDeclarator.id)\n );\n return;\n }\n const identifier = identifiers[0];\n\n // Increment the counter\n const counterId = state.stringCollector.incrementCounter();\n\n // Track as a callback variables\n state.scopeTracker.trackTranslationCallbackVariable(\n identifier,\n callbackFunctionName,\n counterId\n );\n}\n\n/* =============================== */\n/* Helper Functions */\n/* =============================== */\n\nfunction handleOverridingVariable(\n varDeclarator: t.VariableDeclarator & { id: t.LVal },\n scopeTracker: ScopeTracker\n): void {\n // Extract identifiers from the LVal\n const identifiers = extractIdentifiersFromLVal(varDeclarator.id);\n\n // Track as an overriding variable\n for (const identifier of identifiers) {\n scopeTracker.trackRegularVariable(identifier, 'other');\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAsBA,SAAgB,wBACd,eACA,OACM;AAEN,KAAI,CAACA,aAAE,OAAO,cAAc,GAAG,CAC7B;CAIF,MAAM,EAAE,eAAe,iBAAiBC,yDAAAA,mCACtC,cAAc,KACf;AACD,KAAI,CAAC,cAAc;AACjB,2BACE,eACA,MAAM,aACP;AACD;;CAIF,MAAM,EAAE,eAAe,SAASC,qCAAAA,mBAC9B,MAAM,cACN,eACA,aACD;AACD,KAAI,CAAC,eAAe;AAClB,2BACE,eACA,MAAM,aACP;AACD;;AAMF,KACE,SAAS,wBACT,CAACC,mCAAAA,0BAA0B,cAAc,EACzC;AACA,2BACE,eACA,MAAM,aACP;AACD;;CAIF,MAAM,cAAcC,iDAAAA,2BAA2B,cAAc,GAAG;CAGhE,MAAM,uBAAuBC,qCAAAA,0BAA0B;AAGvD,KAAI,YAAY,WAAW,GAAG;AAC5B,QAAM,aAAa,SACjB,2GACEC,qBAAAA,oBAAoB,cAAc,GAAG,CACxC;AACD;;CAEF,MAAM,aAAa,YAAY;CAG/B,MAAM,YAAY,MAAM,gBAAgB,kBAAkB;AAG1D,OAAM,aAAa,iCACjB,YACA,sBACA,UACD;;AAOH,SAAS,yBACP,eACA,cACM;CAEN,MAAM,cAAcF,iDAAAA,2BAA2B,cAAc,GAAG;AAGhE,MAAK,MAAM,cAAc,YACvB,cAAa,qBAAqB,YAAY,QAAQ"}
@@ -1,7 +1,7 @@
1
1
  import { TransformState } from '../../state/types';
2
2
  import * as t from '@babel/types';
3
3
  import type { NodePath } from '@babel/traverse';
4
- import { JsxChildren } from 'generaltranslation/types';
4
+ import type { JsxChildren } from '@generaltranslation/format/types';
5
5
  /**
6
6
  * Given a translation component, validate the arguments
7
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"validateTranslationComponentArgs.d.ts","sourceRoot":"","sources":["../../../src/transform/validation/validateTranslationComponentArgs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAMvD;;GAEG;AACH,wBAAgB,gCAAgC,CAC9C,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,EACxC,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,cAAc,GACpB;IACD,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAwCA;AAmDD;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,EACtC,KAAK,EAAE,cAAc,GACpB;IACD,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAkCA"}
1
+ {"version":3,"file":"validateTranslationComponentArgs.d.ts","sourceRoot":"","sources":["../../../src/transform/validation/validateTranslationComponentArgs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAMpE;;GAEG;AACH,wBAAgB,gCAAgC,CAC9C,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,EACxC,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,cAAc,GACpB;IACD,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAwCA;AAmDD;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,EACtC,KAAK,EAAE,cAAc,GACpB;IACD,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAkCA"}