board-game-engine 1.0.5 → 2.0.1

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 (254) hide show
  1. package/.github/workflows/ci.yml +33 -0
  2. package/dist/board-game-engine.cjs +463 -349
  3. package/dist/board-game-engine.js +463 -349
  4. package/dist/board-game-engine.min.js +22 -22
  5. package/dist/board-game-engine.mjs +461 -348
  6. package/dist/client/client.d.ts +76 -0
  7. package/dist/client/client.d.ts.map +1 -0
  8. package/dist/game-factory/bank/bank-slot.d.ts +30 -0
  9. package/dist/game-factory/bank/bank-slot.d.ts.map +1 -0
  10. package/dist/game-factory/bank/bank.d.ts +34 -0
  11. package/dist/game-factory/bank/bank.d.ts.map +1 -0
  12. package/dist/game-factory/board.d.ts +4 -0
  13. package/dist/game-factory/board.d.ts.map +1 -0
  14. package/dist/game-factory/condition/condition-factory.d.ts +4 -0
  15. package/dist/game-factory/condition/condition-factory.d.ts.map +1 -0
  16. package/dist/game-factory/condition/condition.d.ts +13 -0
  17. package/dist/game-factory/condition/condition.d.ts.map +1 -0
  18. package/dist/game-factory/condition/contains-condition.d.ts +8 -0
  19. package/dist/game-factory/condition/contains-condition.d.ts.map +1 -0
  20. package/dist/game-factory/condition/contains-same-condition.d.ts +7 -0
  21. package/dist/game-factory/condition/contains-same-condition.d.ts.map +1 -0
  22. package/dist/game-factory/condition/evaluate-condition.d.ts +8 -0
  23. package/dist/game-factory/condition/evaluate-condition.d.ts.map +1 -0
  24. package/dist/game-factory/condition/every-condition.d.ts +12 -0
  25. package/dist/game-factory/condition/every-condition.d.ts.map +1 -0
  26. package/dist/game-factory/condition/has-line-condition.d.ts +8 -0
  27. package/dist/game-factory/condition/has-line-condition.d.ts.map +1 -0
  28. package/dist/game-factory/condition/in-line-condition.d.ts +8 -0
  29. package/dist/game-factory/condition/in-line-condition.d.ts.map +1 -0
  30. package/dist/game-factory/condition/is-condition.d.ts +8 -0
  31. package/dist/game-factory/condition/is-condition.d.ts.map +1 -0
  32. package/dist/game-factory/condition/is-full-condition.d.ts +7 -0
  33. package/dist/game-factory/condition/is-full-condition.d.ts.map +1 -0
  34. package/dist/game-factory/condition/no-possible-moves-condition.d.ts +7 -0
  35. package/dist/game-factory/condition/no-possible-moves-condition.d.ts.map +1 -0
  36. package/dist/game-factory/condition/not-condition.d.ts +7 -0
  37. package/dist/game-factory/condition/not-condition.d.ts.map +1 -0
  38. package/dist/game-factory/condition/or-condition.d.ts +7 -0
  39. package/dist/game-factory/condition/or-condition.d.ts.map +1 -0
  40. package/dist/game-factory/condition/position-condition.d.ts +7 -0
  41. package/dist/game-factory/condition/position-condition.d.ts.map +1 -0
  42. package/dist/game-factory/condition/some-condition.d.ts +8 -0
  43. package/dist/game-factory/condition/some-condition.d.ts.map +1 -0
  44. package/dist/game-factory/condition/would-condition.d.ts +8 -0
  45. package/dist/game-factory/condition/would-condition.d.ts.map +1 -0
  46. package/dist/game-factory/entity.d.ts +13 -0
  47. package/dist/game-factory/entity.d.ts.map +1 -0
  48. package/dist/game-factory/expand-game-rules.d.ts +3 -0
  49. package/dist/game-factory/expand-game-rules.d.ts.map +1 -0
  50. package/dist/game-factory/game-factory.d.ts +10 -0
  51. package/dist/game-factory/game-factory.d.ts.map +1 -0
  52. package/{src/game-factory/move/end-turn.js → dist/game-factory/move/end-turn.d.ts} +2 -4
  53. package/dist/game-factory/move/end-turn.d.ts.map +1 -0
  54. package/dist/game-factory/move/for-each.d.ts +5 -0
  55. package/dist/game-factory/move/for-each.d.ts.map +1 -0
  56. package/dist/game-factory/move/index.d.ts +6 -0
  57. package/dist/game-factory/move/index.d.ts.map +1 -0
  58. package/dist/game-factory/move/move-entity.d.ts +7 -0
  59. package/dist/game-factory/move/move-entity.d.ts.map +1 -0
  60. package/dist/game-factory/move/move-factory.d.ts +18 -0
  61. package/dist/game-factory/move/move-factory.d.ts.map +1 -0
  62. package/dist/game-factory/move/move.d.ts +54 -0
  63. package/dist/game-factory/move/move.d.ts.map +1 -0
  64. package/dist/game-factory/move/pass-turn.d.ts +5 -0
  65. package/dist/game-factory/move/pass-turn.d.ts.map +1 -0
  66. package/{src/game-factory/move/pass.js → dist/game-factory/move/pass.d.ts} +2 -4
  67. package/dist/game-factory/move/pass.d.ts.map +1 -0
  68. package/dist/game-factory/move/place-new.d.ts +5 -0
  69. package/dist/game-factory/move/place-new.d.ts.map +1 -0
  70. package/dist/game-factory/move/remove-entity.d.ts +5 -0
  71. package/dist/game-factory/move/remove-entity.d.ts.map +1 -0
  72. package/dist/game-factory/move/set-active-players.d.ts +5 -0
  73. package/dist/game-factory/move/set-active-players.d.ts.map +1 -0
  74. package/dist/game-factory/move/set-state.d.ts +5 -0
  75. package/dist/game-factory/move/set-state.d.ts.map +1 -0
  76. package/dist/game-factory/move/shuffle.d.ts +5 -0
  77. package/dist/game-factory/move/shuffle.d.ts.map +1 -0
  78. package/dist/game-factory/move/take-from.d.ts +11 -0
  79. package/dist/game-factory/move/take-from.d.ts.map +1 -0
  80. package/dist/game-factory/space/space.d.ts +10 -0
  81. package/dist/game-factory/space/space.d.ts.map +1 -0
  82. package/dist/game-factory/space-group/grid.d.ts +15 -0
  83. package/dist/game-factory/space-group/grid.d.ts.map +1 -0
  84. package/dist/game-factory/space-group/space-group.d.ts +20 -0
  85. package/dist/game-factory/space-group/space-group.d.ts.map +1 -0
  86. package/dist/index.d.ts +6 -0
  87. package/dist/index.d.ts.map +1 -0
  88. package/dist/registry.d.ts +17 -0
  89. package/dist/registry.d.ts.map +1 -0
  90. package/dist/types/bagel-types.d.ts +339 -0
  91. package/dist/types/bagel-types.d.ts.map +1 -0
  92. package/dist/types/index.d.ts +3 -0
  93. package/dist/types/index.d.ts.map +1 -0
  94. package/dist/types/rule-with-conditions.d.ts +9 -0
  95. package/dist/types/rule-with-conditions.d.ts.map +1 -0
  96. package/dist/utils/any-valid-moves.d.ts +2 -0
  97. package/dist/utils/any-valid-moves.d.ts.map +1 -0
  98. package/dist/utils/bgio-resolve-types.d.ts +25 -0
  99. package/dist/utils/bgio-resolve-types.d.ts.map +1 -0
  100. package/dist/utils/check-conditions.d.ts +7 -0
  101. package/dist/utils/check-conditions.d.ts.map +1 -0
  102. package/dist/utils/create-payload.d.ts +5 -0
  103. package/dist/utils/create-payload.d.ts.map +1 -0
  104. package/dist/utils/deserialize-bgio-arguments.d.ts +3 -0
  105. package/dist/utils/deserialize-bgio-arguments.d.ts.map +1 -0
  106. package/dist/utils/do-moves.d.ts +8 -0
  107. package/dist/utils/do-moves.d.ts.map +1 -0
  108. package/dist/utils/entity-matches.d.ts +6 -0
  109. package/dist/utils/entity-matches.d.ts.map +1 -0
  110. package/dist/utils/find-met-condition.d.ts +6 -0
  111. package/dist/utils/find-met-condition.d.ts.map +1 -0
  112. package/dist/utils/get-current-moves.d.ts +24 -0
  113. package/dist/utils/get-current-moves.d.ts.map +1 -0
  114. package/dist/utils/get-scenario-results.d.ts +3 -0
  115. package/dist/utils/get-scenario-results.d.ts.map +1 -0
  116. package/dist/utils/get-steps.d.ts +13 -0
  117. package/dist/utils/get-steps.d.ts.map +1 -0
  118. package/dist/utils/get.d.ts +7 -0
  119. package/dist/utils/get.d.ts.map +1 -0
  120. package/dist/utils/grid-contains-sequence.d.ts +27 -0
  121. package/dist/utils/grid-contains-sequence.d.ts.map +1 -0
  122. package/dist/utils/json-transformer.d.ts +8 -0
  123. package/dist/utils/json-transformer.d.ts.map +1 -0
  124. package/dist/utils/prepare-payload.d.ts +2 -0
  125. package/dist/utils/prepare-payload.d.ts.map +1 -0
  126. package/dist/utils/resolve-entity.d.ts +3 -0
  127. package/dist/utils/resolve-entity.d.ts.map +1 -0
  128. package/dist/utils/resolve-expression.d.ts +6 -0
  129. package/dist/utils/resolve-expression.d.ts.map +1 -0
  130. package/dist/utils/resolve-properties.d.ts +4 -0
  131. package/dist/utils/resolve-properties.d.ts.map +1 -0
  132. package/dist/utils/simulate-move.d.ts +16 -0
  133. package/dist/utils/simulate-move.d.ts.map +1 -0
  134. package/examples/checkers.json +2 -2
  135. package/examples/connect-four.json +1 -1
  136. package/examples/eights.json +15 -15
  137. package/package.json +9 -3
  138. package/playwright-report/index.html +1 -1
  139. package/scripts/build.mjs +2 -2
  140. package/src/client/client.ts +306 -0
  141. package/src/game-factory/bank/bank-slot.ts +81 -0
  142. package/src/game-factory/bank/bank.ts +125 -0
  143. package/src/game-factory/{board.js → board.ts} +1 -1
  144. package/src/game-factory/condition/condition-factory.ts +59 -0
  145. package/src/game-factory/condition/condition.ts +50 -0
  146. package/src/game-factory/condition/{contains-condition.js → contains-condition.ts} +5 -4
  147. package/src/game-factory/condition/{contains-same-condition.js → contains-same-condition.ts} +8 -5
  148. package/src/game-factory/condition/{evaluate-condition.js → evaluate-condition.ts} +4 -3
  149. package/src/game-factory/condition/every-condition.ts +27 -0
  150. package/src/game-factory/condition/has-line-condition.ts +15 -0
  151. package/src/game-factory/condition/in-line-condition.ts +25 -0
  152. package/src/game-factory/condition/is-condition.ts +24 -0
  153. package/src/game-factory/condition/is-full-condition.ts +10 -0
  154. package/src/game-factory/condition/{no-possible-moves-condition.js → no-possible-moves-condition.ts} +3 -2
  155. package/src/game-factory/condition/{not-condition.js → not-condition.ts} +3 -2
  156. package/src/game-factory/condition/{or-condition.js → or-condition.ts} +3 -2
  157. package/src/game-factory/condition/position-condition.ts +13 -0
  158. package/src/game-factory/condition/{some-condition.js → some-condition.ts} +5 -3
  159. package/src/game-factory/condition/would-condition.ts +104 -0
  160. package/src/game-factory/entity.ts +37 -0
  161. package/src/game-factory/expand-game-rules.ts +263 -0
  162. package/src/game-factory/game-factory.ts +263 -0
  163. package/src/game-factory/move/end-turn.ts +7 -0
  164. package/src/game-factory/move/for-each.ts +20 -0
  165. package/src/game-factory/move/move-entity.ts +18 -0
  166. package/src/game-factory/move/move-factory.ts +107 -0
  167. package/src/game-factory/move/move.ts +147 -0
  168. package/src/game-factory/move/pass-turn.ts +15 -0
  169. package/src/game-factory/move/pass.ts +7 -0
  170. package/src/game-factory/move/place-new.ts +42 -0
  171. package/src/game-factory/move/remove-entity.ts +11 -0
  172. package/src/game-factory/move/set-active-players.ts +26 -0
  173. package/src/game-factory/move/set-state.ts +14 -0
  174. package/src/game-factory/move/shuffle.ts +9 -0
  175. package/src/game-factory/move/take-from.ts +12 -0
  176. package/src/game-factory/space/space.ts +36 -0
  177. package/src/game-factory/space-group/grid.ts +48 -0
  178. package/src/game-factory/space-group/space-group.ts +44 -0
  179. package/src/index.ts +5 -0
  180. package/src/types/bagel-types.ts +449 -0
  181. package/src/types/boardgame-io-core.d.ts +7 -0
  182. package/src/types/index.ts +70 -0
  183. package/src/types/rule-with-conditions.ts +9 -0
  184. package/src/utils/{any-valid-moves.js → any-valid-moves.ts} +54 -49
  185. package/src/utils/bgio-resolve-types.ts +27 -0
  186. package/src/utils/check-conditions.ts +28 -0
  187. package/src/utils/create-payload.ts +19 -0
  188. package/src/utils/deserialize-bgio-arguments.ts +10 -0
  189. package/src/utils/do-moves.ts +22 -0
  190. package/src/utils/entity-matches.ts +30 -0
  191. package/src/utils/expr-eval.d.ts +6 -0
  192. package/src/utils/find-met-condition.ts +23 -0
  193. package/src/utils/get-current-moves.ts +39 -0
  194. package/src/utils/get-scenario-results.ts +30 -0
  195. package/src/utils/get-steps.ts +38 -0
  196. package/src/utils/get.ts +28 -0
  197. package/src/utils/{grid-contains-sequence.js → grid-contains-sequence.ts} +71 -33
  198. package/src/utils/json-transformer.ts +17 -0
  199. package/src/utils/prepare-payload.ts +20 -0
  200. package/src/utils/resolve-entity.ts +15 -0
  201. package/src/utils/resolve-expression.ts +16 -0
  202. package/src/utils/resolve-properties.ts +172 -0
  203. package/src/utils/simulate-move.ts +32 -0
  204. package/src/wackson.d.ts +4 -0
  205. package/tsconfig.build.json +14 -0
  206. package/tsconfig.json +21 -0
  207. package/src/client/client.js +0 -224
  208. package/src/game-factory/bank/bank-slot.js +0 -69
  209. package/src/game-factory/bank/bank.js +0 -114
  210. package/src/game-factory/condition/condition-factory.js +0 -52
  211. package/src/game-factory/condition/condition.js +0 -39
  212. package/src/game-factory/condition/every-condition.js +0 -25
  213. package/src/game-factory/condition/has-line-condition.js +0 -14
  214. package/src/game-factory/condition/in-line-condition.js +0 -19
  215. package/src/game-factory/condition/is-condition.js +0 -23
  216. package/src/game-factory/condition/is-full-condition.js +0 -9
  217. package/src/game-factory/condition/position-condition.js +0 -12
  218. package/src/game-factory/condition/would-condition.js +0 -94
  219. package/src/game-factory/entity.js +0 -29
  220. package/src/game-factory/expand-game-rules.js +0 -271
  221. package/src/game-factory/game-factory.js +0 -239
  222. package/src/game-factory/move/for-each.js +0 -18
  223. package/src/game-factory/move/move-entity.js +0 -16
  224. package/src/game-factory/move/move-factory.js +0 -89
  225. package/src/game-factory/move/move.js +0 -131
  226. package/src/game-factory/move/pass-turn.js +0 -10
  227. package/src/game-factory/move/place-new.js +0 -33
  228. package/src/game-factory/move/remove-entity.js +0 -7
  229. package/src/game-factory/move/set-active-players.js +0 -23
  230. package/src/game-factory/move/set-state.js +0 -11
  231. package/src/game-factory/move/shuffle.js +0 -7
  232. package/src/game-factory/move/take-from.js +0 -7
  233. package/src/game-factory/space/space.js +0 -30
  234. package/src/game-factory/space-group/grid.js +0 -43
  235. package/src/game-factory/space-group/space-group.js +0 -29
  236. package/src/index.js +0 -2
  237. package/src/utils/check-conditions.js +0 -28
  238. package/src/utils/create-payload.js +0 -16
  239. package/src/utils/deserialize-bgio-arguments.js +0 -8
  240. package/src/utils/do-moves.js +0 -18
  241. package/src/utils/entity-matches.js +0 -20
  242. package/src/utils/find-met-condition.js +0 -22
  243. package/src/utils/get-current-moves.js +0 -12
  244. package/src/utils/get-scenario-results.js +0 -23
  245. package/src/utils/get-steps.js +0 -29
  246. package/src/utils/get.js +0 -25
  247. package/src/utils/json-transformer.js +0 -12
  248. package/src/utils/prepare-payload.js +0 -16
  249. package/src/utils/resolve-entity.js +0 -9
  250. package/src/utils/resolve-expression.js +0 -10
  251. package/src/utils/resolve-properties.js +0 -149
  252. package/src/utils/simulate-move.js +0 -25
  253. /package/src/game-factory/move/{index.js → index.ts} +0 -0
  254. /package/src/{registry.js → registry.ts} +0 -0
@@ -0,0 +1,76 @@
1
+ import { Client as BoardgameIOClient } from "@mnbroatch/boardgame.io/client";
2
+ import { Debug } from "@mnbroatch/boardgame.io/debug";
3
+ import { SocketIO } from "@mnbroatch/boardgame.io/multiplayer";
4
+ import type { BoardGameEngineGame } from "../game-factory/game-factory.js";
5
+ export interface ClientOptions {
6
+ boardgameIOGame?: BoardGameEngineGame;
7
+ /** JSON string of a {@link GameFactoryInput} rule object */
8
+ gameRules?: string;
9
+ gameName?: string;
10
+ server?: string;
11
+ numPlayers?: number;
12
+ debug?: {
13
+ collapseOnLoad?: boolean;
14
+ impl?: typeof Debug;
15
+ };
16
+ matchID?: string;
17
+ playerID?: string | null;
18
+ credentials?: string;
19
+ multiplayer?: ReturnType<typeof SocketIO>;
20
+ onClientUpdate?: () => void;
21
+ }
22
+ interface MoveBuilder {
23
+ targets: unknown[];
24
+ stepIndex: number;
25
+ eliminatedMoves: string[];
26
+ }
27
+ export declare class Client {
28
+ options: ClientOptions;
29
+ game: BoardGameEngineGame;
30
+ client?: ReturnType<typeof BoardgameIOClient>;
31
+ moveBuilder?: MoveBuilder;
32
+ optimisticWinner?: unknown | null;
33
+ constructor(options: ClientOptions);
34
+ connect(): this | undefined;
35
+ update(): void;
36
+ getState(): {
37
+ state?: undefined;
38
+ gameover?: undefined;
39
+ moves?: undefined;
40
+ currentMoves?: undefined;
41
+ allClickable?: undefined;
42
+ _wrappedMoves?: undefined;
43
+ _possibleMoveMeta?: undefined;
44
+ } | {
45
+ state: import("@mnbroatch/boardgame.io").State<unknown> & {
46
+ isActive: boolean;
47
+ isConnected: boolean;
48
+ log: import("@mnbroatch/boardgame.io").LogEntry[];
49
+ };
50
+ gameover: any;
51
+ moves: Record<string, (...args: any[]) => void>;
52
+ currentMoves: Record<string, unknown> | never[];
53
+ allClickable?: undefined;
54
+ _wrappedMoves?: undefined;
55
+ _possibleMoveMeta?: undefined;
56
+ } | {
57
+ state: import("@mnbroatch/boardgame.io").State<unknown> & {
58
+ isActive: boolean;
59
+ isConnected: boolean;
60
+ log: import("@mnbroatch/boardgame.io").LogEntry[];
61
+ };
62
+ gameover: any;
63
+ allClickable: Set<unknown>;
64
+ _wrappedMoves: Record<string, unknown>;
65
+ _possibleMoveMeta: Record<string, {
66
+ clickableForMove: Set<unknown>;
67
+ }>;
68
+ moves?: undefined;
69
+ currentMoves?: undefined;
70
+ };
71
+ doStep(_target: unknown): void;
72
+ reset(): void;
73
+ undoStep(): void;
74
+ }
75
+ export {};
76
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAG/D,OAAO,KAAK,EAAE,mBAAmB,EAAiB,MAAM,iCAAiC,CAAC;AAa1F,MAAM,WAAW,aAAa;IAC5B,eAAe,CAAC,EAAE,mBAAmB,CAAC;IACtC,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE;QACN,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,IAAI,CAAC,EAAE,OAAO,KAAK,CAAC;KACrB,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;IAC1C,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED,UAAU,WAAW;IACnB,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,qBAAa,MAAM;IACjB,OAAO,EAAE,aAAa,CAAC;IACvB,IAAI,EAAE,mBAAmB,CAAC;IAC1B,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;IAC9C,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;gBAErB,OAAO,EAAE,aAAa;IAWnC,OAAO;IAsCP,MAAM;IAIN,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BA8HoD,GAAG,CAAC,OAAO,CAAC;;;;;IAtFxE,MAAM,CAAE,OAAO,EAAE,OAAO;IAuDxB,KAAK;IAOL,QAAQ;CAWT"}
@@ -0,0 +1,30 @@
1
+ import type { BgioResolveState } from "../../utils/bgio-resolve-types.js";
2
+ declare class BankSlot {
3
+ bank: {
4
+ createEntity: (rule: Record<string, unknown>) => unknown;
5
+ };
6
+ rule: Record<string, unknown> & {
7
+ count?: number | string;
8
+ name?: string;
9
+ };
10
+ pool: unknown[];
11
+ remaining: number;
12
+ constructor(rule: Record<string, unknown> & {
13
+ count?: number | string;
14
+ name?: string;
15
+ }, bank: BankSlot["bank"]);
16
+ getOne(bgioArguments: BgioResolveState, options: {
17
+ state?: unknown;
18
+ }, context: Record<string, unknown>): unknown;
19
+ getMultiple(bgioArguments: BgioResolveState, count?: number, options?: {
20
+ state?: unknown;
21
+ }, context?: Record<string, unknown>): unknown[];
22
+ returnToBank(entity: {
23
+ rule: {
24
+ state?: unknown;
25
+ };
26
+ state?: unknown;
27
+ }): void;
28
+ }
29
+ export default BankSlot;
30
+ //# sourceMappingURL=bank-slot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bank-slot.d.ts","sourceRoot":"","sources":["../../../src/game-factory/bank/bank-slot.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,cAAM,QAAQ;IACZ,IAAI,EAAE;QAAE,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAA;KAAE,CAAC;IACnE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3E,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;gBAEL,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC;IAO/G,MAAM,CAAE,aAAa,EAAE,gBAAgB,EAAE,OAAO,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAIvG,WAAW,CACT,aAAa,EAAE,gBAAgB,EAC/B,KAAK,GAAE,MAAiB,EACxB,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAO,EACjC,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IA2CvC,YAAY,CAAE,MAAM,EAAE;QAAE,IAAI,EAAE;YAAE,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAWrE;AAED,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,34 @@
1
+ import type { RuleWithConditions } from "../../types/rule-with-conditions.js";
2
+ import BankSlot from "./bank-slot.js";
3
+ import type { BgioResolveState } from "../../utils/bgio-resolve-types.js";
4
+ declare class Bank {
5
+ currentEntityId: number;
6
+ tracker: Record<number, unknown>;
7
+ slots: InstanceType<typeof BankSlot>[];
8
+ constructor(entityRules: Record<string, unknown>[]);
9
+ createEntity(definition?: Record<string, unknown>, options?: Record<string, unknown>): unknown;
10
+ track(entity: {
11
+ entityId: number;
12
+ }): void;
13
+ locate(entityId: unknown): unknown;
14
+ findAll(bgioArguments: BgioResolveState, rule: RuleWithConditions, context: Record<string, unknown>): unknown[];
15
+ findOne(bgioArguments: BgioResolveState, rule: RuleWithConditions, context: Record<string, unknown>): unknown;
16
+ find(bgioArguments: BgioResolveState, rule: RuleWithConditions & {
17
+ matchMultiple?: boolean;
18
+ }, context: Record<string, unknown>): unknown;
19
+ findParent(entity: unknown): unknown;
20
+ getOne(bgioArguments: BgioResolveState, rule: RuleWithConditions & {
21
+ state?: unknown;
22
+ }, context: Record<string, unknown>): unknown;
23
+ getMultiple(bgioArguments: BgioResolveState, rule: RuleWithConditions & {
24
+ state?: unknown;
25
+ }, count: number, context: Record<string, unknown>): unknown[];
26
+ getSlot(bgioArguments: BgioResolveState, rule: RuleWithConditions, context: Record<string, unknown>): BankSlot | undefined;
27
+ getSlots(bgioArguments: BgioResolveState, rule: RuleWithConditions, context: Record<string, unknown>): BankSlot[];
28
+ returnToBank(bgioArguments: BgioResolveState, entity: {
29
+ entityId: number;
30
+ rule: Record<string, unknown>;
31
+ }): void;
32
+ }
33
+ export default Bank;
34
+ //# sourceMappingURL=bank.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bank.d.ts","sourceRoot":"","sources":["../../../src/game-factory/bank/bank.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAE9E,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,cAAM,IAAI;IACR,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,KAAK,EAAE,YAAY,CAAC,OAAO,QAAQ,CAAC,EAAE,CAAC;gBAE1B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;IAMnD,YAAY,CAAE,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAmBzF,KAAK,CAAE,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE;IAInC,MAAM,CAAE,QAAQ,EAAE,OAAO;IAIzB,OAAO,CAAE,aAAa,EAAE,gBAAgB,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAepG,OAAO,CAAE,aAAa,EAAE,gBAAgB,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAIpG,IAAI,CAAE,aAAa,EAAE,gBAAgB,EAAE,IAAI,EAAE,kBAAkB,GAAG;QAAE,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAM/H,UAAU,CAAE,MAAM,EAAE,OAAO;IAO3B,MAAM,CAAE,aAAa,EAAE,gBAAgB,EAAE,IAAI,EAAE,kBAAkB,GAAG;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAQzH,WAAW,CAAE,aAAa,EAAE,gBAAgB,EAAE,IAAI,EAAE,kBAAkB,GAAG;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAW7I,OAAO,CAAE,aAAa,EAAE,gBAAgB,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAUpG,QAAQ,CAAE,aAAa,EAAE,gBAAgB,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAUrG,YAAY,CAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE;CAK3G;AAED,eAAe,IAAI,CAAC"}
@@ -0,0 +1,4 @@
1
+ import Space from "./space/space.js";
2
+ export default class Board extends Space {
3
+ }
4
+ //# sourceMappingURL=board.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"board.d.ts","sourceRoot":"","sources":["../../src/game-factory/board.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,kBAAkB,CAAC;AAErC,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,KAAK;CAAG"}
@@ -0,0 +1,4 @@
1
+ import type { Condition as ConditionRule } from "../../types/bagel-types.js";
2
+ import type ConditionBase from "./condition.js";
3
+ export default function conditionFactory(rule: ConditionRule): ConditionBase | undefined;
4
+ //# sourceMappingURL=condition-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"condition-factory.d.ts","sourceRoot":"","sources":["../../../src/game-factory/condition/condition-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,KAAK,aAAa,MAAM,gBAAgB,CAAC;AAkBhD,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAE,IAAI,EAAE,aAAa,GAAG,aAAa,GAAG,SAAS,CAuCxF"}
@@ -0,0 +1,13 @@
1
+ export default abstract class Condition {
2
+ rule: unknown;
3
+ constructor(rule: unknown);
4
+ check(bgioArguments: unknown, payload: Record<string, unknown>, context: Record<string, unknown>): {
5
+ conditionIsMet: boolean;
6
+ };
7
+ abstract checkCondition(bgioArguments: unknown, rule: unknown, conditionPayload: Record<string, unknown>, newContext: Record<string, unknown>): {
8
+ conditionIsMet: boolean;
9
+ [k: string]: unknown;
10
+ };
11
+ isMet(...args: unknown[]): boolean;
12
+ }
13
+ //# sourceMappingURL=condition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"condition.d.ts","sourceRoot":"","sources":["../../../src/game-factory/condition/condition.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,SAAS;IACrC,IAAI,EAAE,OAAO,CAAC;gBAED,IAAI,EAAE,OAAO;IAI1B,KAAK,CAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;IAyBjG,QAAQ,CAAC,cAAc,CACrB,aAAa,EAAE,OAAO,EACtB,IAAI,EAAE,OAAO,EACb,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC;QAAE,cAAc,EAAE,OAAO,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE;IAEpD,KAAK,CAAE,GAAG,IAAI,EAAE,OAAO,EAAE;CAO1B"}
@@ -0,0 +1,8 @@
1
+ import Condition from "../condition/condition.js";
2
+ export default class ContainsCondition extends Condition {
3
+ checkCondition(bgioArguments: unknown, rule: unknown, payload: Record<string, unknown>, context: Record<string, unknown>): {
4
+ matches: unknown[];
5
+ conditionIsMet: boolean;
6
+ };
7
+ }
8
+ //# sourceMappingURL=contains-condition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contains-condition.d.ts","sourceRoot":"","sources":["../../../src/game-factory/condition/contains-condition.ts"],"names":[],"mappings":"AAEA,OAAO,SAAS,MAAM,2BAA2B,CAAC;AAGlD,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,SAAS;IACtD,cAAc,CAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;CAe1H"}
@@ -0,0 +1,7 @@
1
+ import Condition from "./condition.js";
2
+ export default class ContainsSame extends Condition {
3
+ checkCondition(bgioArguments: unknown, rule: unknown, conditionPayload: Record<string, unknown>, _newContext: Record<string, unknown>): {
4
+ conditionIsMet: boolean;
5
+ };
6
+ }
7
+ //# sourceMappingURL=contains-same-condition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contains-same-condition.d.ts","sourceRoot":"","sources":["../../../src/game-factory/condition/contains-same-condition.ts"],"names":[],"mappings":"AAEA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAEvC,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,SAAS;IACjD,cAAc,CAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;CAwBvI"}
@@ -0,0 +1,8 @@
1
+ import Condition from "../condition/condition.js";
2
+ export default class Evaluate extends Condition {
3
+ checkCondition(bgioArguments: unknown, rule: unknown, payload: Record<string, unknown>, context: Record<string, unknown>): {
4
+ result: unknown;
5
+ conditionIsMet: boolean;
6
+ };
7
+ }
8
+ //# sourceMappingURL=evaluate-condition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluate-condition.d.ts","sourceRoot":"","sources":["../../../src/game-factory/condition/evaluate-condition.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,2BAA2B,CAAC;AAIlD,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,SAAS;IAC7C,cAAc,CAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;CAY1H"}
@@ -0,0 +1,12 @@
1
+ import Condition from "./condition.js";
2
+ export default class EveryCondition extends Condition {
3
+ checkCondition(bgioArguments: unknown, rule: unknown, conditionPayload: Record<string, unknown>, context: Record<string, unknown>): {
4
+ conditionIsMet: boolean;
5
+ results: {
6
+ results: unknown[];
7
+ failedAt: unknown;
8
+ conditionsAreMet: boolean;
9
+ }[];
10
+ };
11
+ }
12
+ //# sourceMappingURL=every-condition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"every-condition.d.ts","sourceRoot":"","sources":["../../../src/game-factory/condition/every-condition.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAGvC,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,SAAS;IACnD,cAAc,CAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;CAqBnI"}
@@ -0,0 +1,8 @@
1
+ import Condition from "./condition.js";
2
+ export default class HasLineCondition extends Condition {
3
+ checkCondition(bgioArguments: unknown, rule: unknown, payload: Record<string, unknown>, context: Record<string, unknown>): {
4
+ matches: unknown[];
5
+ conditionIsMet: boolean;
6
+ };
7
+ }
8
+ //# sourceMappingURL=has-line-condition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"has-line-condition.d.ts","sourceRoot":"","sources":["../../../src/game-factory/condition/has-line-condition.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAIvC,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,SAAS;IACrD,cAAc,CAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;CAS1H"}
@@ -0,0 +1,8 @@
1
+ import Condition from "./condition.js";
2
+ export default class InLineCondition extends Condition {
3
+ checkCondition(bgioArguments: unknown, rule: unknown, payload: Record<string, unknown>, context: Record<string, unknown>): {
4
+ matches: unknown[][];
5
+ conditionIsMet: boolean;
6
+ };
7
+ }
8
+ //# sourceMappingURL=in-line-condition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in-line-condition.d.ts","sourceRoot":"","sources":["../../../src/game-factory/condition/in-line-condition.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAKvC,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,SAAS;IACpD,cAAc,CAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;CAkB1H"}
@@ -0,0 +1,8 @@
1
+ import Condition from "./condition.js";
2
+ export default class Is extends Condition {
3
+ checkCondition(bgioArguments: unknown, rule: unknown, { target }: Record<string, unknown>, context: Record<string, unknown>): {
4
+ target: unknown;
5
+ conditionIsMet: boolean;
6
+ };
7
+ }
8
+ //# sourceMappingURL=is-condition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-condition.d.ts","sourceRoot":"","sources":["../../../src/game-factory/condition/is-condition.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAIvC,MAAM,CAAC,OAAO,OAAO,EAAG,SAAQ,SAAS;IACvC,cAAc,CAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;CAkB7H"}
@@ -0,0 +1,7 @@
1
+ import Condition from "./condition.js";
2
+ export default class IsFull extends Condition {
3
+ checkCondition(_bgioArguments: unknown, _rule: unknown, payload: Record<string, unknown>, _context: Record<string, unknown>): {
4
+ conditionIsMet: boolean;
5
+ };
6
+ }
7
+ //# sourceMappingURL=is-full-condition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-full-condition.d.ts","sourceRoot":"","sources":["../../../src/game-factory/condition/is-full-condition.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAEvC,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,SAAS;IAC3C,cAAc,CAAE,cAAc,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;CAM7H"}
@@ -0,0 +1,7 @@
1
+ import Condition from "./condition.js";
2
+ export default class NoPossibleMoves extends Condition {
3
+ checkCondition(bgioArguments: unknown, _unused: unknown, _payload: unknown, context: Record<string, unknown>): {
4
+ conditionIsMet: boolean;
5
+ };
6
+ }
7
+ //# sourceMappingURL=no-possible-moves-condition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-possible-moves-condition.d.ts","sourceRoot":"","sources":["../../../src/game-factory/condition/no-possible-moves-condition.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAKvC,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,SAAS;IACpD,cAAc,CAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;CAQ9G"}
@@ -0,0 +1,7 @@
1
+ import Condition from "./condition.js";
2
+ export default class NotCondition extends Condition {
3
+ checkCondition(bgioArguments: unknown, rule: unknown, payload: Record<string, unknown>, context: Record<string, unknown>): {
4
+ conditionIsMet: boolean;
5
+ };
6
+ }
7
+ //# sourceMappingURL=not-condition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"not-condition.d.ts","sourceRoot":"","sources":["../../../src/game-factory/condition/not-condition.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAGvC,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,SAAS;IACjD,cAAc,CAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;CAS1H"}
@@ -0,0 +1,7 @@
1
+ import Condition from "./condition.js";
2
+ export default class Or extends Condition {
3
+ checkCondition(bgioArguments: unknown, rule: unknown, payload: Record<string, unknown>, context: Record<string, unknown>): {
4
+ conditionIsMet: boolean;
5
+ };
6
+ }
7
+ //# sourceMappingURL=or-condition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"or-condition.d.ts","sourceRoot":"","sources":["../../../src/game-factory/condition/or-condition.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAGvC,MAAM,CAAC,OAAO,OAAO,EAAG,SAAQ,SAAS;IACvC,cAAc,CAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;CAS1H"}
@@ -0,0 +1,7 @@
1
+ import Condition from "./condition.js";
2
+ export default class Position extends Condition {
3
+ checkCondition(bgioArguments: unknown, rule: unknown, conditionPayload: Record<string, unknown>, _newContext: Record<string, unknown>): {
4
+ conditionIsMet: boolean;
5
+ };
6
+ }
7
+ //# sourceMappingURL=position-condition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"position-condition.d.ts","sourceRoot":"","sources":["../../../src/game-factory/condition/position-condition.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAEvC,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,SAAS;IAC7C,cAAc,CAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;CASvI"}
@@ -0,0 +1,8 @@
1
+ import Condition from "./condition.js";
2
+ export default class SomeCondition extends Condition {
3
+ checkCondition(bgioArguments: unknown, rule: unknown, conditionPayload: Record<string, unknown>, context: Record<string, unknown>): {
4
+ conditionIsMet: boolean;
5
+ result: unknown;
6
+ };
7
+ }
8
+ //# sourceMappingURL=some-condition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"some-condition.d.ts","sourceRoot":"","sources":["../../../src/game-factory/condition/some-condition.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAGvC,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,SAAS;IAClD,cAAc,CAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;CAoBnI"}
@@ -0,0 +1,8 @@
1
+ import Condition from "./condition.js";
2
+ export default class WouldCondition extends Condition {
3
+ checkCondition(bgioArguments: unknown, rule: unknown, conditionPayload: Record<string, unknown>, context: Record<string, unknown>): {
4
+ results: unknown;
5
+ conditionIsMet: boolean;
6
+ };
7
+ }
8
+ //# sourceMappingURL=would-condition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"would-condition.d.ts","sourceRoot":"","sources":["../../../src/game-factory/condition/would-condition.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAavC,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,SAAS;IACnD,cAAc,CACZ,aAAa,EAAE,OAAO,EACtB,IAAI,EAAE,OAAO,EACb,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;CAqDnC"}
@@ -0,0 +1,13 @@
1
+ export default class Entity {
2
+ rule: Record<string, unknown>;
3
+ entityId: number;
4
+ state: Record<string, unknown>;
5
+ constructor(options: {
6
+ fromBank?: boolean;
7
+ initialStateGroups?: Record<string, string>;
8
+ } | undefined, rule: Record<string, unknown>, id: number);
9
+ get attributes(): {
10
+ [x: string]: unknown;
11
+ } & this & Record<string, unknown>;
12
+ }
13
+ //# sourceMappingURL=entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/game-factory/entity.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,MAAM;IACzB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAG7B,OAAO,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,SAAS,EACxF,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,EAAE,EAAE,MAAM;IAqBZ,IAAI,UAAU;;uCAMb;CACF"}
@@ -0,0 +1,3 @@
1
+ import type { GameFactoryInput, ExpandedGameRules } from "../types/bagel-types.js";
2
+ export default function expandGameRules(gameRules: GameFactoryInput): ExpandedGameRules;
3
+ //# sourceMappingURL=expand-game-rules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expand-game-rules.d.ts","sourceRoot":"","sources":["../../src/game-factory/expand-game-rules.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA2C,gBAAgB,EAAE,iBAAiB,EAAkB,MAAM,yBAAyB,CAAC;AAyO5I,MAAM,CAAC,OAAO,UAAU,eAAe,CAAE,SAAS,EAAE,gBAAgB,GAAG,iBAAiB,CA4BvF"}
@@ -0,0 +1,10 @@
1
+ import type { GameFactoryInput } from "../types/bagel-types.js";
2
+ import type { BgioResolveState } from "../utils/bgio-resolve-types.js";
3
+ /** boardgame.io-style arguments (minimal typing; engine passes full objects). */
4
+ export type BgioArguments = BgioResolveState;
5
+ /** Object returned from `gameFactory` (boardgame.io game definition). */
6
+ export type BoardGameEngineGame = Record<string, unknown> & {
7
+ name: string;
8
+ };
9
+ export default function gameFactory(gameRules: GameFactoryInput, gameName: string): BoardGameEngineGame;
10
+ //# sourceMappingURL=game-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"game-factory.d.ts","sourceRoot":"","sources":["../../src/game-factory/game-factory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAA8B,MAAM,yBAAyB,CAAC;AAO5F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,iFAAiF;AACjF,MAAM,MAAM,aAAa,GAAG,gBAAgB,CAAC;AAE7C,yEAAyE;AACzE,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7E,MAAM,CAAC,OAAO,UAAU,WAAW,CACjC,SAAS,EAAE,gBAAgB,EAC3B,QAAQ,EAAE,MAAM,GACf,mBAAmB,CAkHrB"}
@@ -1,7 +1,5 @@
1
1
  import Move from "./move.js";
2
-
3
2
  export default class EndTurn extends Move {
4
- do(bgioArguments) {
5
- bgioArguments.events.endTurn()
6
- }
3
+ do(bgioArguments: unknown): void;
7
4
  }
5
+ //# sourceMappingURL=end-turn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"end-turn.d.ts","sourceRoot":"","sources":["../../../src/game-factory/move/end-turn.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,IAAI;IACvC,EAAE,CAAE,aAAa,EAAE,OAAO;CAG3B"}
@@ -0,0 +1,5 @@
1
+ import Move from "./move.js";
2
+ export default class ForEach extends Move {
3
+ do(bgioArguments: unknown, rule: unknown, resolvedPayload: unknown, context: Record<string, unknown>): void;
4
+ }
5
+ //# sourceMappingURL=for-each.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"for-each.d.ts","sourceRoot":"","sources":["../../../src/game-factory/move/for-each.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,IAAI;IACvC,EAAE,CAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CActG"}
@@ -0,0 +1,6 @@
1
+ import MoveEntity from './move-entity.js';
2
+ declare const moveIndex: {
3
+ MoveEntity: typeof MoveEntity;
4
+ };
5
+ export default moveIndex;
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/game-factory/move/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,kBAAkB,CAAA;AAEzC,QAAA,MAAM,SAAS;;CAEd,CAAA;AAED,eAAe,SAAS,CAAA"}
@@ -0,0 +1,7 @@
1
+ import Move from "./move.js";
2
+ export default class MoveEntity extends Move {
3
+ do(bgioArguments: unknown, rule: {
4
+ position?: unknown;
5
+ }, resolvedPayload: unknown): void;
6
+ }
7
+ //# sourceMappingURL=move-entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"move-entity.d.ts","sourceRoot":"","sources":["../../../src/game-factory/move/move-entity.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,IAAI;IAC1C,EAAE,CAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,eAAe,EAAE,OAAO;CAcnF"}
@@ -0,0 +1,18 @@
1
+ import MoveEntity from "./move-entity.js";
2
+ import RemoveEntity from "./remove-entity.js";
3
+ import PlaceNew from "./place-new.js";
4
+ import TakeFrom from "./take-from.js";
5
+ import SetState from "./set-state.js";
6
+ import SetActivePlayers from "./set-active-players.js";
7
+ import EndTurn from "./end-turn.js";
8
+ import PassTurn from "./pass-turn.js";
9
+ import ForEach from "./for-each.js";
10
+ import Pass from "./pass.js";
11
+ import Shuffle from "./shuffle.js";
12
+ import type { MoveDefinition } from "../../types/bagel-types.js";
13
+ export default function moveFactory(moveRule: MoveDefinition, game: unknown): {
14
+ (bgioArguments: unknown, serializablePayload: unknown): any;
15
+ moveInstance: MoveEntity | RemoveEntity | PlaceNew | TakeFrom | SetState | ForEach | Pass | Shuffle | SetActivePlayers | EndTurn | PassTurn;
16
+ };
17
+ export declare function getMoveInstance(moveRule: MoveDefinition): MoveEntity | RemoveEntity | PlaceNew | TakeFrom | SetState | ForEach | Pass | Shuffle | SetActivePlayers | EndTurn | PassTurn;
18
+ //# sourceMappingURL=move-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"move-factory.d.ts","sourceRoot":"","sources":["../../../src/game-factory/move/move-factory.ts"],"names":[],"mappings":"AAIA,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAC1C,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAC9C,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,gBAAgB,MAAM,yBAAyB,CAAC;AACvD,OAAO,OAAO,MAAM,eAAe,CAAC;AACpC,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,OAAO,MAAM,eAAe,CAAC;AACpC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAUjE,MAAM,CAAC,OAAO,UAAU,WAAW,CAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO;oBAQzD,OAAO,uBACD,OAAO;;EA2B/B;AAoBD,wBAAgB,eAAe,CAAE,QAAQ,EAAE,cAAc,iIAyBxD"}
@@ -0,0 +1,54 @@
1
+ import { INVALID_MOVE } from "@mnbroatch/boardgame.io/dist/cjs/core.js";
2
+ import type { MoveDefinition } from "../../types/bagel-types.js";
3
+ export default class Move {
4
+ rule: MoveDefinition;
5
+ constructor(rule: MoveDefinition);
6
+ checkValidity(bgioArguments: unknown, payload: {
7
+ arguments: Record<string, unknown>;
8
+ }, context: Record<string, unknown>): false | {
9
+ argumentResults: Record<string, {
10
+ results: unknown[];
11
+ conditionsAreMet: boolean;
12
+ }>;
13
+ moveResults: {
14
+ results: unknown[];
15
+ failedAt: unknown;
16
+ conditionsAreMet: boolean;
17
+ };
18
+ conditionsAreMet: boolean;
19
+ };
20
+ isValid(bgioArguments: unknown, payload: {
21
+ arguments: Record<string, unknown>;
22
+ }, context: Record<string, unknown>): boolean;
23
+ doMove(bgioArguments: unknown, payload: {
24
+ arguments?: Record<string, unknown>;
25
+ } | undefined, context: Record<string, unknown>, { skipCheck }?: {
26
+ skipCheck?: boolean | undefined;
27
+ }): typeof INVALID_MOVE | {
28
+ conditionResults: boolean | {
29
+ argumentResults: Record<string, {
30
+ results: unknown[];
31
+ conditionsAreMet: boolean;
32
+ }>;
33
+ moveResults: {
34
+ results: unknown[];
35
+ failedAt: unknown;
36
+ conditionsAreMet: boolean;
37
+ };
38
+ conditionsAreMet: boolean;
39
+ } | undefined;
40
+ };
41
+ do(_bgioArguments: unknown, _rule: unknown, _resolvedPayload: unknown, _context: unknown): void;
42
+ transformRule(rule: {
43
+ arguments?: Record<string, {
44
+ playerChoice?: boolean;
45
+ resolveAsEntity?: boolean;
46
+ }>;
47
+ }): {
48
+ arguments?: Record<string, {
49
+ playerChoice?: boolean;
50
+ resolveAsEntity?: boolean;
51
+ }>;
52
+ };
53
+ }
54
+ //# sourceMappingURL=move.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"move.d.ts","sourceRoot":"","sources":["../../../src/game-factory/move/move.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AACxE,OAAO,KAAK,EAAa,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAK5E,MAAM,CAAC,OAAO,OAAO,IAAI;IACvB,IAAI,EAAE,cAAc,CAAC;gBAER,IAAI,EAAE,cAAc;IAIjC,aAAa,CAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;qBAgBrE,OAAO,EAAE;8BAAoB,OAAO;;;;;;;;;IAkDvF,OAAO,CAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAUlH,MAAM,CACJ,aAAa,EAAE,OAAO,EACtB,OAAO,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,SAAS,EAC5D,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,EAAE,SAAiB,EAAE;;KAAK;;;yBAhEuB,OAAO,EAAE;kCAAoB,OAAO;;;;;;;;;;IAqGvF,EAAE,CAAE,cAAc,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO;IAIzF,aAAa,CAAE,IAAI,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,YAAY,CAAC,EAAE,OAAO,CAAC;YAAC,eAAe,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC,CAAA;KAAE;oBAAvE,MAAM,CAAC,MAAM,EAAE;YAAE,YAAY,CAAC,EAAE,OAAO,CAAC;YAAC,eAAe,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;;CAYzG"}
@@ -0,0 +1,5 @@
1
+ import Move from "./move.js";
2
+ export default class PassTurn extends Move {
3
+ do(bgioArguments: unknown): void;
4
+ }
5
+ //# sourceMappingURL=pass-turn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pass-turn.d.ts","sourceRoot":"","sources":["../../../src/game-factory/move/pass-turn.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,IAAI;IACxC,EAAE,CAAE,aAAa,EAAE,OAAO;CAW3B"}
@@ -1,7 +1,5 @@
1
1
  import Move from "./move.js";
2
-
3
2
  export default class Pass extends Move {
4
- do(bgioArguments) {
5
- bgioArguments.events.endTurn()
6
- }
3
+ do(bgioArguments: unknown): void;
7
4
  }
5
+ //# sourceMappingURL=pass.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pass.d.ts","sourceRoot":"","sources":["../../../src/game-factory/move/pass.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,IAAI;IACpC,EAAE,CAAE,aAAa,EAAE,OAAO;CAG3B"}
@@ -0,0 +1,5 @@
1
+ import Move from "./move.js";
2
+ export default class PlaceNew extends Move {
3
+ do(bgioArguments: unknown, rule: unknown, resolvedPayload: unknown, context: Record<string, unknown>): void;
4
+ }
5
+ //# sourceMappingURL=place-new.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"place-new.d.ts","sourceRoot":"","sources":["../../../src/game-factory/move/place-new.ts"],"names":[],"mappings":"AAGA,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,IAAI;IACxC,EAAE,CAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAiCtG"}
@@ -0,0 +1,5 @@
1
+ import Move from "./move.js";
2
+ export default class RemoveEntity extends Move {
3
+ do(bgioArguments: unknown, _rule: unknown, resolvedPayload: unknown): void;
4
+ }
5
+ //# sourceMappingURL=remove-entity.d.ts.map