@generaltranslation/compiler 1.3.7 → 1.3.9

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 (66) hide show
  1. package/dist/config.d.ts +28 -0
  2. package/dist/config.d.ts.map +1 -1
  3. package/dist/config.js +14 -0
  4. package/dist/config.js.map +1 -1
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +9 -1
  7. package/dist/index.js.map +1 -1
  8. package/dist/passes/collectionPass.d.ts.map +1 -1
  9. package/dist/passes/collectionPass.js +2 -1
  10. package/dist/passes/collectionPass.js.map +1 -1
  11. package/dist/passes/runtimeTranslatePass.d.ts +17 -0
  12. package/dist/passes/runtimeTranslatePass.d.ts.map +1 -0
  13. package/dist/passes/runtimeTranslatePass.js +39 -0
  14. package/dist/passes/runtimeTranslatePass.js.map +1 -0
  15. package/dist/processing/collection/processCallExpression.d.ts.map +1 -1
  16. package/dist/processing/collection/processCallExpression.js +31 -4
  17. package/dist/processing/collection/processCallExpression.js.map +1 -1
  18. package/dist/processing/collection/processTaggedTemplateExpression.d.ts +16 -0
  19. package/dist/processing/collection/processTaggedTemplateExpression.d.ts.map +1 -0
  20. package/dist/processing/collection/processTaggedTemplateExpression.js +90 -0
  21. package/dist/processing/collection/processTaggedTemplateExpression.js.map +1 -0
  22. package/dist/processing/runtime-translate/processImportDeclaration.d.ts +17 -0
  23. package/dist/processing/runtime-translate/processImportDeclaration.d.ts.map +1 -0
  24. package/dist/processing/runtime-translate/processImportDeclaration.js +67 -0
  25. package/dist/processing/runtime-translate/processImportDeclaration.js.map +1 -0
  26. package/dist/processing/runtime-translate/processProgram.d.ts +17 -0
  27. package/dist/processing/runtime-translate/processProgram.d.ts.map +1 -0
  28. package/dist/processing/runtime-translate/processProgram.js +60 -0
  29. package/dist/processing/runtime-translate/processProgram.js.map +1 -0
  30. package/dist/state/StringCollector.d.ts +27 -0
  31. package/dist/state/StringCollector.d.ts.map +1 -1
  32. package/dist/state/StringCollector.js +30 -1
  33. package/dist/state/StringCollector.js.map +1 -1
  34. package/dist/state/types.d.ts +1 -0
  35. package/dist/state/types.d.ts.map +1 -1
  36. package/dist/state/utils/initializeState.d.ts.map +1 -1
  37. package/dist/state/utils/initializeState.js +14 -7
  38. package/dist/state/utils/initializeState.js.map +1 -1
  39. package/dist/transform/registration/callbacks/registerUseGTCallback.d.ts.map +1 -1
  40. package/dist/transform/registration/callbacks/registerUseGTCallback.js +1 -0
  41. package/dist/transform/registration/callbacks/registerUseGTCallback.js.map +1 -1
  42. package/dist/transform/registration/registerTranslationComponent.d.ts +5 -1
  43. package/dist/transform/registration/registerTranslationComponent.d.ts.map +1 -1
  44. package/dist/transform/registration/registerTranslationComponent.js +4 -1
  45. package/dist/transform/registration/registerTranslationComponent.js.map +1 -1
  46. package/dist/transform/runtime-translate/buildRuntimeTranslateCalls.d.ts +11 -0
  47. package/dist/transform/runtime-translate/buildRuntimeTranslateCalls.d.ts.map +1 -0
  48. package/dist/transform/runtime-translate/buildRuntimeTranslateCalls.js +94 -0
  49. package/dist/transform/runtime-translate/buildRuntimeTranslateCalls.js.map +1 -0
  50. package/dist/transform/runtime-translate/injectRuntimeTranslateImport.d.ts +11 -0
  51. package/dist/transform/runtime-translate/injectRuntimeTranslateImport.d.ts.map +1 -0
  52. package/dist/transform/runtime-translate/injectRuntimeTranslateImport.js +59 -0
  53. package/dist/transform/runtime-translate/injectRuntimeTranslateImport.js.map +1 -0
  54. package/dist/transform/templates-and-concat/resolveStaticExpression.d.ts +14 -0
  55. package/dist/transform/templates-and-concat/resolveStaticExpression.d.ts.map +1 -0
  56. package/dist/transform/templates-and-concat/resolveStaticExpression.js +89 -0
  57. package/dist/transform/templates-and-concat/resolveStaticExpression.js.map +1 -0
  58. package/dist/transform/validation/validateTranslationFunctionCallback.d.ts +2 -2
  59. package/dist/transform/validation/validateTranslationFunctionCallback.d.ts.map +1 -1
  60. package/dist/transform/validation/validateTranslationFunctionCallback.js +8 -7
  61. package/dist/transform/validation/validateTranslationFunctionCallback.js.map +1 -1
  62. package/dist/utils/constants/gt/constants.d.ts +3 -1
  63. package/dist/utils/constants/gt/constants.d.ts.map +1 -1
  64. package/dist/utils/constants/gt/constants.js +2 -0
  65. package/dist/utils/constants/gt/constants.js.map +1 -1
  66. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processProgram.js","sourceRoot":"","sources":["../../../src/processing/runtime-translate/processProgram.ts"],"names":[],"mappings":";;AAaA,wCA6DC;AAvED,iHAA8G;AAC9G,6GAA0G;AAG1G;;;;;GAKG;AACH,SAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,uBAAuB,EACvB,oBAAoB,EACpB,YAAY,GAMb;IACC,OAAO;QACL,IAAI,CAAC,IAAI;YACP,mEAAmE;YACnE,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO;gBACpD,CAAC,CAAC;oBACE,GAAG,KAAK,CAAC,eAAe,CAAC,wBAAwB,EAAE;oBACnD,GAAG,KAAK,CAAC,eAAe,CAAC,qBAAqB,EAAE;iBACjD,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;gBACxC,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG;gBAC5C,CAAC,CAAC,KAAK,CAAC,eAAe;qBAClB,oBAAoB,EAAE;qBACtB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;gBACzC,CAAC,CAAC,EAAE,CAAC;YAEP,oBAAoB;YACpB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAE3D,+CAA+C;YAC/C,MAAM,mBAAmB,GAAG,IAAA,uDAA0B,EAAC;gBACrD,OAAO,EAAE,UAAU;gBACnB,GAAG,EAAE,MAAM;aACZ,CAAC,CAAC;YAEH,kFAAkF;YAClF,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACxE,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAE9D,IAAI,WAAW,IAAI,QAAQ,EAAE,CAAC;gBAC5B,MAAM,YAAY,GAAG,IAAA,2DAA4B,EAAC,IAAI,EAAE;oBACtD,WAAW;oBACX,QAAQ;iBACT,CAAC,CAAC;gBACH,IAAI,YAAY,EAAE,CAAC;oBACjB,YAAY,CAAC,IAAI,GAAG,YAAY,CAAC;gBACnC,CAAC;YACH,CAAC;YAED,4EAA4E;YAC5E,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC;gBACtB,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;YACrD,CAAC;YAED,iDAAiD;YACjD,KAAK,CAAC,UAAU,CAAC,qBAAqB;gBACpC,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QACtC,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -18,6 +18,8 @@ export interface TranslationContent {
18
18
  context?: string;
19
19
  /** Optional maxChars from options: t("text", {maxChars: 10}) → 10 */
20
20
  maxChars?: number;
21
+ /** Optional format from options: t("text", {$format: "STRING"}) → "STRING" */
22
+ format?: string;
21
23
  }
22
24
  /**
23
25
  * Content extracted from JSX translation components like <T>
@@ -25,6 +27,12 @@ export interface TranslationContent {
25
27
  export interface TranslationJsx {
26
28
  /** Pre-calculated hash for this JSX content */
27
29
  hash: string;
30
+ /** JSX children structure (serializable) */
31
+ children?: unknown;
32
+ /** Optional ID from props */
33
+ id?: string;
34
+ /** Optional context from props */
35
+ context?: string;
28
36
  }
29
37
  /**
30
38
  * Just a hash value for simple hash injection
@@ -43,6 +51,8 @@ export declare class StringCollector {
43
51
  private hashAggregators;
44
52
  /** Global counter incremented for each useGT/getGT call encountered */
45
53
  private globalCallCounter;
54
+ /** Runtime-only entries for t(), msg(), tagged templates — bypasses the counter system */
55
+ private runtimeOnlyEntries;
46
56
  /**
47
57
  * Increment counter and return the current counter ID for a useGT/getGT call
48
58
  * These IDs are deterministic
@@ -98,6 +108,23 @@ export declare class StringCollector {
98
108
  * Has content
99
109
  */
100
110
  hasContent(): boolean;
111
+ /**
112
+ * Get all translation content entries (flattened across all aggregators)
113
+ */
114
+ getAllTranslationContent(): TranslationContent[];
115
+ /**
116
+ * Get all translation JSX entries
117
+ */
118
+ getAllTranslationJsx(): TranslationJsx[];
119
+ /**
120
+ * Add a runtime-only translation entry (for t(), msg(), tagged templates).
121
+ * These bypass the counter system and are only consumed by the runtime translate pass.
122
+ */
123
+ pushRuntimeOnlyContent(content: TranslationContent): void;
124
+ /**
125
+ * Get all runtime-only translation entries
126
+ */
127
+ getRuntimeOnlyContent(): TranslationContent[];
101
128
  /**
102
129
  * Helper convert to string
103
130
  */
@@ -1 +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;IACjB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;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"}
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;IACjB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6BAA6B;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,kCAAkC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;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;IACtC,0FAA0F;IAC1F,OAAO,CAAC,kBAAkB,CAA4B;IAEtD;;;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;IAQb;;OAEG;IACH,YAAY,IAAI,IAAI;IAIpB;;OAEG;IACH,UAAU,IAAI,OAAO;IAUrB;;OAEG;IACH,wBAAwB,IAAI,kBAAkB,EAAE;IAIhD;;OAEG;IACH,oBAAoB,IAAI,cAAc,EAAE;IAIxC;;;OAGG;IACH,sBAAsB,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAIzD;;OAEG;IACH,qBAAqB,IAAI,kBAAkB,EAAE;IAI7C;;OAEG;IACH,SAAS,IAAI,GAAG;IAUhB;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;CAqB9B"}
@@ -18,6 +18,8 @@ class StringCollector {
18
18
  this.hashAggregators = new Map();
19
19
  /** Global counter incremented for each useGT/getGT call encountered */
20
20
  this.globalCallCounter = 0;
21
+ /** Runtime-only entries for t(), msg(), tagged templates — bypasses the counter system */
22
+ this.runtimeOnlyEntries = [];
21
23
  }
22
24
  /**
23
25
  * Increment counter and return the current counter ID for a useGT/getGT call
@@ -107,6 +109,7 @@ class StringCollector {
107
109
  this.contentAggregators.clear();
108
110
  this.jsxAggregators.clear();
109
111
  this.hashAggregators.clear();
112
+ this.runtimeOnlyEntries = [];
110
113
  this.globalCallCounter = 0;
111
114
  }
112
115
  /**
@@ -121,9 +124,35 @@ class StringCollector {
121
124
  hasContent() {
122
125
  return (this.contentAggregators.size +
123
126
  this.jsxAggregators.size +
124
- this.hashAggregators.size >
127
+ this.hashAggregators.size +
128
+ this.runtimeOnlyEntries.length >
125
129
  0);
126
130
  }
131
+ /**
132
+ * Get all translation content entries (flattened across all aggregators)
133
+ */
134
+ getAllTranslationContent() {
135
+ return Array.from(this.contentAggregators.values()).flat();
136
+ }
137
+ /**
138
+ * Get all translation JSX entries
139
+ */
140
+ getAllTranslationJsx() {
141
+ return Array.from(this.jsxAggregators.values());
142
+ }
143
+ /**
144
+ * Add a runtime-only translation entry (for t(), msg(), tagged templates).
145
+ * These bypass the counter system and are only consumed by the runtime translate pass.
146
+ */
147
+ pushRuntimeOnlyContent(content) {
148
+ this.runtimeOnlyEntries.push(content);
149
+ }
150
+ /**
151
+ * Get all runtime-only translation entries
152
+ */
153
+ getRuntimeOnlyContent() {
154
+ return this.runtimeOnlyEntries;
155
+ }
127
156
  /**
128
157
  * Helper convert to string
129
158
  */
@@ -1 +1 @@
1
- {"version":3,"file":"StringCollector.js","sourceRoot":"","sources":["../../src/state/StringCollector.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAkCH;;GAEG;AACH,MAAa,eAAe;IAA5B;QACE,wDAAwD;QAChD,uBAAkB,GAAsC,IAAI,GAAG,EAAE,CAAC;QAClE,mBAAc,GAAgC,IAAI,GAAG,EAAE,CAAC;QACxD,oBAAe,GAAiC,IAAI,GAAG,EAAE,CAAC;QAClE,uEAAuE;QAC/D,sBAAiB,GAAW,CAAC,CAAC;IAkKxC,CAAC;IAhKC;;;OAGG;IACH,gBAAgB;QACd,IAAI,CAAC,iBAAiB,IAAI,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED;;;OAGG;IACH,sBAAsB,CAAC,SAAiB,EAAE,OAA2B;QACnE,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACb,yHAAyH,CAC1H,CAAC;QACJ,CAAC;QACD,qBAAqB;QACrB,IAAI,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACxD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,UAAU,GAAG,CAAC,OAAO,CAAC,CAAC;YACvB,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,SAAiB,EAAE,GAAmB;QACtD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACH,kBAAkB,CAAC,SAAiB,EAAE,IAAqB;QACzD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,SAAiB;QAMlC,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3C,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAE;aAC/C,CAAC;QACJ,CAAC;aAAM,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAE,EAAE,CAAC;QACrE,CAAC;aAAM,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAE,EAAE,CAAC;QACvE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,qBAAqB,CAAC,SAAiB;QACrC,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,SAAiB;QACjC,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,SAAiB;QAClC,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,YAAY;QACV,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,CACL,IAAI,CAAC,kBAAkB,CAAC,IAAI;YAC1B,IAAI,CAAC,cAAc,CAAC,IAAI;YACxB,IAAI,CAAC,eAAe,CAAC,IAAI;YAC3B,CAAC,CACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,SAAS;QACP,MAAM,MAAM,GAAG;YACb,kBAAkB,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC/D,cAAc,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC;YACvD,eAAe,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC;YACzD,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;SAC1C,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,KAAU;QACpB,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,OAAO,CACtC,KAAK,CAAC,kBAA0D,CACjE,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAC7B,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,IAAI,GAAG,EAAgC,CAAC,CAAC;QAC5C,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,OAAO,CAClC,KAAK,CAAC,cAAgD,CACvD,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAC7B,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,IAAI,GAAG,EAA0B,CAAC,CAAC;QACtC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,OAAO,CACnC,KAAK,CAAC,eAAkD,CACzD,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAC7B,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,IAAI,GAAG,EAA2B,CAAC,CAAC;QACvC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC;IACnD,CAAC;CACF;AAxKD,0CAwKC"}
1
+ {"version":3,"file":"StringCollector.js","sourceRoot":"","sources":["../../src/state/StringCollector.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ export interface TransformState {
18
18
  dynamicContentViolations: number;
19
19
  macroExpansionsCount: number;
20
20
  jsxInsertionsCount: number;
21
+ runtimeTranslateCount: number;
21
22
  };
22
23
  /** Debug: shared manifest map for hash → jsxChildren mapping (accumulated across files) */
23
24
  debugManifest?: Map<string, unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/state/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,cAAc,CAAC;IACzB,eAAe,EAAE,eAAe,CAAC;IACjC,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE;QACV,eAAe,EAAE,MAAM,CAAC;QACxB,wBAAwB,EAAE,MAAM,CAAC;QACjC,oBAAoB,EAAE,MAAM,CAAC;QAC7B,kBAAkB,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,2FAA2F;IAC3F,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/state/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,cAAc,CAAC;IACzB,eAAe,EAAE,eAAe,CAAC;IACjC,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE;QACV,eAAe,EAAE,MAAM,CAAC;QACxB,wBAAwB,EAAE,MAAM,CAAC;QACjC,oBAAoB,EAAE,MAAM,CAAC;QAC7B,kBAAkB,EAAE,MAAM,CAAC;QAC3B,qBAAqB,EAAE,MAAM,CAAC;KAC/B,CAAC;IACF,2FAA2F;IAC3F,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC"}
@@ -1 +1 @@
1
- {"version":3,"file":"initializeState.d.ts","sourceRoot":"","sources":["../../../src/state/utils/initializeState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAuB1C;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EAAE,MAAM,GACf,cAAc,CAyChB"}
1
+ {"version":3,"file":"initializeState.d.ts","sourceRoot":"","sources":["../../../src/state/utils/initializeState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AA4B1C;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EAAE,MAAM,GACf,cAAc,CAwDhB"}
@@ -31,24 +31,30 @@ const DEFAULT_SETTINGS = {
31
31
  enableAutoJsxInjection: false,
32
32
  autoderive: { jsx: false, strings: false },
33
33
  _debugHashManifest: false,
34
+ devHotReload: { strings: false, jsx: false },
34
35
  };
35
36
  /**
36
37
  * Initialize processing state for a file
37
38
  */
38
39
  function initializeState(options, filename) {
39
- var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
40
+ var _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
40
41
  // Pull enableAutoJsxInjection from gtConfig if provided
41
42
  const gtConfig = options.gtConfig;
42
- const enableAutoJsxInjection = (_f = (_e = (_d = (_c = gtConfig === null || gtConfig === void 0 ? void 0 : gtConfig.files) === null || _c === void 0 ? void 0 : _c.gt) === null || _d === void 0 ? void 0 : _d.parsingFlags) === null || _e === void 0 ? void 0 : _e.enableAutoJsxInjection) !== null && _f !== void 0 ? _f : false;
43
- const rawAutoderive = (_p = (_k = (_j = (_h = (_g = gtConfig === null || gtConfig === void 0 ? void 0 : gtConfig.files) === null || _g === void 0 ? void 0 : _g.gt) === null || _h === void 0 ? void 0 : _h.parsingFlags) === null || _j === void 0 ? void 0 : _j.autoderive) !== null && _k !== void 0 ? _k : (_o = (_m = (_l = gtConfig === null || gtConfig === void 0 ? void 0 : gtConfig.files) === null || _l === void 0 ? void 0 : _l.gt) === null || _m === void 0 ? void 0 : _m.parsingFlags) === null || _o === void 0 ? void 0 : _o.autoDerive) !== null && _p !== void 0 ? _p : false;
43
+ const enableAutoJsxInjection = (_g = (_f = (_e = (_d = gtConfig === null || gtConfig === void 0 ? void 0 : gtConfig.files) === null || _d === void 0 ? void 0 : _d.gt) === null || _e === void 0 ? void 0 : _e.parsingFlags) === null || _f === void 0 ? void 0 : _f.enableAutoJsxInjection) !== null && _g !== void 0 ? _g : false;
44
+ const rawDevHotReload = (_l = (_k = (_j = (_h = gtConfig === null || gtConfig === void 0 ? void 0 : gtConfig.files) === null || _h === void 0 ? void 0 : _h.gt) === null || _j === void 0 ? void 0 : _j.parsingFlags) === null || _k === void 0 ? void 0 : _k.devHotReload) !== null && _l !== void 0 ? _l : false;
45
+ const rawAutoderive = (_u = (_q = (_p = (_o = (_m = gtConfig === null || gtConfig === void 0 ? void 0 : gtConfig.files) === null || _m === void 0 ? void 0 : _m.gt) === null || _o === void 0 ? void 0 : _o.parsingFlags) === null || _p === void 0 ? void 0 : _p.autoderive) !== null && _q !== void 0 ? _q : (_t = (_s = (_r = gtConfig === null || gtConfig === void 0 ? void 0 : gtConfig.files) === null || _r === void 0 ? void 0 : _r.gt) === null || _s === void 0 ? void 0 : _s.parsingFlags) === null || _t === void 0 ? void 0 : _t.autoDerive) !== null && _u !== void 0 ? _u : false;
44
46
  // Backwards compat: normalize deprecated autoDerive → autoderive from options
45
- const rawOptionsAutoderive = (_r = (_q = options.autoderive) !== null && _q !== void 0 ? _q : options.autoDerive) !== null && _r !== void 0 ? _r : undefined;
47
+ const rawOptionsAutoderive = (_w = (_v = options.autoderive) !== null && _v !== void 0 ? _v : options.autoDerive) !== null && _w !== void 0 ? _w : undefined;
46
48
  const autoderive = (0, config_1.resolveAutoderive)(rawOptionsAutoderive !== null && rawOptionsAutoderive !== void 0 ? rawOptionsAutoderive : rawAutoderive);
47
- // Spread options but exclude autoderive/autoDerive (already resolved above)
49
+ // Resolve devHotReload (options override gtConfig)
50
+ const rawOptionsDevHotReload = (_x = options.devHotReload) !== null && _x !== void 0 ? _x : undefined;
51
+ const devHotReload = (0, config_1.resolveDevHotReload)(rawOptionsDevHotReload !== null && rawOptionsDevHotReload !== void 0 ? rawOptionsDevHotReload : rawDevHotReload);
52
+ // Spread options but exclude already-resolved fields
48
53
  // eslint-disable-next-line no-unused-vars
49
- const { autoderive: _a, autoDerive: _b } = options, restOptions = __rest(options, ["autoderive", "autoDerive"]);
54
+ const { autoderive: _a, autoDerive: _b, devHotReload: _c } = options, restOptions = __rest(options, ["autoderive", "autoDerive", "devHotReload"]);
50
55
  const settings = Object.assign(Object.assign(Object.assign(Object.assign({}, DEFAULT_SETTINGS), { enableAutoJsxInjection, // can be overridden by options.enableAutoJsxInjection
51
- autoderive }), restOptions), { filename });
56
+ autoderive,
57
+ devHotReload }), restOptions), { filename });
52
58
  return {
53
59
  settings,
54
60
  stringCollector: new StringCollector_1.StringCollector(),
@@ -60,6 +66,7 @@ function initializeState(options, filename) {
60
66
  dynamicContentViolations: 0,
61
67
  macroExpansionsCount: 0,
62
68
  jsxInsertionsCount: 0,
69
+ runtimeTranslateCount: 0,
63
70
  },
64
71
  };
65
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"initializeState.js","sourceRoot":"","sources":["../../../src/state/utils/initializeState.ts"],"names":[],"mappings":";;;;;;;;;;;;;AA2BA,0CA4CC;AArED,yCAAiE;AACjE,wDAAqD;AACrD,kDAA+C;AAC/C,sCAAmC;AACnC,kDAA+C;AAC/C,kEAAwE;AAExE,MAAM,gBAAgB,GAAmB;IACvC,QAAQ,EAAE,MAAM;IAChB,eAAe,EAAE,KAAK;IACtB,kBAAkB,EAAE,KAAK;IACzB,oBAAoB,EAAE,IAAI;IAC1B,sBAAsB,EAAE,8BAAkB,CAAC,CAAC;IAC5C,oBAAoB,EAAE,IAAI;IAC1B,wBAAwB,EAAE,IAAI;IAC9B,sBAAsB,EAAE,IAAI;IAC5B,0BAA0B,EAAE,IAAI;IAChC,sBAAsB,EAAE,KAAK;IAC7B,UAAU,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;IAC1C,kBAAkB,EAAE,KAAK;CAC1B,CAAC;AAEF;;GAEG;AACH,SAAgB,eAAe,CAC7B,OAA0B,EAC1B,QAAgB;;IAEhB,wDAAwD;IACxD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,MAAM,sBAAsB,GAC1B,MAAA,MAAA,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,0CAAE,EAAE,0CAAE,YAAY,0CAAE,sBAAsB,mCAAI,KAAK,CAAC;IACrE,MAAM,aAAa,GACjB,MAAA,MAAA,MAAA,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,0CAAE,EAAE,0CAAE,YAAY,0CAAE,UAAU,mCAC7C,MAAA,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,0CAAE,EAAE,0CAAE,YAAY,0CAAE,UAAU,mCAC7C,KAAK,CAAC;IAER,8EAA8E;IAC9E,MAAM,oBAAoB,GACxB,MAAA,MAAA,OAAO,CAAC,UAAU,mCAAI,OAAO,CAAC,UAAU,mCAAI,SAAS,CAAC;IAExD,MAAM,UAAU,GAAG,IAAA,0BAAiB,EAAC,oBAAoB,aAApB,oBAAoB,cAApB,oBAAoB,GAAI,aAAa,CAAC,CAAC;IAE5E,4EAA4E;IAC5E,0CAA0C;IAC1C,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,KAAqB,OAAO,EAAvB,WAAW,UAAK,OAAO,EAA5D,4BAAkD,CAAU,CAAC;IAEnE,MAAM,QAAQ,+DACT,gBAAgB,KACnB,sBAAsB,EAAE,sDAAsD;QAC9E,UAAU,KACP,WAAW,KACd,QAAQ,GACT,CAAC;IAEF,OAAO;QACL,QAAQ;QACR,eAAe,EAAE,IAAI,iCAAe,EAAE;QACtC,YAAY,EAAE,IAAI,2BAAY,EAAE;QAChC,MAAM,EAAE,IAAI,eAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACrC,YAAY,EAAE,IAAI,2BAAY,EAAE;QAChC,UAAU,EAAE;YACV,eAAe,EAAE,CAAC;YAClB,wBAAwB,EAAE,CAAC;YAC3B,oBAAoB,EAAE,CAAC;YACvB,kBAAkB,EAAE,CAAC;SACtB;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"initializeState.js","sourceRoot":"","sources":["../../../src/state/utils/initializeState.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"registerUseGTCallback.d.ts","sourceRoot":"","sources":["../../../../src/transform/registration/callbacks/registerUseGTCallback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAItD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,UAAU,EACV,KAAK,EACL,OAAO,EACP,OAAO,EACP,EAAE,EACF,QAAQ,EACR,IAAI,EACJ,MAAM,GACP,EAAE;IACD,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,cAAc,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,IAAI,CA0BP"}
1
+ {"version":3,"file":"registerUseGTCallback.d.ts","sourceRoot":"","sources":["../../../../src/transform/registration/callbacks/registerUseGTCallback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAItD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,UAAU,EACV,KAAK,EACL,OAAO,EACP,OAAO,EACP,EAAE,EACF,QAAQ,EACR,IAAI,EACJ,MAAM,GACP,EAAE;IACD,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,cAAc,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,IAAI,CA2BP"}
@@ -25,6 +25,7 @@ function registerUseGTCallback({ identifier, state, content, context, id, maxCha
25
25
  id,
26
26
  context,
27
27
  maxChars,
28
+ format,
28
29
  });
29
30
  // Increment counter so we can revisit this same invocation on second pass
30
31
  const counterId = state.stringCollector.incrementCounter();
@@ -1 +1 @@
1
- {"version":3,"file":"registerUseGTCallback.js","sourceRoot":"","sources":["../../../../src/transform/registration/callbacks/registerUseGTCallback.ts"],"names":[],"mappings":";;;;;AAQA,sDA4CC;AAnDD,iFAAsD;AAGtD;;;GAGG;AACH,SAAgB,qBAAqB,CAAC,EACpC,UAAU,EACV,KAAK,EACL,OAAO,EACP,OAAO,EACP,EAAE,EACF,QAAQ,EACR,IAAI,EACJ,MAAM,GAUP;IACC,0GAA0G;IAC1G,IAAI,aAAJ,IAAI,cAAJ,IAAI,IAAJ,IAAI,GAAK,IAAA,uBAAU,EAAC;QAClB,MAAM,EAAE,OAAO;QACf,EAAE;QACF,OAAO;QACP,QAAQ;QACR,UAAU,EAAE,CAAC,MAAM,IAAI,KAAK,CAAe;KAC5C,CAAC,EAAC;IAEH,+FAA+F;IAC/F,KAAK,CAAC,eAAe,CAAC,sBAAsB,CAAC,UAAU,EAAE;QACvD,OAAO,EAAE,OAAO;QAChB,IAAI;QACJ,EAAE;QACF,OAAO;QACP,QAAQ;KACT,CAAC,CAAC;IAEH,0EAA0E;IAC1E,MAAM,SAAS,GAAG,KAAK,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC;IAE3D,uCAAuC;IACvC,KAAK,CAAC,eAAe,CAAC,kBAAkB,CAAC,SAAS,EAAE;QAClD,IAAI;KACL,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"registerUseGTCallback.js","sourceRoot":"","sources":["../../../../src/transform/registration/callbacks/registerUseGTCallback.ts"],"names":[],"mappings":";;;;;AAQA,sDA6CC;AApDD,iFAAsD;AAGtD;;;GAGG;AACH,SAAgB,qBAAqB,CAAC,EACpC,UAAU,EACV,KAAK,EACL,OAAO,EACP,OAAO,EACP,EAAE,EACF,QAAQ,EACR,IAAI,EACJ,MAAM,GAUP;IACC,0GAA0G;IAC1G,IAAI,aAAJ,IAAI,cAAJ,IAAI,IAAJ,IAAI,GAAK,IAAA,uBAAU,EAAC;QAClB,MAAM,EAAE,OAAO;QACf,EAAE;QACF,OAAO;QACP,QAAQ;QACR,UAAU,EAAE,CAAC,MAAM,IAAI,KAAK,CAAe;KAC5C,CAAC,EAAC;IAEH,+FAA+F;IAC/F,KAAK,CAAC,eAAe,CAAC,sBAAsB,CAAC,UAAU,EAAE;QACvD,OAAO,EAAE,OAAO;QAChB,IAAI;QACJ,EAAE;QACF,OAAO;QACP,QAAQ;QACR,MAAM;KACP,CAAC,CAAC;IAEH,0EAA0E;IAC1E,MAAM,SAAS,GAAG,KAAK,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC;IAE3D,uCAAuC;IACvC,KAAK,CAAC,eAAe,CAAC,kBAAkB,CAAC,SAAS,EAAE;QAClD,IAAI;KACL,CAAC,CAAC;AACL,CAAC"}
@@ -3,5 +3,9 @@ import { TransformState } from '../../state/types';
3
3
  * Track gt() function invocations
4
4
  * - Adds the translation content to the string collector
5
5
  */
6
- export declare function registerTranslationComponent(state: TransformState, hash: string): void;
6
+ export declare function registerTranslationComponent(state: TransformState, hash: string, options?: {
7
+ children?: unknown;
8
+ id?: string;
9
+ context?: string;
10
+ }): void;
7
11
  //# sourceMappingURL=registerTranslationComponent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"registerTranslationComponent.d.ts","sourceRoot":"","sources":["../../../src/transform/registration/registerTranslationComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,MAAM,GACX,IAAI,CAON"}
1
+ {"version":3,"file":"registerTranslationComponent.d.ts","sourceRoot":"","sources":["../../../src/transform/registration/registerTranslationComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GACA,IAAI,CAUN"}
@@ -5,12 +5,15 @@ exports.registerTranslationComponent = registerTranslationComponent;
5
5
  * Track gt() function invocations
6
6
  * - Adds the translation content to the string collector
7
7
  */
8
- function registerTranslationComponent(state, hash) {
8
+ function registerTranslationComponent(state, hash, options) {
9
9
  // Increment counter
10
10
  const identifier = state.stringCollector.incrementCounter();
11
11
  // Add the translation content to the string collector
12
12
  state.stringCollector.setTranslationJsx(identifier, {
13
13
  hash,
14
+ children: options === null || options === void 0 ? void 0 : options.children,
15
+ id: options === null || options === void 0 ? void 0 : options.id,
16
+ context: options === null || options === void 0 ? void 0 : options.context,
14
17
  });
15
18
  }
16
19
  //# sourceMappingURL=registerTranslationComponent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registerTranslationComponent.js","sourceRoot":"","sources":["../../../src/transform/registration/registerTranslationComponent.ts"],"names":[],"mappings":";;AAMA,oEAUC;AAdD;;;GAGG;AACH,SAAgB,4BAA4B,CAC1C,KAAqB,EACrB,IAAY;IAEZ,oBAAoB;IACpB,MAAM,UAAU,GAAG,KAAK,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC;IAC5D,sDAAsD;IACtD,KAAK,CAAC,eAAe,CAAC,iBAAiB,CAAC,UAAU,EAAE;QAClD,IAAI;KACL,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"registerTranslationComponent.js","sourceRoot":"","sources":["../../../src/transform/registration/registerTranslationComponent.ts"],"names":[],"mappings":";;AAMA,oEAkBC;AAtBD;;;GAGG;AACH,SAAgB,4BAA4B,CAC1C,KAAqB,EACrB,IAAY,EACZ,OAIC;IAED,oBAAoB;IACpB,MAAM,UAAU,GAAG,KAAK,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC;IAC5D,sDAAsD;IACtD,KAAK,CAAC,eAAe,CAAC,iBAAiB,CAAC,UAAU,EAAE;QAClD,IAAI;QACJ,QAAQ,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ;QAC3B,EAAE,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,EAAE;QACf,OAAO,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO;KAC1B,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,11 @@
1
+ import * as t from '@babel/types';
2
+ import { TranslationContent, TranslationJsx } from '../../state/StringCollector';
3
+ /**
4
+ * Build a single `await Promise.all([...])` expression statement containing
5
+ * runtime translate calls for all extracted strings and JSX content.
6
+ */
7
+ export declare function buildRuntimeTranslateCalls({ strings, jsx, }: {
8
+ strings: TranslationContent[];
9
+ jsx: TranslationJsx[];
10
+ }): t.ExpressionStatement;
11
+ //# sourceMappingURL=buildRuntimeTranslateCalls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildRuntimeTranslateCalls.d.ts","sourceRoot":"","sources":["../../../src/transform/runtime-translate/buildRuntimeTranslateCalls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EACL,kBAAkB,EAClB,cAAc,EACf,MAAM,6BAA6B,CAAC;AAMrC;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,EACzC,OAAO,EACP,GAAG,GACJ,EAAE;IACD,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,GAAG,EAAE,cAAc,EAAE,CAAC;CACvB,GAAG,CAAC,CAAC,mBAAmB,CAoBxB"}
@@ -0,0 +1,94 @@
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.buildRuntimeTranslateCalls = buildRuntimeTranslateCalls;
37
+ const t = __importStar(require("@babel/types"));
38
+ const constants_1 = require("../../utils/constants/gt/constants");
39
+ /**
40
+ * Build a single `await Promise.all([...])` expression statement containing
41
+ * runtime translate calls for all extracted strings and JSX content.
42
+ */
43
+ function buildRuntimeTranslateCalls({ strings, jsx, }) {
44
+ const calls = [];
45
+ // Build GtInternalRuntimeTranslateString calls
46
+ for (const entry of strings) {
47
+ calls.push(buildStringCall(entry));
48
+ }
49
+ // Build GtInternalRuntimeTranslateJsx calls
50
+ for (const entry of jsx) {
51
+ calls.push(buildJsxCall(entry));
52
+ }
53
+ // Wrap in await Promise.all([...])
54
+ const promiseAll = t.callExpression(t.memberExpression(t.identifier('Promise'), t.identifier('all')), [t.arrayExpression(calls)]);
55
+ return t.expressionStatement(t.awaitExpression(promiseAll));
56
+ }
57
+ /**
58
+ * Build a single GtInternalRuntimeTranslateString(message, options) call
59
+ */
60
+ function buildStringCall(entry) {
61
+ const properties = [];
62
+ if (entry.context !== undefined) {
63
+ properties.push(t.objectProperty(t.stringLiteral(constants_1.USEGT_CALLBACK_OPTIONS.$context), t.stringLiteral(entry.context)));
64
+ }
65
+ if (entry.hash !== undefined) {
66
+ properties.push(t.objectProperty(t.stringLiteral(constants_1.USEGT_CALLBACK_OPTIONS.$_hash), t.stringLiteral(entry.hash)));
67
+ }
68
+ if (entry.id !== undefined) {
69
+ properties.push(t.objectProperty(t.stringLiteral(constants_1.USEGT_CALLBACK_OPTIONS.$id), t.stringLiteral(entry.id)));
70
+ }
71
+ if (entry.maxChars !== undefined) {
72
+ properties.push(t.objectProperty(t.stringLiteral(constants_1.USEGT_CALLBACK_OPTIONS.$maxChars), t.numericLiteral(entry.maxChars)));
73
+ }
74
+ if (entry.format !== undefined) {
75
+ properties.push(t.objectProperty(t.stringLiteral(constants_1.USEGT_CALLBACK_OPTIONS.$format), t.stringLiteral(entry.format)));
76
+ }
77
+ return t.callExpression(t.identifier(constants_1.GT_OTHER_FUNCTIONS.GtInternalRuntimeTranslateString), [t.stringLiteral(entry.message), t.objectExpression(properties)]);
78
+ }
79
+ /**
80
+ * Build a single GtInternalRuntimeTranslateJsx(children, options) call
81
+ */
82
+ function buildJsxCall(entry) {
83
+ const properties = [];
84
+ if (entry.context !== undefined) {
85
+ properties.push(t.objectProperty(t.stringLiteral(constants_1.USEGT_CALLBACK_OPTIONS.$context), t.stringLiteral(entry.context)));
86
+ }
87
+ if (entry.id !== undefined) {
88
+ properties.push(t.objectProperty(t.stringLiteral(constants_1.USEGT_CALLBACK_OPTIONS.$id), t.stringLiteral(entry.id)));
89
+ }
90
+ // Serialize children to AST — handles arrays, objects, strings, numbers, null
91
+ const childrenNode = entry.children != null ? t.valueToNode(entry.children) : t.nullLiteral();
92
+ return t.callExpression(t.identifier(constants_1.GT_OTHER_FUNCTIONS.GtInternalRuntimeTranslateJsx), [childrenNode, t.objectExpression(properties)]);
93
+ }
94
+ //# sourceMappingURL=buildRuntimeTranslateCalls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildRuntimeTranslateCalls.js","sourceRoot":"","sources":["../../../src/transform/runtime-translate/buildRuntimeTranslateCalls.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import * as t from '@babel/types';
2
+ import { NodePath } from '@babel/traverse';
3
+ /**
4
+ * Inject runtime translate import with only the specifiers needed.
5
+ * `import { GtInternalRuntimeTranslateString, GtInternalRuntimeTranslateJsx } from 'gt-react/browser'`
6
+ */
7
+ export declare function injectRuntimeTranslateImport(path: NodePath<t.Program>, { needsString, needsJsx }: {
8
+ needsString: boolean;
9
+ needsJsx: boolean;
10
+ }): NodePath<t.ImportDeclaration> | null;
11
+ //# sourceMappingURL=injectRuntimeTranslateImport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"injectRuntimeTranslateImport.d.ts","sourceRoot":"","sources":["../../../src/transform/runtime-translate/injectRuntimeTranslateImport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAM3C;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,EACzB,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE;IAAE,WAAW,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,GACrE,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAsBtC"}
@@ -0,0 +1,59 @@
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.injectRuntimeTranslateImport = injectRuntimeTranslateImport;
37
+ const t = __importStar(require("@babel/types"));
38
+ const constants_1 = require("../../utils/constants/gt/constants");
39
+ /**
40
+ * Inject runtime translate import with only the specifiers needed.
41
+ * `import { GtInternalRuntimeTranslateString, GtInternalRuntimeTranslateJsx } from 'gt-react/browser'`
42
+ */
43
+ function injectRuntimeTranslateImport(path, { needsString, needsJsx }) {
44
+ const specifiers = [];
45
+ if (needsString) {
46
+ const name = constants_1.GT_OTHER_FUNCTIONS.GtInternalRuntimeTranslateString;
47
+ specifiers.push(t.importSpecifier(t.identifier(name), t.identifier(name)));
48
+ }
49
+ if (needsJsx) {
50
+ const name = constants_1.GT_OTHER_FUNCTIONS.GtInternalRuntimeTranslateJsx;
51
+ specifiers.push(t.importSpecifier(t.identifier(name), t.identifier(name)));
52
+ }
53
+ if (specifiers.length === 0)
54
+ return null;
55
+ const importDecl = t.importDeclaration(specifiers, t.stringLiteral(constants_1.GT_IMPORT_SOURCES.GT_REACT_BROWSER));
56
+ const [inserted] = path.unshiftContainer('body', importDecl);
57
+ return inserted;
58
+ }
59
+ //# sourceMappingURL=injectRuntimeTranslateImport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"injectRuntimeTranslateImport.js","sourceRoot":"","sources":["../../../src/transform/runtime-translate/injectRuntimeTranslateImport.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,oEAyBC;AApCD,gDAAkC;AAElC,kEAG4C;AAE5C;;;GAGG;AACH,SAAgB,4BAA4B,CAC1C,IAAyB,EACzB,EAAE,WAAW,EAAE,QAAQ,EAA+C;IAEtE,MAAM,UAAU,GAAwB,EAAE,CAAC;IAE3C,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,IAAI,GAAG,8BAAkB,CAAC,gCAAgC,CAAC;QACjE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,8BAAkB,CAAC,6BAA6B,CAAC;QAC9D,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEzC,MAAM,UAAU,GAAG,CAAC,CAAC,iBAAiB,CACpC,UAAU,EACV,CAAC,CAAC,aAAa,CAAC,6BAAiB,CAAC,gBAAgB,CAAC,CACpD,CAAC;IAEF,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC7D,OAAO,QAAyC,CAAC;AACnD,CAAC"}
@@ -0,0 +1,14 @@
1
+ import * as t from '@babel/types';
2
+ /**
3
+ * Attempt to resolve an expression to a static string at compile time.
4
+ * Handles string literals, template literals, binary '+' concatenation,
5
+ * nested combinations, and numeric/boolean/null literals coerced to string.
6
+ *
7
+ * Returns the resolved string, or undefined if the expression contains
8
+ * any dynamic content (variables, function calls, etc.).
9
+ */
10
+ export declare function resolveStaticExpression(expr: t.Expression): {
11
+ errors: string[];
12
+ value?: string;
13
+ };
14
+ //# sourceMappingURL=resolveStaticExpression.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveStaticExpression.d.ts","sourceRoot":"","sources":["../../../src/transform/templates-and-concat/resolveStaticExpression.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAElC;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,GAAG;IAC3D,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CA+CA"}
@@ -0,0 +1,89 @@
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.resolveStaticExpression = resolveStaticExpression;
37
+ const t = __importStar(require("@babel/types"));
38
+ /**
39
+ * Attempt to resolve an expression to a static string at compile time.
40
+ * Handles string literals, template literals, binary '+' concatenation,
41
+ * nested combinations, and numeric/boolean/null literals coerced to string.
42
+ *
43
+ * Returns the resolved string, or undefined if the expression contains
44
+ * any dynamic content (variables, function calls, etc.).
45
+ */
46
+ function resolveStaticExpression(expr) {
47
+ if (t.isStringLiteral(expr)) {
48
+ return { errors: [], value: expr.value };
49
+ }
50
+ if (t.isNumericLiteral(expr)) {
51
+ return { errors: [], value: String(expr.value) };
52
+ }
53
+ if (t.isBooleanLiteral(expr)) {
54
+ return { errors: [], value: String(expr.value) };
55
+ }
56
+ if (t.isNullLiteral(expr)) {
57
+ return { errors: [], value: 'null' };
58
+ }
59
+ if (t.isTemplateLiteral(expr)) {
60
+ let result = '';
61
+ for (let i = 0; i < expr.quasis.length; i++) {
62
+ const cooked = expr.quasis[i].value.cooked;
63
+ if (cooked == null) {
64
+ return {
65
+ errors: ['Template literal contains an invalid escape sequence'],
66
+ };
67
+ }
68
+ result += cooked;
69
+ if (i < expr.expressions.length) {
70
+ const resolved = resolveStaticExpression(expr.expressions[i]);
71
+ if (resolved.errors.length || resolved.value == null)
72
+ return resolved;
73
+ result += resolved.value;
74
+ }
75
+ }
76
+ return { errors: [], value: result };
77
+ }
78
+ if (t.isBinaryExpression(expr) && expr.operator === '+') {
79
+ const left = resolveStaticExpression(expr.left);
80
+ if (left.errors.length || left.value == null)
81
+ return left;
82
+ const right = resolveStaticExpression(expr.right);
83
+ if (right.errors.length || right.value == null)
84
+ return right;
85
+ return { errors: [], value: left.value + right.value };
86
+ }
87
+ return { errors: ['Expression is not a static string'] };
88
+ }
89
+ //# sourceMappingURL=resolveStaticExpression.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveStaticExpression.js","sourceRoot":"","sources":["../../../src/transform/templates-and-concat/resolveStaticExpression.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,0DAkDC;AA5DD,gDAAkC;AAElC;;;;;;;GAOG;AACH,SAAgB,uBAAuB,CAAC,IAAkB;IAIxD,IAAI,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IAC3C,CAAC;IAED,IAAI,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IACnD,CAAC;IAED,IAAI,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IACnD,CAAC;IAED,IAAI,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IACvC,CAAC;IAED,IAAI,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;YAC3C,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gBACnB,OAAO;oBACL,MAAM,EAAE,CAAC,sDAAsD,CAAC;iBACjE,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,MAAM,CAAC;YACjB,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;gBAChC,MAAM,QAAQ,GAAG,uBAAuB,CACtC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAiB,CACpC,CAAC;gBACF,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC,KAAK,IAAI,IAAI;oBAAE,OAAO,QAAQ,CAAC;gBACtE,MAAM,IAAI,QAAQ,CAAC,KAAK,CAAC;YAC3B,CAAC;QACH,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IACvC,CAAC;IAED,IAAI,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC;QACxD,MAAM,IAAI,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAoB,CAAC,CAAC;QAChE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QAC1D,MAAM,KAAK,GAAG,uBAAuB,CAAC,IAAI,CAAC,KAAqB,CAAC,CAAC;QAClE,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI;YAAE,OAAO,KAAK,CAAC;QAC7D,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;IACzD,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,CAAC,mCAAmC,CAAC,EAAE,CAAC;AAC3D,CAAC"}
@@ -2,9 +2,9 @@ import * as t from '@babel/types';
2
2
  import { TransformState } from '../../state/types';
3
3
  /**
4
4
  * Validate useGT_callback / getGT_callback
5
- * - first argument must be a string literal
5
+ * - first argument must be a statically resolvable string expression
6
+ * (string literal, template literal, binary '+' concatenation, or derive() call)
6
7
  * - second argument, if present, $id field + $context field must be a string literal
7
- * TODO: Add maxChars validation
8
8
  */
9
9
  export declare function validateUseGTCallback(callExpr: t.CallExpression, state: TransformState): {
10
10
  errors: string[];