@datamoc/mw_games 0.7.7 → 0.7.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 (205) hide show
  1. package/CHANGELOG.md +183 -3
  2. package/README.md +28 -7
  3. package/dist/actors/Shop.d.ts.map +1 -1
  4. package/dist/actors/Shop.js +4 -1
  5. package/dist/actors/Shop.js.map +1 -1
  6. package/dist/ai/Heuristics.d.ts +8 -0
  7. package/dist/ai/Heuristics.d.ts.map +1 -1
  8. package/dist/ai/Heuristics.js.map +1 -1
  9. package/dist/ai/index.d.ts +2 -2
  10. package/dist/ai/index.d.ts.map +1 -1
  11. package/dist/ai/index.js +1 -1
  12. package/dist/ai/index.js.map +1 -1
  13. package/dist/ai/lua.d.ts +21 -0
  14. package/dist/ai/lua.d.ts.map +1 -1
  15. package/dist/ai/lua.js +21 -0
  16. package/dist/ai/lua.js.map +1 -1
  17. package/dist/ai/score.d.ts +36 -0
  18. package/dist/ai/score.d.ts.map +1 -1
  19. package/dist/ai/score.js +26 -0
  20. package/dist/ai/score.js.map +1 -1
  21. package/dist/assets/index.d.ts +1 -1
  22. package/dist/assets/index.d.ts.map +1 -1
  23. package/dist/assets/index.js +1 -1
  24. package/dist/assets/index.js.map +1 -1
  25. package/dist/assets/loader.d.ts.map +1 -1
  26. package/dist/assets/loader.js +10 -1
  27. package/dist/assets/loader.js.map +1 -1
  28. package/dist/assets/paths.d.ts +23 -0
  29. package/dist/assets/paths.d.ts.map +1 -1
  30. package/dist/assets/paths.js +29 -0
  31. package/dist/assets/paths.js.map +1 -1
  32. package/dist/battle/BattleStats.d.ts.map +1 -1
  33. package/dist/battle/BattleStats.js.map +1 -1
  34. package/dist/board/Classics.d.ts.map +1 -1
  35. package/dist/board/Classics.js +51 -39
  36. package/dist/board/Classics.js.map +1 -1
  37. package/dist/board/HexSkirmish.d.ts.map +1 -1
  38. package/dist/board/HexSkirmish.js +69 -20
  39. package/dist/board/HexSkirmish.js.map +1 -1
  40. package/dist/board/Tactics.d.ts +7 -0
  41. package/dist/board/Tactics.d.ts.map +1 -1
  42. package/dist/board/Tactics.js +2 -2
  43. package/dist/board/Tactics.js.map +1 -1
  44. package/dist/core/Achievements.d.ts.map +1 -1
  45. package/dist/core/Achievements.js +3 -1
  46. package/dist/core/Achievements.js.map +1 -1
  47. package/dist/core/Math.d.ts +14 -0
  48. package/dist/core/Math.d.ts.map +1 -0
  49. package/dist/core/Math.js +16 -0
  50. package/dist/core/Math.js.map +1 -0
  51. package/dist/core/index.d.ts +1 -0
  52. package/dist/core/index.d.ts.map +1 -1
  53. package/dist/core/index.js +1 -0
  54. package/dist/core/index.js.map +1 -1
  55. package/dist/mw_games.global.js +102 -102
  56. package/dist/mwl/actors.d.ts +46 -2
  57. package/dist/mwl/actors.d.ts.map +1 -1
  58. package/dist/mwl/actors.js +46 -2
  59. package/dist/mwl/actors.js.map +1 -1
  60. package/dist/mwl/carryover.d.ts +7 -0
  61. package/dist/mwl/carryover.d.ts.map +1 -1
  62. package/dist/mwl/carryover.js +7 -0
  63. package/dist/mwl/carryover.js.map +1 -1
  64. package/dist/mwl/catalog.d.ts +21 -1
  65. package/dist/mwl/catalog.d.ts.map +1 -1
  66. package/dist/mwl/catalog.js +0 -0
  67. package/dist/mwl/catalog.js.map +1 -1
  68. package/dist/mwl/compiler.d.ts +70 -3
  69. package/dist/mwl/compiler.d.ts.map +1 -1
  70. package/dist/mwl/compiler.js +70 -3
  71. package/dist/mwl/compiler.js.map +1 -1
  72. package/dist/mwl/conditions.d.ts +10 -1
  73. package/dist/mwl/conditions.d.ts.map +1 -1
  74. package/dist/mwl/conditions.js +10 -1
  75. package/dist/mwl/conditions.js.map +1 -1
  76. package/dist/mwl/content.d.ts +15 -0
  77. package/dist/mwl/content.d.ts.map +1 -1
  78. package/dist/mwl/content.js +13 -0
  79. package/dist/mwl/content.js.map +1 -1
  80. package/dist/mwl/expression.d.ts +21 -0
  81. package/dist/mwl/expression.d.ts.map +1 -1
  82. package/dist/mwl/expression.js +21 -0
  83. package/dist/mwl/expression.js.map +1 -1
  84. package/dist/mwl/fengari.d.ts +12 -1
  85. package/dist/mwl/fengari.d.ts.map +1 -1
  86. package/dist/mwl/fengari.js +12 -1
  87. package/dist/mwl/fengari.js.map +1 -1
  88. package/dist/mwl/grammar.d.ts +45 -1
  89. package/dist/mwl/grammar.d.ts.map +1 -1
  90. package/dist/mwl/grammar.js +45 -1
  91. package/dist/mwl/grammar.js.map +1 -1
  92. package/dist/mwl/hooks.d.ts +45 -1
  93. package/dist/mwl/hooks.d.ts.map +1 -1
  94. package/dist/mwl/hooks.js +45 -1
  95. package/dist/mwl/hooks.js.map +1 -1
  96. package/dist/mwl/index.d.ts +1 -1
  97. package/dist/mwl/index.d.ts.map +1 -1
  98. package/dist/mwl/index.js +1 -1
  99. package/dist/mwl/index.js.map +1 -1
  100. package/dist/mwl/persistence.d.ts +32 -0
  101. package/dist/mwl/persistence.d.ts.map +1 -1
  102. package/dist/mwl/persistence.js +32 -0
  103. package/dist/mwl/persistence.js.map +1 -1
  104. package/dist/mwl/readers.d.ts +24 -2
  105. package/dist/mwl/readers.d.ts.map +1 -1
  106. package/dist/mwl/readers.js +27 -4
  107. package/dist/mwl/readers.js.map +1 -1
  108. package/dist/mwl/report.d.ts +21 -2
  109. package/dist/mwl/report.d.ts.map +1 -1
  110. package/dist/mwl/report.js +21 -2
  111. package/dist/mwl/report.js.map +1 -1
  112. package/dist/mwl/runtime.d.ts +72 -0
  113. package/dist/mwl/runtime.d.ts.map +1 -1
  114. package/dist/mwl/runtime.js +274 -70
  115. package/dist/mwl/runtime.js.map +1 -1
  116. package/dist/mwl/schema.d.ts +57 -1
  117. package/dist/mwl/schema.d.ts.map +1 -1
  118. package/dist/mwl/schema.js +99 -9
  119. package/dist/mwl/schema.js.map +1 -1
  120. package/dist/mwl/scripts.d.ts +12 -1
  121. package/dist/mwl/scripts.d.ts.map +1 -1
  122. package/dist/mwl/scripts.js +12 -1
  123. package/dist/mwl/scripts.js.map +1 -1
  124. package/dist/mwl/utils.d.ts +2 -0
  125. package/dist/mwl/utils.d.ts.map +1 -1
  126. package/dist/mwl/utils.js +4 -1
  127. package/dist/mwl/utils.js.map +1 -1
  128. package/dist/rpg/Collision.d.ts.map +1 -1
  129. package/dist/rpg/Collision.js +1 -3
  130. package/dist/rpg/Collision.js.map +1 -1
  131. package/dist/rpg/GameState.d.ts +2 -2
  132. package/dist/rpg/GameState.js +2 -2
  133. package/dist/two-d/pixi-interop.d.ts +28 -10
  134. package/dist/two-d/pixi-interop.d.ts.map +1 -1
  135. package/dist/two-d/pixi-interop.js +36 -10
  136. package/dist/two-d/pixi-interop.js.map +1 -1
  137. package/dist/two-d/render/Camera.d.ts +11 -0
  138. package/dist/two-d/render/Camera.d.ts.map +1 -1
  139. package/dist/two-d/render/Camera.js +14 -3
  140. package/dist/two-d/render/Camera.js.map +1 -1
  141. package/dist/two-d/render/ColorTransformBatcher.d.ts +7 -1
  142. package/dist/two-d/render/ColorTransformBatcher.d.ts.map +1 -1
  143. package/dist/two-d/render/ColorTransformBatcher.js +10 -1
  144. package/dist/two-d/render/ColorTransformBatcher.js.map +1 -1
  145. package/dist/two-d/render/ImageModifiers.d.ts +40 -0
  146. package/dist/two-d/render/ImageModifiers.d.ts.map +1 -1
  147. package/dist/two-d/render/ImageModifiers.js +67 -4
  148. package/dist/two-d/render/ImageModifiers.js.map +1 -1
  149. package/dist/two-d/render/PaletteRemap.d.ts.map +1 -1
  150. package/dist/two-d/render/PaletteRemap.js +12 -1
  151. package/dist/two-d/render/PaletteRemap.js.map +1 -1
  152. package/dist/two-d/render/Projectile.d.ts +16 -0
  153. package/dist/two-d/render/Projectile.d.ts.map +1 -1
  154. package/dist/two-d/render/Projectile.js +14 -0
  155. package/dist/two-d/render/Projectile.js.map +1 -1
  156. package/dist/two-d/render/ScreenEffects.d.ts +42 -4
  157. package/dist/two-d/render/ScreenEffects.d.ts.map +1 -1
  158. package/dist/two-d/render/ScreenEffects.js +64 -9
  159. package/dist/two-d/render/ScreenEffects.js.map +1 -1
  160. package/dist/two-d/render/Shape2D.d.ts +22 -2
  161. package/dist/two-d/render/Shape2D.d.ts.map +1 -1
  162. package/dist/two-d/render/Shape2D.js +31 -2
  163. package/dist/two-d/render/Shape2D.js.map +1 -1
  164. package/dist/two-d/render/StatusVisuals.d.ts +41 -23
  165. package/dist/two-d/render/StatusVisuals.d.ts.map +1 -1
  166. package/dist/two-d/render/StatusVisuals.js +65 -26
  167. package/dist/two-d/render/StatusVisuals.js.map +1 -1
  168. package/dist/two-d/render/TerrainGraphics.d.ts.map +1 -1
  169. package/dist/two-d/render/TerrainGraphics.js.map +1 -1
  170. package/dist/two-d/render/TerrainGraphicsLayer.d.ts +55 -0
  171. package/dist/two-d/render/TerrainGraphicsLayer.d.ts.map +1 -0
  172. package/dist/two-d/render/TerrainGraphicsLayer.js +54 -0
  173. package/dist/two-d/render/TerrainGraphicsLayer.js.map +1 -0
  174. package/dist/two-d/render/TintedSprite.js +2 -2
  175. package/dist/two-d/render/TintedSprite.js.map +1 -1
  176. package/dist/two-d/render/index.d.ts +5 -3
  177. package/dist/two-d/render/index.d.ts.map +1 -1
  178. package/dist/two-d/render/index.js +3 -2
  179. package/dist/two-d/render/index.js.map +1 -1
  180. package/dist/two-d/ui/ListView.d.ts +9 -0
  181. package/dist/two-d/ui/ListView.d.ts.map +1 -1
  182. package/dist/two-d/ui/ListView.js +16 -6
  183. package/dist/two-d/ui/ListView.js.map +1 -1
  184. package/dist/two-d/ui/MarkupText.d.ts +66 -0
  185. package/dist/two-d/ui/MarkupText.d.ts.map +1 -0
  186. package/dist/two-d/ui/MarkupText.js +156 -0
  187. package/dist/two-d/ui/MarkupText.js.map +1 -0
  188. package/dist/two-d/ui/RichLabel.d.ts +7 -1
  189. package/dist/two-d/ui/RichLabel.d.ts.map +1 -1
  190. package/dist/two-d/ui/RichLabel.js +20 -9
  191. package/dist/two-d/ui/RichLabel.js.map +1 -1
  192. package/dist/two-d/ui/index.d.ts +4 -2
  193. package/dist/two-d/ui/index.d.ts.map +1 -1
  194. package/dist/two-d/ui/index.js +2 -1
  195. package/dist/two-d/ui/index.js.map +1 -1
  196. package/dist/two-d/ui/markup.d.ts +63 -1
  197. package/dist/two-d/ui/markup.d.ts.map +1 -1
  198. package/dist/two-d/ui/markup.js +69 -4
  199. package/dist/two-d/ui/markup.js.map +1 -1
  200. package/dist/version.d.ts +1 -1
  201. package/dist/version.js +1 -1
  202. package/package.json +5 -1
  203. package/tools/classic-html.d.mts +6 -0
  204. package/tools/classic-html.mjs +61 -0
  205. package/tools/mwl.mjs +12 -0
package/dist/mwl/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export { MwlSyntaxError, isGettext, parse, parseValue, preprocess } from './grammar.js';
2
2
  export { parseMapFile } from './MapFile.js';
3
- export { coerceTableValue, parseTableColumns, schema01, validate } from './schema.js';
3
+ export { coerceTableValue, isMwlId, parseTableColumns, schema01, validate } from './schema.js';
4
4
  export { compile, compileAndEmitSources, compileNodes, compileSources, emitArtifacts, emitModule, extractCatalog, } from './compiler.js';
5
5
  export { collectHookReferences, emitHooksDeclaration, hookTypes, parseHookReference, validateHookReferences, } from './hooks.js';
6
6
  export { createWorld, execute, MwlRuntime, parseTerrain, sideVisionGroups } from './runtime.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mwl/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAExF,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEtF,OAAO,EACN,OAAO,EACP,qBAAqB,EACrB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,UAAU,EACV,cAAc,GACd,MAAM,eAAe,CAAC;AAWvB,OAAO,EACN,qBAAqB,EACrB,oBAAoB,EACpB,SAAS,EACT,kBAAkB,EAClB,sBAAsB,GACtB,MAAM,YAAY,CAAC;AAepB,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAYhG,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,gCAAgC,EAAE,MAAM,gBAAgB,CAAC;AAE5G,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAc9C,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEtE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE9F,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAErE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mwl/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAExF,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE/F,OAAO,EACN,OAAO,EACP,qBAAqB,EACrB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,UAAU,EACV,cAAc,GACd,MAAM,eAAe,CAAC;AAWvB,OAAO,EACN,qBAAqB,EACrB,oBAAoB,EACpB,SAAS,EACT,kBAAkB,EAClB,sBAAsB,GACtB,MAAM,YAAY,CAAC;AAepB,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAYhG,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,gCAAgC,EAAE,MAAM,gBAAgB,CAAC;AAE5G,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAc9C,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEtE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE9F,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAErE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -9,7 +9,39 @@ export interface MwlPersistenceOptions {
9
9
  readonly version: number;
10
10
  readonly migrations?: Readonly<Record<number, MwlMigration>>;
11
11
  }
12
+ /**
13
+ * Serialises a world to a versioned JSON snapshot.
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * import { createWorld, encodeSave } from '@datamoc/mw_games/mwl';
18
+ *
19
+ * const snapshot = encodeSave(createWorld(), { version: 1 });
20
+ * console.log(typeof snapshot); // 'string'
21
+ * ```
22
+ */
12
23
  export declare function encodeSave(world: MwlWorld, options: MwlPersistenceOptions): string;
24
+ /**
25
+ * Restores a world from a snapshot, applying migrations up to `options.version`.
26
+ *
27
+ * @example
28
+ * ```ts
29
+ * import { createWorld, decodeSave, encodeSave } from '@datamoc/mw_games/mwl';
30
+ *
31
+ * const snapshot = encodeSave(createWorld(), { version: 1 });
32
+ * console.log(decodeSave(snapshot, { version: 1 }).turn); // 1
33
+ * ```
34
+ */
13
35
  export declare function decodeSave(snapshot: string, options: MwlPersistenceOptions): MwlWorld;
36
+ /**
37
+ * Checks a decoded value really is a world, and throws by name when it is not.
38
+ *
39
+ * @example
40
+ * ```ts
41
+ * import { createWorld, validateWorld } from '@datamoc/mw_games/mwl';
42
+ *
43
+ * console.log(validateWorld(createWorld()).turn); // 1
44
+ * ```
45
+ */
14
46
  export declare function validateWorld(value: unknown): MwlWorld;
15
47
  //# sourceMappingURL=persistence.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../src/mwl/persistence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;CACzB;AACD,MAAM,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK,QAAQ,CAAC;AACzD,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;CAC7D;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,qBAAqB,GAAG,MAAM,CAIlF;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,QAAQ,CAYrF;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,CActD"}
1
+ {"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../src/mwl/persistence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;CACzB;AACD,MAAM,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK,QAAQ,CAAC;AACzD,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;CAC7D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,qBAAqB,GAAG,MAAM,CAIlF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,QAAQ,CAYrF;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,CActD"}
@@ -1,8 +1,30 @@
1
+ /**
2
+ * Serialises a world to a versioned JSON snapshot.
3
+ *
4
+ * @example
5
+ * ```ts
6
+ * import { createWorld, encodeSave } from '@datamoc/mw_games/mwl';
7
+ *
8
+ * const snapshot = encodeSave(createWorld(), { version: 1 });
9
+ * console.log(typeof snapshot); // 'string'
10
+ * ```
11
+ */
1
12
  export function encodeSave(world, options) {
2
13
  if (!Number.isInteger(options.version) || options.version < 1)
3
14
  throw new Error('MWL save version must be a positive integer');
4
15
  return JSON.stringify({ format: 'mwl-save', version: options.version, world });
5
16
  }
17
+ /**
18
+ * Restores a world from a snapshot, applying migrations up to `options.version`.
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * import { createWorld, decodeSave, encodeSave } from '@datamoc/mw_games/mwl';
23
+ *
24
+ * const snapshot = encodeSave(createWorld(), { version: 1 });
25
+ * console.log(decodeSave(snapshot, { version: 1 }).turn); // 1
26
+ * ```
27
+ */
6
28
  export function decodeSave(snapshot, options) {
7
29
  const value = JSON.parse(snapshot);
8
30
  const envelope = isEnvelope(value) ? value : { format: 'mwl-save', version: 1, world: value };
@@ -17,6 +39,16 @@ export function decodeSave(snapshot, options) {
17
39
  }
18
40
  return world;
19
41
  }
42
+ /**
43
+ * Checks a decoded value really is a world, and throws by name when it is not.
44
+ *
45
+ * @example
46
+ * ```ts
47
+ * import { createWorld, validateWorld } from '@datamoc/mw_games/mwl';
48
+ *
49
+ * console.log(validateWorld(createWorld()).turn); // 1
50
+ * ```
51
+ */
20
52
  export function validateWorld(value) {
21
53
  if (!value || typeof value !== 'object')
22
54
  throw new Error('invalid MWL saved world');
@@ -1 +1 @@
1
- {"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../src/mwl/persistence.ts"],"names":[],"mappings":"AAaA,MAAM,UAAU,UAAU,CAAC,KAAe,EAAE,OAA8B;IACzE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,GAAG,CAAC;QAC5D,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAChE,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,EAA4B,CAAC,CAAC;AAC1G,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,QAAgB,EAAE,OAA8B;IAC1E,MAAM,KAAK,GAAY,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAmB,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,KAAiB,EAAE,CAAC;IACnH,IAAI,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO;QACrC,MAAM,IAAI,KAAK,CAAC,oBAAoB,QAAQ,CAAC,OAAO,oCAAoC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5G,IAAI,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1C,KAAK,IAAI,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC;QAC3E,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC;QACxF,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAc;IAC3C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACpF,MAAM,KAAK,GAAG,KAA0B,CAAC;IACzC,IACC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;QAC7B,CAAC,KAAK,CAAC,SAAS;QAChB,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QACnC,CAAC,KAAK,CAAC,KAAK;QACZ,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;QAE/B,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;IACrF,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;QACnF,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACnD,OAAO,eAAe,CAAC,KAAiB,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IACjC,OAAO,CACN,CAAC,CAAC,KAAK;QACP,OAAO,KAAK,KAAK,QAAQ;QACxB,KAA8B,CAAC,MAAM,KAAK,UAAU;QACrD,OAAQ,KAA+B,CAAC,OAAO,KAAK,QAAQ;QAC5D,OAAO,IAAI,KAAK,CAChB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../src/mwl/persistence.ts"],"names":[],"mappings":"AAaA;;;;;;;;;;GAUG;AACH,MAAM,UAAU,UAAU,CAAC,KAAe,EAAE,OAA8B;IACzE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,GAAG,CAAC;QAC5D,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAChE,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,EAA4B,CAAC,CAAC;AAC1G,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,UAAU,CAAC,QAAgB,EAAE,OAA8B;IAC1E,MAAM,KAAK,GAAY,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAmB,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,KAAiB,EAAE,CAAC;IACnH,IAAI,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO;QACrC,MAAM,IAAI,KAAK,CAAC,oBAAoB,QAAQ,CAAC,OAAO,oCAAoC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5G,IAAI,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1C,KAAK,IAAI,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC;QAC3E,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC;QACxF,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,KAAc;IAC3C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACpF,MAAM,KAAK,GAAG,KAA0B,CAAC;IACzC,IACC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;QAC7B,CAAC,KAAK,CAAC,SAAS;QAChB,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QACnC,CAAC,KAAK,CAAC,KAAK;QACZ,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;QAE/B,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;IACrF,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;QACnF,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACnD,OAAO,eAAe,CAAC,KAAiB,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IACjC,OAAO,CACN,CAAC,CAAC,KAAK;QACP,OAAO,KAAK,KAAK,QAAQ;QACxB,KAA8B,CAAC,MAAM,KAAK,UAAU;QACrD,OAAQ,KAA+B,CAAC,OAAO,KAAK,QAAQ;QAC5D,OAAO,IAAI,KAAK,CAChB,CAAC;AACH,CAAC"}
@@ -11,8 +11,30 @@ export interface MwlReadResult<T> {
11
11
  readonly value: T;
12
12
  readonly diagnostics: readonly MwlDiagnostic[];
13
13
  }
14
- /** Read a compiled node with one shared coercion and diagnostic policy. */
14
+ /**
15
+ * Read a compiled node with one shared coercion and diagnostic policy.
16
+ *
17
+ * @example
18
+ * ```ts
19
+ * import { compile, readAttributes } from '@datamoc/mw_games/mwl';
20
+ *
21
+ * const game = compile('[game]\nschema=0.1\n[/game]');
22
+ * const { value } = readAttributes(game.roots[0]!, { schema: { type: 'string' } });
23
+ * console.log(value.schema); // '0.1'
24
+ * ```
25
+ */
15
26
  export declare function readAttributes<T extends Record<string, unknown>>(node: MwlCompiledNode, fields: Readonly<Record<keyof T & string, MwlFieldSpec>>): MwlReadResult<T>;
16
- /** Collect children without making every game adapter repeat this filter. */
27
+ /**
28
+ * Collect children without making every game adapter repeat this filter.
29
+ *
30
+ * @example
31
+ * ```ts
32
+ * import { compile, readAttributes, readChildren } from '@datamoc/mw_games/mwl';
33
+ *
34
+ * const game = compile('[game]\nschema=0.1\n[side]\nid=1\n[/side]\n[/game]');
35
+ * const sides = readChildren(game.roots[0]!, 'side', (child) => readAttributes(child, { id: { type: 'id' } }));
36
+ * console.log(sides.value.length); // 1
37
+ * ```
38
+ */
17
39
  export declare function readChildren<T>(node: MwlCompiledNode, tag: string, read: (child: MwlCompiledNode) => MwlReadResult<T>): MwlReadResult<readonly T[]>;
18
40
  //# sourceMappingURL=readers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"readers.d.ts","sourceRoot":"","sources":["../../src/mwl/readers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,IAAI,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,CAAC;AAE3G,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,WAAW,EAAE,SAAS,aAAa,EAAE,CAAC;CAC/C;AAED,2EAA2E;AAC3E,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/D,IAAI,EAAE,eAAe,EACrB,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,YAAY,CAAC,CAAC,GACtD,aAAa,CAAC,CAAC,CAAC,CAoBlB;AAED,6EAA6E;AAC7E,wBAAgB,YAAY,CAAC,CAAC,EAC7B,IAAI,EAAE,eAAe,EACrB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,aAAa,CAAC,CAAC,CAAC,GAChD,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC,CAU7B"}
1
+ {"version":3,"file":"readers.d.ts","sourceRoot":"","sources":["../../src/mwl/readers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAGlD,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,IAAI,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,CAAC;AAE3G,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,WAAW,EAAE,SAAS,aAAa,EAAE,CAAC;CAC/C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/D,IAAI,EAAE,eAAe,EACrB,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,YAAY,CAAC,CAAC,GACtD,aAAa,CAAC,CAAC,CAAC,CAoBlB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAC7B,IAAI,EAAE,eAAe,EACrB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,aAAa,CAAC,CAAC,CAAC,GAChD,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC,CAU7B"}
@@ -1,4 +1,16 @@
1
- /** Read a compiled node with one shared coercion and diagnostic policy. */
1
+ import { isMwlId } from './schema.js';
2
+ /**
3
+ * Read a compiled node with one shared coercion and diagnostic policy.
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * import { compile, readAttributes } from '@datamoc/mw_games/mwl';
8
+ *
9
+ * const game = compile('[game]\nschema=0.1\n[/game]');
10
+ * const { value } = readAttributes(game.roots[0]!, { schema: { type: 'string' } });
11
+ * console.log(value.schema); // '0.1'
12
+ * ```
13
+ */
2
14
  export function readAttributes(node, fields) {
3
15
  const value = {};
4
16
  const diagnostics = [];
@@ -20,7 +32,18 @@ export function readAttributes(node, fields) {
20
32
  }
21
33
  return { value: value, diagnostics };
22
34
  }
23
- /** Collect children without making every game adapter repeat this filter. */
35
+ /**
36
+ * Collect children without making every game adapter repeat this filter.
37
+ *
38
+ * @example
39
+ * ```ts
40
+ * import { compile, readAttributes, readChildren } from '@datamoc/mw_games/mwl';
41
+ *
42
+ * const game = compile('[game]\nschema=0.1\n[side]\nid=1\n[/side]\n[/game]');
43
+ * const sides = readChildren(game.roots[0]!, 'side', (child) => readAttributes(child, { id: { type: 'id' } }));
44
+ * console.log(sides.value.length); // 1
45
+ * ```
46
+ */
24
47
  export function readChildren(node, tag, read) {
25
48
  const values = [];
26
49
  const diagnostics = [];
@@ -37,7 +60,7 @@ function coerce(raw, type) {
37
60
  if (type === 'string')
38
61
  return raw;
39
62
  if (type === 'id')
40
- return /^[A-Za-z_][\w.-]*$/.test(raw) ? raw : undefined;
63
+ return isMwlId(raw) ? raw : undefined;
41
64
  if (type === 'number')
42
65
  return Number.isFinite(Number(raw)) ? Number(raw) : undefined;
43
66
  if (type === 'integer')
@@ -49,7 +72,7 @@ function coerce(raw, type) {
49
72
  .map((part) => part.trim())
50
73
  .filter(Boolean);
51
74
  if (type === 'id-list')
52
- return parts.every((part) => /^[A-Za-z_][\w.-]*$/.test(part)) ? parts : undefined;
75
+ return parts.every((part) => isMwlId(part)) ? parts : undefined;
53
76
  return parts.every((part) => Number.isFinite(Number(part))) ? parts.map(Number) : undefined;
54
77
  }
55
78
  function diagnostic(code, message, node) {
@@ -1 +1 @@
1
- {"version":3,"file":"readers.js","sourceRoot":"","sources":["../../src/mwl/readers.ts"],"names":[],"mappings":"AAiBA,2EAA2E;AAC3E,MAAM,UAAU,cAAc,CAC7B,IAAqB,EACrB,MAAwD;IAExD,MAAM,KAAK,GAA4B,EAAE,CAAC;IAC1C,MAAM,WAAW,GAAoB,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,QAAQ;gBAChB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,+BAA+B,MAAM,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;iBAC/F,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;YAChE,SAAS;QACV,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,SAAS,KAAK,SAAS;YAC1B,WAAW,CAAC,IAAI,CACf,UAAU,CAAC,gBAAgB,EAAE,WAAW,IAAI,CAAC,IAAI,eAAe,MAAM,OAAO,GAAG,GAAG,EAAE,IAAI,CAAC,CAC1F,CAAC;;YACE,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IAC9B,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,KAAU,EAAE,WAAW,EAAE,CAAC;AAC3C,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,YAAY,CAC3B,IAAqB,EACrB,GAAW,EACX,IAAkD;IAElD,MAAM,MAAM,GAAQ,EAAE,CAAC;IACvB,MAAM,WAAW,GAAoB,EAAE,CAAC;IACxC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnC,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG;YAAE,SAAS;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;AACvC,CAAC;AAED,SAAS,MAAM,CAAC,GAAW,EAAE,IAAmB;IAC/C,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IAClC,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3E,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrF,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7E,IAAI,IAAI,KAAK,SAAS;QACrB,OAAO,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACrG,MAAM,KAAK,GAAG,GAAG;SACf,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,OAAO,CAAC,CAAC;IAClB,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1G,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7F,CAAC;AAED,SAAS,UAAU,CAAC,IAAY,EAAE,OAAe,EAAE,IAAqB;IACvE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;AAC5F,CAAC"}
1
+ {"version":3,"file":"readers.js","sourceRoot":"","sources":["../../src/mwl/readers.ts"],"names":[],"mappings":"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"}
@@ -18,8 +18,27 @@ export interface MwlContentLoadReport {
18
18
  readonly ignored: readonly string[];
19
19
  readonly diagnostics: readonly MwlContentDiagnostic[];
20
20
  }
21
- /** Compile content and return a stable, machine-readable load report instead of throwing. */
21
+ /**
22
+ * Compile content and return a stable, machine-readable load report instead of throwing.
23
+ *
24
+ * @example
25
+ * ```ts
26
+ * import { loadContent } from '@datamoc/mw_games/mwl';
27
+ *
28
+ * const report = loadContent([{ file: 'a.mwl', source: '[game]\nschema=0.1\n[/game]' }]);
29
+ * console.log(report.game?.schema); // '0.1'
30
+ * ```
31
+ */
22
32
  export declare function loadContent(files: readonly MwlSourceFile[], options?: MwlCompileOptions): MwlContentLoadReport;
23
- /** Summarise a compiled catalog for parity checks and CI output. */
33
+ /**
34
+ * Summarise a compiled catalog for parity checks and CI output.
35
+ *
36
+ * @example
37
+ * ```ts
38
+ * import { compile, contentReport } from '@datamoc/mw_games/mwl';
39
+ *
40
+ * console.log(contentReport(compile('[game]\nschema=0.1\n[/game]')).tags);
41
+ * ```
42
+ */
24
43
  export declare function contentReport(game: MwlCompiledGame): MwlContentReport;
25
44
  //# sourceMappingURL=report.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/mwl/report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,iBAAiB,EAAE,KAAK,eAAe,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAIjH,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAChD,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/C;AAED,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,oBAAoB,GAAG,YAAY,CAAC;IAC/D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACtD;AAED,6FAA6F;AAC7F,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,EAAE,OAAO,GAAE,iBAAsB,GAAG,oBAAoB,CA4BlH;AAED,oEAAoE;AACpE,wBAAgB,aAAa,CAAC,IAAI,EAAE,eAAe,GAAG,gBAAgB,CA+BrE"}
1
+ {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/mwl/report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,iBAAiB,EAAE,KAAK,eAAe,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAIjH,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAChD,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/C;AAED,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,oBAAoB,GAAG,YAAY,CAAC;IAC/D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACtD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,EAAE,OAAO,GAAE,iBAAsB,GAAG,oBAAoB,CA4BlH;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,eAAe,GAAG,gBAAgB,CA+BrE"}
@@ -1,7 +1,17 @@
1
1
  import { compileSources } from './compiler.js';
2
2
  import { schema01 } from './schema.js';
3
3
  import { flattenNodes } from './utils.js';
4
- /** Compile content and return a stable, machine-readable load report instead of throwing. */
4
+ /**
5
+ * Compile content and return a stable, machine-readable load report instead of throwing.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * import { loadContent } from '@datamoc/mw_games/mwl';
10
+ *
11
+ * const report = loadContent([{ file: 'a.mwl', source: '[game]\nschema=0.1\n[/game]' }]);
12
+ * console.log(report.game?.schema); // '0.1'
13
+ * ```
14
+ */
5
15
  export function loadContent(files, options = {}) {
6
16
  try {
7
17
  const game = compileSources(files, options);
@@ -32,7 +42,16 @@ export function loadContent(files, options = {}) {
32
42
  };
33
43
  }
34
44
  }
35
- /** Summarise a compiled catalog for parity checks and CI output. */
45
+ /**
46
+ * Summarise a compiled catalog for parity checks and CI output.
47
+ *
48
+ * @example
49
+ * ```ts
50
+ * import { compile, contentReport } from '@datamoc/mw_games/mwl';
51
+ *
52
+ * console.log(contentReport(compile('[game]\nschema=0.1\n[/game]')).tags);
53
+ * ```
54
+ */
36
55
  export function contentReport(game) {
37
56
  const nodes = flattenNodes(game.roots);
38
57
  const tags = {};
@@ -1 +1 @@
1
- {"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/mwl/report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/mwl/report.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,17 @@ export interface MwlWorld {
28
28
  type?: string;
29
29
  side?: string;
30
30
  moves?: number;
31
+ /** the unit's own name, as `[unit] name=` wrote it */
32
+ name?: string;
33
+ /** the unit's role/function: `[unit] role=`, or stamped from `[role]` */
34
+ role?: string;
35
+ /** whether the unit can recruit, i.e. is a leader: `[unit] can_recruit=`, or a side's own leader */
36
+ can_recruit?: boolean;
37
+ /**
38
+ * whether this unit is the one the `[side]` named as its leader. What `can_recruit` means
39
+ * to a game, `leader` answers outright, so a consumer does not recompute `sides[id].leader === id`.
40
+ */
41
+ leader?: boolean;
31
42
  }>;
32
43
  readonly sides: Record<string, {
33
44
  gold: number;
@@ -207,11 +218,30 @@ export type MwlCommand = {
207
218
  readonly carryoverAdd?: boolean;
208
219
  readonly nextScenario?: string | null;
209
220
  };
221
+ /**
222
+ * A fresh, empty world: no sides, units, maps or variables, at turn 1 and `playing`.
223
+ *
224
+ * @example
225
+ * ```ts
226
+ * import { createWorld } from '@datamoc/mw_games/mwl';
227
+ *
228
+ * const world = createWorld();
229
+ * console.log(world.turn, world.status); // 1 'playing'
230
+ * ```
231
+ */
210
232
  export declare function createWorld(): MwlWorld;
211
233
  /**
212
234
  * Parse map text: one row per line, comma-separated codes. A token may be
213
235
  * `<side> <code>` to mark that side's keep/start, which is how a leader knows
214
236
  * where to appear.
237
+ *
238
+ * @example
239
+ * ```ts
240
+ * import { parseTerrain } from '@datamoc/mw_games/mwl';
241
+ *
242
+ * const map = parseTerrain('Gg,Gg\nGg,1 Kh');
243
+ * console.log(map.width, map.starts['1']); // 2 [{ x: 1, y: 1 }]
244
+ * ```
215
245
  */
216
246
  export declare function parseTerrain(text: string): {
217
247
  width: number;
@@ -230,6 +260,16 @@ export declare function parseTerrain(text: string): {
230
260
  * real data (pathfinding costs, combat formulas) stay in the engine adapter;
231
261
  * this runtime's `move` is a bounds and occupancy check, and `attack` applies
232
262
  * the amount the content asks for.
263
+ *
264
+ * @example
265
+ * ```ts
266
+ * import { compile, MwlRuntime } from '@datamoc/mw_games/mwl';
267
+ *
268
+ * const runtime = new MwlRuntime(compile('[game]\nschema=0.1\n[/game]'), {
269
+ * resolveMap: () => 'Gg,Gg\nGg,Gg',
270
+ * });
271
+ * console.log(runtime.world.turn); // 1
272
+ * ```
233
273
  */
234
274
  export declare class MwlRuntime {
235
275
  readonly game: MwlCompiledGame;
@@ -262,6 +302,19 @@ export declare class MwlRuntime {
262
302
  private claimEvent;
263
303
  private eventFiltersMatch;
264
304
  private executeEvent;
305
+ /**
306
+ * Runs a sequence of commands, with `say` and `dialogue` taking the message path rather
307
+ * than `executeNode`. Shared by an event's top level, an `[if]`/`[else]` body and a
308
+ * dialogue branch, so all three treat a nested pair the same way.
309
+ */
310
+ private runBlock;
311
+ /**
312
+ * Whether an `[else]` at `index` is the branch its immediately preceding `[if]` already ran.
313
+ * A taken `[if]` runs its own body and owns the `[else]`, so the loop skips that `[else]`;
314
+ * a false `[if]` ran nothing, so the `[else]` is left for the loop to run as its fallback.
315
+ * A free-standing `[else]` with no `[if]` before it is never consumed.
316
+ */
317
+ private isConsumedElse;
265
318
  private executeTracedEvent;
266
319
  /**
267
320
  * Deliver a `dialogue`: its `message`/`say` lines first, then one message
@@ -305,6 +358,13 @@ export declare class MwlRuntime {
305
358
  private loadLeaders;
306
359
  private unitAt;
307
360
  private executeNode;
361
+ /**
362
+ * A node's children that are commands to run, dropping the condition children the schema
363
+ * allows a branch to carry. A `[condition]` is read by the branch itself, never executed:
364
+ * `[if]`/`[while]` evaluate one through `nodeConditionMatches`, where running it as a command
365
+ * would be an unknown tag.
366
+ */
367
+ private commandChildren;
308
368
  private runHook;
309
369
  private applyMove;
310
370
  /** Deliver a `[message]` to the game, with speaker and portrait when given. */
@@ -385,6 +445,18 @@ export declare class MwlRuntime {
385
445
  private attack;
386
446
  private nodes;
387
447
  }
448
+ /**
449
+ * Applies one already-validated `MwlCommand` to a world, without a runtime around it.
450
+ *
451
+ * @example
452
+ * ```ts
453
+ * import { createWorld, execute } from '@datamoc/mw_games/mwl';
454
+ *
455
+ * const world = createWorld();
456
+ * execute(world, { name: 'set_variable', target: 'gold', value: 50 });
457
+ * console.log(world.variables.gold); // 50
458
+ * ```
459
+ */
388
460
  export declare function execute(world: MwlWorld, command: MwlCommand): void;
389
461
  /**
390
462
  * The sides a scenario's content says see together, as groups ready for `FactionFog.share`.
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/mwl/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/mwl/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,KAAK,EACX,MAAM,EACN,WAAW,EAEX,aAAa,EAEb,aAAa,EACb,YAAY,EACZ,aAAa,EACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAA0B,KAAK,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAKtF,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAM/D,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,MAAM;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,qDAAqD;IACrD,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,2FAA2F;IAC3F,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC,CAAC,CAAC;CAClE;AAED,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,EAAE,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,CAAC;AAE5F,MAAM,WAAW,QAAQ;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC7C,QAAQ,CAAC,KAAK,EAAE,MAAM,CACrB,MAAM,EACN;QACC,EAAE,EAAE,MAAM,CAAC;QACX,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,KAAK,EAAE,OAAO,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,sDAAsD;QACtD,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,yEAAyE;QACzE,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,oGAAoG;QACpG,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB;;;WAGG;QACH,MAAM,CAAC,EAAE,OAAO,CAAC;KACjB,CACD,CAAC;IACF,QAAQ,CAAC,KAAK,EAAE,MAAM,CACrB,MAAM,EACN;QACC,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,yEAAyE;QACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,sDAAsD;QACtD,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,GAAG,CAAC,EAAE,OAAO,CAAC;QACd,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,YAAY,CAAC,EAAE,MAAM,CAAC;KACtB,CACD,CAAC;IACF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,KAAK,GAAG,MAAM,CAAC;IACnC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,KAAK,GAAG,MAAM,CAAC,CAAC;IACxD,yFAAyF;IACzF,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,qDAAqD;IACrD,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,eAAe,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAA;KAAE,CAAC;IAExE;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjF,mGAAmG;IACnG,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACzC,0FAA0F;IAC1F,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACjC,2FAA2F;IAC3F,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrG,8FAA8F;IAC9F,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChF;AAED,uEAAuE;AACvE,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,kEAAkE;IAClE,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAChD,uEAAuE;IACvE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,sFAAsF;AACtF,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,gFAAgF;IAChF,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;CAC7C;AAED,+DAA+D;AAC/D,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;IAC7D,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IAC3D,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;IAC7D,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IACzD,QAAQ,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/C,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;CAC7D;AAED,MAAM,MAAM,aAAa,GACtB;IACA,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,WAAW,CAAC;IACxC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CACzB,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;CAAE,GAC5G;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjF,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC;IAC1B,0EAA0E;IAC1E,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,IAAI,CAAC;IACnD,oDAAoD;IACpD,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/C,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC;IACjC,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAClD,gFAAgF;IAChF,QAAQ,CAAC,WAAW,CAAC,EAAE,qBAAqB,CAAC;CAC7C;AAED,MAAM,MAAM,UAAU,GACnB;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;CAAE,GACrG;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAClF;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1F;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAChH;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CAAE,GACvG;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC7E;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAAE;AAC/B,+FAA+F;GAC7F;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAChD;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACjD;IACA,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,QAAQ,CAAC;IACtC,6FAA6F;IAC7F,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC,CAAC;AAEL;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,IAAI,QAAQ,CActC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC;CACnD,CAqBA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,UAAU;IACtB,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAgC;IAC3D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAA2B;IACvD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAiC;IAC1D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAwB;IACpD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8D;IACxF,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,eAAe,CAA6D;IACpF,OAAO,CAAC,eAAe,CAAK;IAE5B,YAAY,IAAI,EAAE,eAAe,EAAE,OAAO,GAAE,iBAAsB,EAejE;IAED,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAQzB;IAED,4FAA4F;IAC5F,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAM7B;IAED;;;;;;;;;OASG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAc3B;IAED,6EAA6E;IAC7E,OAAO,CAAC,UAAU;IAalB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,YAAY;IAIpB;;;;OAIG;IACH,OAAO,CAAC,QAAQ;IAgBhB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,kBAAkB;IAc1B;;;;;;;OAOG;IACH,OAAO,CAAC,YAAY;IAkDpB,OAAO,CAAC,OAAO;IAQf;;;;OAIG;IACH,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAiB/D;IAED;;;;OAIG;IACH,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAG7B;IAED,IAAI,IAAI,MAAM,CAEb;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CA4B9B;IAED,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,kBAAkB;IA4B1B,mGAAmG;IACnG,OAAO,CAAC,aAAa;IAKrB;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAsC1B,OAAO,CAAC,QAAQ;IAehB,OAAO,CAAC,gBAAgB;IAuBxB,OAAO,CAAC,WAAW;IA2BnB,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,WAAW;IA0NnB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,SAAS;IAmBjB,+EAA+E;IAC/E,OAAO,CAAC,WAAW;IAWnB;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAmBnB,OAAO,CAAC,WAAW;IA0BnB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,SAAS;IAcjB,OAAO,CAAC,QAAQ;IAMhB;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAarB,+FAA+F;IAC/F,OAAO,CAAC,WAAW;IASnB,sFAAsF;IACtF,OAAO,CAAC,WAAW;IAoBnB,yFAAyF;IACzF,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,OAAO;IAQf;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,aAAa;IAMrB;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IAsBxB,OAAO,CAAC,oBAAoB;IAM5B;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IA6B9B;;;;OAIG;IACH,OAAO,CAAC,YAAY;IA6CpB;;;;;;;;OAQG;IACH,OAAO,CAAC,eAAe;IAuCvB,+FAA+F;IAC/F,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,IAAI;IA2BZ,OAAO,CAAC,MAAM;IAOd,OAAO,CAAC,KAAK;CASb;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI,CAsClE;AAaD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAShF"}