board-game-engine 2.0.1 → 2.1.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 (251) hide show
  1. package/dist/board-game-engine.cjs +5509 -5613
  2. package/dist/board-game-engine.js +5509 -5613
  3. package/dist/board-game-engine.min.js +22 -22
  4. package/dist/board-game-engine.mjs +5508 -5611
  5. package/package.json +4 -10
  6. package/playwright-report/index.html +1 -1
  7. package/scripts/build.mjs +2 -2
  8. package/src/client/client.js +224 -0
  9. package/src/game-factory/bank/bank-slot.js +69 -0
  10. package/src/game-factory/bank/bank.js +114 -0
  11. package/src/game-factory/{board.ts → board.js} +1 -1
  12. package/src/game-factory/condition/condition-factory.js +52 -0
  13. package/src/game-factory/condition/condition.js +39 -0
  14. package/src/game-factory/condition/{contains-condition.ts → contains-condition.js} +4 -5
  15. package/src/game-factory/condition/{contains-same-condition.ts → contains-same-condition.js} +5 -8
  16. package/src/game-factory/condition/{evaluate-condition.ts → evaluate-condition.js} +3 -4
  17. package/src/game-factory/condition/every-condition.js +25 -0
  18. package/src/game-factory/condition/has-line-condition.js +14 -0
  19. package/src/game-factory/condition/in-line-condition.js +19 -0
  20. package/src/game-factory/condition/is-condition.js +23 -0
  21. package/src/game-factory/condition/is-full-condition.js +9 -0
  22. package/src/game-factory/condition/{no-possible-moves-condition.ts → no-possible-moves-condition.js} +2 -3
  23. package/src/game-factory/condition/{not-condition.ts → not-condition.js} +2 -3
  24. package/src/game-factory/condition/{or-condition.ts → or-condition.js} +2 -3
  25. package/src/game-factory/condition/position-condition.js +12 -0
  26. package/src/game-factory/condition/{some-condition.ts → some-condition.js} +3 -5
  27. package/src/game-factory/condition/would-condition.js +94 -0
  28. package/src/game-factory/entity.js +29 -0
  29. package/src/game-factory/expand-game-rules.js +271 -0
  30. package/src/game-factory/game-factory.js +240 -0
  31. package/{dist/game-factory/move/end-turn.d.ts → src/game-factory/move/end-turn.js} +4 -2
  32. package/src/game-factory/move/for-each.js +18 -0
  33. package/src/game-factory/move/move-entity.js +16 -0
  34. package/src/game-factory/move/move-factory.js +89 -0
  35. package/src/game-factory/move/move.js +131 -0
  36. package/src/game-factory/move/pass-turn.js +10 -0
  37. package/{dist/game-factory/move/pass.d.ts → src/game-factory/move/pass.js} +4 -2
  38. package/src/game-factory/move/place-new.js +33 -0
  39. package/src/game-factory/move/remove-entity.js +7 -0
  40. package/src/game-factory/move/set-active-players.js +23 -0
  41. package/src/game-factory/move/set-state.js +11 -0
  42. package/src/game-factory/move/shuffle.js +7 -0
  43. package/src/game-factory/move/take-from.js +7 -0
  44. package/src/game-factory/space/space.js +30 -0
  45. package/src/game-factory/space-group/grid.js +43 -0
  46. package/src/game-factory/space-group/space-group.js +29 -0
  47. package/src/index.js +2 -0
  48. package/src/utils/{any-valid-moves.ts → any-valid-moves.js} +49 -54
  49. package/src/utils/check-conditions.js +28 -0
  50. package/src/utils/create-payload.js +16 -0
  51. package/src/utils/deserialize-bgio-arguments.js +8 -0
  52. package/src/utils/do-moves.js +18 -0
  53. package/src/utils/entity-matches.js +20 -0
  54. package/src/utils/find-met-condition.js +22 -0
  55. package/src/utils/get-current-moves.js +12 -0
  56. package/src/utils/get-scenario-results.js +23 -0
  57. package/src/utils/get-steps.js +29 -0
  58. package/src/utils/get.js +25 -0
  59. package/src/utils/{grid-contains-sequence.ts → grid-contains-sequence.js} +33 -71
  60. package/src/utils/json-transformer.js +12 -0
  61. package/src/utils/prepare-payload.js +17 -0
  62. package/src/utils/resolve-entity.js +9 -0
  63. package/src/utils/resolve-expression.js +10 -0
  64. package/src/utils/resolve-properties.js +149 -0
  65. package/src/utils/simulate-move.js +25 -0
  66. package/.github/workflows/ci.yml +0 -33
  67. package/dist/client/client.d.ts +0 -76
  68. package/dist/client/client.d.ts.map +0 -1
  69. package/dist/game-factory/bank/bank-slot.d.ts +0 -30
  70. package/dist/game-factory/bank/bank-slot.d.ts.map +0 -1
  71. package/dist/game-factory/bank/bank.d.ts +0 -34
  72. package/dist/game-factory/bank/bank.d.ts.map +0 -1
  73. package/dist/game-factory/board.d.ts +0 -4
  74. package/dist/game-factory/board.d.ts.map +0 -1
  75. package/dist/game-factory/condition/condition-factory.d.ts +0 -4
  76. package/dist/game-factory/condition/condition-factory.d.ts.map +0 -1
  77. package/dist/game-factory/condition/condition.d.ts +0 -13
  78. package/dist/game-factory/condition/condition.d.ts.map +0 -1
  79. package/dist/game-factory/condition/contains-condition.d.ts +0 -8
  80. package/dist/game-factory/condition/contains-condition.d.ts.map +0 -1
  81. package/dist/game-factory/condition/contains-same-condition.d.ts +0 -7
  82. package/dist/game-factory/condition/contains-same-condition.d.ts.map +0 -1
  83. package/dist/game-factory/condition/evaluate-condition.d.ts +0 -8
  84. package/dist/game-factory/condition/evaluate-condition.d.ts.map +0 -1
  85. package/dist/game-factory/condition/every-condition.d.ts +0 -12
  86. package/dist/game-factory/condition/every-condition.d.ts.map +0 -1
  87. package/dist/game-factory/condition/has-line-condition.d.ts +0 -8
  88. package/dist/game-factory/condition/has-line-condition.d.ts.map +0 -1
  89. package/dist/game-factory/condition/in-line-condition.d.ts +0 -8
  90. package/dist/game-factory/condition/in-line-condition.d.ts.map +0 -1
  91. package/dist/game-factory/condition/is-condition.d.ts +0 -8
  92. package/dist/game-factory/condition/is-condition.d.ts.map +0 -1
  93. package/dist/game-factory/condition/is-full-condition.d.ts +0 -7
  94. package/dist/game-factory/condition/is-full-condition.d.ts.map +0 -1
  95. package/dist/game-factory/condition/no-possible-moves-condition.d.ts +0 -7
  96. package/dist/game-factory/condition/no-possible-moves-condition.d.ts.map +0 -1
  97. package/dist/game-factory/condition/not-condition.d.ts +0 -7
  98. package/dist/game-factory/condition/not-condition.d.ts.map +0 -1
  99. package/dist/game-factory/condition/or-condition.d.ts +0 -7
  100. package/dist/game-factory/condition/or-condition.d.ts.map +0 -1
  101. package/dist/game-factory/condition/position-condition.d.ts +0 -7
  102. package/dist/game-factory/condition/position-condition.d.ts.map +0 -1
  103. package/dist/game-factory/condition/some-condition.d.ts +0 -8
  104. package/dist/game-factory/condition/some-condition.d.ts.map +0 -1
  105. package/dist/game-factory/condition/would-condition.d.ts +0 -8
  106. package/dist/game-factory/condition/would-condition.d.ts.map +0 -1
  107. package/dist/game-factory/entity.d.ts +0 -13
  108. package/dist/game-factory/entity.d.ts.map +0 -1
  109. package/dist/game-factory/expand-game-rules.d.ts +0 -3
  110. package/dist/game-factory/expand-game-rules.d.ts.map +0 -1
  111. package/dist/game-factory/game-factory.d.ts +0 -10
  112. package/dist/game-factory/game-factory.d.ts.map +0 -1
  113. package/dist/game-factory/move/end-turn.d.ts.map +0 -1
  114. package/dist/game-factory/move/for-each.d.ts +0 -5
  115. package/dist/game-factory/move/for-each.d.ts.map +0 -1
  116. package/dist/game-factory/move/index.d.ts +0 -6
  117. package/dist/game-factory/move/index.d.ts.map +0 -1
  118. package/dist/game-factory/move/move-entity.d.ts +0 -7
  119. package/dist/game-factory/move/move-entity.d.ts.map +0 -1
  120. package/dist/game-factory/move/move-factory.d.ts +0 -18
  121. package/dist/game-factory/move/move-factory.d.ts.map +0 -1
  122. package/dist/game-factory/move/move.d.ts +0 -54
  123. package/dist/game-factory/move/move.d.ts.map +0 -1
  124. package/dist/game-factory/move/pass-turn.d.ts +0 -5
  125. package/dist/game-factory/move/pass-turn.d.ts.map +0 -1
  126. package/dist/game-factory/move/pass.d.ts.map +0 -1
  127. package/dist/game-factory/move/place-new.d.ts +0 -5
  128. package/dist/game-factory/move/place-new.d.ts.map +0 -1
  129. package/dist/game-factory/move/remove-entity.d.ts +0 -5
  130. package/dist/game-factory/move/remove-entity.d.ts.map +0 -1
  131. package/dist/game-factory/move/set-active-players.d.ts +0 -5
  132. package/dist/game-factory/move/set-active-players.d.ts.map +0 -1
  133. package/dist/game-factory/move/set-state.d.ts +0 -5
  134. package/dist/game-factory/move/set-state.d.ts.map +0 -1
  135. package/dist/game-factory/move/shuffle.d.ts +0 -5
  136. package/dist/game-factory/move/shuffle.d.ts.map +0 -1
  137. package/dist/game-factory/move/take-from.d.ts +0 -11
  138. package/dist/game-factory/move/take-from.d.ts.map +0 -1
  139. package/dist/game-factory/space/space.d.ts +0 -10
  140. package/dist/game-factory/space/space.d.ts.map +0 -1
  141. package/dist/game-factory/space-group/grid.d.ts +0 -15
  142. package/dist/game-factory/space-group/grid.d.ts.map +0 -1
  143. package/dist/game-factory/space-group/space-group.d.ts +0 -20
  144. package/dist/game-factory/space-group/space-group.d.ts.map +0 -1
  145. package/dist/index.d.ts +0 -6
  146. package/dist/index.d.ts.map +0 -1
  147. package/dist/registry.d.ts +0 -17
  148. package/dist/registry.d.ts.map +0 -1
  149. package/dist/types/bagel-types.d.ts +0 -339
  150. package/dist/types/bagel-types.d.ts.map +0 -1
  151. package/dist/types/index.d.ts +0 -3
  152. package/dist/types/index.d.ts.map +0 -1
  153. package/dist/types/rule-with-conditions.d.ts +0 -9
  154. package/dist/types/rule-with-conditions.d.ts.map +0 -1
  155. package/dist/utils/any-valid-moves.d.ts +0 -2
  156. package/dist/utils/any-valid-moves.d.ts.map +0 -1
  157. package/dist/utils/bgio-resolve-types.d.ts +0 -25
  158. package/dist/utils/bgio-resolve-types.d.ts.map +0 -1
  159. package/dist/utils/check-conditions.d.ts +0 -7
  160. package/dist/utils/check-conditions.d.ts.map +0 -1
  161. package/dist/utils/create-payload.d.ts +0 -5
  162. package/dist/utils/create-payload.d.ts.map +0 -1
  163. package/dist/utils/deserialize-bgio-arguments.d.ts +0 -3
  164. package/dist/utils/deserialize-bgio-arguments.d.ts.map +0 -1
  165. package/dist/utils/do-moves.d.ts +0 -8
  166. package/dist/utils/do-moves.d.ts.map +0 -1
  167. package/dist/utils/entity-matches.d.ts +0 -6
  168. package/dist/utils/entity-matches.d.ts.map +0 -1
  169. package/dist/utils/find-met-condition.d.ts +0 -6
  170. package/dist/utils/find-met-condition.d.ts.map +0 -1
  171. package/dist/utils/get-current-moves.d.ts +0 -24
  172. package/dist/utils/get-current-moves.d.ts.map +0 -1
  173. package/dist/utils/get-scenario-results.d.ts +0 -3
  174. package/dist/utils/get-scenario-results.d.ts.map +0 -1
  175. package/dist/utils/get-steps.d.ts +0 -13
  176. package/dist/utils/get-steps.d.ts.map +0 -1
  177. package/dist/utils/get.d.ts +0 -7
  178. package/dist/utils/get.d.ts.map +0 -1
  179. package/dist/utils/grid-contains-sequence.d.ts +0 -27
  180. package/dist/utils/grid-contains-sequence.d.ts.map +0 -1
  181. package/dist/utils/json-transformer.d.ts +0 -8
  182. package/dist/utils/json-transformer.d.ts.map +0 -1
  183. package/dist/utils/prepare-payload.d.ts +0 -2
  184. package/dist/utils/prepare-payload.d.ts.map +0 -1
  185. package/dist/utils/resolve-entity.d.ts +0 -3
  186. package/dist/utils/resolve-entity.d.ts.map +0 -1
  187. package/dist/utils/resolve-expression.d.ts +0 -6
  188. package/dist/utils/resolve-expression.d.ts.map +0 -1
  189. package/dist/utils/resolve-properties.d.ts +0 -4
  190. package/dist/utils/resolve-properties.d.ts.map +0 -1
  191. package/dist/utils/simulate-move.d.ts +0 -16
  192. package/dist/utils/simulate-move.d.ts.map +0 -1
  193. package/src/client/client.ts +0 -306
  194. package/src/game-factory/bank/bank-slot.ts +0 -81
  195. package/src/game-factory/bank/bank.ts +0 -125
  196. package/src/game-factory/condition/condition-factory.ts +0 -59
  197. package/src/game-factory/condition/condition.ts +0 -50
  198. package/src/game-factory/condition/every-condition.ts +0 -27
  199. package/src/game-factory/condition/has-line-condition.ts +0 -15
  200. package/src/game-factory/condition/in-line-condition.ts +0 -25
  201. package/src/game-factory/condition/is-condition.ts +0 -24
  202. package/src/game-factory/condition/is-full-condition.ts +0 -10
  203. package/src/game-factory/condition/position-condition.ts +0 -13
  204. package/src/game-factory/condition/would-condition.ts +0 -104
  205. package/src/game-factory/entity.ts +0 -37
  206. package/src/game-factory/expand-game-rules.ts +0 -263
  207. package/src/game-factory/game-factory.ts +0 -263
  208. package/src/game-factory/move/end-turn.ts +0 -7
  209. package/src/game-factory/move/for-each.ts +0 -20
  210. package/src/game-factory/move/move-entity.ts +0 -18
  211. package/src/game-factory/move/move-factory.ts +0 -107
  212. package/src/game-factory/move/move.ts +0 -147
  213. package/src/game-factory/move/pass-turn.ts +0 -15
  214. package/src/game-factory/move/pass.ts +0 -7
  215. package/src/game-factory/move/place-new.ts +0 -42
  216. package/src/game-factory/move/remove-entity.ts +0 -11
  217. package/src/game-factory/move/set-active-players.ts +0 -26
  218. package/src/game-factory/move/set-state.ts +0 -14
  219. package/src/game-factory/move/shuffle.ts +0 -9
  220. package/src/game-factory/move/take-from.ts +0 -12
  221. package/src/game-factory/space/space.ts +0 -36
  222. package/src/game-factory/space-group/grid.ts +0 -48
  223. package/src/game-factory/space-group/space-group.ts +0 -44
  224. package/src/index.ts +0 -5
  225. package/src/types/bagel-types.ts +0 -449
  226. package/src/types/boardgame-io-core.d.ts +0 -7
  227. package/src/types/index.ts +0 -70
  228. package/src/types/rule-with-conditions.ts +0 -9
  229. package/src/utils/bgio-resolve-types.ts +0 -27
  230. package/src/utils/check-conditions.ts +0 -28
  231. package/src/utils/create-payload.ts +0 -19
  232. package/src/utils/deserialize-bgio-arguments.ts +0 -10
  233. package/src/utils/do-moves.ts +0 -22
  234. package/src/utils/entity-matches.ts +0 -30
  235. package/src/utils/expr-eval.d.ts +0 -6
  236. package/src/utils/find-met-condition.ts +0 -23
  237. package/src/utils/get-current-moves.ts +0 -39
  238. package/src/utils/get-scenario-results.ts +0 -30
  239. package/src/utils/get-steps.ts +0 -38
  240. package/src/utils/get.ts +0 -28
  241. package/src/utils/json-transformer.ts +0 -17
  242. package/src/utils/prepare-payload.ts +0 -20
  243. package/src/utils/resolve-entity.ts +0 -15
  244. package/src/utils/resolve-expression.ts +0 -16
  245. package/src/utils/resolve-properties.ts +0 -172
  246. package/src/utils/simulate-move.ts +0 -32
  247. package/src/wackson.d.ts +0 -4
  248. package/tsconfig.build.json +0 -14
  249. package/tsconfig.json +0 -21
  250. /package/src/game-factory/move/{index.ts → index.js} +0 -0
  251. /package/src/{registry.ts → registry.js} +0 -0
@@ -1,13 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,3 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,10 +0,0 @@
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
@@ -1 +0,0 @@
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 +0,0 @@
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"}
@@ -1,5 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,6 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,7 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,18 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,54 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,5 +0,0 @@
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
@@ -1 +0,0 @@
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 +0,0 @@
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"}
@@ -1,5 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,5 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"remove-entity.d.ts","sourceRoot":"","sources":["../../../src/game-factory/move/remove-entity.ts"],"names":[],"mappings":"AAEA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,IAAI;IAC5C,EAAE,CAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO;CAKrE"}
@@ -1,5 +0,0 @@
1
- import Move from "./move.js";
2
- export default class SetActivePlayers extends Move {
3
- do(bgioArguments: unknown, rule: Record<string, unknown>, _unused: unknown, context: Record<string, unknown>): void;
4
- }
5
- //# sourceMappingURL=set-active-players.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"set-active-players.d.ts","sourceRoot":"","sources":["../../../src/game-factory/move/set-active-players.ts"],"names":[],"mappings":"AAEA,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,IAAI;IAChD,EAAE,CAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAmB9G"}
@@ -1,5 +0,0 @@
1
- import Move from "./move.js";
2
- export default class SetState extends Move {
3
- do(_unused: unknown, _rule: unknown, resolvedPayload: unknown): void;
4
- }
5
- //# sourceMappingURL=set-state.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"set-state.d.ts","sourceRoot":"","sources":["../../../src/game-factory/move/set-state.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,IAAI;IACxC,EAAE,CAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO;CAS/D"}
@@ -1,5 +0,0 @@
1
- import Move from "./move.js";
2
- export default class Shuffle extends Move {
3
- do(bgioArguments: unknown, _rule: unknown, resolvedPayload: unknown): void;
4
- }
5
- //# sourceMappingURL=shuffle.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shuffle.d.ts","sourceRoot":"","sources":["../../../src/game-factory/move/shuffle.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,IAAI;IACvC,EAAE,CAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO;CAKrE"}
@@ -1,11 +0,0 @@
1
- import Move from "./move.js";
2
- export default class TakeFrom extends Move {
3
- do(_bgioArguments: unknown, rule: {
4
- arguments: {
5
- source: {
6
- position?: unknown;
7
- };
8
- };
9
- }, resolvedPayload: unknown): void;
10
- }
11
- //# sourceMappingURL=take-from.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"take-from.d.ts","sourceRoot":"","sources":["../../../src/game-factory/move/take-from.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,IAAI;IACxC,EAAE,CAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE;QAAE,SAAS,EAAE;YAAE,MAAM,EAAE;gBAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;aAAE,CAAA;SAAE,CAAA;KAAE,EAAE,eAAe,EAAE,OAAO;CAQ/G"}
@@ -1,10 +0,0 @@
1
- import Entity from "../entity.js";
2
- export default class Space extends Entity {
3
- entities: unknown[];
4
- constructor(options: ConstructorParameters<typeof Entity>[0], rule: Record<string, unknown>, id: number);
5
- placeEntity(entity: unknown, position?: "Last" | "First"): void;
6
- remove(entity: unknown): void;
7
- takeOne(position?: "First"): unknown;
8
- isEmpty(): boolean;
9
- }
10
- //# sourceMappingURL=space.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"space.d.ts","sourceRoot":"","sources":["../../../src/game-factory/space/space.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,cAAc,CAAC;AAElC,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,MAAM;IACvC,QAAQ,EAAE,OAAO,EAAE,CAAC;gBAGlB,OAAO,EAAE,qBAAqB,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,EAChD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,EAAE,EAAE,MAAM;IAMZ,WAAW,CAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAE,MAAM,GAAG,OAAgB;IAQjE,MAAM,CAAE,MAAM,EAAE,OAAO;IAIvB,OAAO,CAAE,QAAQ,GAAE,OAAiB;IAMpC,OAAO;CAGR"}
@@ -1,15 +0,0 @@
1
- import SpaceGroup from "./space-group.js";
2
- export default class Grid extends SpaceGroup {
3
- rule: Record<string, unknown> & {
4
- width: number;
5
- height: number;
6
- };
7
- getSpacesCount(): number;
8
- getRows(): unknown[][];
9
- getCoordinates(index: number): number[];
10
- getIndex([x, y]: [number, number]): number;
11
- getSpace(arg: number | [number, number]): unknown;
12
- getRelativeCoordinates([oldX, oldY]: [number, number], [relativeX, relativeY]: [number, number]): [number, number] | null;
13
- areCoordinatesValid([x, y]: [number, number]): boolean;
14
- }
15
- //# sourceMappingURL=grid.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../../src/game-factory/space-group/grid.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAE1C,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,UAAU;IAClC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAE1E,cAAc;IAId,OAAO;IAIP,cAAc,CAAE,KAAK,EAAE,MAAM;IAQ7B,QAAQ,CAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;IAKzB,QAAQ,CAAE,GAAG,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAOjD,sBAAsB,CAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;IAOhG,mBAAmB,CAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;CAM9C"}
@@ -1,20 +0,0 @@
1
- import Entity from "../entity.js";
2
- type BankLike = {
3
- createEntity: (def: Record<string, unknown>) => unknown;
4
- };
5
- export default class SpaceGroup extends Entity {
6
- spaces: unknown[];
7
- constructor(options: ConstructorParameters<typeof Entity>[0] & {
8
- bank: BankLike;
9
- }, rule: Record<string, unknown>, id: number);
10
- makeSpaces(bank: BankLike): unknown[];
11
- getEmptySpaces(): {
12
- isEmpty: () => boolean;
13
- }[];
14
- getSpace(arg: number | [number, number]): unknown;
15
- getEntities(index: number): unknown[];
16
- placeEntity(index: number, entity: unknown): void;
17
- getSpacesCount(): number;
18
- }
19
- export {};
20
- //# sourceMappingURL=space-group.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"space-group.d.ts","sourceRoot":"","sources":["../../../src/game-factory/space-group/space-group.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,cAAc,CAAC;AAElC,KAAK,QAAQ,GAAG;IAAE,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAA;CAAE,CAAC;AAE5E,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,MAAM;IAC5C,MAAM,EAAE,OAAO,EAAE,CAAC;gBAGhB,OAAO,EAAE,qBAAqB,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,QAAQ,CAAA;KAAE,EACrE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,EAAE,EAAE,MAAM;IAMZ,UAAU,CAAE,IAAI,EAAE,QAAQ;IAK1B,cAAc;iBACsB,MAAM,OAAO;;IAGjD,QAAQ,CAAE,GAAG,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAOxC,WAAW,CAAE,KAAK,EAAE,MAAM;IAI1B,WAAW,CAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;IAI3C,cAAc,IAAK,MAAM;CAG1B"}
package/dist/index.d.ts DELETED
@@ -1,6 +0,0 @@
1
- export { default as gameFactory } from "./game-factory/game-factory.js";
2
- export { Client } from "./client/client.js";
3
- export type { ClientOptions } from "./client/client.js";
4
- export type { BoardGameEngineGame, BgioArguments } from "./game-factory/game-factory.js";
5
- export type * from "./types/index.js";
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACzF,mBAAmB,kBAAkB,CAAC"}
@@ -1,17 +0,0 @@
1
- import Board from "./game-factory/board.js";
2
- import SpaceGroup from "./game-factory/space-group/space-group.js";
3
- import Space from "./game-factory/space/space.js";
4
- import Grid from "./game-factory/space-group/grid.js";
5
- import Bank from "./game-factory/bank/bank.js";
6
- import BankSlot from "./game-factory/bank/bank-slot.js";
7
- import Entity from "./game-factory/entity.js";
8
- export declare const registry: {
9
- Board: typeof Board;
10
- SpaceGroup: typeof SpaceGroup;
11
- Space: typeof Space;
12
- Grid: typeof Grid;
13
- Bank: typeof Bank;
14
- BankSlot: typeof BankSlot;
15
- Entity: typeof Entity;
16
- };
17
- //# sourceMappingURL=registry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,yBAAyB,CAAC;AAC5C,OAAO,UAAU,MAAM,2CAA2C,CAAC;AACnE,OAAO,KAAK,MAAM,+BAA+B,CAAC;AAClD,OAAO,IAAI,MAAM,oCAAoC,CAAC;AACtD,OAAO,IAAI,MAAM,6BAA6B,CAAC;AAC/C,OAAO,QAAQ,MAAM,kCAAkC,CAAC;AACxD,OAAO,MAAM,MAAM,0BAA0B,CAAC;AAE9C,eAAO,MAAM,QAAQ;;;;;;;;CAQpB,CAAC"}