@generaltranslation/compiler 0.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (327) hide show
  1. package/LICENSE.md +105 -0
  2. package/README.md +274 -0
  3. package/dist/config.d.ts +25 -0
  4. package/dist/config.d.ts.map +1 -0
  5. package/dist/config.js +6 -0
  6. package/dist/config.js.map +1 -0
  7. package/dist/index.d.ts +68 -0
  8. package/dist/index.d.ts.map +1 -0
  9. package/dist/index.js +132 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/passes/basePass.d.ts +4 -0
  12. package/dist/passes/basePass.d.ts.map +1 -0
  13. package/dist/passes/basePass.js +86 -0
  14. package/dist/passes/basePass.js.map +1 -0
  15. package/dist/passes/handleErrors.d.ts +13 -0
  16. package/dist/passes/handleErrors.d.ts.map +1 -0
  17. package/dist/passes/handleErrors.js +35 -0
  18. package/dist/passes/handleErrors.js.map +1 -0
  19. package/dist/processing/first-pass/processCallExpression.d.ts +12 -0
  20. package/dist/processing/first-pass/processCallExpression.d.ts.map +1 -0
  21. package/dist/processing/first-pass/processCallExpression.js +203 -0
  22. package/dist/processing/first-pass/processCallExpression.js.map +1 -0
  23. package/dist/processing/first-pass/processVariableDeclarator.d.ts +17 -0
  24. package/dist/processing/first-pass/processVariableDeclarator.d.ts.map +1 -0
  25. package/dist/processing/first-pass/processVariableDeclarator.js +22 -0
  26. package/dist/processing/first-pass/processVariableDeclarator.js.map +1 -0
  27. package/dist/processing/index.d.ts +15 -0
  28. package/dist/processing/index.d.ts.map +1 -0
  29. package/dist/processing/index.js +31 -0
  30. package/dist/processing/index.js.map +1 -0
  31. package/dist/processing/processArrowFunctionExpression.d.ts +9 -0
  32. package/dist/processing/processArrowFunctionExpression.d.ts.map +1 -0
  33. package/dist/processing/processArrowFunctionExpression.js +20 -0
  34. package/dist/processing/processArrowFunctionExpression.js.map +1 -0
  35. package/dist/processing/processAssignmentExpression.d.ts +9 -0
  36. package/dist/processing/processAssignmentExpression.d.ts.map +1 -0
  37. package/dist/processing/processAssignmentExpression.js +14 -0
  38. package/dist/processing/processAssignmentExpression.js.map +1 -0
  39. package/dist/processing/processCatchClause.d.ts +9 -0
  40. package/dist/processing/processCatchClause.d.ts.map +1 -0
  41. package/dist/processing/processCatchClause.js +20 -0
  42. package/dist/processing/processCatchClause.js.map +1 -0
  43. package/dist/processing/processClassDeclaration.d.ts +9 -0
  44. package/dist/processing/processClassDeclaration.d.ts.map +1 -0
  45. package/dist/processing/processClassDeclaration.js +20 -0
  46. package/dist/processing/processClassDeclaration.js.map +1 -0
  47. package/dist/processing/processClassMethod.d.ts +9 -0
  48. package/dist/processing/processClassMethod.d.ts.map +1 -0
  49. package/dist/processing/processClassMethod.js +21 -0
  50. package/dist/processing/processClassMethod.js.map +1 -0
  51. package/dist/processing/processClassPrivateMethod.d.ts +9 -0
  52. package/dist/processing/processClassPrivateMethod.d.ts.map +1 -0
  53. package/dist/processing/processClassPrivateMethod.js +21 -0
  54. package/dist/processing/processClassPrivateMethod.js.map +1 -0
  55. package/dist/processing/processForInStatement.d.ts +9 -0
  56. package/dist/processing/processForInStatement.d.ts.map +1 -0
  57. package/dist/processing/processForInStatement.js +20 -0
  58. package/dist/processing/processForInStatement.js.map +1 -0
  59. package/dist/processing/processForOfStatement.d.ts +9 -0
  60. package/dist/processing/processForOfStatement.d.ts.map +1 -0
  61. package/dist/processing/processForOfStatement.js +20 -0
  62. package/dist/processing/processForOfStatement.js.map +1 -0
  63. package/dist/processing/processFunctionDeclaration.d.ts +9 -0
  64. package/dist/processing/processFunctionDeclaration.d.ts.map +1 -0
  65. package/dist/processing/processFunctionDeclaration.js +22 -0
  66. package/dist/processing/processFunctionDeclaration.js.map +1 -0
  67. package/dist/processing/processFunctionExpression.d.ts +13 -0
  68. package/dist/processing/processFunctionExpression.d.ts.map +1 -0
  69. package/dist/processing/processFunctionExpression.js +28 -0
  70. package/dist/processing/processFunctionExpression.js.map +1 -0
  71. package/dist/processing/processImportDeclaration.d.ts +8 -0
  72. package/dist/processing/processImportDeclaration.d.ts.map +1 -0
  73. package/dist/processing/processImportDeclaration.js +13 -0
  74. package/dist/processing/processImportDeclaration.js.map +1 -0
  75. package/dist/processing/processObjectMethod.d.ts +10 -0
  76. package/dist/processing/processObjectMethod.d.ts.map +1 -0
  77. package/dist/processing/processObjectMethod.js +22 -0
  78. package/dist/processing/processObjectMethod.js.map +1 -0
  79. package/dist/processing/processProgram.d.ts +9 -0
  80. package/dist/processing/processProgram.d.ts.map +1 -0
  81. package/dist/processing/processProgram.js +17 -0
  82. package/dist/processing/processProgram.js.map +1 -0
  83. package/dist/processing/processScopeChange.d.ts +8 -0
  84. package/dist/processing/processScopeChange.d.ts.map +1 -0
  85. package/dist/processing/processScopeChange.js +17 -0
  86. package/dist/processing/processScopeChange.js.map +1 -0
  87. package/dist/processing/second-pass/processCallExpression.d.ts +8 -0
  88. package/dist/processing/second-pass/processCallExpression.d.ts.map +1 -0
  89. package/dist/processing/second-pass/processCallExpression.js +147 -0
  90. package/dist/processing/second-pass/processCallExpression.js.map +1 -0
  91. package/dist/processing/second-pass/processVariableDeclarator.d.ts +17 -0
  92. package/dist/processing/second-pass/processVariableDeclarator.d.ts.map +1 -0
  93. package/dist/processing/second-pass/processVariableDeclarator.js +24 -0
  94. package/dist/processing/second-pass/processVariableDeclarator.js.map +1 -0
  95. package/dist/state/ErrorTracker.d.ts +7 -0
  96. package/dist/state/ErrorTracker.d.ts.map +1 -0
  97. package/dist/state/ErrorTracker.js +19 -0
  98. package/dist/state/ErrorTracker.js.map +1 -0
  99. package/dist/state/Logger.d.ts +23 -0
  100. package/dist/state/Logger.d.ts.map +1 -0
  101. package/dist/state/Logger.js +56 -0
  102. package/dist/state/Logger.js.map +1 -0
  103. package/dist/state/ScopeTracker.d.ts +126 -0
  104. package/dist/state/ScopeTracker.d.ts.map +1 -0
  105. package/dist/state/ScopeTracker.js +212 -0
  106. package/dist/state/ScopeTracker.js.map +1 -0
  107. package/dist/state/StringCollector.d.ts +108 -0
  108. package/dist/state/StringCollector.d.ts.map +1 -0
  109. package/dist/state/StringCollector.js +159 -0
  110. package/dist/state/StringCollector.js.map +1 -0
  111. package/dist/state/types.d.ts +21 -0
  112. package/dist/state/types.d.ts.map +1 -0
  113. package/dist/state/types.js +3 -0
  114. package/dist/state/types.js.map +1 -0
  115. package/dist/state/utils/initializeState.d.ts +7 -0
  116. package/dist/state/utils/initializeState.d.ts.map +1 -0
  117. package/dist/state/utils/initializeState.js +30 -0
  118. package/dist/state/utils/initializeState.js.map +1 -0
  119. package/dist/transform/getTrackedVariable.d.ts +14 -0
  120. package/dist/transform/getTrackedVariable.d.ts.map +1 -0
  121. package/dist/transform/getTrackedVariable.js +42 -0
  122. package/dist/transform/getTrackedVariable.js.map +1 -0
  123. package/dist/transform/injection/callbacks/injectUseGTCallbackParameters.d.ts +8 -0
  124. package/dist/transform/injection/callbacks/injectUseGTCallbackParameters.d.ts.map +1 -0
  125. package/dist/transform/injection/callbacks/injectUseGTCallbackParameters.js +84 -0
  126. package/dist/transform/injection/callbacks/injectUseGTCallbackParameters.js.map +1 -0
  127. package/dist/transform/injection/callbacks/injectUseMessagesCallbackParameters.d.ts +7 -0
  128. package/dist/transform/injection/callbacks/injectUseMessagesCallbackParameters.d.ts.map +1 -0
  129. package/dist/transform/injection/callbacks/injectUseMessagesCallbackParameters.js +8 -0
  130. package/dist/transform/injection/callbacks/injectUseMessagesCallbackParameters.js.map +1 -0
  131. package/dist/transform/injection/callbacks/injectUseTranslationsCallbackParameters.d.ts +7 -0
  132. package/dist/transform/injection/callbacks/injectUseTranslationsCallbackParameters.d.ts.map +1 -0
  133. package/dist/transform/injection/callbacks/injectUseTranslationsCallbackParameters.js +8 -0
  134. package/dist/transform/injection/callbacks/injectUseTranslationsCallbackParameters.js.map +1 -0
  135. package/dist/transform/injection/injectCallbackDeclaratorFunctionParameters.d.ts +8 -0
  136. package/dist/transform/injection/injectCallbackDeclaratorFunctionParameters.d.ts.map +1 -0
  137. package/dist/transform/injection/injectCallbackDeclaratorFunctionParameters.js +160 -0
  138. package/dist/transform/injection/injectCallbackDeclaratorFunctionParameters.js.map +1 -0
  139. package/dist/transform/injection/injectTComponentParameters.d.ts +7 -0
  140. package/dist/transform/injection/injectTComponentParameters.d.ts.map +1 -0
  141. package/dist/transform/injection/injectTComponentParameters.js +69 -0
  142. package/dist/transform/injection/injectTComponentParameters.js.map +1 -0
  143. package/dist/transform/jsx-children/constructJsxChildren.d.ts +17 -0
  144. package/dist/transform/jsx-children/constructJsxChildren.d.ts.map +1 -0
  145. package/dist/transform/jsx-children/constructJsxChildren.js +387 -0
  146. package/dist/transform/jsx-children/constructJsxChildren.js.map +1 -0
  147. package/dist/transform/jsx-children/index.d.ts +2 -0
  148. package/dist/transform/jsx-children/index.d.ts.map +1 -0
  149. package/dist/transform/jsx-children/index.js +6 -0
  150. package/dist/transform/jsx-children/index.js.map +1 -0
  151. package/dist/transform/jsx-children/utils/getBranchComponentParameters.d.ts +6 -0
  152. package/dist/transform/jsx-children/utils/getBranchComponentParameters.d.ts.map +1 -0
  153. package/dist/transform/jsx-children/utils/getBranchComponentParameters.js +82 -0
  154. package/dist/transform/jsx-children/utils/getBranchComponentParameters.js.map +1 -0
  155. package/dist/transform/jsx-children/utils/getCalleeNameFromJsxExpressionParam.d.ts +10 -0
  156. package/dist/transform/jsx-children/utils/getCalleeNameFromJsxExpressionParam.d.ts.map +1 -0
  157. package/dist/transform/jsx-children/utils/getCalleeNameFromJsxExpressionParam.js +62 -0
  158. package/dist/transform/jsx-children/utils/getCalleeNameFromJsxExpressionParam.js.map +1 -0
  159. package/dist/transform/jsx-children/utils/id.d.ts +8 -0
  160. package/dist/transform/jsx-children/utils/id.d.ts.map +1 -0
  161. package/dist/transform/jsx-children/utils/id.js +19 -0
  162. package/dist/transform/jsx-children/utils/id.js.map +1 -0
  163. package/dist/transform/jsx-children/validation/validateChildrenElement.d.ts +6 -0
  164. package/dist/transform/jsx-children/validation/validateChildrenElement.d.ts.map +1 -0
  165. package/dist/transform/jsx-children/validation/validateChildrenElement.js +51 -0
  166. package/dist/transform/jsx-children/validation/validateChildrenElement.js.map +1 -0
  167. package/dist/transform/jsx-children/validation/validateChildrenFromArgs.d.ts +9 -0
  168. package/dist/transform/jsx-children/validation/validateChildrenFromArgs.d.ts.map +1 -0
  169. package/dist/transform/jsx-children/validation/validateChildrenFromArgs.js +57 -0
  170. package/dist/transform/jsx-children/validation/validateChildrenFromArgs.js.map +1 -0
  171. package/dist/transform/jsx-children/validation/validateIdentifier.d.ts +11 -0
  172. package/dist/transform/jsx-children/validation/validateIdentifier.d.ts.map +1 -0
  173. package/dist/transform/jsx-children/validation/validateIdentifier.js +45 -0
  174. package/dist/transform/jsx-children/validation/validateIdentifier.js.map +1 -0
  175. package/dist/transform/jsx-children/validation/validateJsxCall.d.ts +7 -0
  176. package/dist/transform/jsx-children/validation/validateJsxCall.d.ts.map +1 -0
  177. package/dist/transform/jsx-children/validation/validateJsxCall.js +30 -0
  178. package/dist/transform/jsx-children/validation/validateJsxCall.js.map +1 -0
  179. package/dist/transform/jsx-children/validation/validateNameFieldForVarComponent.d.ts +11 -0
  180. package/dist/transform/jsx-children/validation/validateNameFieldForVarComponent.d.ts.map +1 -0
  181. package/dist/transform/jsx-children/validation/validateNameFieldForVarComponent.js +65 -0
  182. package/dist/transform/jsx-children/validation/validateNameFieldForVarComponent.js.map +1 -0
  183. package/dist/transform/jsx-children/validation/validateStringLiteralPropertyFromArg.d.ts +9 -0
  184. package/dist/transform/jsx-children/validation/validateStringLiteralPropertyFromArg.d.ts.map +1 -0
  185. package/dist/transform/jsx-children/validation/validateStringLiteralPropertyFromArg.js +70 -0
  186. package/dist/transform/jsx-children/validation/validateStringLiteralPropertyFromArg.js.map +1 -0
  187. package/dist/transform/jsx-children/validation/validateTemplateLiteral.d.ts +9 -0
  188. package/dist/transform/jsx-children/validation/validateTemplateLiteral.d.ts.map +1 -0
  189. package/dist/transform/jsx-children/validation/validateTemplateLiteral.js +17 -0
  190. package/dist/transform/jsx-children/validation/validateTemplateLiteral.js.map +1 -0
  191. package/dist/transform/jsx-children/validation/validateUnaryExpression.d.ts +10 -0
  192. package/dist/transform/jsx-children/validation/validateUnaryExpression.d.ts.map +1 -0
  193. package/dist/transform/jsx-children/validation/validateUnaryExpression.js +65 -0
  194. package/dist/transform/jsx-children/validation/validateUnaryExpression.js.map +1 -0
  195. package/dist/transform/registration/callbacks/registerUseGTCallback.d.ts +7 -0
  196. package/dist/transform/registration/callbacks/registerUseGTCallback.d.ts.map +1 -0
  197. package/dist/transform/registration/callbacks/registerUseGTCallback.js +26 -0
  198. package/dist/transform/registration/callbacks/registerUseGTCallback.js.map +1 -0
  199. package/dist/transform/registration/callbacks/registerUseMessagesCallback.d.ts +7 -0
  200. package/dist/transform/registration/callbacks/registerUseMessagesCallback.d.ts.map +1 -0
  201. package/dist/transform/registration/callbacks/registerUseMessagesCallback.js +11 -0
  202. package/dist/transform/registration/callbacks/registerUseMessagesCallback.js.map +1 -0
  203. package/dist/transform/registration/callbacks/registerUseTranslationsCallback.d.ts +7 -0
  204. package/dist/transform/registration/callbacks/registerUseTranslationsCallback.d.ts.map +1 -0
  205. package/dist/transform/registration/callbacks/registerUseTranslationsCallback.js +11 -0
  206. package/dist/transform/registration/callbacks/registerUseTranslationsCallback.js.map +1 -0
  207. package/dist/transform/registration/registerTranslationComponent.d.ts +7 -0
  208. package/dist/transform/registration/registerTranslationComponent.d.ts.map +1 -0
  209. package/dist/transform/registration/registerTranslationComponent.js +16 -0
  210. package/dist/transform/registration/registerTranslationComponent.js.map +1 -0
  211. package/dist/transform/tracking/trackAssignmentExpression.d.ts +8 -0
  212. package/dist/transform/tracking/trackAssignmentExpression.d.ts.map +1 -0
  213. package/dist/transform/tracking/trackAssignmentExpression.js +71 -0
  214. package/dist/transform/tracking/trackAssignmentExpression.js.map +1 -0
  215. package/dist/transform/tracking/trackCatchClause.d.ts +8 -0
  216. package/dist/transform/tracking/trackCatchClause.d.ts.map +1 -0
  217. package/dist/transform/tracking/trackCatchClause.js +52 -0
  218. package/dist/transform/tracking/trackCatchClause.js.map +1 -0
  219. package/dist/transform/tracking/trackClassDeclaration.d.ts +8 -0
  220. package/dist/transform/tracking/trackClassDeclaration.d.ts.map +1 -0
  221. package/dist/transform/tracking/trackClassDeclaration.js +17 -0
  222. package/dist/transform/tracking/trackClassDeclaration.js.map +1 -0
  223. package/dist/transform/tracking/trackForDeclaration.d.ts +9 -0
  224. package/dist/transform/tracking/trackForDeclaration.d.ts.map +1 -0
  225. package/dist/transform/tracking/trackForDeclaration.js +57 -0
  226. package/dist/transform/tracking/trackForDeclaration.js.map +1 -0
  227. package/dist/transform/tracking/trackFunctionName.d.ts +9 -0
  228. package/dist/transform/tracking/trackFunctionName.d.ts.map +1 -0
  229. package/dist/transform/tracking/trackFunctionName.js +13 -0
  230. package/dist/transform/tracking/trackFunctionName.js.map +1 -0
  231. package/dist/transform/tracking/trackFunctionParams.d.ts +9 -0
  232. package/dist/transform/tracking/trackFunctionParams.d.ts.map +1 -0
  233. package/dist/transform/tracking/trackFunctionParams.js +58 -0
  234. package/dist/transform/tracking/trackFunctionParams.js.map +1 -0
  235. package/dist/transform/tracking/trackImportDeclaration.d.ts +9 -0
  236. package/dist/transform/tracking/trackImportDeclaration.d.ts.map +1 -0
  237. package/dist/transform/tracking/trackImportDeclaration.js +102 -0
  238. package/dist/transform/tracking/trackImportDeclaration.js.map +1 -0
  239. package/dist/transform/tracking/trackLabeledStatement.d.ts +8 -0
  240. package/dist/transform/tracking/trackLabeledStatement.d.ts.map +1 -0
  241. package/dist/transform/tracking/trackLabeledStatement.js +13 -0
  242. package/dist/transform/tracking/trackLabeledStatement.js.map +1 -0
  243. package/dist/transform/tracking/trackOverridingVariable.d.ts +6 -0
  244. package/dist/transform/tracking/trackOverridingVariable.d.ts.map +1 -0
  245. package/dist/transform/tracking/trackOverridingVariable.js +15 -0
  246. package/dist/transform/tracking/trackOverridingVariable.js.map +1 -0
  247. package/dist/transform/tracking/trackVariableDeclarator.d.ts +16 -0
  248. package/dist/transform/tracking/trackVariableDeclarator.d.ts.map +1 -0
  249. package/dist/transform/tracking/trackVariableDeclarator.js +108 -0
  250. package/dist/transform/tracking/trackVariableDeclarator.js.map +1 -0
  251. package/dist/transform/validation/validateTranslationComponentArgs.d.ts +21 -0
  252. package/dist/transform/validation/validateTranslationComponentArgs.d.ts.map +1 -0
  253. package/dist/transform/validation/validateTranslationComponentArgs.js +167 -0
  254. package/dist/transform/validation/validateTranslationComponentArgs.js.map +1 -0
  255. package/dist/utils/constants/gt/constants.d.ts +96 -0
  256. package/dist/utils/constants/gt/constants.d.ts.map +1 -0
  257. package/dist/utils/constants/gt/constants.js +115 -0
  258. package/dist/utils/constants/gt/constants.js.map +1 -0
  259. package/dist/utils/constants/gt/helpers.d.ts +73 -0
  260. package/dist/utils/constants/gt/helpers.d.ts.map +1 -0
  261. package/dist/utils/constants/gt/helpers.js +165 -0
  262. package/dist/utils/constants/gt/helpers.js.map +1 -0
  263. package/dist/utils/constants/other/constants.d.ts +26 -0
  264. package/dist/utils/constants/other/constants.d.ts.map +1 -0
  265. package/dist/utils/constants/other/constants.js +46 -0
  266. package/dist/utils/constants/other/constants.js.map +1 -0
  267. package/dist/utils/constants/other/helpers.d.ts +10 -0
  268. package/dist/utils/constants/other/helpers.d.ts.map +1 -0
  269. package/dist/utils/constants/other/helpers.js +18 -0
  270. package/dist/utils/constants/other/helpers.js.map +1 -0
  271. package/dist/utils/constants/react/constants.d.ts +32 -0
  272. package/dist/utils/constants/react/constants.d.ts.map +1 -0
  273. package/dist/utils/constants/react/constants.js +47 -0
  274. package/dist/utils/constants/react/constants.js.map +1 -0
  275. package/dist/utils/constants/react/helpers.d.ts +15 -0
  276. package/dist/utils/constants/react/helpers.d.ts.map +1 -0
  277. package/dist/utils/constants/react/helpers.js +26 -0
  278. package/dist/utils/constants/react/helpers.js.map +1 -0
  279. package/dist/utils/errors.d.ts +8 -0
  280. package/dist/utils/errors.d.ts.map +1 -0
  281. package/dist/utils/errors.js +26 -0
  282. package/dist/utils/errors.js.map +1 -0
  283. package/dist/utils/parsing/extractIdentifiersFromLVal.d.ts +6 -0
  284. package/dist/utils/parsing/extractIdentifiersFromLVal.d.ts.map +1 -0
  285. package/dist/utils/parsing/extractIdentifiersFromLVal.js +106 -0
  286. package/dist/utils/parsing/extractIdentifiersFromLVal.js.map +1 -0
  287. package/dist/utils/parsing/getAttr.d.ts +6 -0
  288. package/dist/utils/parsing/getAttr.d.ts.map +1 -0
  289. package/dist/utils/parsing/getAttr.js +71 -0
  290. package/dist/utils/parsing/getAttr.js.map +1 -0
  291. package/dist/utils/parsing/getCalleeNameFromExpression.d.ts +10 -0
  292. package/dist/utils/parsing/getCalleeNameFromExpression.d.ts.map +1 -0
  293. package/dist/utils/parsing/getCalleeNameFromExpression.js +69 -0
  294. package/dist/utils/parsing/getCalleeNameFromExpression.js.map +1 -0
  295. package/dist/utils/parsing/getCalleeNameFromExpressionWrapper.d.ts +9 -0
  296. package/dist/utils/parsing/getCalleeNameFromExpressionWrapper.d.ts.map +1 -0
  297. package/dist/utils/parsing/getCalleeNameFromExpressionWrapper.js +14 -0
  298. package/dist/utils/parsing/getCalleeNameFromExpressionWrapper.js.map +1 -0
  299. package/dist/utils/parsing/getObjectPropertyFromObjectExpression.d.ts +6 -0
  300. package/dist/utils/parsing/getObjectPropertyFromObjectExpression.d.ts.map +1 -0
  301. package/dist/utils/parsing/getObjectPropertyFromObjectExpression.js +55 -0
  302. package/dist/utils/parsing/getObjectPropertyFromObjectExpression.js.map +1 -0
  303. package/dist/utils/parsing/getStringLiteralFromExpression.d.ts +6 -0
  304. package/dist/utils/parsing/getStringLiteralFromExpression.d.ts.map +1 -0
  305. package/dist/utils/parsing/getStringLiteralFromExpression.js +53 -0
  306. package/dist/utils/parsing/getStringLiteralFromExpression.js.map +1 -0
  307. package/dist/utils/parsing/getStringLiteralFromObjectExpression.d.ts +6 -0
  308. package/dist/utils/parsing/getStringLiteralFromObjectExpression.d.ts.map +1 -0
  309. package/dist/utils/parsing/getStringLiteralFromObjectExpression.js +64 -0
  310. package/dist/utils/parsing/getStringLiteralFromObjectExpression.js.map +1 -0
  311. package/dist/utils/parsing/getTag.d.ts +8 -0
  312. package/dist/utils/parsing/getTag.d.ts.map +1 -0
  313. package/dist/utils/parsing/getTag.js +81 -0
  314. package/dist/utils/parsing/getTag.js.map +1 -0
  315. package/dist/utils/validation/validateChildrenFromObjectExpression.d.ts +10 -0
  316. package/dist/utils/validation/validateChildrenFromObjectExpression.d.ts.map +1 -0
  317. package/dist/utils/validation/validateChildrenFromObjectExpression.js +61 -0
  318. package/dist/utils/validation/validateChildrenFromObjectExpression.js.map +1 -0
  319. package/dist/utils/validation/validateExpressionIsStringLiteral.d.ts +8 -0
  320. package/dist/utils/validation/validateExpressionIsStringLiteral.d.ts.map +1 -0
  321. package/dist/utils/validation/validateExpressionIsStringLiteral.js +52 -0
  322. package/dist/utils/validation/validateExpressionIsStringLiteral.js.map +1 -0
  323. package/dist/utils/validation/validateTranslationFunctionCallback.d.ts +28 -0
  324. package/dist/utils/validation/validateTranslationFunctionCallback.d.ts.map +1 -0
  325. package/dist/utils/validation/validateTranslationFunctionCallback.js +154 -0
  326. package/dist/utils/validation/validateTranslationFunctionCallback.js.map +1 -0
  327. package/package.json +60 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processVariableDeclarator.js","sourceRoot":"","sources":["../../../src/processing/second-pass/processVariableDeclarator.ts"],"names":[],"mappings":";;AAkBA,8DAOC;AAtBD,8FAA2F;AAC3F,qIAAkI;AAElI;;;;;;;;;;;GAWG;AACH,SAAgB,yBAAyB,CACvC,KAAqB;IAErB,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,IAAA,iDAAuB,EAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC1C,IAAA,uFAA0C,EAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/D,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare class ErrorTracker {
2
+ private errors;
3
+ addErrors(errors: string[]): void;
4
+ addError(error: string): void;
5
+ getErrors(): string[];
6
+ }
7
+ //# sourceMappingURL=ErrorTracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorTracker.d.ts","sourceRoot":"","sources":["../../src/state/ErrorTracker.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAgB;IAE9B,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE;IAI1B,QAAQ,CAAC,KAAK,EAAE,MAAM;IAItB,SAAS;CAGV"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ErrorTracker = void 0;
4
+ class ErrorTracker {
5
+ constructor() {
6
+ this.errors = [];
7
+ }
8
+ addErrors(errors) {
9
+ this.errors.push(...errors);
10
+ }
11
+ addError(error) {
12
+ this.errors.push(error);
13
+ }
14
+ getErrors() {
15
+ return this.errors;
16
+ }
17
+ }
18
+ exports.ErrorTracker = ErrorTracker;
19
+ //# sourceMappingURL=ErrorTracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorTracker.js","sourceRoot":"","sources":["../../src/state/ErrorTracker.ts"],"names":[],"mappings":";;;AAAA,MAAa,YAAY;IAAzB;QACU,WAAM,GAAa,EAAE,CAAC;IAahC,CAAC;IAXC,SAAS,CAAC,MAAgB;QACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,QAAQ,CAAC,KAAa;QACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF;AAdD,oCAcC"}
@@ -0,0 +1,23 @@
1
+ import { LogLevel as LogLevelType } from '../config';
2
+ export declare const LogLevel: {
3
+ readonly Silent: "silent";
4
+ readonly Error: "error";
5
+ readonly Warn: "warn";
6
+ readonly Info: "info";
7
+ readonly Debug: "debug";
8
+ };
9
+ export type LogLevel = LogLevelType;
10
+ /**
11
+ * Logger for the GT Babel plugin
12
+ */
13
+ export declare class Logger {
14
+ private logLevel;
15
+ private static readonly LOG_LEVELS;
16
+ constructor(logLevel: LogLevelType);
17
+ logError(message: string): void;
18
+ logWarning(message: string): void;
19
+ logInfo(message: string): void;
20
+ logDebug(message: string): void;
21
+ shouldLog(level: LogLevelType): boolean;
22
+ }
23
+ //# sourceMappingURL=Logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../../src/state/Logger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,WAAW,CAAC;AAErD,eAAO,MAAM,QAAQ;;;;;;CAMX,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,YAAY,CAAC;AAEpC;;GAEG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAMhC;gBAEU,QAAQ,EAAE,YAAY;IAIlC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAM/B,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAMjC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAM9B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAM/B,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO;CAUxC"}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Logger = exports.LogLevel = void 0;
4
+ exports.LogLevel = {
5
+ Silent: 'silent',
6
+ Error: 'error',
7
+ Warn: 'warn',
8
+ Info: 'info',
9
+ Debug: 'debug',
10
+ };
11
+ /**
12
+ * Logger for the GT Babel plugin
13
+ */
14
+ class Logger {
15
+ constructor(logLevel) {
16
+ this.logLevel = logLevel;
17
+ }
18
+ logError(message) {
19
+ if (this.shouldLog('error')) {
20
+ console.error(`[gt-compiler] ERROR: ${message}`);
21
+ }
22
+ }
23
+ logWarning(message) {
24
+ if (this.shouldLog('warn')) {
25
+ console.warn(`[gt-compiler] WARN: ${message}`);
26
+ }
27
+ }
28
+ logInfo(message) {
29
+ if (this.shouldLog('info')) {
30
+ console.info(`[gt-compiler] INFO: ${message}`);
31
+ }
32
+ }
33
+ logDebug(message) {
34
+ if (this.shouldLog('debug')) {
35
+ console.log(`[gt-compiler] DEBUG: ${message}`);
36
+ }
37
+ }
38
+ shouldLog(level) {
39
+ // Silent mode blocks all logging, including silent itself
40
+ if (this.logLevel === 'silent') {
41
+ return false;
42
+ }
43
+ const currentLevel = Logger.LOG_LEVELS[this.logLevel];
44
+ const messageLevel = Logger.LOG_LEVELS[level];
45
+ return messageLevel <= currentLevel;
46
+ }
47
+ }
48
+ exports.Logger = Logger;
49
+ Logger.LOG_LEVELS = {
50
+ silent: 0,
51
+ error: 1,
52
+ warn: 2,
53
+ info: 3,
54
+ debug: 4,
55
+ };
56
+ //# sourceMappingURL=Logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../src/state/Logger.ts"],"names":[],"mappings":";;;AAGa,QAAA,QAAQ,GAAG;IACtB,MAAM,EAAE,QAAiB;IACzB,KAAK,EAAE,OAAgB;IACvB,IAAI,EAAE,MAAe;IACrB,IAAI,EAAE,MAAe;IACrB,KAAK,EAAE,OAAgB;CACf,CAAC;AAIX;;GAEG;AACH,MAAa,MAAM;IAUjB,YAAY,QAAsB;QAChC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,QAAQ,CAAC,OAAe;QACtB,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,KAAK,CAAC,wBAAwB,OAAO,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,UAAU,CAAC,OAAe;QACxB,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,uBAAuB,OAAO,EAAE,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED,OAAO,CAAC,OAAe;QACrB,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,uBAAuB,OAAO,EAAE,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,OAAe;QACtB,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,wBAAwB,OAAO,EAAE,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED,SAAS,CAAC,KAAmB;QAC3B,0DAA0D;QAC1D,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,YAAY,IAAI,YAAY,CAAC;IACtC,CAAC;;AA/CH,wBAgDC;AA9CyB,iBAAU,GAAiC;IACjE,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;CACT,CAAC"}
@@ -0,0 +1,126 @@
1
+ /**
2
+ * Scope Tracker - Handles variable scoping and import tracking
3
+ *
4
+ * Tracks useGT/getGT variable assignments across nested scopes
5
+ * Manages variable shadowing and GT component imports
6
+ */
7
+ import { GT_ALL_FUNCTIONS, GT_CALLBACK_FUNCTIONS } from '../utils/constants/gt/constants';
8
+ /**
9
+ * Information about a scope
10
+ */
11
+ export interface ScopeInfo {
12
+ /** The scope ID */
13
+ id: number;
14
+ /** The parent scope ID */
15
+ parentId: number;
16
+ /** The depth of the scope */
17
+ depth: number;
18
+ }
19
+ /**
20
+ * Variable type represents which group the variable belongs to
21
+ */
22
+ export type VariableType = 'generaltranslation' | 'react' | 'other';
23
+ /**
24
+ * Information about a scoped variable assignment
25
+ */
26
+ export interface ScopedVariable {
27
+ /** The scope ID */
28
+ scopeId: number;
29
+ /** The canonical name of the variable (useGT, getGT, T, etc.) */
30
+ canonicalName: string | GT_ALL_FUNCTIONS;
31
+ /** The variable name (t, translationFunction, etc.) */
32
+ aliasName: string;
33
+ /** Whether the variable is a translation function
34
+ * @deprecated
35
+ */
36
+ isTranslationFunction: boolean;
37
+ type: VariableType;
38
+ /** The identifier for the variable */
39
+ identifier: number;
40
+ }
41
+ export interface ScopedGTFunction extends ScopedVariable {
42
+ /** The canonical name of the GT function (useGT, getGT, etc.) */
43
+ canonicalName: GT_ALL_FUNCTIONS;
44
+ /** The type of GT function */
45
+ type: 'generaltranslation';
46
+ }
47
+ /**
48
+ * Tracks scope hierarchy and variable assignments within scopes
49
+ */
50
+ export declare class ScopeTracker {
51
+ /** Next scope ID to assign */
52
+ private nextScopeId;
53
+ /** Current scope being processed */
54
+ private currentScope;
55
+ /** Stack to track scope nesting for proper exit handling */
56
+ private scopeStack;
57
+ /** Information about each scope */
58
+ private scopeInfo;
59
+ /** Variables tracked per scope */
60
+ private scopedVariables;
61
+ /** Namespace imports (e.g., GT from 'gt-next') */
62
+ private namespaceImports;
63
+ /**
64
+ * Enter a new scope and return the new scope ID
65
+ */
66
+ enterScope(): number;
67
+ /**
68
+ * Exit the current scope and return to parent (with aggressive cleanup)
69
+ */
70
+ exitScope(): void;
71
+ /**
72
+ * Track a variable assignment in the current scope
73
+ */
74
+ trackVariable(aliasName: string, canonicalName: string, isTranslationFunction: boolean, type: VariableType, identifier: number): void;
75
+ /**
76
+ * Track a translation function variable
77
+ */
78
+ trackTranslationVariable(aliasName: string, canonicalName: GT_ALL_FUNCTIONS, identifier: number): void;
79
+ /**
80
+ * Track a translation callback function variable
81
+ * const useGT_callback = useGT()
82
+ * @param aliasName - The alias name of callback variable
83
+ * @param canonicalName - The canonical name of the callback function
84
+ * @param identifier - The identifier of the callback function
85
+ * TODO: canonicalName might have to be shifted to the name of the RValue eg useGT in t = useGT() so you can properly map back to the original function
86
+ */
87
+ trackTranslationCallbackVariable(aliasName: string, canonicalName: GT_CALLBACK_FUNCTIONS, identifier: number): void;
88
+ /**
89
+ * Track react variable
90
+ */
91
+ trackReactVariable(variableName: string, assignedValue: string, identifier: number): void;
92
+ /**
93
+ * Track a non-translation variable (convenience method)
94
+ */
95
+ trackRegularVariable(variableName: string, assignedValue: string): void;
96
+ /**
97
+ * Find if a variable is accessible in the current scope
98
+ */
99
+ getVariable(variableName: string): ScopedVariable | undefined;
100
+ /**
101
+ * Get the translation variable info if it exists in current scope
102
+ */
103
+ getTranslationVariable(variableName: string): ScopedGTFunction | undefined;
104
+ private isScopedGTFunction;
105
+ /**
106
+ * Add a namespace import (e.g., GT from 'gt-next')
107
+ */
108
+ addNamespaceImport(name: string): void;
109
+ /**
110
+ * Check if a namespace import exists
111
+ */
112
+ hasNamespaceImport(name: string): boolean;
113
+ /**
114
+ * Get scope info for debugging
115
+ */
116
+ getScopeInfo(scopeId: number): ScopeInfo | undefined;
117
+ /**
118
+ * Helper convert to string
119
+ */
120
+ serialize(): any;
121
+ /**
122
+ * Helper to repopulate
123
+ */
124
+ unserialize(input: any): void;
125
+ }
126
+ //# sourceMappingURL=ScopeTracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScopeTracker.d.ts","sourceRoot":"","sources":["../../src/state/ScopeTracker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACtB,MAAM,iCAAiC,CAAC;AAKzC;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,mBAAmB;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,oBAAoB,GAAG,OAAO,GAAG,OAAO,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,mBAAmB;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,iEAAiE;IACjE,aAAa,EAAE,MAAM,GAAG,gBAAgB,CAAC;IACzC,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,qBAAqB,EAAE,OAAO,CAAC;IAC/B,IAAI,EAAE,YAAY,CAAC;IACnB,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,iEAAiE;IACjE,aAAa,EAAE,gBAAgB,CAAC;IAChC,8BAA8B;IAC9B,IAAI,EAAE,oBAAoB,CAAC;CAC5B;AAED;;GAEG;AACH,qBAAa,YAAY;IACvB,8BAA8B;IAC9B,OAAO,CAAC,WAAW,CAAa;IAChC,oCAAoC;IACpC,OAAO,CAAC,YAAY,CAAa;IACjC,4DAA4D;IAC5D,OAAO,CAAC,UAAU,CAAgB;IAClC,mCAAmC;IACnC,OAAO,CAAC,SAAS,CAAqC;IACtD,kCAAkC;IAClC,OAAO,CAAC,eAAe,CAA4C;IACnE,kDAAkD;IAClD,OAAO,CAAC,gBAAgB,CAA0B;IAMlD;;OAEG;IACH,UAAU,IAAI,MAAM;IAmBpB;;OAEG;IACH,SAAS,IAAI,IAAI;IAwCjB;;OAEG;IACH,aAAa,CACX,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,qBAAqB,EAAE,OAAO,EAC9B,IAAI,EAAE,YAAY,EAClB,UAAU,EAAE,MAAM,GACjB,IAAI;IAeP;;OAEG;IACH,wBAAwB,CACtB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,gBAAgB,EAC/B,UAAU,EAAE,MAAM,GACjB,IAAI;IAUP;;;;;;;OAOG;IACH,gCAAgC,CAC9B,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,qBAAqB,EACpC,UAAU,EAAE,MAAM,GACjB,IAAI;IAUP;;OAEG;IACH,kBAAkB,CAChB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,GACjB,IAAI;IAIP;;OAEG;IACH,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IAQvE;;OAEG;IACH,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAS7D;;OAEG;IACH,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAa1E,OAAO,CAAC,kBAAkB;IAU1B;;OAEG;IACH,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAItC;;OAEG;IACH,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAQzC;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAIpD;;OAEG;IACH,SAAS,IAAI,GAAG;IAWhB;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;CAa9B"}
@@ -0,0 +1,212 @@
1
+ "use strict";
2
+ /**
3
+ * Scope Tracker - Handles variable scoping and import tracking
4
+ *
5
+ * Tracks useGT/getGT variable assignments across nested scopes
6
+ * Manages variable shadowing and GT component imports
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.ScopeTracker = void 0;
10
+ /**
11
+ * Tracks scope hierarchy and variable assignments within scopes
12
+ */
13
+ class ScopeTracker {
14
+ constructor() {
15
+ /** Next scope ID to assign */
16
+ this.nextScopeId = 1; // Start at 1, reserve 0 for "no scope"
17
+ /** Current scope being processed */
18
+ this.currentScope = 0;
19
+ /** Stack to track scope nesting for proper exit handling */
20
+ this.scopeStack = [];
21
+ /** Information about each scope */
22
+ this.scopeInfo = new Map();
23
+ /** Variables tracked per scope */
24
+ this.scopedVariables = new Map();
25
+ /** Namespace imports (e.g., GT from 'gt-next') */
26
+ this.namespaceImports = new Set();
27
+ }
28
+ /* =============================== */
29
+ /* Scope Tracker Methods */
30
+ /* =============================== */
31
+ /**
32
+ * Enter a new scope and return the new scope ID
33
+ */
34
+ enterScope() {
35
+ const newScopeId = this.nextScopeId;
36
+ this.nextScopeId += 1;
37
+ const scopeInfo = {
38
+ id: newScopeId,
39
+ parentId: this.currentScope,
40
+ depth: this.currentScope !== 0 ? this.scopeStack.length + 1 : 0,
41
+ };
42
+ this.scopeInfo.set(newScopeId, scopeInfo);
43
+ // Push current scope to stack
44
+ this.scopeStack.push(this.currentScope);
45
+ this.currentScope = newScopeId;
46
+ return newScopeId;
47
+ }
48
+ /**
49
+ * Exit the current scope and return to parent (with aggressive cleanup)
50
+ */
51
+ exitScope() {
52
+ var _a;
53
+ if (this.currentScope === 0) {
54
+ return;
55
+ }
56
+ // Remove all variables from the exiting scope immediately
57
+ for (const [varName, variables] of this.scopedVariables.entries()) {
58
+ // Filter out variables from the current scope
59
+ // TODO: there is definitely an O(1) solution here rather than iterating over each entire list
60
+ const filteredVars = variables.filter((variable) => variable.scopeId !== this.currentScope);
61
+ if (filteredVars.length === 0) {
62
+ // Remove empty variable name entries
63
+ this.scopedVariables.delete(varName);
64
+ }
65
+ else {
66
+ this.scopedVariables.set(varName, filteredVars);
67
+ }
68
+ }
69
+ // Get parent scope from the scope info before removing it
70
+ const parentId = ((_a = this.scopeInfo.get(this.currentScope)) === null || _a === void 0 ? void 0 : _a.parentId) || 0;
71
+ // Remove scope info for the exiting scope
72
+ this.scopeInfo.delete(this.currentScope);
73
+ // Update current scope to parent
74
+ this.currentScope = parentId;
75
+ // Pop from stack if there are items
76
+ if (this.scopeStack.length > 0) {
77
+ this.scopeStack.pop();
78
+ }
79
+ }
80
+ /* =============================== */
81
+ /* Variable Tracking Methods */
82
+ /* =============================== */
83
+ /**
84
+ * Track a variable assignment in the current scope
85
+ */
86
+ trackVariable(aliasName, canonicalName, isTranslationFunction, type, identifier) {
87
+ const scopedVar = {
88
+ scopeId: this.currentScope,
89
+ canonicalName,
90
+ aliasName,
91
+ isTranslationFunction,
92
+ type,
93
+ identifier,
94
+ };
95
+ const existingVars = this.scopedVariables.get(aliasName) || [];
96
+ existingVars.push(scopedVar);
97
+ this.scopedVariables.set(aliasName, existingVars);
98
+ }
99
+ /**
100
+ * Track a translation function variable
101
+ */
102
+ trackTranslationVariable(aliasName, canonicalName, identifier) {
103
+ this.trackVariable(aliasName, canonicalName, true, 'generaltranslation', identifier);
104
+ }
105
+ /**
106
+ * Track a translation callback function variable
107
+ * const useGT_callback = useGT()
108
+ * @param aliasName - The alias name of callback variable
109
+ * @param canonicalName - The canonical name of the callback function
110
+ * @param identifier - The identifier of the callback function
111
+ * TODO: canonicalName might have to be shifted to the name of the RValue eg useGT in t = useGT() so you can properly map back to the original function
112
+ */
113
+ trackTranslationCallbackVariable(aliasName, canonicalName, identifier) {
114
+ this.trackVariable(aliasName, canonicalName, true, 'generaltranslation', identifier);
115
+ }
116
+ /**
117
+ * Track react variable
118
+ */
119
+ trackReactVariable(variableName, assignedValue, identifier) {
120
+ this.trackVariable(variableName, assignedValue, false, 'react', identifier);
121
+ }
122
+ /**
123
+ * Track a non-translation variable (convenience method)
124
+ */
125
+ trackRegularVariable(variableName, assignedValue) {
126
+ this.trackVariable(variableName, assignedValue, false, 'other', 0); // 0 because we don't care about the identifier
127
+ }
128
+ /* =============================== */
129
+ /* Variable Retrieval Methods */
130
+ /* =============================== */
131
+ /**
132
+ * Find if a variable is accessible in the current scope
133
+ */
134
+ getVariable(variableName) {
135
+ const variables = this.scopedVariables.get(variableName);
136
+ if (variables && variables.length > 0) {
137
+ // Return the last (most recent) variable - handles shadowing
138
+ return variables[variables.length - 1];
139
+ }
140
+ return undefined;
141
+ }
142
+ /**
143
+ * Get the translation variable info if it exists in current scope
144
+ */
145
+ getTranslationVariable(variableName) {
146
+ const variable = this.getVariable(variableName);
147
+ if (!variable) {
148
+ return undefined;
149
+ }
150
+ // Check if the variable is a translation function
151
+ if (!this.isScopedGTFunction(variable)) {
152
+ return undefined;
153
+ }
154
+ return variable;
155
+ }
156
+ isScopedGTFunction(variable) {
157
+ return variable.type === 'generaltranslation';
158
+ }
159
+ /* =============================== */
160
+ /* Namespace Import Methods */
161
+ /* =============================== */
162
+ /**
163
+ * Add a namespace import (e.g., GT from 'gt-next')
164
+ */
165
+ addNamespaceImport(name) {
166
+ this.namespaceImports.add(name);
167
+ }
168
+ /**
169
+ * Check if a namespace import exists
170
+ */
171
+ hasNamespaceImport(name) {
172
+ return this.namespaceImports.has(name);
173
+ }
174
+ /* =============================== */
175
+ /* Debugging Methods */
176
+ /* =============================== */
177
+ /**
178
+ * Get scope info for debugging
179
+ */
180
+ getScopeInfo(scopeId) {
181
+ return this.scopeInfo.get(scopeId) || undefined;
182
+ }
183
+ /**
184
+ * Helper convert to string
185
+ */
186
+ serialize() {
187
+ return {
188
+ nextScopeId: this.nextScopeId,
189
+ currentScope: this.currentScope,
190
+ scopeStack: this.scopeStack,
191
+ scopeInfo: Object.fromEntries(this.scopeInfo),
192
+ scopedVariables: Object.fromEntries(this.scopedVariables),
193
+ namespaceImports: Array.from(this.namespaceImports),
194
+ };
195
+ }
196
+ /**
197
+ * Helper to repopulate
198
+ */
199
+ unserialize(input) {
200
+ this.nextScopeId = input.nextScopeId;
201
+ this.currentScope = input.currentScope;
202
+ this.scopeStack = input.scopeStack;
203
+ this.scopeInfo = new Map(Object.entries(input.scopeInfo).map(([key, value]) => [
204
+ Number(key),
205
+ value,
206
+ ]));
207
+ this.scopedVariables = new Map(Object.entries(input.scopedVariables));
208
+ this.namespaceImports = new Set(input.namespaceImports);
209
+ }
210
+ }
211
+ exports.ScopeTracker = ScopeTracker;
212
+ //# sourceMappingURL=ScopeTracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScopeTracker.js","sourceRoot":"","sources":["../../src/state/ScopeTracker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * String Collector - Manages translation content across two-pass transformation
3
+ *
4
+ * Pass 1: Collects translation strings, JSX content, and hash data
5
+ * Pass 2: Injects collected data back into useGT()/getGT() calls
6
+ */
7
+ /**
8
+ * Content extracted from a t() function call
9
+ */
10
+ export interface TranslationContent {
11
+ /** The string message: t("Hello world") → "Hello world" */
12
+ message: string;
13
+ /** Pre-calculated hash for this content */
14
+ hash: string;
15
+ /** Optional ID from options: t("text", {id: "greeting"}) → "greeting" */
16
+ id?: string;
17
+ /** Optional context from options: t("text", {context: "nav"}) → "nav" */
18
+ context?: string;
19
+ }
20
+ /**
21
+ * Content extracted from JSX translation components like <T>
22
+ */
23
+ export interface TranslationJsx {
24
+ /** Pre-calculated hash for this JSX content */
25
+ hash: string;
26
+ }
27
+ /**
28
+ * Just a hash value for simple hash injection
29
+ */
30
+ export interface TranslationHash {
31
+ /** The hash value to inject */
32
+ hash: string;
33
+ }
34
+ /**
35
+ * String collector for two-pass transformation system
36
+ */
37
+ export declare class StringCollector {
38
+ /** Vector of translation calls indexed by counter ID */
39
+ private contentAggregators;
40
+ private jsxAggregators;
41
+ private hashAggregators;
42
+ /** Global counter incremented for each useGT/getGT call encountered */
43
+ private globalCallCounter;
44
+ /**
45
+ * Increment counter and return the current counter ID for a useGT/getGT call
46
+ * These IDs are deterministic
47
+ */
48
+ incrementCounter(): number;
49
+ /**
50
+ * Get current global counter value
51
+ */
52
+ getCounter(): number;
53
+ /**
54
+ * Pass 1: Add translation content from a gt() call to a specific useGT/getGT aggregator
55
+ * Multiple content items can be added to the same call
56
+ */
57
+ pushTranslationContent(counterId: number, content: TranslationContent): void;
58
+ /**
59
+ * Pass 1: Set JSX translation content for a specific useGT/getGT
60
+ * Only one JSX item can be set per call (overwrites if called multiple times)
61
+ */
62
+ setTranslationJsx(counterId: number, jsx: TranslationJsx): void;
63
+ /**
64
+ * Pass 1: Set hash-only content for a specific useGT/getGT
65
+ * Only one hash can be set per call (overwrites if called multiple times)
66
+ */
67
+ setTranslationHash(counterId: number, hash: TranslationHash): void;
68
+ /**
69
+ * Pass 2: Get translation call data for injection into a specific useGT/getGT call
70
+ */
71
+ getTranslationData(counterId: number): {
72
+ type: 'content' | 'jsx' | 'hash';
73
+ value: TranslationContent[] | TranslationJsx | TranslationHash;
74
+ } | undefined;
75
+ /**
76
+ * Get the translation content for a specific useGT/getGT call
77
+ */
78
+ getTranslationContent(counterId: number): TranslationContent[] | undefined;
79
+ /**
80
+ * Get the translation JSX for a specific <T> component
81
+ */
82
+ getTranslationJsx(counterId: number): TranslationJsx | undefined;
83
+ /**
84
+ * Get the translation hash for a specific other call
85
+ */
86
+ getTranslationHash(counterId: number): TranslationHash | undefined;
87
+ /**
88
+ * Reset all state (useful for testing)
89
+ */
90
+ clear(): void;
91
+ /**
92
+ * Reset the counter to zero
93
+ */
94
+ resetCounter(): void;
95
+ /**
96
+ * Has content
97
+ */
98
+ hasContent(): boolean;
99
+ /**
100
+ * Helper convert to string
101
+ */
102
+ serialize(): any;
103
+ /**
104
+ * Helper to repopulate
105
+ */
106
+ unserialize(input: any): void;
107
+ }
108
+ //# sourceMappingURL=StringCollector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StringCollector.d.ts","sourceRoot":"","sources":["../../src/state/StringCollector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,yEAAyE;IACzE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B,wDAAwD;IACxD,OAAO,CAAC,kBAAkB,CAAgD;IAC1E,OAAO,CAAC,cAAc,CAA0C;IAChE,OAAO,CAAC,eAAe,CAA2C;IAClE,uEAAuE;IACvE,OAAO,CAAC,iBAAiB,CAAa;IAEtC;;;OAGG;IACH,gBAAgB,IAAI,MAAM;IAK1B;;OAEG;IACH,UAAU,IAAI,MAAM;IAIpB;;;OAGG;IACH,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAgB5E;;;OAGG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI;IAI/D;;;OAGG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,IAAI;IAIlE;;OAEG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAChC;QACE,IAAI,EAAE,SAAS,GAAG,KAAK,GAAG,MAAM,CAAC;QACjC,KAAK,EAAE,kBAAkB,EAAE,GAAG,cAAc,GAAG,eAAe,CAAC;KAChE,GACD,SAAS;IAab;;OAEG;IACH,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,kBAAkB,EAAE,GAAG,SAAS;IAI1E;;OAEG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAIhE;;OAEG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAIlE;;OAEG;IACH,KAAK,IAAI,IAAI;IAOb;;OAEG;IACH,YAAY,IAAI,IAAI;IAIpB;;OAEG;IACH,UAAU,IAAI,OAAO;IASrB;;OAEG;IACH,SAAS,IAAI,GAAG;IAUhB;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;CAqB9B"}