board-game-engine 2.0.0 → 2.1.0
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.
- package/.github/workflows/ci.yml +33 -0
- package/README.md +2 -2
- package/dist/board-game-engine.cjs +463 -349
- package/dist/board-game-engine.js +463 -349
- package/dist/board-game-engine.min.js +22 -22
- package/dist/board-game-engine.mjs +461 -348
- package/dist/client/client.d.ts +76 -0
- package/dist/client/client.d.ts.map +1 -0
- package/dist/game-factory/bank/bank-slot.d.ts +30 -0
- package/dist/game-factory/bank/bank-slot.d.ts.map +1 -0
- package/dist/game-factory/bank/bank.d.ts +34 -0
- package/dist/game-factory/bank/bank.d.ts.map +1 -0
- package/dist/game-factory/board.d.ts +4 -0
- package/dist/game-factory/board.d.ts.map +1 -0
- package/dist/game-factory/condition/condition-factory.d.ts +4 -0
- package/dist/game-factory/condition/condition-factory.d.ts.map +1 -0
- package/dist/game-factory/condition/condition.d.ts +13 -0
- package/dist/game-factory/condition/condition.d.ts.map +1 -0
- package/dist/game-factory/condition/contains-condition.d.ts +8 -0
- package/dist/game-factory/condition/contains-condition.d.ts.map +1 -0
- package/dist/game-factory/condition/contains-same-condition.d.ts +7 -0
- package/dist/game-factory/condition/contains-same-condition.d.ts.map +1 -0
- package/dist/game-factory/condition/evaluate-condition.d.ts +8 -0
- package/dist/game-factory/condition/evaluate-condition.d.ts.map +1 -0
- package/dist/game-factory/condition/every-condition.d.ts +12 -0
- package/dist/game-factory/condition/every-condition.d.ts.map +1 -0
- package/dist/game-factory/condition/has-line-condition.d.ts +8 -0
- package/dist/game-factory/condition/has-line-condition.d.ts.map +1 -0
- package/dist/game-factory/condition/in-line-condition.d.ts +8 -0
- package/dist/game-factory/condition/in-line-condition.d.ts.map +1 -0
- package/dist/game-factory/condition/is-condition.d.ts +8 -0
- package/dist/game-factory/condition/is-condition.d.ts.map +1 -0
- package/dist/game-factory/condition/is-full-condition.d.ts +7 -0
- package/dist/game-factory/condition/is-full-condition.d.ts.map +1 -0
- package/dist/game-factory/condition/no-possible-moves-condition.d.ts +7 -0
- package/dist/game-factory/condition/no-possible-moves-condition.d.ts.map +1 -0
- package/dist/game-factory/condition/not-condition.d.ts +7 -0
- package/dist/game-factory/condition/not-condition.d.ts.map +1 -0
- package/dist/game-factory/condition/or-condition.d.ts +7 -0
- package/dist/game-factory/condition/or-condition.d.ts.map +1 -0
- package/dist/game-factory/condition/position-condition.d.ts +7 -0
- package/dist/game-factory/condition/position-condition.d.ts.map +1 -0
- package/dist/game-factory/condition/some-condition.d.ts +8 -0
- package/dist/game-factory/condition/some-condition.d.ts.map +1 -0
- package/dist/game-factory/condition/would-condition.d.ts +8 -0
- package/dist/game-factory/condition/would-condition.d.ts.map +1 -0
- package/dist/game-factory/entity.d.ts +13 -0
- package/dist/game-factory/entity.d.ts.map +1 -0
- package/dist/game-factory/expand-game-rules.d.ts +3 -0
- package/dist/game-factory/expand-game-rules.d.ts.map +1 -0
- package/dist/game-factory/game-factory.d.ts +10 -0
- package/dist/game-factory/game-factory.d.ts.map +1 -0
- package/{src/game-factory/move/end-turn.js → dist/game-factory/move/end-turn.d.ts} +2 -4
- package/dist/game-factory/move/end-turn.d.ts.map +1 -0
- package/dist/game-factory/move/for-each.d.ts +5 -0
- package/dist/game-factory/move/for-each.d.ts.map +1 -0
- package/dist/game-factory/move/index.d.ts +6 -0
- package/dist/game-factory/move/index.d.ts.map +1 -0
- package/dist/game-factory/move/move-entity.d.ts +7 -0
- package/dist/game-factory/move/move-entity.d.ts.map +1 -0
- package/dist/game-factory/move/move-factory.d.ts +18 -0
- package/dist/game-factory/move/move-factory.d.ts.map +1 -0
- package/dist/game-factory/move/move.d.ts +54 -0
- package/dist/game-factory/move/move.d.ts.map +1 -0
- package/dist/game-factory/move/pass-turn.d.ts +5 -0
- package/dist/game-factory/move/pass-turn.d.ts.map +1 -0
- package/{src/game-factory/move/pass.js → dist/game-factory/move/pass.d.ts} +2 -4
- package/dist/game-factory/move/pass.d.ts.map +1 -0
- package/dist/game-factory/move/place-new.d.ts +5 -0
- package/dist/game-factory/move/place-new.d.ts.map +1 -0
- package/dist/game-factory/move/remove-entity.d.ts +5 -0
- package/dist/game-factory/move/remove-entity.d.ts.map +1 -0
- package/dist/game-factory/move/set-active-players.d.ts +5 -0
- package/dist/game-factory/move/set-active-players.d.ts.map +1 -0
- package/dist/game-factory/move/set-state.d.ts +5 -0
- package/dist/game-factory/move/set-state.d.ts.map +1 -0
- package/dist/game-factory/move/shuffle.d.ts +5 -0
- package/dist/game-factory/move/shuffle.d.ts.map +1 -0
- package/dist/game-factory/move/take-from.d.ts +11 -0
- package/dist/game-factory/move/take-from.d.ts.map +1 -0
- package/dist/game-factory/space/space.d.ts +10 -0
- package/dist/game-factory/space/space.d.ts.map +1 -0
- package/dist/game-factory/space-group/grid.d.ts +15 -0
- package/dist/game-factory/space-group/grid.d.ts.map +1 -0
- package/dist/game-factory/space-group/space-group.d.ts +20 -0
- package/dist/game-factory/space-group/space-group.d.ts.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/registry.d.ts +17 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/types/bagel-types.d.ts +339 -0
- package/dist/types/bagel-types.d.ts.map +1 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/rule-with-conditions.d.ts +9 -0
- package/dist/types/rule-with-conditions.d.ts.map +1 -0
- package/dist/utils/any-valid-moves.d.ts +2 -0
- package/dist/utils/any-valid-moves.d.ts.map +1 -0
- package/dist/utils/bgio-resolve-types.d.ts +25 -0
- package/dist/utils/bgio-resolve-types.d.ts.map +1 -0
- package/dist/utils/check-conditions.d.ts +7 -0
- package/dist/utils/check-conditions.d.ts.map +1 -0
- package/dist/utils/create-payload.d.ts +5 -0
- package/dist/utils/create-payload.d.ts.map +1 -0
- package/dist/utils/deserialize-bgio-arguments.d.ts +3 -0
- package/dist/utils/deserialize-bgio-arguments.d.ts.map +1 -0
- package/dist/utils/do-moves.d.ts +8 -0
- package/dist/utils/do-moves.d.ts.map +1 -0
- package/dist/utils/entity-matches.d.ts +6 -0
- package/dist/utils/entity-matches.d.ts.map +1 -0
- package/dist/utils/find-met-condition.d.ts +6 -0
- package/dist/utils/find-met-condition.d.ts.map +1 -0
- package/dist/utils/get-current-moves.d.ts +24 -0
- package/dist/utils/get-current-moves.d.ts.map +1 -0
- package/dist/utils/get-scenario-results.d.ts +3 -0
- package/dist/utils/get-scenario-results.d.ts.map +1 -0
- package/dist/utils/get-steps.d.ts +13 -0
- package/dist/utils/get-steps.d.ts.map +1 -0
- package/dist/utils/get.d.ts +7 -0
- package/dist/utils/get.d.ts.map +1 -0
- package/dist/utils/grid-contains-sequence.d.ts +27 -0
- package/dist/utils/grid-contains-sequence.d.ts.map +1 -0
- package/dist/utils/json-transformer.d.ts +8 -0
- package/dist/utils/json-transformer.d.ts.map +1 -0
- package/dist/utils/prepare-payload.d.ts +2 -0
- package/dist/utils/prepare-payload.d.ts.map +1 -0
- package/dist/utils/resolve-entity.d.ts +3 -0
- package/dist/utils/resolve-entity.d.ts.map +1 -0
- package/dist/utils/resolve-expression.d.ts +6 -0
- package/dist/utils/resolve-expression.d.ts.map +1 -0
- package/dist/utils/resolve-properties.d.ts +4 -0
- package/dist/utils/resolve-properties.d.ts.map +1 -0
- package/dist/utils/simulate-move.d.ts +16 -0
- package/dist/utils/simulate-move.d.ts.map +1 -0
- package/e2e/fixtures/bge-checkers.html +1 -2
- package/e2e/fixtures/bge-minimal.html +1 -2
- package/e2e/fixtures/bge-ttt.html +1 -2
- package/examples/index.html +1 -1
- package/package.json +9 -3
- package/playwright-report/index.html +1 -1
- package/scripts/build.mjs +2 -2
- package/src/client/client.ts +305 -0
- package/src/game-factory/bank/bank-slot.ts +81 -0
- package/src/game-factory/bank/bank.ts +125 -0
- package/src/game-factory/{board.js → board.ts} +1 -1
- package/src/game-factory/condition/condition-factory.ts +59 -0
- package/src/game-factory/condition/condition.ts +50 -0
- package/src/game-factory/condition/{contains-condition.js → contains-condition.ts} +5 -4
- package/src/game-factory/condition/{contains-same-condition.js → contains-same-condition.ts} +8 -5
- package/src/game-factory/condition/{evaluate-condition.js → evaluate-condition.ts} +4 -3
- package/src/game-factory/condition/every-condition.ts +27 -0
- package/src/game-factory/condition/has-line-condition.ts +15 -0
- package/src/game-factory/condition/in-line-condition.ts +25 -0
- package/src/game-factory/condition/is-condition.ts +24 -0
- package/src/game-factory/condition/is-full-condition.ts +10 -0
- package/src/game-factory/condition/{no-possible-moves-condition.js → no-possible-moves-condition.ts} +3 -2
- package/src/game-factory/condition/{not-condition.js → not-condition.ts} +3 -2
- package/src/game-factory/condition/{or-condition.js → or-condition.ts} +3 -2
- package/src/game-factory/condition/position-condition.ts +13 -0
- package/src/game-factory/condition/{some-condition.js → some-condition.ts} +5 -3
- package/src/game-factory/condition/would-condition.ts +104 -0
- package/src/game-factory/entity.ts +37 -0
- package/src/game-factory/expand-game-rules.ts +263 -0
- package/src/game-factory/game-factory.ts +263 -0
- package/src/game-factory/move/end-turn.ts +7 -0
- package/src/game-factory/move/for-each.ts +20 -0
- package/src/game-factory/move/move-entity.ts +18 -0
- package/src/game-factory/move/move-factory.ts +107 -0
- package/src/game-factory/move/move.ts +147 -0
- package/src/game-factory/move/pass-turn.ts +15 -0
- package/src/game-factory/move/pass.ts +7 -0
- package/src/game-factory/move/place-new.ts +42 -0
- package/src/game-factory/move/remove-entity.ts +11 -0
- package/src/game-factory/move/set-active-players.ts +26 -0
- package/src/game-factory/move/set-state.ts +14 -0
- package/src/game-factory/move/shuffle.ts +9 -0
- package/src/game-factory/move/take-from.ts +12 -0
- package/src/game-factory/space/space.ts +36 -0
- package/src/game-factory/space-group/grid.ts +48 -0
- package/src/game-factory/space-group/space-group.ts +44 -0
- package/src/index.ts +5 -0
- package/src/types/bagel-types.ts +449 -0
- package/src/types/boardgame-io-core.d.ts +7 -0
- package/src/types/index.ts +70 -0
- package/src/types/rule-with-conditions.ts +9 -0
- package/src/utils/{any-valid-moves.js → any-valid-moves.ts} +54 -49
- package/src/utils/bgio-resolve-types.ts +27 -0
- package/src/utils/check-conditions.ts +28 -0
- package/src/utils/create-payload.ts +19 -0
- package/src/utils/deserialize-bgio-arguments.ts +10 -0
- package/src/utils/do-moves.ts +22 -0
- package/src/utils/entity-matches.ts +30 -0
- package/src/utils/expr-eval.d.ts +6 -0
- package/src/utils/find-met-condition.ts +23 -0
- package/src/utils/get-current-moves.ts +39 -0
- package/src/utils/get-scenario-results.ts +30 -0
- package/src/utils/get-steps.ts +38 -0
- package/src/utils/get.ts +28 -0
- package/src/utils/{grid-contains-sequence.js → grid-contains-sequence.ts} +71 -33
- package/src/utils/json-transformer.ts +17 -0
- package/src/utils/prepare-payload.ts +20 -0
- package/src/utils/resolve-entity.ts +15 -0
- package/src/utils/resolve-expression.ts +16 -0
- package/src/utils/resolve-properties.ts +172 -0
- package/src/utils/simulate-move.ts +32 -0
- package/src/wackson.d.ts +4 -0
- package/tsconfig.build.json +14 -0
- package/tsconfig.json +21 -0
- package/src/client/client.js +0 -224
- package/src/game-factory/bank/bank-slot.js +0 -69
- package/src/game-factory/bank/bank.js +0 -114
- package/src/game-factory/condition/condition-factory.js +0 -52
- package/src/game-factory/condition/condition.js +0 -39
- package/src/game-factory/condition/every-condition.js +0 -25
- package/src/game-factory/condition/has-line-condition.js +0 -14
- package/src/game-factory/condition/in-line-condition.js +0 -19
- package/src/game-factory/condition/is-condition.js +0 -23
- package/src/game-factory/condition/is-full-condition.js +0 -9
- package/src/game-factory/condition/position-condition.js +0 -12
- package/src/game-factory/condition/would-condition.js +0 -94
- package/src/game-factory/entity.js +0 -29
- package/src/game-factory/expand-game-rules.js +0 -271
- package/src/game-factory/game-factory.js +0 -239
- package/src/game-factory/move/for-each.js +0 -18
- package/src/game-factory/move/move-entity.js +0 -16
- package/src/game-factory/move/move-factory.js +0 -89
- package/src/game-factory/move/move.js +0 -131
- package/src/game-factory/move/pass-turn.js +0 -10
- package/src/game-factory/move/place-new.js +0 -33
- package/src/game-factory/move/remove-entity.js +0 -7
- package/src/game-factory/move/set-active-players.js +0 -23
- package/src/game-factory/move/set-state.js +0 -11
- package/src/game-factory/move/shuffle.js +0 -7
- package/src/game-factory/move/take-from.js +0 -7
- package/src/game-factory/space/space.js +0 -30
- package/src/game-factory/space-group/grid.js +0 -43
- package/src/game-factory/space-group/space-group.js +0 -29
- package/src/index.js +0 -2
- package/src/utils/check-conditions.js +0 -28
- package/src/utils/create-payload.js +0 -16
- package/src/utils/deserialize-bgio-arguments.js +0 -8
- package/src/utils/do-moves.js +0 -18
- package/src/utils/entity-matches.js +0 -20
- package/src/utils/find-met-condition.js +0 -22
- package/src/utils/get-current-moves.js +0 -12
- package/src/utils/get-scenario-results.js +0 -23
- package/src/utils/get-steps.js +0 -29
- package/src/utils/get.js +0 -25
- package/src/utils/json-transformer.js +0 -12
- package/src/utils/prepare-payload.js +0 -16
- package/src/utils/resolve-entity.js +0 -9
- package/src/utils/resolve-expression.js +0 -10
- package/src/utils/resolve-properties.js +0 -149
- package/src/utils/simulate-move.js +0 -25
- /package/src/game-factory/move/{index.js → index.ts} +0 -0
- /package/src/{registry.js → registry.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,339 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* B.A.G.E.L. (Board-based Automated Game Engine Language) types.
|
|
3
|
+
* Subset inferred from the built-in example games.
|
|
4
|
+
*
|
|
5
|
+
* Semantic notes:
|
|
6
|
+
* - EntityAttributes<TRule> = entity rule merged with its default state (runtime view).
|
|
7
|
+
* - displayProperties lists keys of that merged type; UI shows those attribute values.
|
|
8
|
+
* - EntityMatcher is matched against EntityAttributes (lodash-style) at runtime.
|
|
9
|
+
*/
|
|
10
|
+
export type PathSegment = string | number | {
|
|
11
|
+
flatten: boolean;
|
|
12
|
+
map?: string[];
|
|
13
|
+
};
|
|
14
|
+
export type ValueRef = CtxPathRef | ContextPathRef | GamePathRef | ExpressionRef | RelativeCoordinatesRef | CoordinatesRef | RelativePathRef | ParentRef | MapRef | MapMaxRef | PickRef | CountRef;
|
|
15
|
+
export interface CtxPathRef {
|
|
16
|
+
type: "ctxPath";
|
|
17
|
+
path: (string | number)[];
|
|
18
|
+
}
|
|
19
|
+
export interface ContextPathRef {
|
|
20
|
+
type: "contextPath";
|
|
21
|
+
path: PathSegment[];
|
|
22
|
+
}
|
|
23
|
+
export interface GamePathRef {
|
|
24
|
+
type: "gamePath";
|
|
25
|
+
path: (string | number)[];
|
|
26
|
+
}
|
|
27
|
+
export interface ExpressionRef {
|
|
28
|
+
type: "expression";
|
|
29
|
+
expression: string;
|
|
30
|
+
arguments: Record<string, ValueRef>;
|
|
31
|
+
}
|
|
32
|
+
export interface RelativeCoordinatesRef {
|
|
33
|
+
type: "relativeCoordinates";
|
|
34
|
+
target?: ValueRef;
|
|
35
|
+
location: [number, number] | ValueRef;
|
|
36
|
+
}
|
|
37
|
+
export interface CoordinatesRef {
|
|
38
|
+
type: "coordinates";
|
|
39
|
+
target?: ValueRef;
|
|
40
|
+
}
|
|
41
|
+
export interface RelativePathRef {
|
|
42
|
+
type: "relativePath";
|
|
43
|
+
target: ValueRef | TargetSelector;
|
|
44
|
+
path: (string | number)[];
|
|
45
|
+
}
|
|
46
|
+
export interface ParentRef {
|
|
47
|
+
type: "parent";
|
|
48
|
+
target?: ValueRef;
|
|
49
|
+
}
|
|
50
|
+
export interface MapRef {
|
|
51
|
+
type: "map";
|
|
52
|
+
targets: ValueRef | TargetSelector;
|
|
53
|
+
mapping: ValueRef | CountRef;
|
|
54
|
+
}
|
|
55
|
+
export interface MapMaxRef {
|
|
56
|
+
type: "mapMax";
|
|
57
|
+
targets: ValueRef;
|
|
58
|
+
mapping: ValueRef | CountRef;
|
|
59
|
+
}
|
|
60
|
+
export interface PickRef {
|
|
61
|
+
type: "pick";
|
|
62
|
+
target: ValueRef | TargetSelector;
|
|
63
|
+
properties: string[];
|
|
64
|
+
}
|
|
65
|
+
export interface CountRef {
|
|
66
|
+
type: "count";
|
|
67
|
+
conditions: Condition[];
|
|
68
|
+
}
|
|
69
|
+
export type Condition = ConditionShorthandString | ConditionShorthandEntityType | ConditionTyped;
|
|
70
|
+
export type ConditionShorthandString = "isEmpty" | "isCurrentPlayer";
|
|
71
|
+
export interface ConditionShorthandEntityType {
|
|
72
|
+
entityType: "Space";
|
|
73
|
+
}
|
|
74
|
+
export type ConditionTyped = ConditionHasLine | ConditionIsFull | ConditionNoPossibleMoves | ConditionPosition | ConditionContainsSame | ConditionIs | ConditionContains | ConditionNot | ConditionOr | ConditionSome | ConditionEvery | ConditionInLine | ConditionEvaluate;
|
|
75
|
+
export interface TargetSelector {
|
|
76
|
+
matchMultiple?: boolean;
|
|
77
|
+
conditions: Condition[];
|
|
78
|
+
}
|
|
79
|
+
export interface LineSequenceStep {
|
|
80
|
+
minCount?: number;
|
|
81
|
+
conditions: Condition[];
|
|
82
|
+
}
|
|
83
|
+
export interface ConditionHasLine {
|
|
84
|
+
conditionType: "HasLine";
|
|
85
|
+
target: string;
|
|
86
|
+
sequence: LineSequenceStep[];
|
|
87
|
+
}
|
|
88
|
+
export interface ConditionIsFull {
|
|
89
|
+
conditionType: "IsFull";
|
|
90
|
+
target: string;
|
|
91
|
+
}
|
|
92
|
+
export interface ConditionNoPossibleMoves {
|
|
93
|
+
conditionType: "NoPossibleMoves";
|
|
94
|
+
}
|
|
95
|
+
export interface ConditionPosition {
|
|
96
|
+
conditionType: "Position";
|
|
97
|
+
position: "First";
|
|
98
|
+
}
|
|
99
|
+
export interface ConditionContainsSame {
|
|
100
|
+
conditionType: "ContainsSame";
|
|
101
|
+
properties: string[];
|
|
102
|
+
}
|
|
103
|
+
export interface ConditionIs {
|
|
104
|
+
conditionType: "Is";
|
|
105
|
+
target?: ValueRef | TargetSelector | string;
|
|
106
|
+
matcher?: Record<string, unknown>;
|
|
107
|
+
entity?: ValueRef;
|
|
108
|
+
}
|
|
109
|
+
export interface ConditionContains {
|
|
110
|
+
conditionType: "Contains";
|
|
111
|
+
target?: ValueRef | TargetSelector | string;
|
|
112
|
+
conditions?: Condition[];
|
|
113
|
+
}
|
|
114
|
+
export interface ConditionNot {
|
|
115
|
+
conditionType: "Not";
|
|
116
|
+
target?: ValueRef | TargetSelector | string;
|
|
117
|
+
conditions: Condition[];
|
|
118
|
+
}
|
|
119
|
+
export interface ConditionOr {
|
|
120
|
+
conditionType: "Or";
|
|
121
|
+
conditions: Condition[];
|
|
122
|
+
}
|
|
123
|
+
export interface ConditionSome {
|
|
124
|
+
conditionType: "Some";
|
|
125
|
+
target: TargetSelector;
|
|
126
|
+
conditions: Condition[];
|
|
127
|
+
}
|
|
128
|
+
export interface ConditionEvery {
|
|
129
|
+
conditionType: "Every";
|
|
130
|
+
target: TargetSelector;
|
|
131
|
+
conditions: Condition[];
|
|
132
|
+
}
|
|
133
|
+
export interface ConditionInLine {
|
|
134
|
+
conditionType: "InLine";
|
|
135
|
+
target?: ValueRef;
|
|
136
|
+
sequence: LineSequenceStep[];
|
|
137
|
+
}
|
|
138
|
+
export interface ConditionEvaluate {
|
|
139
|
+
conditionType: "Evaluate";
|
|
140
|
+
expression: string;
|
|
141
|
+
arguments: Record<string, ValueRef>;
|
|
142
|
+
}
|
|
143
|
+
/** Runtime view: entity rule merged with its default state. Used for display and matching. */
|
|
144
|
+
export type EntityAttributes<TRule extends EntityRule> = TRule & (TRule extends {
|
|
145
|
+
state?: infer S;
|
|
146
|
+
} ? (S extends object ? S : object) : object);
|
|
147
|
+
/** Keys that can appear on any entity's merged attributes (for matchers over unknown entity type). */
|
|
148
|
+
export type EntityAttributeKey = keyof EntityAttributes<EntityGrid> | keyof EntityAttributes<EntitySpace> | keyof EntityAttributes<EntityGeneric> | keyof EntityAttributes<EntityBoard>;
|
|
149
|
+
/** Matcher compared against EntityAttributes at runtime. Keys are attribute keys; values may be refs. */
|
|
150
|
+
export type EntityMatcher<A extends object = Record<EntityAttributeKey, unknown>> = Partial<{
|
|
151
|
+
[K in keyof A]: A[K] | ValueRef;
|
|
152
|
+
}> & {
|
|
153
|
+
name?: string;
|
|
154
|
+
};
|
|
155
|
+
export interface EntityBoard extends EntityCommon {
|
|
156
|
+
entityType: "Board";
|
|
157
|
+
}
|
|
158
|
+
export type Entity = EntityGrid | EntitySpace | EntityGeneric | EntityBoard;
|
|
159
|
+
export interface EntityCommon {
|
|
160
|
+
name: string;
|
|
161
|
+
perPlayer?: boolean;
|
|
162
|
+
count?: number | "Infinity";
|
|
163
|
+
state?: Record<string, unknown>;
|
|
164
|
+
contentsHiddenFrom?: "All" | "Others";
|
|
165
|
+
/** Expanded into separate entity definitions at setup (see game-factory). */
|
|
166
|
+
variants?: Array<Record<string, unknown>>;
|
|
167
|
+
}
|
|
168
|
+
export interface EntityGrid extends EntityCommon {
|
|
169
|
+
entityType: "Grid";
|
|
170
|
+
width: number;
|
|
171
|
+
height: number;
|
|
172
|
+
/** Property names to show in UI; values read from EntityAttributes<EntityGrid>. */
|
|
173
|
+
displayProperties?: (keyof EntityAttributes<EntityGrid>)[];
|
|
174
|
+
}
|
|
175
|
+
export interface EntitySpace extends EntityCommon {
|
|
176
|
+
entityType: "Space";
|
|
177
|
+
/** Property names to show in UI; values read from EntityAttributes<EntitySpace>. */
|
|
178
|
+
displayProperties?: (keyof EntityAttributes<EntitySpace>)[];
|
|
179
|
+
}
|
|
180
|
+
export interface EntityGeneric extends EntityCommon {
|
|
181
|
+
entityType?: undefined;
|
|
182
|
+
/** Property names to show in UI; values read from EntityAttributes<EntityGeneric> (rule merged with state). */
|
|
183
|
+
displayProperties?: (keyof EntityAttributes<EntityGeneric>)[];
|
|
184
|
+
}
|
|
185
|
+
export type EntityRule = EntityGrid | EntitySpace | EntityGeneric | EntityBoard;
|
|
186
|
+
export type MoveDefinition = MovePlaceNew | MoveMoveEntity | MoveRemoveEntity | MoveTakeFrom | MoveSetState | MoveSetActivePlayers | MoveEndTurn | MovePassTurn | MoveForEach | MoveShuffle | MovePass;
|
|
187
|
+
export type MoveRule = MoveDefinition;
|
|
188
|
+
export interface MoveCommon {
|
|
189
|
+
/** Set when a move is registered under a key (e.g. from `createMoves`). */
|
|
190
|
+
name?: string;
|
|
191
|
+
conditions?: Condition[];
|
|
192
|
+
then?: MoveDefinition[];
|
|
193
|
+
}
|
|
194
|
+
export interface MovePlaceNew extends MoveCommon {
|
|
195
|
+
moveType: "PlaceNew";
|
|
196
|
+
matchMultiple?: boolean;
|
|
197
|
+
entity: {
|
|
198
|
+
conditions?: Condition[];
|
|
199
|
+
[k: string]: unknown;
|
|
200
|
+
};
|
|
201
|
+
arguments: {
|
|
202
|
+
destination: Record<string, unknown>;
|
|
203
|
+
[k: string]: unknown;
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
export interface MoveMoveEntity extends MoveCommon {
|
|
207
|
+
moveType: "MoveEntity";
|
|
208
|
+
position?: "First";
|
|
209
|
+
arguments: {
|
|
210
|
+
entity: Record<string, unknown>;
|
|
211
|
+
destination: Record<string, unknown>;
|
|
212
|
+
[k: string]: unknown;
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
export interface MoveRemoveEntity extends MoveCommon {
|
|
216
|
+
moveType: "RemoveEntity";
|
|
217
|
+
arguments: {
|
|
218
|
+
entity: ValueRef | Record<string, unknown>;
|
|
219
|
+
[k: string]: unknown;
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
export interface MoveTakeFrom extends MoveCommon {
|
|
223
|
+
moveType: "TakeFrom";
|
|
224
|
+
arguments: {
|
|
225
|
+
source: Record<string, unknown>;
|
|
226
|
+
destination: Record<string, unknown>;
|
|
227
|
+
[k: string]: unknown;
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
export interface StateUpdate {
|
|
231
|
+
property: string;
|
|
232
|
+
value?: unknown;
|
|
233
|
+
possibleValues?: unknown[];
|
|
234
|
+
playerChoice?: boolean;
|
|
235
|
+
}
|
|
236
|
+
export interface MoveSetState extends MoveCommon {
|
|
237
|
+
moveType: "SetState";
|
|
238
|
+
arguments: {
|
|
239
|
+
entity: ValueRef | Record<string, unknown>;
|
|
240
|
+
state: StateUpdate;
|
|
241
|
+
[k: string]: unknown;
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
export interface MoveSetActivePlayers extends MoveCommon {
|
|
245
|
+
moveType: "SetActivePlayers";
|
|
246
|
+
options: Record<string, {
|
|
247
|
+
stage?: string;
|
|
248
|
+
[k: string]: unknown;
|
|
249
|
+
}>;
|
|
250
|
+
}
|
|
251
|
+
export interface MoveEndTurn extends MoveCommon {
|
|
252
|
+
moveType: "EndTurn";
|
|
253
|
+
}
|
|
254
|
+
export interface MovePassTurn extends MoveCommon {
|
|
255
|
+
moveType: "PassTurn";
|
|
256
|
+
}
|
|
257
|
+
export interface MovePass extends MoveCommon {
|
|
258
|
+
moveType: "Pass";
|
|
259
|
+
}
|
|
260
|
+
export interface MoveForEach extends MoveCommon {
|
|
261
|
+
moveType: "ForEach";
|
|
262
|
+
arguments: {
|
|
263
|
+
targets: ValueRef | Record<string, unknown>;
|
|
264
|
+
[k: string]: unknown;
|
|
265
|
+
};
|
|
266
|
+
move: MoveDefinition;
|
|
267
|
+
}
|
|
268
|
+
export interface MoveShuffle extends MoveCommon {
|
|
269
|
+
moveType: "Shuffle";
|
|
270
|
+
arguments: {
|
|
271
|
+
target: Record<string, unknown>;
|
|
272
|
+
[k: string]: unknown;
|
|
273
|
+
};
|
|
274
|
+
}
|
|
275
|
+
export interface TurnConfig {
|
|
276
|
+
minMoves?: number;
|
|
277
|
+
maxMoves?: number;
|
|
278
|
+
initialMoves?: MoveDefinition[];
|
|
279
|
+
activePlayers?: Record<string, string>;
|
|
280
|
+
stages?: Record<string, StageConfig>;
|
|
281
|
+
order?: {
|
|
282
|
+
playOrder?: "RotateFirst";
|
|
283
|
+
};
|
|
284
|
+
}
|
|
285
|
+
export interface StageConfig {
|
|
286
|
+
initialMoves?: MoveDefinition[];
|
|
287
|
+
moves?: Record<string, MoveDefinition>;
|
|
288
|
+
}
|
|
289
|
+
export interface PhaseConfig {
|
|
290
|
+
start?: boolean;
|
|
291
|
+
next?: string;
|
|
292
|
+
turn?: TurnConfig;
|
|
293
|
+
moves?: Record<string, MoveDefinition>;
|
|
294
|
+
initialMoves?: MoveDefinition[];
|
|
295
|
+
endIf?: EndRule[];
|
|
296
|
+
}
|
|
297
|
+
export interface EndRule {
|
|
298
|
+
conditions: Condition[];
|
|
299
|
+
result?: {
|
|
300
|
+
winner?: string | ValueRef;
|
|
301
|
+
winners?: ValueRef;
|
|
302
|
+
draw?: boolean;
|
|
303
|
+
[k: string]: unknown;
|
|
304
|
+
};
|
|
305
|
+
}
|
|
306
|
+
export interface InitialPlacement {
|
|
307
|
+
entity: Record<string, unknown>;
|
|
308
|
+
destination: {
|
|
309
|
+
index?: number;
|
|
310
|
+
name?: string;
|
|
311
|
+
};
|
|
312
|
+
}
|
|
313
|
+
export interface BagelGame {
|
|
314
|
+
entities: Entity[];
|
|
315
|
+
sharedBoard?: EntityMatcher<EntityAttributes<Entity>>[];
|
|
316
|
+
personalBoard?: EntityMatcher<EntityAttributes<Entity>>[];
|
|
317
|
+
initialPlacements?: InitialPlacement[];
|
|
318
|
+
numPlayers?: number;
|
|
319
|
+
minPlayers?: number;
|
|
320
|
+
maxPlayers?: number;
|
|
321
|
+
turn?: TurnConfig;
|
|
322
|
+
moves?: Record<string, MoveDefinition>;
|
|
323
|
+
initialMoves?: MoveDefinition[];
|
|
324
|
+
phases?: Record<string, PhaseConfig>;
|
|
325
|
+
endIf?: EndRule[];
|
|
326
|
+
}
|
|
327
|
+
/** Rule object passed to `gameFactory` (engine-specific extensions on top of BagelGame). */
|
|
328
|
+
export type GameFactoryInput = BagelGame & {
|
|
329
|
+
DEBUG_DISABLE_SECRET_STATE?: boolean;
|
|
330
|
+
};
|
|
331
|
+
/**
|
|
332
|
+
* Rules after {@link expandGameRules}: invariant entities merged, default turn/sharedBoard,
|
|
333
|
+
* initial placements expanded into moves; `initialPlacements` is removed.
|
|
334
|
+
*/
|
|
335
|
+
export type ExpandedGameRules = Omit<GameFactoryInput, "entities" | "turn" | "initialPlacements"> & {
|
|
336
|
+
entities: Entity[];
|
|
337
|
+
turn: TurnConfig;
|
|
338
|
+
};
|
|
339
|
+
//# sourceMappingURL=bagel-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bagel-types.d.ts","sourceRoot":"","sources":["../../src/types/bagel-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export type { BagelGame, GameFactoryInput, ExpandedGameRules, PathSegment, ValueRef, CtxPathRef, ContextPathRef, GamePathRef, ExpressionRef, RelativeCoordinatesRef, CoordinatesRef, RelativePathRef, ParentRef, MapRef, MapMaxRef, PickRef, CountRef, Condition, ConditionShorthandString, ConditionShorthandEntityType, ConditionTyped, TargetSelector, LineSequenceStep, ConditionHasLine, ConditionIsFull, ConditionNoPossibleMoves, ConditionPosition, ConditionContainsSame, ConditionIs, ConditionContains, ConditionNot, ConditionOr, ConditionSome, ConditionEvery, ConditionInLine, ConditionEvaluate, EntityAttributes, EntityAttributeKey, EntityMatcher, Entity, EntityBoard, EntityCommon, EntityGrid, EntitySpace, EntityGeneric, EntityRule, MoveDefinition, MoveRule, MoveCommon, MovePlaceNew, MoveMoveEntity, MoveRemoveEntity, MoveTakeFrom, StateUpdate, MoveSetState, MoveSetActivePlayers, MoveEndTurn, MovePassTurn, MovePass, MoveForEach, MoveShuffle, TurnConfig, StageConfig, PhaseConfig, EndRule, InitialPlacement, } from "./bagel-types.js";
|
|
2
|
+
export type { RuleWithConditions } from "./rule-with-conditions.js";
|
|
3
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,QAAQ,EACR,UAAU,EACV,cAAc,EACd,WAAW,EACX,aAAa,EACb,sBAAsB,EACtB,cAAc,EACd,eAAe,EACf,SAAS,EACT,MAAM,EACN,SAAS,EACT,OAAO,EACP,QAAQ,EACR,SAAS,EACT,wBAAwB,EACxB,4BAA4B,EAC5B,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,wBAAwB,EACxB,iBAAiB,EACjB,qBAAqB,EACrB,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,WAAW,EACX,aAAa,EACb,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,MAAM,EACN,WAAW,EACX,YAAY,EACZ,UAAU,EACV,WAAW,EACX,aAAa,EACb,UAAU,EACV,cAAc,EACd,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,WAAW,EACX,UAAU,EACV,WAAW,EACX,WAAW,EACX,OAAO,EACP,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Condition } from "./bagel-types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Rule-shaped object that may carry a `conditions` array (moves, move arguments,
|
|
4
|
+
* entity/slot rules, scenarios, composite conditions).
|
|
5
|
+
*/
|
|
6
|
+
export type RuleWithConditions = {
|
|
7
|
+
conditions?: Condition[];
|
|
8
|
+
} & Record<string, unknown>;
|
|
9
|
+
//# sourceMappingURL=rule-with-conditions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rule-with-conditions.d.ts","sourceRoot":"","sources":["../../src/types/rule-with-conditions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;CAC1B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"any-valid-moves.d.ts","sourceRoot":"","sources":["../../src/utils/any-valid-moves.ts"],"names":[],"mappings":"AA+HA,MAAM,CAAC,OAAO,UAAU,kBAAkB,CACxC,aAAa,EAAE,OAAO,EACtB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,WAgC/B"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { RuleWithConditions } from "../types/rule-with-conditions.js";
|
|
2
|
+
/** boardgame.io match args + engine `G` after setup (deserialized, many fields). */
|
|
3
|
+
export type BgioResolveState = {
|
|
4
|
+
ctx: Record<string, unknown>;
|
|
5
|
+
G: Record<string, unknown>;
|
|
6
|
+
playerID?: string;
|
|
7
|
+
} & Record<string, unknown>;
|
|
8
|
+
/** Bank API on `G` used by resolution and moves (subset of {@link Bank} methods). */
|
|
9
|
+
export type BankApi = {
|
|
10
|
+
find: (a: unknown, t: unknown, c: unknown) => unknown;
|
|
11
|
+
findAll: (a: unknown, t: unknown, c: unknown) => unknown[];
|
|
12
|
+
findParent: (t: unknown) => unknown;
|
|
13
|
+
getOne: (a: BgioResolveState, rule: RuleWithConditions & {
|
|
14
|
+
state?: unknown;
|
|
15
|
+
}, c: Record<string, unknown>) => unknown;
|
|
16
|
+
getMultiple: (a: BgioResolveState, rule: RuleWithConditions & {
|
|
17
|
+
state?: unknown;
|
|
18
|
+
}, count: number, c: Record<string, unknown>) => unknown[];
|
|
19
|
+
returnToBank: (a: BgioResolveState, entity: {
|
|
20
|
+
entityId: number;
|
|
21
|
+
rule: Record<string, unknown>;
|
|
22
|
+
}) => void;
|
|
23
|
+
};
|
|
24
|
+
export declare function bankOf(bg: BgioResolveState): BankApi;
|
|
25
|
+
//# sourceMappingURL=bgio-resolve-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bgio-resolve-types.d.ts","sourceRoot":"","sources":["../../src/utils/bgio-resolve-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAE3E,oFAAoF;AACpF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE5B,qFAAqF;AACrF,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC;IACtD,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,KAAK,OAAO,EAAE,CAAC;IAC3D,UAAU,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC;IACpC,MAAM,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,kBAAkB,GAAG;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;IACrH,WAAW,EAAE,CACX,CAAC,EAAE,gBAAgB,EACnB,IAAI,EAAE,kBAAkB,GAAG;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAC9C,KAAK,EAAE,MAAM,EACb,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KACvB,OAAO,EAAE,CAAC;IACf,YAAY,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,KAAK,IAAI,CAAC;CAC1G,CAAC;AAEF,wBAAgB,MAAM,CAAE,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAErD"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Condition as ConditionRule } from "../types/bagel-types.js";
|
|
2
|
+
export default function checkConditions(bgioArguments: unknown, conditions?: ConditionRule[], payload?: Record<string, unknown>, context?: Record<string, unknown>): {
|
|
3
|
+
results: unknown[];
|
|
4
|
+
failedAt: unknown;
|
|
5
|
+
conditionsAreMet: boolean;
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=check-conditions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-conditions.d.ts","sourceRoot":"","sources":["../../src/utils/check-conditions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE1E,MAAM,CAAC,OAAO,UAAU,eAAe,CACrC,aAAa,EAAE,OAAO,EACtB,UAAU,GAAE,aAAa,EAAO,EAChC,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACrC,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;;;;EAoBtC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import getSteps from "./get-steps.js";
|
|
2
|
+
export default function createPayload(bgioState: Parameters<typeof getSteps>[0], moveRule: Parameters<typeof getSteps>[1], targets: unknown[], _context: Record<string, unknown>): {
|
|
3
|
+
arguments: Record<string, unknown>;
|
|
4
|
+
};
|
|
5
|
+
//# sourceMappingURL=create-payload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-payload.d.ts","sourceRoot":"","sources":["../../src/utils/create-payload.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,MAAM,CAAC,OAAO,UAAU,aAAa,CACnC,SAAS,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,EACzC,QAAQ,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,EACxC,OAAO,EAAE,OAAO,EAAE,EAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;EAYlC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deserialize-bgio-arguments.d.ts","sourceRoot":"","sources":["../../src/utils/deserialize-bgio-arguments.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAAE,aAAa,EAAE,gBAAgB,GAAG,gBAAgB,CAKnG"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { MoveDefinition } from "../types/bagel-types.js";
|
|
2
|
+
export default function doMoves(bgioArguments: {
|
|
3
|
+
G: unknown;
|
|
4
|
+
[k: string]: unknown;
|
|
5
|
+
}, moves: MoveDefinition[] | undefined, context: {
|
|
6
|
+
game: Record<string, unknown>;
|
|
7
|
+
} & Record<string, unknown>): unknown;
|
|
8
|
+
//# sourceMappingURL=do-moves.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"do-moves.d.ts","sourceRoot":"","sources":["../../src/utils/do-moves.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAG9D,MAAM,CAAC,OAAO,UAAU,OAAO,CAC7B,aAAa,EAAE;IAAE,CAAC,EAAE,OAAO,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,EACnD,KAAK,EAAE,cAAc,EAAE,YAAK,EAC5B,OAAO,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,WAerE"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { BgioResolveState } from "./bgio-resolve-types.js";
|
|
2
|
+
export default function entityMatches(bgioArguments: BgioResolveState, matcher: Record<string, unknown>, entity: {
|
|
3
|
+
rule: Record<string, unknown>;
|
|
4
|
+
state?: Record<string, unknown>;
|
|
5
|
+
}, context: Record<string, unknown>): boolean;
|
|
6
|
+
//# sourceMappingURL=entity-matches.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-matches.d.ts","sourceRoot":"","sources":["../../src/utils/entity-matches.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAoBhE,MAAM,CAAC,OAAO,UAAU,aAAa,CACnC,aAAa,EAAE,gBAAgB,EAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,EAC1E,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAET"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Condition as ConditionRule } from "../types/bagel-types.js";
|
|
2
|
+
export default function findMetCondition(bgioArguments: unknown, conditions: ConditionRule[] | undefined, payload: Record<string, unknown>, context: Record<string, unknown>): {
|
|
3
|
+
[k: string]: unknown;
|
|
4
|
+
conditionRule: unknown;
|
|
5
|
+
} | undefined;
|
|
6
|
+
//# sourceMappingURL=find-met-condition.d.ts.map
|