@kurot/cli 1.1.1 → 1.1.3

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 (150) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/README.md +40 -9
  3. package/dist/commands/build.d.ts +3 -0
  4. package/dist/commands/build.d.ts.map +1 -1
  5. package/dist/commands/build.js +3 -0
  6. package/dist/commands/build.js.map +1 -1
  7. package/dist/commands/clean.d.ts +3 -0
  8. package/dist/commands/clean.d.ts.map +1 -1
  9. package/dist/commands/clean.js +3 -0
  10. package/dist/commands/clean.js.map +1 -1
  11. package/dist/commands/create.d.ts +3 -0
  12. package/dist/commands/create.d.ts.map +1 -1
  13. package/dist/commands/create.js +3 -0
  14. package/dist/commands/create.js.map +1 -1
  15. package/dist/commands/dev.d.ts +3 -0
  16. package/dist/commands/dev.d.ts.map +1 -1
  17. package/dist/commands/dev.js +5 -1
  18. package/dist/commands/dev.js.map +1 -1
  19. package/dist/core/components/discover-components.d.ts +16 -0
  20. package/dist/core/components/discover-components.d.ts.map +1 -0
  21. package/dist/core/components/discover-components.js +191 -0
  22. package/dist/core/components/discover-components.js.map +1 -0
  23. package/dist/core/config.d.ts +45 -17
  24. package/dist/core/config.d.ts.map +1 -1
  25. package/dist/core/config.js +16 -6
  26. package/dist/core/config.js.map +1 -1
  27. package/dist/core/dev-server.d.ts +5 -5
  28. package/dist/core/dev-server.d.ts.map +1 -1
  29. package/dist/core/dev-server.js +97 -25
  30. package/dist/core/dev-server.js.map +1 -1
  31. package/dist/core/diagnostics/output.d.ts +31 -0
  32. package/dist/core/diagnostics/output.d.ts.map +1 -1
  33. package/dist/core/diagnostics/output.js +13 -0
  34. package/dist/core/diagnostics/output.js.map +1 -1
  35. package/dist/core/diagnostics/types.d.ts +15 -0
  36. package/dist/core/diagnostics/types.d.ts.map +1 -1
  37. package/dist/core/errors.d.ts.map +1 -1
  38. package/dist/core/errors.js.map +1 -1
  39. package/dist/core/exml/ast.d.ts +27 -0
  40. package/dist/core/exml/ast.d.ts.map +1 -1
  41. package/dist/core/exml/codegen.d.ts +6 -7
  42. package/dist/core/exml/codegen.d.ts.map +1 -1
  43. package/dist/core/exml/codegen.js +57 -87
  44. package/dist/core/exml/codegen.js.map +1 -1
  45. package/dist/core/exml/exml-diagnostics.d.ts +2 -1
  46. package/dist/core/exml/exml-diagnostics.d.ts.map +1 -1
  47. package/dist/core/exml/exml-diagnostics.js +2 -2
  48. package/dist/core/exml/exml-diagnostics.js.map +1 -1
  49. package/dist/core/exml/exml-parser.d.ts +11 -11
  50. package/dist/core/exml/exml-parser.d.ts.map +1 -1
  51. package/dist/core/exml/exml-parser.js +93 -179
  52. package/dist/core/exml/exml-parser.js.map +1 -1
  53. package/dist/core/exml/index.d.ts +13 -13
  54. package/dist/core/exml/index.d.ts.map +1 -1
  55. package/dist/core/exml/index.js +12 -13
  56. package/dist/core/exml/index.js.map +1 -1
  57. package/dist/core/exml/registry.d.ts +39 -33
  58. package/dist/core/exml/registry.d.ts.map +1 -1
  59. package/dist/core/exml/registry.js +56 -43
  60. package/dist/core/exml/registry.js.map +1 -1
  61. package/dist/core/exml/skin-module-builder.d.ts +14 -0
  62. package/dist/core/exml/skin-module-builder.d.ts.map +1 -1
  63. package/dist/core/exml/skin-module-builder.js +8 -2
  64. package/dist/core/exml/skin-module-builder.js.map +1 -1
  65. package/dist/core/exml/xml-parser.d.ts +36 -26
  66. package/dist/core/exml/xml-parser.d.ts.map +1 -1
  67. package/dist/core/exml/xml-parser.js +133 -144
  68. package/dist/core/exml/xml-parser.js.map +1 -1
  69. package/dist/core/namespace-external-plugin.d.ts +5 -5
  70. package/dist/core/namespace-external-plugin.js +5 -5
  71. package/dist/core/pipeline.d.ts +59 -39
  72. package/dist/core/pipeline.d.ts.map +1 -1
  73. package/dist/core/pipeline.js +6 -1
  74. package/dist/core/pipeline.js.map +1 -1
  75. package/dist/core/plugins/clean-output.d.ts +3 -0
  76. package/dist/core/plugins/clean-output.d.ts.map +1 -1
  77. package/dist/core/plugins/clean-output.js +3 -1
  78. package/dist/core/plugins/clean-output.js.map +1 -1
  79. package/dist/core/plugins/compile-custom-namespaces.d.ts +6 -1
  80. package/dist/core/plugins/compile-custom-namespaces.d.ts.map +1 -1
  81. package/dist/core/plugins/compile-custom-namespaces.js +74 -11
  82. package/dist/core/plugins/compile-custom-namespaces.js.map +1 -1
  83. package/dist/core/plugins/compile-engine.d.ts +2 -4
  84. package/dist/core/plugins/compile-engine.d.ts.map +1 -1
  85. package/dist/core/plugins/compile-engine.js +5 -5
  86. package/dist/core/plugins/compile-engine.js.map +1 -1
  87. package/dist/core/plugins/compile-exml.d.ts.map +1 -1
  88. package/dist/core/plugins/compile-exml.js +18 -3
  89. package/dist/core/plugins/compile-exml.js.map +1 -1
  90. package/dist/core/plugins/compile-source.d.ts +1 -1
  91. package/dist/core/plugins/compile-source.d.ts.map +1 -1
  92. package/dist/core/plugins/compile-source.js +10 -8
  93. package/dist/core/plugins/compile-source.js.map +1 -1
  94. package/dist/core/plugins/component-catalog.d.ts +6 -0
  95. package/dist/core/plugins/component-catalog.d.ts.map +1 -0
  96. package/dist/core/plugins/component-catalog.js +30 -0
  97. package/dist/core/plugins/component-catalog.js.map +1 -0
  98. package/dist/core/plugins/copy-assets.d.ts +1 -2
  99. package/dist/core/plugins/copy-assets.d.ts.map +1 -1
  100. package/dist/core/plugins/copy-assets.js +1 -3
  101. package/dist/core/plugins/copy-assets.js.map +1 -1
  102. package/dist/core/plugins/generate-html.d.ts.map +1 -1
  103. package/dist/core/plugins/generate-html.js +1 -1
  104. package/dist/core/plugins/generate-html.js.map +1 -1
  105. package/dist/core/plugins/index.d.ts +1 -0
  106. package/dist/core/plugins/index.d.ts.map +1 -1
  107. package/dist/core/plugins/index.js +3 -0
  108. package/dist/core/plugins/index.js.map +1 -1
  109. package/dist/core/project.d.ts +85 -6
  110. package/dist/core/project.d.ts.map +1 -1
  111. package/dist/core/project.js +53 -8
  112. package/dist/core/project.js.map +1 -1
  113. package/dist/core/template.d.ts +8 -1
  114. package/dist/core/template.d.ts.map +1 -1
  115. package/dist/core/template.js +18 -8
  116. package/dist/core/template.js.map +1 -1
  117. package/dist/define.d.ts +1 -1
  118. package/dist/define.d.ts.map +1 -1
  119. package/dist/utils/fs.d.ts +15 -0
  120. package/dist/utils/fs.d.ts.map +1 -1
  121. package/dist/utils/fs.js +15 -0
  122. package/dist/utils/fs.js.map +1 -1
  123. package/dist/utils/logger.d.ts +7 -3
  124. package/dist/utils/logger.d.ts.map +1 -1
  125. package/dist/utils/logger.js +7 -3
  126. package/dist/utils/logger.js.map +1 -1
  127. package/package.json +1 -1
  128. package/templates/game/kurot.config.ts +4 -2
  129. package/templates/game/src/game-components.ts +0 -6
  130. /package/templates/game/resource/skins/{ButtonSkin.exml → eui/ButtonSkin.exml} +0 -0
  131. /package/templates/game/resource/skins/{CheckBoxSkin.exml → eui/CheckBoxSkin.exml} +0 -0
  132. /package/templates/game/resource/skins/{ComboBoxSkin.exml → eui/ComboBoxSkin.exml} +0 -0
  133. /package/templates/game/resource/skins/{GroupSkin.exml → eui/GroupSkin.exml} +0 -0
  134. /package/templates/game/resource/skins/{HScrollBarSkin.exml → eui/HScrollBarSkin.exml} +0 -0
  135. /package/templates/game/resource/skins/{HSliderSkin.exml → eui/HSliderSkin.exml} +0 -0
  136. /package/templates/game/resource/skins/{ImageSkin.exml → eui/ImageSkin.exml} +0 -0
  137. /package/templates/game/resource/skins/{ItemRendererSkin.exml → eui/ItemRendererSkin.exml} +0 -0
  138. /package/templates/game/resource/skins/{LabelSkin.exml → eui/LabelSkin.exml} +0 -0
  139. /package/templates/game/resource/skins/{ListSkin.exml → eui/ListSkin.exml} +0 -0
  140. /package/templates/game/resource/skins/{PanelSkin.exml → eui/PanelSkin.exml} +0 -0
  141. /package/templates/game/resource/skins/{ProgressBarSkin.exml → eui/ProgressBarSkin.exml} +0 -0
  142. /package/templates/game/resource/skins/{RadioButtonSkin.exml → eui/RadioButtonSkin.exml} +0 -0
  143. /package/templates/game/resource/skins/{ScrollerSkin.exml → eui/ScrollerSkin.exml} +0 -0
  144. /package/templates/game/resource/skins/{TabBarSkin.exml → eui/TabBarSkin.exml} +0 -0
  145. /package/templates/game/resource/skins/{TextInputSkin.exml → eui/TextInputSkin.exml} +0 -0
  146. /package/templates/game/resource/skins/{ToggleButtonSkin.exml → eui/ToggleButtonSkin.exml} +0 -0
  147. /package/templates/game/resource/skins/{ToggleSwitchSkin.exml → eui/ToggleSwitchSkin.exml} +0 -0
  148. /package/templates/game/resource/skins/{VScrollBarSkin.exml → eui/VScrollBarSkin.exml} +0 -0
  149. /package/templates/game/resource/skins/{VSliderSkin.exml → eui/VSliderSkin.exml} +0 -0
  150. /package/templates/game/resource/skins/{ViewStackSkin.exml → eui/ViewStackSkin.exml} +0 -0
@@ -49,7 +49,13 @@ export interface RefValue {
49
49
  */
50
50
  readonly varName: string;
51
51
  }
52
+ /**
53
+ * Value forms supported by EXML property assignments.
54
+ */
52
55
  export type PropertyValue = LiteralValue | PercentValue | BindingValue | RefValue;
56
+ /**
57
+ * Property value assigned either by default or in a named state.
58
+ */
53
59
  export interface PropertyAssignment {
54
60
  /**
55
61
  * Property name.
@@ -118,6 +124,9 @@ export interface PropertyChild {
118
124
  */
119
125
  readonly nodes: (SkinNode | string)[];
120
126
  }
127
+ /**
128
+ * State override that inserts a display object into a container property.
129
+ */
121
130
  export interface StateAddItems {
122
131
  readonly type: 'AddItems';
123
132
  /**
@@ -137,6 +146,9 @@ export interface StateAddItems {
137
146
  */
138
147
  readonly propertyName: string;
139
148
  }
149
+ /**
150
+ * State override that assigns a property on a skin part.
151
+ */
140
152
  export interface StateSetProperty {
141
153
  readonly type: 'SetProperty';
142
154
  /**
@@ -152,6 +164,9 @@ export interface StateSetProperty {
152
164
  */
153
165
  readonly value: PropertyValue;
154
166
  }
167
+ /**
168
+ * Binding-backed property override associated with a state.
169
+ */
155
170
  export interface StateSetStateProperty {
156
171
  readonly type: 'SetStateProperty';
157
172
  /**
@@ -167,7 +182,13 @@ export interface StateSetStateProperty {
167
182
  */
168
183
  readonly stateName: string;
169
184
  }
185
+ /**
186
+ * Override forms accepted by a skin state.
187
+ */
170
188
  export type StateOverride = StateAddItems | StateSetProperty | StateSetStateProperty;
189
+ /**
190
+ * Named skin state and its generated overrides.
191
+ */
171
192
  export interface StateDef {
172
193
  /**
173
194
  * State name (e.g. "up", "down", "disabled").
@@ -182,6 +203,9 @@ export interface StateDef {
182
203
  */
183
204
  readonly overrides: StateOverride[];
184
205
  }
206
+ /**
207
+ * Binding assignment retained by the skin intermediate representation.
208
+ */
185
209
  export interface BindingDef {
186
210
  /**
187
211
  * Target variable name.
@@ -196,6 +220,9 @@ export interface BindingDef {
196
220
  */
197
221
  readonly expression: string;
198
222
  }
223
+ /**
224
+ * Complete intermediate representation consumed by the code generator.
225
+ */
199
226
  export interface SkinIR {
200
227
  /**
201
228
  * Skin class name (e.g. "MySkin").
@@ -1 +1 @@
1
- {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../../src/core/exml/ast.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../../src/core/exml/ast.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAInD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;CACjD;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACxB,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,YAAY,GAAG,YAAY,GAAG,QAAQ,CAAC;AAIlF;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;CAC9B;AAID;;GAEG;AACH,MAAM,WAAW,QAAQ;IACxB;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,kBAAkB,EAAE,CAAC;IAC1C;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAC9B;;OAEG;IACH,QAAQ,CAAC,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAC3C;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;IAC7B;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,CAAC,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC;CACtC;AAID;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,gBAAgB,GAAG,qBAAqB,CAAC;AAIrF;;GAEG;AACH,MAAM,WAAW,QAAQ;IACxB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;IAC/B;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC;CACpC;AAID;;GAEG;AACH,MAAM,WAAW,UAAU;IAC1B;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC5B;AAID;;GAEG;AACH,MAAM,WAAW,MAAM;IACtB;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC;;OAEG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,kBAAkB,EAAE,CAAC;IAC1C;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;IAC7B;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAC9B;;OAEG;IACH,QAAQ,CAAC,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAC3C;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC5B;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC;IAClC;;;;OAIG;IACH,QAAQ,CAAC,cAAc,EAAE,aAAa,EAAE,CAAC;CACzC"}
@@ -7,17 +7,16 @@
7
7
  import type { SkinIR } from './ast.js';
8
8
  export interface CodeGenOptions {
9
9
  /**
10
- * Output format. Only `'esm'` is supported (import/export statements for
11
- * use as ES modules). Retained as an option for forward compatibility.
10
+ * Output format. Only ESM factory modules are supported.
12
11
  */
13
- format?: 'esm';
12
+ readonly format?: 'esm';
14
13
  }
15
14
  /**
16
- * Generate JavaScript source code from a SkinIR.
15
+ * Generates JavaScript source code from a skin intermediate representation.
17
16
  *
18
- * @param ir - The skin intermediate representation
19
- * @param options - Code generation options
20
- * @returns Generated JS source string
17
+ * @param ir - Skin intermediate representation.
18
+ * @param options - Code generation options.
19
+ * @returns Generated JavaScript source.
21
20
  */
22
21
  export declare function generateCode(ir: SkinIR, _options?: CodeGenOptions): string;
23
22
  //# sourceMappingURL=codegen.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../../../src/core/exml/codegen.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACX,MAAM,EAYN,MAAM,UAAU,CAAC;AAKlB,MAAM,WAAW,cAAc;IAC9B;;;OAGG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC;CACf;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,MAAM,CAE1E"}
1
+ {"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../../../src/core/exml/codegen.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACX,MAAM,EAMN,MAAM,UAAU,CAAC;AAKlB,MAAM,WAAW,cAAc;IAC9B;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;CACxB;AAcD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,MAAM,CAE1E"}
@@ -6,47 +6,47 @@
6
6
  */
7
7
  import { lookupComponent } from './registry.js';
8
8
  /**
9
- * Generate JavaScript source code from a SkinIR.
9
+ * Generates JavaScript source code from a skin intermediate representation.
10
10
  *
11
- * @param ir - The skin intermediate representation
12
- * @param options - Code generation options
13
- * @returns Generated JS source string
11
+ * @param ir - Skin intermediate representation.
12
+ * @param options - Code generation options.
13
+ * @returns Generated JavaScript source.
14
14
  */
15
15
  export function generateCode(ir, _options) {
16
- return new CodeGen(ir).generate();
16
+ return new CodeGenerator(ir).generate();
17
17
  }
18
18
  // ── Code generator ───────────────────────────────────────────────────
19
- class CodeGen {
20
- ir;
21
- lines = [];
22
- indent = 0;
19
+ class CodeGenerator {
20
+ // ── Instance fields ───────────────────────────────────────────────
21
+ _ir;
22
+ _lines = [];
23
+ _indent = 0;
24
+ // ── Constructor ───────────────────────────────────────────────────
23
25
  constructor(ir) {
24
- this.ir = ir;
26
+ this._ir = ir;
25
27
  }
28
+ // ── Public methods ────────────────────────────────────────────────
26
29
  generate() {
27
30
  this.emitHeader();
28
31
  this.emitImports();
29
32
  this.emitFunction();
30
- return this.lines.join('\n') + '\n';
33
+ return this._lines.join('\n') + '\n';
31
34
  }
32
- // ── Header comment ────────────────────────────────────────────────
35
+ // ── Private methods ───────────────────────────────────────────────
33
36
  emitHeader() {
34
- this.line(`// Generated from ${this.ir.className || 'Skin'}.exml`);
37
+ this.line(`// Generated from ${this._ir.className || 'Skin'}.exml`);
35
38
  this.line('// @generated — do not edit manually');
36
39
  this.line('');
37
40
  }
38
- // ── Imports ───────────────────────────────────────────────────────
39
41
  emitImports() {
40
- // Group imports by module
41
42
  const moduleImports = new Map();
42
- for (const [className, modulePath] of this.ir.imports) {
43
+ for (const [className, modulePath] of this._ir.imports) {
43
44
  if (!moduleImports.has(modulePath)) {
44
45
  moduleImports.set(modulePath, new Set());
45
46
  }
46
47
  moduleImports.get(modulePath).add(className);
47
48
  }
48
- // Also ensure we import Binding if there are any bindings
49
- let hasBindings = this.hasBindingsInTree(this.ir.children);
49
+ const hasBindings = this.hasBindingsInTree(this._ir.children);
50
50
  if (hasBindings) {
51
51
  if (!moduleImports.has('@kurot/ui')) {
52
52
  moduleImports.set('@kurot/ui', new Set());
@@ -61,15 +61,14 @@ class CodeGen {
61
61
  }
62
62
  moduleImports.get('@kurot/core').add('Rectangle');
63
63
  }
64
- // Ensure State, AddItems, SetProperty are imported if we have states
65
- if (this.ir.states.length > 0) {
64
+ if (this._ir.states.length > 0) {
66
65
  if (!moduleImports.has('@kurot/ui')) {
67
66
  moduleImports.set('@kurot/ui', new Set());
68
67
  }
69
68
  const uiImports = moduleImports.get('@kurot/ui');
70
69
  uiImports.add('State');
71
- uiImports.add('SetProperty'); // always needed for node state-specific props
72
- for (const state of this.ir.states) {
70
+ uiImports.add('SetProperty');
71
+ for (const state of this._ir.states) {
73
72
  for (const override of state.overrides) {
74
73
  uiImports.add(override.type);
75
74
  }
@@ -81,56 +80,46 @@ class CodeGen {
81
80
  }
82
81
  this.line('');
83
82
  }
84
- // ── Factory function ──────────────────────────────────────────────
85
83
  emitFunction() {
86
- const funcName = this.factoryName(this.ir.className);
84
+ const funcName = this.factoryName(this._ir.className);
87
85
  this.line(`export function ${funcName}() {`);
88
- this.indent++;
89
- // Create skin instance
86
+ this._indent++;
90
87
  this.line('const skin = new Skin();');
91
- // Set skin parts
92
- if (this.ir.skinParts.length > 0) {
93
- this.line(`skin.skinParts = ${JSON.stringify(this.ir.skinParts)};`);
88
+ if (this._ir.skinParts.length > 0) {
89
+ this.line(`skin.skinParts = ${JSON.stringify(this._ir.skinParts)};`);
94
90
  }
95
- // Set skin dimensions
96
- if (this.ir.width != null) {
97
- this.line(`skin.width = ${this.ir.width};`);
91
+ if (this._ir.width !== undefined) {
92
+ this.line(`skin.width = ${this._ir.width};`);
98
93
  }
99
- if (this.ir.height != null) {
100
- this.line(`skin.height = ${this.ir.height};`);
94
+ if (this._ir.height !== undefined) {
95
+ this.line(`skin.height = ${this._ir.height};`);
101
96
  }
102
- for (const prop of this.ir.properties) {
103
- if (!prop.state)
97
+ for (const prop of this._ir.properties) {
98
+ if (!prop.state) {
104
99
  this.emitPropertyAssignment('skin', prop.name, prop.value);
100
+ }
105
101
  }
106
- // Create and configure all nodes
107
- this.emitNodeDeclarations(this.ir.children, 'skin');
108
- // Set elementsContent on skin
109
- const defaultChildren = this.ir.children.filter(n => n.includeIn.length === 0 && n.excludeFrom.length === 0);
102
+ this.emitNodeDeclarations(this._ir.children);
103
+ const defaultChildren = this._ir.children.filter(n => n.includeIn.length === 0 && n.excludeFrom.length === 0);
110
104
  if (defaultChildren.length > 0) {
111
105
  const childVars = defaultChildren.map(n => n.varName).join(', ');
112
106
  this.line(`skin.elementsContent = [${childVars}];`);
113
107
  }
114
- // Emit declarations (non-visual)
115
- for (const decl of this.ir.declarations) {
108
+ for (const decl of this._ir.declarations) {
116
109
  this.emitNodeCreation(decl);
117
110
  this.emitNodeProperties(decl);
118
111
  }
119
- // Emit states
120
112
  this.emitStates();
121
113
  this.line('return skin;');
122
- this.indent--;
114
+ this._indent--;
123
115
  this.line('}');
124
116
  }
125
- // ── Node declarations ─────────────────────────────────────────────
126
- emitNodeDeclarations(nodes, parentVar) {
117
+ emitNodeDeclarations(nodes) {
127
118
  for (const node of nodes) {
128
119
  this.emitNodeCreation(node);
129
120
  this.emitNodeProperties(node);
130
121
  this.emitNodePropertyChildren(node);
131
- // Recurse into children
132
- this.emitNodeDeclarations(node.children, node.varName);
133
- // Assign children to default property
122
+ this.emitNodeDeclarations(node.children);
134
123
  const defaultPropChildren = node.children.filter(c => c.includeIn.length === 0 && c.excludeFrom.length === 0);
135
124
  if (defaultPropChildren.length > 0) {
136
125
  const info = lookupComponent(node.className);
@@ -141,7 +130,6 @@ class CodeGen {
141
130
  this.line(`${node.varName}.${defaultProp} = [${childVars}];`);
142
131
  }
143
132
  else {
144
- // Single-value property: assign first child directly
145
133
  this.line(`${node.varName}.${defaultProp} = ${defaultPropChildren[0].varName};`);
146
134
  }
147
135
  }
@@ -149,24 +137,20 @@ class CodeGen {
149
137
  }
150
138
  emitNodeCreation(node) {
151
139
  this.line(`const ${node.varName} = new ${node.className}();`);
152
- // If node has an id, set it on the skin (skin part)
153
140
  if (node.id) {
154
141
  this.line(`skin.${node.id} = ${node.varName};`);
155
142
  }
156
143
  else {
157
- // If node has state-specific properties, register it on skin by varName
158
- // so SetProperty can resolve it via skin.getPart(varName)
144
+ // Anonymous state targets still need a stable key for `skin.getPart()`.
159
145
  const hasStateProps = node.properties.some(p => p.state);
160
146
  if (hasStateProps) {
161
147
  this.line(`skin.${node.varName} = ${node.varName};`);
162
148
  }
163
149
  }
164
150
  }
165
- // ── Properties ────────────────────────────────────────────────────
166
151
  emitNodeProperties(node) {
167
152
  for (const prop of node.properties) {
168
153
  if (prop.state) {
169
- // State-specific property → handled via SetProperty override
170
154
  continue;
171
155
  }
172
156
  this.emitPropertyAssignment(node.varName, prop.name, prop.value);
@@ -184,7 +168,6 @@ class CodeGen {
184
168
  return;
185
169
  }
186
170
  }
187
- // Handle bindings
188
171
  if (value.type === 'binding') {
189
172
  this.emitBinding(target, prop, value.expression);
190
173
  return;
@@ -192,10 +175,8 @@ class CodeGen {
192
175
  this.line(`${target}.${prop} = ${this.propertyValueToJS(prop, value)};`);
193
176
  }
194
177
  emitBinding(target, prop, expression) {
195
- // The expression is already stripped of outer braces by parseValue().
196
- // Check whether it contains inner braces (template binding like "Hello {name}!").
178
+ // Inner braces distinguish template bindings from simple property chains.
197
179
  if (expression.includes('{')) {
198
- // Template binding: Binding.bindProperties
199
180
  const parts = parseBindingTemplate(expression);
200
181
  if (parts.some(p => p.type === 'binding')) {
201
182
  const templates = [];
@@ -213,11 +194,9 @@ class CodeGen {
213
194
  }
214
195
  }
215
196
  else {
216
- // Simple binding: Binding.bindProperty(host, ['chain'], target, 'prop')
217
197
  this.line(`Binding.bindProperty(this, ["${expression.split('.').join('", "')}"], ${target}, "${prop}");`);
218
198
  }
219
199
  }
220
- // ── Property children ─────────────────────────────────────────────
221
200
  emitNodePropertyChildren(node) {
222
201
  for (const pc of node.propertyChildren) {
223
202
  for (const child of pc.nodes) {
@@ -232,22 +211,20 @@ class CodeGen {
232
211
  }
233
212
  }
234
213
  }
235
- // ── States ────────────────────────────────────────────────────────
236
214
  emitStates() {
237
- if (this.ir.states.length === 0)
215
+ if (this._ir.states.length === 0)
238
216
  return;
239
217
  const stateLines = [];
240
- for (const state of this.ir.states) {
218
+ for (const state of this._ir.states) {
241
219
  stateLines.push(this.generateStateExpr(state));
242
220
  }
243
221
  this.line(`skin.states = [${stateLines.join(', ')}];`);
244
222
  }
245
223
  generateStateExpr(state) {
246
- // Collect overrides: explicit overrides from State element + state-specific props from nodes
224
+ // Explicit state entries and dotted property attributes share one override list.
247
225
  const allOverrides = [...state.overrides];
248
- // Add SetProperty overrides from node properties with this state name or matching stateGroup
249
- const nodeOverrides = this.collectStatePropertyOverrides(this.ir.children);
250
- for (const prop of this.ir.properties) {
226
+ const nodeOverrides = this.collectStatePropertyOverrides(this._ir.children);
227
+ for (const prop of this._ir.properties) {
251
228
  if (prop.state) {
252
229
  nodeOverrides.push({
253
230
  stateName: prop.state,
@@ -258,7 +235,6 @@ class CodeGen {
258
235
  }
259
236
  }
260
237
  for (const { stateName, targetId, propName, value } of nodeOverrides) {
261
- // Match by state name or by stateGroup membership
262
238
  const matches = stateName === state.name || state.stateGroups.includes(stateName);
263
239
  if (matches) {
264
240
  allOverrides.push({ type: 'SetProperty', targetId, name: propName, value });
@@ -272,14 +248,10 @@ class CodeGen {
272
248
  }
273
249
  generateOverrideExpr(override) {
274
250
  switch (override.type) {
275
- case 'AddItems': {
276
- const o = override;
277
- return `new AddItems("${o.targetId}", "${o.destinationId}", ${o.position}, "${o.propertyName}")`;
278
- }
279
- case 'SetProperty': {
280
- const o = override;
281
- return `new SetProperty("${o.targetId}", "${o.name}", ${this.propertyValueToJS(o.name, o.value)})`;
282
- }
251
+ case 'AddItems':
252
+ return `new AddItems("${override.targetId}", "${override.destinationId}", ${override.position}, "${override.propertyName}")`;
253
+ case 'SetProperty':
254
+ return `new SetProperty("${override.targetId}", "${override.name}", ${this.propertyValueToJS(override.name, override.value)})`;
283
255
  default:
284
256
  return '/* unknown override */';
285
257
  }
@@ -301,7 +273,6 @@ class CodeGen {
301
273
  }
302
274
  return result;
303
275
  }
304
- // ── Value helpers ─────────────────────────────────────────────────
305
276
  valueToJS(value) {
306
277
  switch (value.type) {
307
278
  case 'literal':
@@ -325,19 +296,17 @@ class CodeGen {
325
296
  }
326
297
  return this.valueToJS(value);
327
298
  }
328
- // ── Utilities ─────────────────────────────────────────────────────
329
299
  line(text) {
330
300
  if (text === '') {
331
- this.lines.push('');
301
+ this._lines.push('');
332
302
  }
333
303
  else {
334
- this.lines.push('\t'.repeat(this.indent) + text);
304
+ this._lines.push('\t'.repeat(this._indent) + text);
335
305
  }
336
306
  }
337
307
  factoryName(className) {
338
308
  if (!className)
339
309
  return 'createSkin';
340
- // Convert "skins.MySkin" → "createMySkin"
341
310
  const parts = className.split('.');
342
311
  const base = parts[parts.length - 1];
343
312
  return `create${base}`;
@@ -354,7 +323,7 @@ class CodeGen {
354
323
  return false;
355
324
  }
356
325
  hasPropertyInTree(propertyName) {
357
- if (this.ir.properties.some(prop => prop.name === propertyName))
326
+ if (this._ir.properties.some(prop => prop.name === propertyName))
358
327
  return true;
359
328
  const visit = (nodes) => {
360
329
  for (const node of nodes) {
@@ -365,7 +334,7 @@ class CodeGen {
365
334
  }
366
335
  return false;
367
336
  };
368
- return visit(this.ir.children) || visit(this.ir.declarations);
337
+ return visit(this._ir.children) || visit(this._ir.declarations);
369
338
  }
370
339
  }
371
340
  // ── Utility functions ────────────────────────────────────────────────
@@ -396,14 +365,15 @@ function parseBindingTemplate(expr) {
396
365
  parts.push({ type: 'literal', value: current });
397
366
  current = '';
398
367
  }
399
- // Find matching }
400
368
  let depth = 1;
401
369
  let j = i + 1;
402
370
  while (j < expr.length && depth > 0) {
403
- if (expr[j] === '{')
371
+ if (expr[j] === '{') {
404
372
  depth++;
405
- if (expr[j] === '}')
373
+ }
374
+ if (expr[j] === '}') {
406
375
  depth--;
376
+ }
407
377
  j++;
408
378
  }
409
379
  parts.push({ type: 'binding', value: expr.slice(i + 1, j - 1) });
@@ -1 +1 @@
1
- {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../../src/core/exml/codegen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../../src/core/exml/codegen.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import type { Diagnostic } from '../diagnostics/index.js';
2
2
  import type { UnresolvedTag } from './ast.js';
3
+ import type { NamespaceModule } from './registry.js';
3
4
  /**
4
5
  * Creates source-located diagnostics for unresolved EXML component tags.
5
6
  */
6
- export declare function createUnresolvedTagDiagnostics(file: string, source: string, tags: readonly UnresolvedTag[]): readonly Diagnostic[];
7
+ export declare function createUnresolvedTagDiagnostics(file: string, source: string, tags: readonly UnresolvedTag[], customNamespaces?: readonly NamespaceModule[]): readonly Diagnostic[];
7
8
  //# sourceMappingURL=exml-diagnostics.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"exml-diagnostics.d.ts","sourceRoot":"","sources":["../../../src/core/exml/exml-diagnostics.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C;;GAEG;AACH,wBAAgB,8BAA8B,CAC7C,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,SAAS,aAAa,EAAE,GAC5B,SAAS,UAAU,EAAE,CAkBvB"}
1
+ {"version":3,"file":"exml-diagnostics.d.ts","sourceRoot":"","sources":["../../../src/core/exml/exml-diagnostics.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD;;GAEG;AACH,wBAAgB,8BAA8B,CAC7C,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,SAAS,aAAa,EAAE,EAC9B,gBAAgB,GAAE,SAAS,eAAe,EAAO,GAC/C,SAAS,UAAU,EAAE,CAkBvB"}
@@ -4,11 +4,11 @@ import { suggestComponentTag } from './registry.js';
4
4
  /**
5
5
  * Creates source-located diagnostics for unresolved EXML component tags.
6
6
  */
7
- export function createUnresolvedTagDiagnostics(file, source, tags) {
7
+ export function createUnresolvedTagDiagnostics(file, source, tags, customNamespaces = []) {
8
8
  const locator = createSourceLocator(source);
9
9
  return tags.map(tag => {
10
10
  const position = locator.locate(tag.range.start);
11
- const suggestion = suggestComponentTag(tag.name);
11
+ const suggestion = suggestComponentTag(tag.name, customNamespaces);
12
12
  return {
13
13
  code: DIAGNOSTIC_CODES.EXML_UNKNOWN_TAG,
14
14
  severity: 'warning',
@@ -1 +1 @@
1
- {"version":3,"file":"exml-diagnostics.js","sourceRoot":"","sources":["../../../src/core/exml/exml-diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAIpD;;GAEG;AACH,MAAM,UAAU,8BAA8B,CAC7C,IAAY,EACZ,MAAc,EACd,IAA8B;IAE9B,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC5C,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACrB,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjD,OAAO;YACN,IAAI,EAAE,gBAAgB,CAAC,gBAAgB;YACvC,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,qBAAqB,GAAG,CAAC,IAAI,wCAAwC;YAC9E,QAAQ,EAAE;gBACT,IAAI;gBACJ,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;aACvB;YACD,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,iBAAiB,UAAU,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzE,CAAC;IACH,CAAC,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"exml-diagnostics.js","sourceRoot":"","sources":["../../../src/core/exml/exml-diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAKpD;;GAEG;AACH,MAAM,UAAU,8BAA8B,CAC7C,IAAY,EACZ,MAAc,EACd,IAA8B,EAC9B,mBAA+C,EAAE;IAEjD,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC5C,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACrB,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,mBAAmB,CAAC,GAAG,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACnE,OAAO;YACN,IAAI,EAAE,gBAAgB,CAAC,gBAAgB;YACvC,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,qBAAqB,GAAG,CAAC,IAAI,wCAAwC;YAC9E,QAAQ,EAAE;gBACT,IAAI;gBACJ,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;aACvB;YACD,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,iBAAiB,UAAU,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzE,CAAC;IACH,CAAC,CAAC,CAAC;AACJ,CAAC"}
@@ -4,24 +4,24 @@
4
4
  * Walks the XML tree produced by the lightweight XML parser and
5
5
  * produces an intermediate representation ready for code generation.
6
6
  */
7
- import type { XElement } from './xml-parser.js';
8
- import type { NamespaceModule } from './registry.js';
9
7
  import type { SkinIR } from './ast.js';
8
+ import type { NamespaceModule } from './registry.js';
9
+ import type { XElement } from './xml-parser.js';
10
10
  /**
11
- * Parse an EXML source string into a SkinIR.
11
+ * Parses an EXML source string into a skin intermediate representation.
12
12
  *
13
- * @param source - EXML source text
14
- * @param className - Optional class name (used for factory function name)
15
- * @param customNamespaces - Project-defined EXML namespaces
16
- * @returns The parsed skin intermediate representation
13
+ * @param source - EXML source text.
14
+ * @param className - Optional class name used for the generated factory.
15
+ * @param customNamespaces - Project-defined EXML namespaces.
16
+ * @returns The parsed skin intermediate representation.
17
17
  */
18
18
  export declare function parseEXML(source: string, className?: string, customNamespaces?: readonly NamespaceModule[]): SkinIR;
19
19
  /**
20
- * Parse an already-parsed XML root element into a SkinIR.
20
+ * Converts an already-parsed XML root into a skin intermediate representation.
21
21
  *
22
- * @param root - The parsed XML root element
23
- * @param customNamespaces - Project-defined EXML namespaces
24
- * @returns The parsed skin intermediate representation
22
+ * @param root - Parsed XML root element.
23
+ * @param customNamespaces - Project-defined EXML namespaces.
24
+ * @returns The parsed skin intermediate representation.
25
25
  */
26
26
  export declare function parseSkinRoot(root: XElement, customNamespaces?: readonly NamespaceModule[]): SkinIR;
27
27
  //# sourceMappingURL=exml-parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"exml-parser.d.ts","sourceRoot":"","sources":["../../../src/core/exml/exml-parser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAS,MAAM,iBAAiB,CAAC;AAGvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EACX,MAAM,EAUN,MAAM,UAAU,CAAC;AAIlB;;;;;;;GAOG;AACH,wBAAgB,SAAS,CACxB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,EAClB,gBAAgB,GAAE,SAAS,eAAe,EAAO,GAC/C,MAAM,CAOR;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,gBAAgB,GAAE,SAAS,eAAe,EAAO,GAAG,MAAM,CAIvG"}
1
+ {"version":3,"file":"exml-parser.d.ts","sourceRoot":"","sources":["../../../src/core/exml/exml-parser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EACX,MAAM,EAUN,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAIhD;;;;;;;GAOG;AACH,wBAAgB,SAAS,CACxB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,EAClB,gBAAgB,GAAE,SAAS,eAAe,EAAO,GAC/C,MAAM,CAIR;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,gBAAgB,GAAE,SAAS,eAAe,EAAO,GAAG,MAAM,CAIvG"}