@generaltranslation/compiler 1.1.30 → 1.1.31

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 (40) hide show
  1. package/dist/passes/macroExpansionPass.d.ts.map +1 -1
  2. package/dist/passes/macroExpansionPass.js +2 -2
  3. package/dist/passes/macroExpansionPass.js.map +1 -1
  4. package/dist/processing/macro-expansion/processCallExpression.d.ts.map +1 -1
  5. package/dist/processing/macro-expansion/processCallExpression.js +4 -2
  6. package/dist/processing/macro-expansion/processCallExpression.js.map +1 -1
  7. package/dist/processing/macro-expansion/processTaggedTemplateExpression.js +1 -1
  8. package/dist/processing/macro-expansion/processTaggedTemplateExpression.js.map +1 -1
  9. package/dist/transform/macro-expansion/transformConcatenation.d.ts +5 -4
  10. package/dist/transform/macro-expansion/transformConcatenation.d.ts.map +1 -1
  11. package/dist/transform/macro-expansion/transformConcatenation.js +9 -57
  12. package/dist/transform/macro-expansion/transformConcatenation.js.map +1 -1
  13. package/dist/transform/macro-expansion/transformTemplateLiteral.d.ts +6 -2
  14. package/dist/transform/macro-expansion/transformTemplateLiteral.d.ts.map +1 -1
  15. package/dist/transform/macro-expansion/transformTemplateLiteral.js +10 -55
  16. package/dist/transform/macro-expansion/transformTemplateLiteral.js.map +1 -1
  17. package/dist/transform/templates-and-concat/buildTransformationResult.d.ts +14 -0
  18. package/dist/transform/templates-and-concat/buildTransformationResult.d.ts.map +1 -0
  19. package/dist/transform/templates-and-concat/buildTransformationResult.js +100 -0
  20. package/dist/transform/templates-and-concat/buildTransformationResult.js.map +1 -0
  21. package/dist/transform/templates-and-concat/flattenExpressionToParts.d.ts +19 -0
  22. package/dist/transform/templates-and-concat/flattenExpressionToParts.d.ts.map +1 -0
  23. package/dist/transform/templates-and-concat/flattenExpressionToParts.js +86 -0
  24. package/dist/transform/templates-and-concat/flattenExpressionToParts.js.map +1 -0
  25. package/dist/transform/templates-and-concat/mergeAdjacentStaticParts.d.ts +6 -0
  26. package/dist/transform/templates-and-concat/mergeAdjacentStaticParts.d.ts.map +1 -0
  27. package/dist/transform/templates-and-concat/mergeAdjacentStaticParts.js +22 -0
  28. package/dist/transform/templates-and-concat/mergeAdjacentStaticParts.js.map +1 -0
  29. package/dist/utils/constants/gt/constants.d.ts +4 -0
  30. package/dist/utils/constants/gt/constants.d.ts.map +1 -1
  31. package/dist/utils/constants/gt/constants.js +8 -1
  32. package/dist/utils/constants/gt/constants.js.map +1 -1
  33. package/dist/utils/parsing/isDeriveInvocation.d.ts +9 -0
  34. package/dist/utils/parsing/isDeriveInvocation.d.ts.map +1 -0
  35. package/dist/utils/parsing/{flattenConcatenation.js → isDeriveInvocation.js} +27 -14
  36. package/dist/utils/parsing/isDeriveInvocation.js.map +1 -0
  37. package/package.json +2 -2
  38. package/dist/utils/parsing/flattenConcatenation.d.ts +0 -9
  39. package/dist/utils/parsing/flattenConcatenation.d.ts.map +0 -1
  40. package/dist/utils/parsing/flattenConcatenation.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"macroExpansionPass.d.ts","sourceRoot":"","sources":["../../src/passes/macroExpansionPass.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAMhD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,CAkBzE"}
1
+ {"version":3,"file":"macroExpansionPass.d.ts","sourceRoot":"","sources":["../../src/passes/macroExpansionPass.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAKhD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,CAmBzE"}
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.macroExpansionPass = macroExpansionPass;
4
4
  const processTaggedTemplateExpression_1 = require("../processing/macro-expansion/processTaggedTemplateExpression");
5
- const processCallExpression_1 = require("../processing/macro-expansion/processCallExpression");
6
5
  const processImportDeclaration_1 = require("../processing/macro-expansion/processImportDeclaration");
7
6
  const processProgram_1 = require("../processing/macro-expansion/processProgram");
8
7
  /**
@@ -21,7 +20,8 @@ function macroExpansionPass(state) {
21
20
  return {
22
21
  ImportDeclaration: (0, processImportDeclaration_1.processImportDeclaration)(onImportFound),
23
22
  TaggedTemplateExpression: (0, processTaggedTemplateExpression_1.processTaggedTemplateExpression)(state),
24
- CallExpression: (0, processCallExpression_1.processCallExpression)(state),
23
+ // Disabling this to be re-enabled at stage 4
24
+ // CallExpression: processCallExpression(state),
25
25
  Program: (0, processProgram_1.processProgram)({
26
26
  state,
27
27
  countBefore,
@@ -1 +1 @@
1
- {"version":3,"file":"macroExpansionPass.js","sourceRoot":"","sources":["../../src/passes/macroExpansionPass.ts"],"names":[],"mappings":";;AAcA,gDAkBC;AA9BD,mHAAgH;AAChH,+FAA4F;AAC5F,qGAAkG;AAClG,iFAA8E;AAE9E;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAAC,KAAqB;IACtD,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC;IAE1D,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,eAAe,GAAG,IAAI,CAAC;IACzB,CAAC,CAAC;IAEF,OAAO;QACL,iBAAiB,EAAE,IAAA,mDAAwB,EAAC,aAAa,CAAC;QAC1D,wBAAwB,EAAE,IAAA,iEAA+B,EAAC,KAAK,CAAC;QAChE,cAAc,EAAE,IAAA,6CAAqB,EAAC,KAAK,CAAC;QAC5C,OAAO,EAAE,IAAA,+BAAc,EAAC;YACtB,KAAK;YACL,WAAW;YACX,iBAAiB,EAAE,GAAG,EAAE,CAAC,eAAe;SACzC,CAAC;KACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"macroExpansionPass.js","sourceRoot":"","sources":["../../src/passes/macroExpansionPass.ts"],"names":[],"mappings":";;AAaA,gDAmBC;AA9BD,mHAAgH;AAChH,qGAAkG;AAClG,iFAA8E;AAE9E;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAAC,KAAqB;IACtD,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC;IAE1D,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,eAAe,GAAG,IAAI,CAAC;IACzB,CAAC,CAAC;IAEF,OAAO;QACL,iBAAiB,EAAE,IAAA,mDAAwB,EAAC,aAAa,CAAC;QAC1D,wBAAwB,EAAE,IAAA,iEAA+B,EAAC,KAAK,CAAC;QAChE,6CAA6C;QAC7C,gDAAgD;QAChD,OAAO,EAAE,IAAA,+BAAc,EAAC;YACtB,KAAK;YACL,WAAW;YACX,iBAAiB,EAAE,GAAG,EAAE,CAAC,eAAe;SACzC,CAAC;KACH,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"processCallExpression.d.ts","sourceRoot":"","sources":["../../../src/processing/macro-expansion/processCallExpression.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAKnD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,cAAc,GACpB,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,cAAc,CAAC,CA0CrC"}
1
+ {"version":3,"file":"processCallExpression.d.ts","sourceRoot":"","sources":["../../../src/processing/macro-expansion/processCallExpression.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAKnD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,cAAc,GACpB,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,cAAc,CAAC,CA+CrC"}
@@ -49,6 +49,7 @@ const constants_1 = require("../../utils/constants/gt/constants");
49
49
  function processCallExpression(state) {
50
50
  const symbol = state.settings.stringTranslationMacro;
51
51
  return (path) => {
52
+ var _a;
52
53
  if (!t.isIdentifier(path.node.callee, { name: symbol }))
53
54
  return;
54
55
  // Only transform unbound t (global macro) or t imported from a GT source
@@ -65,9 +66,10 @@ function processCallExpression(state) {
65
66
  const firstArg = path.node.arguments[0];
66
67
  if (!firstArg)
67
68
  return;
69
+ const firstArgPath = (_a = path.get('arguments')) === null || _a === void 0 ? void 0 : _a[0];
68
70
  if (state.settings.enableTemplateLiteralArg &&
69
71
  t.isTemplateLiteral(firstArg)) {
70
- const { message, variables } = (0, transformTemplateLiteral_1.transformTemplateLiteral)(firstArg);
72
+ const { message, variables } = (0, transformTemplateLiteral_1.transformTemplateLiteral)(firstArgPath);
71
73
  path.node.arguments[0] = message;
72
74
  if (variables) {
73
75
  mergeVariables(path.node.arguments, variables);
@@ -75,7 +77,7 @@ function processCallExpression(state) {
75
77
  }
76
78
  else if (state.settings.enableConcatenationArg &&
77
79
  t.isBinaryExpression(firstArg, { operator: '+' })) {
78
- const { message, variables } = (0, transformConcatenation_1.transformConcatenation)(firstArg);
80
+ const { message, variables } = (0, transformConcatenation_1.transformConcatenation)(firstArgPath);
79
81
  path.node.arguments[0] = message;
80
82
  if (variables) {
81
83
  mergeVariables(path.node.arguments, variables);
@@ -1 +1 @@
1
- {"version":3,"file":"processCallExpression.js","sourceRoot":"","sources":["../../../src/processing/macro-expansion/processCallExpression.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,sDA4CC;AA1DD,gDAAkC;AAElC,uGAAoG;AACpG,mGAAgG;AAChG,kEAAuE;AAEvE;;;;;;;GAOG;AACH,SAAgB,qBAAqB,CACnC,KAAqB;IAErB,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAErD,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAAE,OAAO;QAEhE,yEAAyE;QACzE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBAAE,OAAO;YAC9C,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;YAC3C,IACE,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,mBAAmB,EAAE;gBACjC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,6BAAiB,CAAC,gBAAgB,EACnE,CAAC;gBACD,OAAO;YACT,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEtB,IACE,KAAK,CAAC,QAAQ,CAAC,wBAAwB;YACvC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAC7B,CAAC;YACD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAA,mDAAwB,EAAC,QAAQ,CAAC,CAAC;YAClE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;YACjC,IAAI,SAAS,EAAE,CAAC;gBACd,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;aAAM,IACL,KAAK,CAAC,QAAQ,CAAC,sBAAsB;YACrC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EACjD,CAAC;YACD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAA,+CAAsB,EAAC,QAAQ,CAAC,CAAC;YAChE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;YACjC,IAAI,SAAS,EAAE,CAAC;gBACd,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CACrB,IAAgE,EAChE,SAA6B;IAE7B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,IAAI,CAAC,CAAC,CAAwB,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IAC3E,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"processCallExpression.js","sourceRoot":"","sources":["../../../src/processing/macro-expansion/processCallExpression.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,sDAiDC;AA/DD,gDAAkC;AAElC,uGAAoG;AACpG,mGAAgG;AAChG,kEAAuE;AAEvE;;;;;;;GAOG;AACH,SAAgB,qBAAqB,CACnC,KAAqB;IAErB,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAErD,OAAO,CAAC,IAAI,EAAE,EAAE;;QACd,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAAE,OAAO;QAEhE,yEAAyE;QACzE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBAAE,OAAO;YAC9C,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;YAC3C,IACE,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,mBAAmB,EAAE;gBACjC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,6BAAiB,CAAC,gBAAgB,EACnE,CAAC;gBACD,OAAO;YACT,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,MAAM,YAAY,GAAG,MAAA,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,0CAAG,CAAC,CAAC,CAAC;QAEhD,IACE,KAAK,CAAC,QAAQ,CAAC,wBAAwB;YACvC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAC7B,CAAC;YACD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAA,mDAAwB,EACrD,YAA2C,CAC5C,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;YACjC,IAAI,SAAS,EAAE,CAAC;gBACd,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;aAAM,IACL,KAAK,CAAC,QAAQ,CAAC,sBAAsB;YACrC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EACjD,CAAC;YACD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAA,+CAAsB,EACnD,YAA4C,CAC7C,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;YACjC,IAAI,SAAS,EAAE,CAAC;gBACd,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CACrB,IAAgE,EAChE,SAA6B;IAE7B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,IAAI,CAAC,CAAC,CAAwB,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IAC3E,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC"}
@@ -65,7 +65,7 @@ function processTaggedTemplateExpression(state) {
65
65
  return;
66
66
  }
67
67
  }
68
- const { message, variables } = (0, transformTemplateLiteral_1.transformTemplateLiteral)(path.node.quasi);
68
+ const { message, variables } = (0, transformTemplateLiteral_1.transformTemplateLiteral)(path.get('quasi'));
69
69
  const args = [message];
70
70
  if (variables)
71
71
  args.push(variables);
@@ -1 +1 @@
1
- {"version":3,"file":"processTaggedTemplateExpression.js","sourceRoot":"","sources":["../../../src/processing/macro-expansion/processTaggedTemplateExpression.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,0EA+BC;AA9CD,gDAAkC;AAElC,kEAAwE;AACxE,kEAAuE;AACvE,uGAAoG;AAEpG;;;;;;;;GAQG;AACH,SAAgB,+BAA+B,CAC7C,KAAqB;IAErB,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAErD,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,oBAAoB;YAAE,OAAO;QACjD,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAAE,OAAO;QAE7D,8EAA8E;QAC9E,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBAAE,OAAO;YAC9C,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;YAC3C,IACE,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,mBAAmB,EAAE,CAAA;gBAClC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,6BAAiB,CAAC,gBAAgB,EACnE,CAAC;gBACD,OAAO;YACT,CAAC;QACH,CAAC;QAED,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAA,mDAAwB,EAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzE,MAAM,IAAI,GAAmB,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,SAAS;YAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEpC,IAAI,CAAC,WAAW,CACd,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,8BAAkB,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAC3D,CAAC;QACF,KAAK,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC;IAC1C,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"processTaggedTemplateExpression.js","sourceRoot":"","sources":["../../../src/processing/macro-expansion/processTaggedTemplateExpression.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,0EA+BC;AA9CD,gDAAkC;AAElC,kEAAwE;AACxE,kEAAuE;AACvE,uGAAoG;AAEpG;;;;;;;;GAQG;AACH,SAAgB,+BAA+B,CAC7C,KAAqB;IAErB,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAErD,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,oBAAoB;YAAE,OAAO;QACjD,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAAE,OAAO;QAE7D,8EAA8E;QAC9E,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBAAE,OAAO;YAC9C,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;YAC3C,IACE,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,mBAAmB,EAAE,CAAA;gBAClC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,6BAAiB,CAAC,gBAAgB,EACnE,CAAC;gBACD,OAAO;YACT,CAAC;QACH,CAAC;QAED,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAA,mDAAwB,EAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3E,MAAM,IAAI,GAAmB,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,SAAS;YAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEpC,IAAI,CAAC,WAAW,CACd,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,8BAAkB,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAC3D,CAAC;QACF,KAAK,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC;IAC1C,CAAC,CAAC;AACJ,CAAC"}
@@ -1,12 +1,13 @@
1
1
  import * as t from '@babel/types';
2
+ import { NodePath } from '@babel/traverse';
2
3
  /**
3
4
  * Transform a BinaryExpression with '+' operator into a normalized t() call format.
4
5
  *
5
- * Flattens the concatenation and converts non-string operands into
6
- * ICU-style variable placeholders.
6
+ * Recursively flattens the concatenation tree and simplifies static parts,
7
+ * converting dynamic operands into ICU-style variable placeholders.
7
8
  */
8
- export declare function transformConcatenation(node: t.BinaryExpression): {
9
- message: t.StringLiteral;
9
+ export declare function transformConcatenation(path: NodePath<t.BinaryExpression>): {
10
+ message: t.StringLiteral | t.TemplateLiteral;
10
11
  variables: t.ObjectExpression | null;
11
12
  };
12
13
  //# sourceMappingURL=transformConcatenation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transformConcatenation.d.ts","sourceRoot":"","sources":["../../../src/transform/macro-expansion/transformConcatenation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAGlC;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,CAAC,CAAC,gBAAgB,GAAG;IAChE,OAAO,EAAE,CAAC,CAAC,aAAa,CAAC;IACzB,SAAS,EAAE,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC;CACtC,CAqBA"}
1
+ {"version":3,"file":"transformConcatenation.d.ts","sourceRoot":"","sources":["../../../src/transform/macro-expansion/transformConcatenation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAK3C;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG;IAC1E,OAAO,EAAE,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,eAAe,CAAC;IAC7C,SAAS,EAAE,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC;CACtC,CAIA"}
@@ -1,66 +1,18 @@
1
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
2
  Object.defineProperty(exports, "__esModule", { value: true });
36
3
  exports.transformConcatenation = transformConcatenation;
37
- const t = __importStar(require("@babel/types"));
38
- const flattenConcatenation_1 = require("../../utils/parsing/flattenConcatenation");
4
+ const flattenExpressionToParts_1 = require("../templates-and-concat/flattenExpressionToParts");
5
+ const mergeAdjacentStaticParts_1 = require("../templates-and-concat/mergeAdjacentStaticParts");
6
+ const buildTransformationResult_1 = require("../templates-and-concat/buildTransformationResult");
39
7
  /**
40
8
  * Transform a BinaryExpression with '+' operator into a normalized t() call format.
41
9
  *
42
- * Flattens the concatenation and converts non-string operands into
43
- * ICU-style variable placeholders.
10
+ * Recursively flattens the concatenation tree and simplifies static parts,
11
+ * converting dynamic operands into ICU-style variable placeholders.
44
12
  */
45
- function transformConcatenation(node) {
46
- const operands = (0, flattenConcatenation_1.flattenConcatenation)(node);
47
- const parts = [];
48
- const properties = [];
49
- let varIndex = 0;
50
- for (const operand of operands) {
51
- if (t.isStringLiteral(operand)) {
52
- parts.push(operand.value);
53
- }
54
- else {
55
- const key = varIndex.toString();
56
- parts.push(`{${key}}`);
57
- properties.push(t.objectProperty(t.stringLiteral(key), operand));
58
- varIndex++;
59
- }
60
- }
61
- return {
62
- message: t.stringLiteral(parts.join('')),
63
- variables: properties.length > 0 ? t.objectExpression(properties) : null,
64
- };
13
+ function transformConcatenation(path) {
14
+ const parts = (0, flattenExpressionToParts_1.flattenExpressionToParts)(path.node, path);
15
+ const merged = (0, mergeAdjacentStaticParts_1.mergeAdjacentStaticParts)(parts);
16
+ return (0, buildTransformationResult_1.buildTransformResult)(merged);
65
17
  }
66
18
  //# sourceMappingURL=transformConcatenation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transformConcatenation.js","sourceRoot":"","sources":["../../../src/transform/macro-expansion/transformConcatenation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,wDAwBC;AAjCD,gDAAkC;AAClC,mFAAgF;AAEhF;;;;;GAKG;AACH,SAAgB,sBAAsB,CAAC,IAAwB;IAI7D,MAAM,QAAQ,GAAG,IAAA,2CAAoB,EAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,UAAU,GAAuB,EAAE,CAAC;IAC1C,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;YACvB,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YACjE,QAAQ,EAAE,CAAC;QACb,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxC,SAAS,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI;KACzE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"transformConcatenation.js","sourceRoot":"","sources":["../../../src/transform/macro-expansion/transformConcatenation.ts"],"names":[],"mappings":";;AAYA,wDAOC;AAjBD,+FAA4F;AAC5F,+FAA4F;AAC5F,iGAAyF;AAEzF;;;;;GAKG;AACH,SAAgB,sBAAsB,CAAC,IAAkC;IAIvE,MAAM,KAAK,GAAG,IAAA,mDAAwB,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,IAAA,mDAAwB,EAAC,KAAK,CAAC,CAAC;IAC/C,OAAO,IAAA,gDAAoB,EAAC,MAAM,CAAC,CAAC;AACtC,CAAC"}
@@ -1,10 +1,14 @@
1
1
  import * as t from '@babel/types';
2
+ import { NodePath } from '@babel/traverse';
2
3
  /**
3
4
  * Converts template literal quasis and expressions into an ICU-style message
4
5
  * string with numeric variable placeholders ({0}, {1}, etc.).
6
+ *
7
+ * Recursively simplifies nested static expressions (string literals,
8
+ * nested templates) and preserves derive() calls as template expressions.
5
9
  */
6
- export declare function transformTemplateLiteral(node: t.TemplateLiteral): {
7
- message: t.StringLiteral;
10
+ export declare function transformTemplateLiteral(path: NodePath<t.TemplateLiteral>): {
11
+ message: t.StringLiteral | t.TemplateLiteral;
8
12
  variables: t.ObjectExpression | null;
9
13
  };
10
14
  //# sourceMappingURL=transformTemplateLiteral.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transformTemplateLiteral.d.ts","sourceRoot":"","sources":["../../../src/transform/macro-expansion/transformTemplateLiteral.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAElC;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,CAAC,CAAC,eAAe,GAAG;IACjE,OAAO,EAAE,CAAC,CAAC,aAAa,CAAC;IACzB,SAAS,EAAE,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC;CACtC,CAuBA"}
1
+ {"version":3,"file":"transformTemplateLiteral.d.ts","sourceRoot":"","sources":["../../../src/transform/macro-expansion/transformTemplateLiteral.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAK3C;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG;IAC3E,OAAO,EAAE,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,eAAe,CAAC;IAC7C,SAAS,EAAE,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC;CACtC,CAIA"}
@@ -1,64 +1,19 @@
1
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
2
  Object.defineProperty(exports, "__esModule", { value: true });
36
3
  exports.transformTemplateLiteral = transformTemplateLiteral;
37
- const t = __importStar(require("@babel/types"));
4
+ const flattenExpressionToParts_1 = require("../templates-and-concat/flattenExpressionToParts");
5
+ const mergeAdjacentStaticParts_1 = require("../templates-and-concat/mergeAdjacentStaticParts");
6
+ const buildTransformationResult_1 = require("../templates-and-concat/buildTransformationResult");
38
7
  /**
39
8
  * Converts template literal quasis and expressions into an ICU-style message
40
9
  * string with numeric variable placeholders ({0}, {1}, etc.).
10
+ *
11
+ * Recursively simplifies nested static expressions (string literals,
12
+ * nested templates) and preserves derive() calls as template expressions.
41
13
  */
42
- function transformTemplateLiteral(node) {
43
- var _a;
44
- const parts = [];
45
- const properties = [];
46
- let varIndex = 0;
47
- for (let i = 0; i < node.quasis.length; i++) {
48
- // Add the cooked text from the quasi (use cooked to handle escape sequences)
49
- parts.push((_a = node.quasis[i].value.cooked) !== null && _a !== void 0 ? _a : node.quasis[i].value.raw);
50
- // If there's a corresponding expression, create a variable placeholder
51
- if (i < node.expressions.length) {
52
- const expr = node.expressions[i];
53
- const key = varIndex.toString();
54
- parts.push(`{${key}}`);
55
- properties.push(t.objectProperty(t.stringLiteral(key), expr));
56
- varIndex++;
57
- }
58
- }
59
- return {
60
- message: t.stringLiteral(parts.join('')),
61
- variables: properties.length > 0 ? t.objectExpression(properties) : null,
62
- };
14
+ function transformTemplateLiteral(path) {
15
+ const parts = (0, flattenExpressionToParts_1.flattenExpressionToParts)(path.node, path);
16
+ const merged = (0, mergeAdjacentStaticParts_1.mergeAdjacentStaticParts)(parts);
17
+ return (0, buildTransformationResult_1.buildTransformResult)(merged);
63
18
  }
64
19
  //# sourceMappingURL=transformTemplateLiteral.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transformTemplateLiteral.js","sourceRoot":"","sources":["../../../src/transform/macro-expansion/transformTemplateLiteral.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,4DA0BC;AAhCD,gDAAkC;AAElC;;;GAGG;AACH,SAAgB,wBAAwB,CAAC,IAAuB;;IAI9D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,UAAU,GAAuB,EAAE,CAAC;IAC1C,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,6EAA6E;QAC7E,KAAK,CAAC,IAAI,CAAC,MAAA,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,mCAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEpE,uEAAuE;QACvE,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAiB,CAAC;YACjD,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;YACvB,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAC9D,QAAQ,EAAE,CAAC;QACb,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxC,SAAS,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI;KACzE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"transformTemplateLiteral.js","sourceRoot":"","sources":["../../../src/transform/macro-expansion/transformTemplateLiteral.ts"],"names":[],"mappings":";;AAaA,4DAOC;AAlBD,+FAA4F;AAC5F,+FAA4F;AAC5F,iGAAyF;AAEzF;;;;;;GAMG;AACH,SAAgB,wBAAwB,CAAC,IAAiC;IAIxE,MAAM,KAAK,GAAG,IAAA,mDAAwB,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,IAAA,mDAAwB,EAAC,KAAK,CAAC,CAAC;IAC/C,OAAO,IAAA,gDAAoB,EAAC,MAAM,CAAC,CAAC;AACtC,CAAC"}
@@ -0,0 +1,14 @@
1
+ import * as t from '@babel/types';
2
+ import { Part } from './flattenExpressionToParts';
3
+ /**
4
+ * Converts merged parts into an AST message node and optional variables object.
5
+ *
6
+ * - All static → StringLiteral, no variables
7
+ * - Has derive/dynamic → TemplateLiteral with derive expressions preserved
8
+ * and dynamic values extracted as {n} placeholders
9
+ */
10
+ export declare function buildTransformResult(parts: Part[]): {
11
+ message: t.StringLiteral | t.TemplateLiteral;
12
+ variables: t.ObjectExpression | null;
13
+ };
14
+ //# sourceMappingURL=buildTransformationResult.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildTransformationResult.d.ts","sourceRoot":"","sources":["../../../src/transform/templates-and-concat/buildTransformationResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAElD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG;IACnD,OAAO,EAAE,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,eAAe,CAAC;IAC7C,SAAS,EAAE,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC;CACtC,CA2DA"}
@@ -0,0 +1,100 @@
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.buildTransformResult = buildTransformResult;
37
+ const t = __importStar(require("@babel/types"));
38
+ /**
39
+ * Converts merged parts into an AST message node and optional variables object.
40
+ *
41
+ * - All static → StringLiteral, no variables
42
+ * - Has derive/dynamic → TemplateLiteral with derive expressions preserved
43
+ * and dynamic values extracted as {n} placeholders
44
+ */
45
+ function buildTransformResult(parts) {
46
+ const hasDerive = parts.some((p) => p.type === 'derive');
47
+ // No derive parts: collapse everything into a StringLiteral with {n} placeholders
48
+ if (!hasDerive) {
49
+ const properties = [];
50
+ let varIndex = 0;
51
+ let message = '';
52
+ for (const part of parts) {
53
+ if (part.type === 'static') {
54
+ message += part.value;
55
+ }
56
+ else {
57
+ const key = varIndex.toString();
58
+ message += `{${key}}`;
59
+ properties.push(t.objectProperty(t.stringLiteral(key), part.node));
60
+ varIndex++;
61
+ }
62
+ }
63
+ return {
64
+ message: t.stringLiteral(message),
65
+ variables: properties.length > 0 ? t.objectExpression(properties) : null,
66
+ };
67
+ }
68
+ // Has derive parts: build a TemplateLiteral with derive expressions preserved
69
+ const quasis = [];
70
+ const expressions = [];
71
+ const properties = [];
72
+ let varIndex = 0;
73
+ let quasiBuffer = '';
74
+ function flushQuasi(tail) {
75
+ quasis.push(t.templateElement({ raw: quasiBuffer, cooked: quasiBuffer }, tail));
76
+ quasiBuffer = '';
77
+ }
78
+ for (const part of parts) {
79
+ if (part.type === 'static') {
80
+ quasiBuffer += part.value;
81
+ }
82
+ else if (part.type === 'derive') {
83
+ flushQuasi(false);
84
+ expressions.push(part.node);
85
+ }
86
+ else {
87
+ const key = varIndex.toString();
88
+ quasiBuffer += `{${key}}`;
89
+ properties.push(t.objectProperty(t.stringLiteral(key), part.node));
90
+ varIndex++;
91
+ }
92
+ }
93
+ // Final quasi (tail)
94
+ flushQuasi(true);
95
+ return {
96
+ message: t.templateLiteral(quasis, expressions),
97
+ variables: properties.length > 0 ? t.objectExpression(properties) : null,
98
+ };
99
+ }
100
+ //# sourceMappingURL=buildTransformationResult.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildTransformationResult.js","sourceRoot":"","sources":["../../../src/transform/templates-and-concat/buildTransformationResult.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import * as t from '@babel/types';
2
+ import { NodePath } from '@babel/traverse';
3
+ export type Part = {
4
+ type: 'static';
5
+ value: string;
6
+ } | {
7
+ type: 'derive';
8
+ node: t.Expression;
9
+ } | {
10
+ type: 'dynamic';
11
+ node: t.Expression;
12
+ };
13
+ /**
14
+ * Recursively decomposes an expression tree into a flat list of typed parts.
15
+ * Handles string/numeric/boolean/null literals, void expressions,
16
+ * template literals, binary '+' concatenation, and derive() calls.
17
+ */
18
+ export declare function flattenExpressionToParts(node: t.Expression, tPath: NodePath): Part[];
19
+ //# sourceMappingURL=flattenExpressionToParts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flattenExpressionToParts.d.ts","sourceRoot":"","sources":["../../../src/transform/templates-and-concat/flattenExpressionToParts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAG3C,MAAM,MAAM,IAAI,GACZ;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAA;CAAE,CAAC;AAE5C;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,CAAC,CAAC,UAAU,EAClB,KAAK,EAAE,QAAQ,GACd,IAAI,EAAE,CAiDR"}
@@ -0,0 +1,86 @@
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.flattenExpressionToParts = flattenExpressionToParts;
37
+ const t = __importStar(require("@babel/types"));
38
+ const isDeriveInvocation_1 = require("../../utils/parsing/isDeriveInvocation");
39
+ /**
40
+ * Recursively decomposes an expression tree into a flat list of typed parts.
41
+ * Handles string/numeric/boolean/null literals, void expressions,
42
+ * template literals, binary '+' concatenation, and derive() calls.
43
+ */
44
+ function flattenExpressionToParts(node, tPath) {
45
+ if (t.isStringLiteral(node)) {
46
+ return [{ type: 'static', value: node.value }];
47
+ }
48
+ if (t.isNumericLiteral(node)) {
49
+ return [{ type: 'static', value: String(node.value) }];
50
+ }
51
+ if (t.isBooleanLiteral(node)) {
52
+ return [{ type: 'static', value: String(node.value) }];
53
+ }
54
+ if (t.isNullLiteral(node)) {
55
+ return [{ type: 'static', value: 'null' }];
56
+ }
57
+ if (t.isUnaryExpression(node) && node.operator === 'void') {
58
+ return [{ type: 'dynamic', node }];
59
+ }
60
+ if (t.isTemplateLiteral(node)) {
61
+ const parts = [];
62
+ for (let i = 0; i < node.quasis.length; i++) {
63
+ const { cooked, raw } = node.quasis[i].value;
64
+ const text = cooked !== null && cooked !== void 0 ? cooked : raw;
65
+ if (text) {
66
+ parts.push({ type: 'static', value: text });
67
+ }
68
+ if (i < node.expressions.length) {
69
+ const expr = node.expressions[i];
70
+ parts.push(...flattenExpressionToParts(expr, tPath));
71
+ }
72
+ }
73
+ return parts;
74
+ }
75
+ if (t.isBinaryExpression(node) && node.operator === '+') {
76
+ return [
77
+ ...flattenExpressionToParts(node.left, tPath),
78
+ ...flattenExpressionToParts(node.right, tPath),
79
+ ];
80
+ }
81
+ if ((0, isDeriveInvocation_1.isDeriveInvocation)(node, tPath)) {
82
+ return [{ type: 'derive', node }];
83
+ }
84
+ return [{ type: 'dynamic', node }];
85
+ }
86
+ //# sourceMappingURL=flattenExpressionToParts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flattenExpressionToParts.js","sourceRoot":"","sources":["../../../src/transform/templates-and-concat/flattenExpressionToParts.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,4DAoDC;AAlED,gDAAkC;AAElC,+EAA4E;AAO5E;;;;GAIG;AACH,SAAgB,wBAAwB,CACtC,IAAkB,EAClB,KAAe;IAEf,IAAI,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;QAC1D,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAW,EAAE,CAAC;QACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC7C,MAAM,IAAI,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,GAAG,CAAC;YAC3B,IAAI,IAAI,EAAE,CAAC;gBACT,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;gBAChC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAiB,CAAC;gBACjD,KAAK,CAAC,IAAI,CAAC,GAAG,wBAAwB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC;QACxD,OAAO;YACL,GAAG,wBAAwB,CAAC,IAAI,CAAC,IAAoB,EAAE,KAAK,CAAC;YAC7D,GAAG,wBAAwB,CAAC,IAAI,CAAC,KAAqB,EAAE,KAAK,CAAC;SAC/D,CAAC;IACJ,CAAC;IAED,IAAI,IAAA,uCAAkB,EAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;QACpC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AACrC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { Part } from './flattenExpressionToParts';
2
+ /**
3
+ * Collapse consecutive static parts by concatenating their values.
4
+ */
5
+ export declare function mergeAdjacentStaticParts(parts: Part[]): Part[];
6
+ //# sourceMappingURL=mergeAdjacentStaticParts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mergeAdjacentStaticParts.d.ts","sourceRoot":"","sources":["../../../src/transform/templates-and-concat/mergeAdjacentStaticParts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAElD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,CAe9D"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mergeAdjacentStaticParts = mergeAdjacentStaticParts;
4
+ /**
5
+ * Collapse consecutive static parts by concatenating their values.
6
+ */
7
+ function mergeAdjacentStaticParts(parts) {
8
+ const merged = [];
9
+ for (const part of parts) {
10
+ if (part.type === 'static' &&
11
+ merged.length > 0 &&
12
+ merged[merged.length - 1].type === 'static') {
13
+ merged[merged.length - 1].value +=
14
+ part.value;
15
+ }
16
+ else {
17
+ merged.push(part);
18
+ }
19
+ }
20
+ return merged;
21
+ }
22
+ //# sourceMappingURL=mergeAdjacentStaticParts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mergeAdjacentStaticParts.js","sourceRoot":"","sources":["../../../src/transform/templates-and-concat/mergeAdjacentStaticParts.ts"],"names":[],"mappings":";;AAKA,4DAeC;AAlBD;;GAEG;AACH,SAAgB,wBAAwB,CAAC,KAAa;IACpD,MAAM,MAAM,GAAW,EAAE,CAAC;IAC1B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IACE,IAAI,CAAC,IAAI,KAAK,QAAQ;YACtB,MAAM,CAAC,MAAM,GAAG,CAAC;YACjB,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,EAC3C,CAAC;YACA,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAuC,CAAC,KAAK;gBACpE,IAAI,CAAC,KAAK,CAAC;QACf,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -61,6 +61,10 @@ export declare enum GT_CALLBACK_FUNCTIONS {
61
61
  * Maps GT Functions to their callback functions
62
62
  */
63
63
  export declare const GT_FUNCTIONS_TO_CALLBACKS: Record<GT_FUNCTIONS_WITH_CALLBACKS, GT_CALLBACK_FUNCTIONS>;
64
+ /**
65
+ * GT derive functions
66
+ */
67
+ export declare const GT_DERIVE_STRING_FUNCTIONS: readonly [GT_OTHER_FUNCTIONS.declareStatic, GT_OTHER_FUNCTIONS.derive];
64
68
  /**
65
69
  * All gt functions (both regular and callback functions)
66
70
  */
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/utils/constants/gt/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,uBAAuB;IACjC,WAAW,MAAM;IACjB,QAAQ,QAAQ;IAChB,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,oBAAY,kBAAkB;IAC5B,CAAC,MAAM;IACP,EAAE,OAAO;IACT,GAAG,QAAQ;IACX,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,cAAc,mBAAmB;CAClC;AAED;;GAEG;AACH,oBAAY,2BAA2B;IACrC,KAAK,UAAU;IACf,KAAK,UAAU;IACf,eAAe,oBAAoB;IACnC,eAAe,oBAAoB;IACnC,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;CAC5B;AAED;;GAEG;AACH,oBAAY,kBAAkB;IAC5B,GAAG,QAAQ;IACX,aAAa,kBAAkB;IAC/B,CAAC,MAAM;IACP,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,2BAA2B,GAAG,kBAAkB,CAAC;AAC5E;;GAEG;AACH,oBAAY,qBAAqB;IAC/B,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,wBAAwB,6BAA6B;IACrD,wBAAwB,6BAA6B;IACrD,oBAAoB,yBAAyB;IAC7C,oBAAoB,yBAAyB;CAC9C;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAC5C,2BAA2B,EAC3B,qBAAqB,CAYtB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACxB,YAAY,GACZ,qBAAqB,GACrB,kBAAkB,CAAC;AAEvB;;GAEG;AACH,oBAAY,iBAAiB;IAC3B,OAAO,YAAY;IACnB,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,QAAQ,aAAa;IACrB,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IACrC,OAAO,YAAY;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,aAUvB,CAAC;AAEH;;GAEG;AACH,oBAAY,sBAAsB;IAChC,GAAG,QAAQ;IACX,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;CAS5B,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/utils/constants/gt/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,uBAAuB;IACjC,WAAW,MAAM;IACjB,QAAQ,QAAQ;IAChB,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,oBAAY,kBAAkB;IAC5B,CAAC,MAAM;IACP,EAAE,OAAO;IACT,GAAG,QAAQ;IACX,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,cAAc,mBAAmB;CAClC;AAED;;GAEG;AACH,oBAAY,2BAA2B;IACrC,KAAK,UAAU;IACf,KAAK,UAAU;IACf,eAAe,oBAAoB;IACnC,eAAe,oBAAoB;IACnC,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;CAC5B;AAED;;GAEG;AACH,oBAAY,kBAAkB;IAC5B,GAAG,QAAQ;IACX,aAAa,kBAAkB;IAC/B,CAAC,MAAM;IACP,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,2BAA2B,GAAG,kBAAkB,CAAC;AAC5E;;GAEG;AACH,oBAAY,qBAAqB;IAC/B,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,wBAAwB,6BAA6B;IACrD,wBAAwB,6BAA6B;IACrD,oBAAoB,yBAAyB;IAC7C,oBAAoB,yBAAyB;CAC9C;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAC5C,2BAA2B,EAC3B,qBAAqB,CAYtB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,wEAG7B,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACxB,YAAY,GACZ,qBAAqB,GACrB,kBAAkB,CAAC;AAEvB;;GAEG;AACH,oBAAY,iBAAiB;IAC3B,OAAO,YAAY;IACnB,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,QAAQ,aAAa;IACrB,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IACrC,OAAO,YAAY;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,aAUvB,CAAC;AAEH;;GAEG;AACH,oBAAY,sBAAsB;IAChC,GAAG,QAAQ;IACX,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;CAS5B,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MINIFY_CANONICAL_NAME_MAP = exports.USEGT_CALLBACK_OPTIONS = exports.PLURAL_FORMS = exports.GT_IMPORT_SOURCES = exports.GT_FUNCTIONS_TO_CALLBACKS = exports.GT_CALLBACK_FUNCTIONS = exports.GT_OTHER_FUNCTIONS = exports.GT_FUNCTIONS_WITH_CALLBACKS = exports.GT_COMPONENT_TYPES = exports.GT_COMPONENT_CATEGORIES = void 0;
3
+ exports.MINIFY_CANONICAL_NAME_MAP = exports.USEGT_CALLBACK_OPTIONS = exports.PLURAL_FORMS = exports.GT_IMPORT_SOURCES = exports.GT_DERIVE_STRING_FUNCTIONS = exports.GT_FUNCTIONS_TO_CALLBACKS = exports.GT_CALLBACK_FUNCTIONS = exports.GT_OTHER_FUNCTIONS = exports.GT_FUNCTIONS_WITH_CALLBACKS = exports.GT_COMPONENT_TYPES = exports.GT_COMPONENT_CATEGORIES = void 0;
4
4
  /**
5
5
  * Different TYPES of gt components
6
6
  */
@@ -72,6 +72,13 @@ exports.GT_FUNCTIONS_TO_CALLBACKS = {
72
72
  [GT_FUNCTIONS_WITH_CALLBACKS.useMessages]: GT_CALLBACK_FUNCTIONS.useMessages_callback,
73
73
  [GT_FUNCTIONS_WITH_CALLBACKS.getMessages]: GT_CALLBACK_FUNCTIONS.getMessages_callback,
74
74
  };
75
+ /**
76
+ * GT derive functions
77
+ */
78
+ exports.GT_DERIVE_STRING_FUNCTIONS = [
79
+ GT_OTHER_FUNCTIONS.declareStatic,
80
+ GT_OTHER_FUNCTIONS.derive,
81
+ ];
75
82
  /**
76
83
  * GT import sources
77
84
  */
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/utils/constants/gt/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/utils/constants/gt/constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import * as t from '@babel/types';
2
+ import { NodePath } from '@babel/traverse';
3
+ /**
4
+ * Skip un-interpolation step for derive invocations
5
+ * @param {t.Expression} expr - The expression to check
6
+ * @returns {boolean} True if the expression is a derive invocation, false otherwise
7
+ */
8
+ export declare function isDeriveInvocation(expr: t.Expression, tPath: NodePath): boolean;
9
+ //# sourceMappingURL=isDeriveInvocation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isDeriveInvocation.d.ts","sourceRoot":"","sources":["../../../src/utils/parsing/isDeriveInvocation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAI3C;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,CAAC,CAAC,UAAU,EAClB,KAAK,EAAE,QAAQ,GACd,OAAO,CAiBT"}
@@ -33,21 +33,34 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.flattenConcatenation = flattenConcatenation;
36
+ exports.isDeriveInvocation = isDeriveInvocation;
37
37
  const t = __importStar(require("@babel/types"));
38
+ const helpers_1 = require("../constants/gt/helpers");
39
+ const constants_1 = require("../constants/gt/constants");
38
40
  /**
39
- * Recursively flatten a left-recursive BinaryExpression tree with '+' operator
40
- * into an ordered array of Expression nodes.
41
- *
42
- * Non-'+' BinaryExpressions are returned as a single element.
41
+ * Skip un-interpolation step for derive invocations
42
+ * @param {t.Expression} expr - The expression to check
43
+ * @returns {boolean} True if the expression is a derive invocation, false otherwise
43
44
  */
44
- function flattenConcatenation(node) {
45
- if (t.isBinaryExpression(node) && node.operator === '+') {
46
- return [
47
- ...flattenConcatenation(node.left),
48
- ...flattenConcatenation(node.right),
49
- ];
50
- }
51
- return [node];
45
+ function isDeriveInvocation(expr, tPath) {
46
+ if (!t.isCallExpression(expr) || !t.isIdentifier(expr.callee))
47
+ return false;
48
+ const scope = tPath.scope;
49
+ const binding = scope.getBinding(expr.callee.name);
50
+ if (!binding)
51
+ return false;
52
+ if (!binding.path.isImportSpecifier())
53
+ return false;
54
+ const importDecl = binding.path.parentPath;
55
+ if (!(importDecl === null || importDecl === void 0 ? void 0 : importDecl.isImportDeclaration()))
56
+ return false;
57
+ const importSource = importDecl.node.source.value;
58
+ if (!(0, helpers_1.isGTImportSource)(importSource))
59
+ return false;
60
+ const imported = binding.path.node.imported;
61
+ const originalName = t.isIdentifier(imported)
62
+ ? imported.name
63
+ : imported.value;
64
+ return constants_1.GT_DERIVE_STRING_FUNCTIONS.includes(originalName);
52
65
  }
53
- //# sourceMappingURL=flattenConcatenation.js.map
66
+ //# sourceMappingURL=isDeriveInvocation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isDeriveInvocation.js","sourceRoot":"","sources":["../../../src/utils/parsing/isDeriveInvocation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,gDAoBC;AA9BD,gDAAkC;AAElC,qDAA2D;AAC3D,yDAAuE;AAEvE;;;;GAIG;AACH,SAAgB,kBAAkB,CAChC,IAAkB,EAClB,KAAe;IAEf,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5E,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE;QAAE,OAAO,KAAK,CAAC;IACpD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;IAC3C,IAAI,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,mBAAmB,EAAE,CAAA;QAAE,OAAO,KAAK,CAAC;IACrD,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;IAClD,IAAI,CAAC,IAAA,0BAAgB,EAAC,YAAY,CAAC;QAAE,OAAO,KAAK,CAAC;IAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC5C,MAAM,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC;QAC3C,CAAC,CAAC,QAAQ,CAAC,IAAI;QACf,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;IACnB,OAAO,sCAA0B,CAAC,QAAQ,CACxC,YAA2D,CAC5D,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@generaltranslation/compiler",
3
- "version": "1.1.30",
3
+ "version": "1.1.31",
4
4
  "description": "Universal plugin for compile-time optimization of GT translation components",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -24,7 +24,7 @@
24
24
  "@babel/traverse": "^7.23.0",
25
25
  "@babel/types": "^7.23.0",
26
26
  "unplugin": "^2.3.10",
27
- "generaltranslation": "8.1.18"
27
+ "generaltranslation": "8.1.19"
28
28
  },
29
29
  "devDependencies": {
30
30
  "@types/babel__core": "^7.20.0",
@@ -1,9 +0,0 @@
1
- import * as t from '@babel/types';
2
- /**
3
- * Recursively flatten a left-recursive BinaryExpression tree with '+' operator
4
- * into an ordered array of Expression nodes.
5
- *
6
- * Non-'+' BinaryExpressions are returned as a single element.
7
- */
8
- export declare function flattenConcatenation(node: t.Expression): t.Expression[];
9
- //# sourceMappingURL=flattenConcatenation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flattenConcatenation.d.ts","sourceRoot":"","sources":["../../../src/utils/parsing/flattenConcatenation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAElC;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,EAAE,CAQvE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"flattenConcatenation.js","sourceRoot":"","sources":["../../../src/utils/parsing/flattenConcatenation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,oDAQC;AAhBD,gDAAkC;AAElC;;;;;GAKG;AACH,SAAgB,oBAAoB,CAAC,IAAkB;IACrD,IAAI,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC;QACxD,OAAO;YACL,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAoB,CAAC;YAClD,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAqB,CAAC;SACpD,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC"}