@gamepark/rules-api 5.13.0 → 5.15.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/dist/Action.d.ts CHANGED
@@ -8,13 +8,18 @@ declare type Action<Move = any, PlayerId = any> = {
8
8
  };
9
9
  export default Action;
10
10
  export declare function playAction<State, Move, PlayerId>(game: Game<State, Move>, move: Move, playerId: PlayerId, id?: string): Action<Move, PlayerId>;
11
- export declare type ActionWithViews<Move, MoveView, PlayerId> = {
11
+ export declare type ActionWithViews<Move = any, MoveView = Move, PlayerId = any> = {
12
12
  action: Action<Move, PlayerId>;
13
- views: {
14
- recipient?: PlayerId;
15
- action: Action<MoveView, PlayerId>;
16
- }[];
13
+ views: ActionView<MoveView, PlayerId>[];
14
+ };
15
+ export declare type ActionView<MoveView = any, PlayerId = any> = {
16
+ recipient?: PlayerId;
17
+ action: Action<MoveView, PlayerId>;
17
18
  };
18
19
  export declare function playActionWithViews<State, View, Move, MoveView, PlayerId>(game: IncompleteInformation<State, View, Move, MoveView, PlayerId>, move: Move, playerId: PlayerId, recipients: PlayerId[], id?: string): ActionWithViews<Move, MoveView, PlayerId>;
19
20
  export declare function replayAction<State, Move, PlayerId>(game: Game<State, Move>, action: Action<Move, PlayerId>): void;
20
21
  export declare function replayActions<State, Move, PlayerId>(game: Game<State, Move>, actions: Action<Move, PlayerId>[]): void;
22
+ export declare type SecretAction<Move = any, MoveView = Move, PlayerId = any> = Action<Move, PlayerId> & {
23
+ secrets: ActionView<MoveView, PlayerId>[];
24
+ };
25
+ export declare function isSecretAction(action: Action): action is SecretAction;
package/dist/Action.js CHANGED
@@ -1,35 +1,27 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.replayActions = exports.replayAction = exports.playActionWithViews = exports.playAction = void 0;
3
+ exports.isSecretAction = exports.replayActions = exports.replayAction = exports.playActionWithViews = exports.playAction = void 0;
4
4
  var Game_1 = require("./Game");
5
5
  var index_1 = require("./index");
6
6
  var RandomMove_1 = require("./RandomMove");
7
7
  function playAction(game, move, playerId, id) {
8
- var action = { id: id, playerId: playerId, move: move, consequences: [] };
9
8
  if ((0, RandomMove_1.hasRandomMove)(game)) {
10
9
  move = game.randomize(move);
11
10
  }
11
+ var action = { id: id, playerId: playerId, move: move, consequences: [] };
12
12
  game.play(JSON.parse(JSON.stringify(move)));
13
- (0, Game_1.loopWithFuse)(function () {
14
- var consequences = (0, RandomMove_1.getRandomAutomaticMoves)(game);
15
- for (var _i = 0, consequences_1 = consequences; _i < consequences_1.length; _i++) {
16
- var move_1 = consequences_1[_i];
17
- game.play(JSON.parse(JSON.stringify(move_1)));
18
- action.consequences.push(move_1);
19
- }
20
- return consequences.length > 0;
21
- }, { errorFn: function () { return new Error("Infinite loop detected while applying automatic moves after ".concat(JSON.stringify(move), " in ").concat(JSON.stringify(game.state))); } });
13
+ (0, Game_1.applyAutomaticMoves)(game, function (move) { return action.consequences.push(move); });
22
14
  return action;
23
15
  }
24
16
  exports.playAction = playAction;
25
17
  function playActionWithViews(game, move, playerId, recipients, id) {
18
+ if ((0, RandomMove_1.hasRandomMove)(game)) {
19
+ move = game.randomize(move);
20
+ }
26
21
  var actionWithView = {
27
22
  action: { id: id, playerId: playerId, move: move, consequences: [] },
28
23
  views: []
29
24
  };
30
- if ((0, RandomMove_1.hasRandomMove)(game)) {
31
- move = game.randomize(move);
32
- }
33
25
  // Prepare action view for each player
34
26
  for (var _i = 0, recipients_1 = recipients; _i < recipients_1.length; _i++) {
35
27
  var recipient = recipients_1[_i];
@@ -38,19 +30,13 @@ function playActionWithViews(game, move, playerId, recipients, id) {
38
30
  // Prepare action view for spectators
39
31
  actionWithView.views.push({ action: { id: id, playerId: playerId, move: (0, index_1.getMoveView)(game, move), consequences: [] } });
40
32
  game.play(JSON.parse(JSON.stringify(move)));
41
- (0, Game_1.loopWithFuse)(function () {
42
- var consequences = (0, RandomMove_1.getRandomAutomaticMoves)(game);
43
- for (var _i = 0, consequences_2 = consequences; _i < consequences_2.length; _i++) {
44
- var move_2 = consequences_2[_i];
45
- actionWithView.action.consequences.push(move_2);
46
- for (var _a = 0, _b = actionWithView.views; _a < _b.length; _a++) {
47
- var view = _b[_a];
48
- view.action.consequences.push((0, index_1.getMoveView)(game, move_2, view.recipient));
49
- }
50
- game.play(JSON.parse(JSON.stringify(move_2)));
33
+ (0, Game_1.applyAutomaticMoves)(game, function (move) {
34
+ actionWithView.action.consequences.push(move);
35
+ for (var _i = 0, _a = actionWithView.views; _i < _a.length; _i++) {
36
+ var view = _a[_i];
37
+ view.action.consequences.push((0, index_1.getMoveView)(game, move, view.recipient));
51
38
  }
52
- return consequences.length > 0;
53
- }, { errorFn: function () { return new Error("Infinite loop detected while applying automatic moves after ".concat(JSON.stringify(move), " in ").concat(JSON.stringify(game.state))); } });
39
+ });
54
40
  return actionWithView;
55
41
  }
56
42
  exports.playActionWithViews = playActionWithViews;
@@ -63,4 +49,8 @@ function replayActions(game, actions) {
63
49
  actions.forEach(function (action) { return replayAction(game, action); });
64
50
  }
65
51
  exports.replayActions = replayActions;
52
+ function isSecretAction(action) {
53
+ return Array.isArray(action.secrets);
54
+ }
55
+ exports.isSecretAction = isSecretAction;
66
56
  //# sourceMappingURL=Action.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Action.js","sourceRoot":"","sources":["../src/Action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Action.js","sourceRoot":"","sources":["../src/Action.ts"],"names":[],"mappings":"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"}
package/dist/Game.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  export default interface Game<State, Move = string> {
2
2
  state: State;
3
3
  play(move: Move): void;
4
- getAutomaticMove?(): Move | Move[] | void;
4
+ getAutomaticMoves?(): Move[];
5
5
  }
6
- export declare function applyAutomaticMoves<State, Move>(game: Game<State, Move>): void;
6
+ export declare function applyAutomaticMoves<State, Move>(game: Game<State, Move>, preprocessMove?: (move: Move) => void): void;
7
7
  export declare function loopWithFuse(repeat: () => boolean, options?: {
8
8
  attempts?: number;
9
9
  errorFn?: () => Error;
package/dist/Game.js CHANGED
@@ -2,15 +2,23 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.loopWithFuse = exports.applyAutomaticMoves = void 0;
4
4
  var RandomMove_1 = require("./RandomMove");
5
- function applyAutomaticMoves(game) {
5
+ function applyAutomaticMoves(game, preprocessMove) {
6
+ var moves = [];
6
7
  loopWithFuse(function () {
7
- var consequences = (0, RandomMove_1.getRandomAutomaticMoves)(game);
8
- for (var _i = 0, consequences_1 = consequences; _i < consequences_1.length; _i++) {
9
- var move = consequences_1[_i];
8
+ if (moves.length === 0 && game.getAutomaticMoves) {
9
+ moves.push.apply(moves, (0, RandomMove_1.randomizeMoves)(game, game.getAutomaticMoves()));
10
+ }
11
+ var move = moves.shift();
12
+ if (move) {
13
+ if (preprocessMove)
14
+ preprocessMove(move);
10
15
  game.play(JSON.parse(JSON.stringify(move)));
16
+ return true;
17
+ }
18
+ else {
19
+ return false;
11
20
  }
12
- return consequences.length > 0;
13
- }, { errorFn: function () { return new Error("Infinite loop detected while applying automatic moves in ".concat(JSON.stringify(game.state))); } });
21
+ }, { errorFn: function () { return new Error("Infinite loop detected while applying move consequences: ".concat(JSON.stringify(game.getAutomaticMoves()), ")")); } });
14
22
  }
15
23
  exports.applyAutomaticMoves = applyAutomaticMoves;
16
24
  function loopWithFuse(repeat, options) {
package/dist/Game.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Game.js","sourceRoot":"","sources":["../src/Game.ts"],"names":[],"mappings":";;;AAAA,2CAAoD;AAUpD,SAAgB,mBAAmB,CAAc,IAAuB;IACtE,YAAY,CAAC;QACX,IAAM,YAAY,GAAG,IAAA,oCAAuB,EAAC,IAAI,CAAC,CAAA;QAClD,KAAmB,UAAY,EAAZ,6BAAY,EAAZ,0BAAY,EAAZ,IAAY,EAAE;YAA5B,IAAM,IAAI,qBAAA;YACb,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;SAC5C;QACD,OAAO,YAAY,CAAC,MAAM,GAAG,CAAC,CAAA;IAChC,CAAC,EAAE,EAAC,OAAO,EAAE,cAAM,OAAA,IAAI,KAAK,CAAC,mEAA4D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAE,CAAC,EAAnG,CAAmG,EAAC,CAAC,CAAA;AAC1H,CAAC;AARD,kDAQC;AAED,SAAgB,YAAY,CAAC,MAAqB,EAAE,OAAsD;IACxG,IAAI,QAAQ,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACzF,IAAM,OAAO,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,KAAI,CAAC,cAAM,OAAA,IAAI,KAAK,CAAC,wBAAwB,CAAC,EAAnC,CAAmC,CAAC,CAAA;IAC/E,OAAO,MAAM,EAAE,EAAE;QACf,IAAI,QAAQ,IAAI,CAAC,EAAE;YACjB,MAAM,OAAO,EAAE,CAAA;SAChB;QACD,QAAQ,EAAE,CAAA;KACX;AACH,CAAC;AATD,oCASC"}
1
+ {"version":3,"file":"Game.js","sourceRoot":"","sources":["../src/Game.ts"],"names":[],"mappings":";;;AAAA,2CAA2C;AAU3C,SAAgB,mBAAmB,CAAc,IAAuB,EAAE,cAAqC;IAC7G,IAAM,KAAK,GAAW,EAAE,CAAA;IACxB,YAAY,CAAC;QACX,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAChD,KAAK,CAAC,IAAI,OAAV,KAAK,EAAS,IAAA,2BAAc,EAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,EAAC;SAC9D;QACD,IAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,CAAA;QAC1B,IAAI,IAAI,EAAE;YACR,IAAI,cAAc;gBAAE,cAAc,CAAC,IAAI,CAAC,CAAA;YACxC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAC3C,OAAO,IAAI,CAAA;SACZ;aAAM;YACL,OAAO,KAAK,CAAA;SACb;IACH,CAAC,EAAE,EAAC,OAAO,EAAE,cAAM,OAAA,IAAI,KAAK,CAAC,mEAA4D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAkB,EAAE,CAAC,MAAG,CAAC,EAAnH,CAAmH,EAAC,CAAC,CAAA;AAC1I,CAAC;AAfD,kDAeC;AAED,SAAgB,YAAY,CAAC,MAAqB,EAAE,OAAsD;IACxG,IAAI,QAAQ,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACzF,IAAM,OAAO,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,KAAI,CAAC,cAAM,OAAA,IAAI,KAAK,CAAC,wBAAwB,CAAC,EAAnC,CAAmC,CAAC,CAAA;IAC/E,OAAO,MAAM,EAAE,EAAE;QACf,IAAI,QAAQ,IAAI,CAAC,EAAE;YACjB,MAAM,OAAO,EAAE,CAAA;SAChB;QACD,QAAQ,EAAE,CAAA;KACX;AACH,CAAC;AATD,oCASC"}
@@ -7,6 +7,7 @@ export declare function hasIncompleteInformation<State, StateView, Move, MoveVie
7
7
  export interface SecretInformation<State, StateView, Move = string, MoveView = string, PlayerId = number> extends IncompleteInformation<State, StateView, Move, MoveView, PlayerId> {
8
8
  getPlayerView(playerId: PlayerId): StateView;
9
9
  getPlayerMoveView?(move: Move, playerId: PlayerId): MoveView;
10
+ keepMoveSecret?(move: Move, playerId: PlayerId): boolean;
10
11
  }
11
12
  export declare function hasSecretInformation<State, StateView, Move, MoveView, PlayerId>(rules: Rules<State, Move, PlayerId>): rules is SecretInformation<State, StateView, Move, MoveView, PlayerId>;
12
13
  export declare function getGameView<State, StateView, Move, MoveView, PlayerId>(game: IncompleteInformation<State, StateView, Move, MoveView, PlayerId>, playerId?: PlayerId): StateView;
@@ -1 +1 @@
1
- {"version":3,"file":"IncompleteInformation.js","sourceRoot":"","sources":["../src/IncompleteInformation.ts"],"names":[],"mappings":";;;AAQA,SAAgB,wBAAwB,CAA6C,KAAmC;IACtH,IAAM,IAAI,GAAG,KAA0E,CAAA;IACvF,OAAO,OAAO,IAAI,CAAC,OAAO,KAAK,UAAU,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,UAAU,CAAA;AACrF,CAAC;AAHD,4DAGC;AAQD,SAAgB,oBAAoB,CAA6C,KAAmC;IAClH,IAAM,IAAI,GAAG,KAAsE,CAAA;IACnF,OAAO,OAAO,IAAI,CAAC,aAAa,KAAK,UAAU,CAAA;AACjD,CAAC;AAHD,oDAGC;AAED,SAAgB,WAAW,CAA6C,IAAuE,EAAE,QAAmB;IAClK,IAAI,oBAAoB,CAA6C,IAAI,CAAC,IAAI,QAAQ,KAAK,SAAS,EAAE;QACpG,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;KACpC;SAAM;QACL,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;KACtB;AACH,CAAC;AAND,kCAMC;AAED,SAAgB,WAAW,CAA6C,IAAuE,EAAE,IAAU,EAAE,QAAmB;IAC9K,IAAI,oBAAoB,CAA6C,IAAI,CAAC,IAAI,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,iBAAiB,EAAE;QAC9H,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;KAC1E;SAAM;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KAC1D;AACH,CAAC;AAND,kCAMC"}
1
+ {"version":3,"file":"IncompleteInformation.js","sourceRoot":"","sources":["../src/IncompleteInformation.ts"],"names":[],"mappings":";;;AAQA,SAAgB,wBAAwB,CAA6C,KAAmC;IACtH,IAAM,IAAI,GAAG,KAA0E,CAAA;IACvF,OAAO,OAAO,IAAI,CAAC,OAAO,KAAK,UAAU,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,UAAU,CAAA;AACrF,CAAC;AAHD,4DAGC;AAUD,SAAgB,oBAAoB,CAA6C,KAAmC;IAClH,IAAM,IAAI,GAAG,KAAsE,CAAA;IACnF,OAAO,OAAO,IAAI,CAAC,aAAa,KAAK,UAAU,CAAA;AACjD,CAAC;AAHD,oDAGC;AAED,SAAgB,WAAW,CAA6C,IAAuE,EAAE,QAAmB;IAClK,IAAI,oBAAoB,CAA6C,IAAI,CAAC,IAAI,QAAQ,KAAK,SAAS,EAAE;QACpG,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;KACpC;SAAM;QACL,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;KACtB;AACH,CAAC;AAND,kCAMC;AAED,SAAgB,WAAW,CAA6C,IAAuE,EAAE,IAAU,EAAE,QAAmB;IAC9K,IAAI,oBAAoB,CAA6C,IAAI,CAAC,IAAI,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,iBAAiB,EAAE;QAC9H,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;KAC1E;SAAM;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KAC1D;AACH,CAAC;AAND,kCAMC"}
@@ -4,4 +4,4 @@ export default interface RandomMove<State, Move = string, R = string> extends Ga
4
4
  play(move: Move & R): void;
5
5
  }
6
6
  export declare function hasRandomMove<State, Move, R>(game: Game<State, Move>): game is RandomMove<State, Move, R>;
7
- export declare function getRandomAutomaticMoves<State, Move>(game: Game<State, Move>): Move[];
7
+ export declare function randomizeMoves<State, Move>(game: Game<State, Move>, moves: Move[]): Move[];
@@ -1,14 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getRandomAutomaticMoves = exports.hasRandomMove = void 0;
3
+ exports.randomizeMoves = exports.hasRandomMove = void 0;
4
4
  function hasRandomMove(game) {
5
5
  return typeof game.randomize === 'function';
6
6
  }
7
7
  exports.hasRandomMove = hasRandomMove;
8
- function getRandomAutomaticMoves(game) {
9
- var consequence = game.getAutomaticMove ? game.getAutomaticMove() : undefined;
10
- var consequences = consequence ? Array.isArray(consequence) ? consequence : [consequence] : [];
11
- return hasRandomMove(game) ? consequences.map(function (move) { return game.randomize(move); }) : consequences;
8
+ function randomizeMoves(game, moves) {
9
+ return hasRandomMove(game) ? moves.map(function (move) { return game.randomize(move); }) : moves;
12
10
  }
13
- exports.getRandomAutomaticMoves = getRandomAutomaticMoves;
11
+ exports.randomizeMoves = randomizeMoves;
14
12
  //# sourceMappingURL=RandomMove.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RandomMove.js","sourceRoot":"","sources":["../src/RandomMove.ts"],"names":[],"mappings":";;;AAQA,SAAgB,aAAa,CAAiB,IAAuB;IACnE,OAAO,OAAQ,IAAmC,CAAC,SAAS,KAAK,UAAU,CAAA;AAC7E,CAAC;AAFD,sCAEC;AAED,SAAgB,uBAAuB,CAAc,IAAuB;IAC1E,IAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;IAC/E,IAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAChG,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAApB,CAAoB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAA;AAC5F,CAAC;AAJD,0DAIC"}
1
+ {"version":3,"file":"RandomMove.js","sourceRoot":"","sources":["../src/RandomMove.ts"],"names":[],"mappings":";;;AAQA,SAAgB,aAAa,CAAiB,IAAuB;IACnE,OAAO,OAAQ,IAAmC,CAAC,SAAS,KAAK,UAAU,CAAA;AAC7E,CAAC;AAFD,sCAEC;AAED,SAAgB,cAAc,CAAc,IAAuB,EAAE,KAAa;IAChF,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAApB,CAAoB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;AAC9E,CAAC;AAFD,wCAEC"}
@@ -0,0 +1,6 @@
1
+ import Action, { ActionView } from './Action';
2
+ declare type SecretAction<Move = any, MoveView = Move, PlayerId = any> = Action<Move, PlayerId> & {
3
+ secrets: ActionView<MoveView, PlayerId>[];
4
+ };
5
+ export default SecretAction;
6
+ export declare function isSecretAction(action: Action): action is SecretAction;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isSecretAction = void 0;
4
+ function isSecretAction(action) {
5
+ return Array.isArray(action.secrets);
6
+ }
7
+ exports.isSecretAction = isSecretAction;
8
+ //# sourceMappingURL=SecretAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SecretAction.js","sourceRoot":"","sources":["../src/SecretAction.ts"],"names":[],"mappings":";;;AAQA,SAAgB,cAAc,CAAC,MAAc;IAC3C,OAAO,KAAK,CAAC,OAAO,CAAE,MAAuB,CAAC,OAAO,CAAC,CAAA;AACxD,CAAC;AAFD,wCAEC"}
@@ -0,0 +1,5 @@
1
+ import Rules from './Rules';
2
+ export default interface SecretMove<State, Move = string, PlayerId = number> extends Rules<State, Move, PlayerId> {
3
+ keepMoveSecret(move: Move): boolean;
4
+ }
5
+ export declare function hasSecretMove<State, Move, PlayerId>(rules: Rules<State, Move, PlayerId>): rules is SecretMove<State, Move, PlayerId>;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hasSecretMove = void 0;
4
+ function hasSecretMove(rules) {
5
+ var game = rules;
6
+ return typeof game.keepMoveSecret === 'function';
7
+ }
8
+ exports.hasSecretMove = hasSecretMove;
9
+ //# sourceMappingURL=SecretMove.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SecretMove.js","sourceRoot":"","sources":["../src/SecretMove.ts"],"names":[],"mappings":";;;AAMA,SAAgB,aAAa,CAAwB,KAAmC;IACtF,IAAM,IAAI,GAAG,KAA0C,CAAA;IACvD,OAAO,OAAO,IAAI,CAAC,cAAc,KAAK,UAAU,CAAA;AAClD,CAAC;AAHD,sCAGC"}
@@ -1,7 +1,8 @@
1
1
  import Option from './Option';
2
2
  declare type EnumOption<T = any> = Option & {
3
- values: T[];
3
+ values: T[] | ((players: number) => T[]);
4
4
  valueSpec: (value: T) => Option;
5
5
  };
6
6
  export default EnumOption;
7
7
  export declare function isEnumOption<T = any>(option: Option): option is EnumOption<T>;
8
+ export declare function getEnumOptionValues<T>(enumOption: EnumOption<T>, players: number): T[];
@@ -1,8 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isEnumOption = void 0;
3
+ exports.getEnumOptionValues = exports.isEnumOption = void 0;
4
4
  function isEnumOption(option) {
5
- return Array.isArray(option.values);
5
+ var enumOption = option;
6
+ return Array.isArray(enumOption.values) || typeof enumOption.values === 'function';
6
7
  }
7
8
  exports.isEnumOption = isEnumOption;
9
+ function getEnumOptionValues(enumOption, players) {
10
+ return Array.isArray(enumOption.values) ? enumOption.values : enumOption.values(players);
11
+ }
12
+ exports.getEnumOptionValues = getEnumOptionValues;
8
13
  //# sourceMappingURL=EnumOption.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EnumOption.js","sourceRoot":"","sources":["../../src/options/EnumOption.ts"],"names":[],"mappings":";;;AASA,SAAgB,YAAY,CAAU,MAAc;IAClD,OAAO,KAAK,CAAC,OAAO,CAAE,MAAqB,CAAC,MAAM,CAAC,CAAA;AACrD,CAAC;AAFD,oCAEC"}
1
+ {"version":3,"file":"EnumOption.js","sourceRoot":"","sources":["../../src/options/EnumOption.ts"],"names":[],"mappings":";;;AASA,SAAgB,YAAY,CAAU,MAAc;IAClD,IAAM,UAAU,GAAG,MAAoB,CAAA;IACvC,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,OAAO,UAAU,CAAC,MAAM,KAAK,UAAU,CAAA;AACpF,CAAC;AAHD,oCAGC;AAED,SAAgB,mBAAmB,CAAI,UAAyB,EAAE,OAAe;IAC/E,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;AAC1F,CAAC;AAFD,kDAEC"}
@@ -1,5 +1,5 @@
1
1
  import EnumOption from './EnumOption';
2
2
  declare type PlayerIdSpec<Id> = EnumOption<Id> & {
3
- mandatory?: Id | Id[];
3
+ mandatory?: Id | Id[] | false | null | ((players: number) => Id | Id[] | false | null);
4
4
  };
5
5
  export default PlayerIdSpec;
@@ -12,13 +12,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
+ var index_1 = require("./index");
15
16
  var isWithPlayerIdOptions_1 = __importDefault(require("./isWithPlayerIdOptions"));
16
17
  function providePlayerIds(players, optionsSpec) {
17
- var _a, _b;
18
- var potentialIds = ((0, isWithPlayerIdOptions_1.default)(optionsSpec) ? optionsSpec.players.id.values
19
- : Array.from(Array(typeof players === 'number' ? players : players.length).keys()).map(function (id) { return id + 1; }));
20
- var mandatory = (_b = (_a = optionsSpec === null || optionsSpec === void 0 ? void 0 : optionsSpec.players) === null || _a === void 0 ? void 0 : _a.id) === null || _b === void 0 ? void 0 : _b.mandatory;
21
- var mandatoryIds = (mandatory ? Array.isArray(mandatory) ? __spreadArray([], mandatory, true) : [mandatory] : []);
18
+ var numberOfPlayers = typeof players === 'number' ? players : players.length;
19
+ var potentialIds = ((0, isWithPlayerIdOptions_1.default)(optionsSpec) ?
20
+ (0, index_1.getEnumOptionValues)(optionsSpec.players.id, numberOfPlayers)
21
+ : Array.from(Array(numberOfPlayers).keys()).map(function (id) { return id + 1; }));
22
+ var mandatoryIds = getMandatoryIds(numberOfPlayers, optionsSpec);
22
23
  var result = typeof players === 'number' ? Array(players).fill(null) : __spreadArray([], players, true);
23
24
  while (mandatoryIds.some(function (id) { return !result.includes(id); })) {
24
25
  var mandatoryId = mandatoryIds.find(function (id) { return !result.includes(id); });
@@ -35,4 +36,18 @@ function providePlayerIds(players, optionsSpec) {
35
36
  return result;
36
37
  }
37
38
  exports.default = providePlayerIds;
39
+ function getMandatoryIds(players, optionsSpec) {
40
+ var _a, _b;
41
+ if (!(0, isWithPlayerIdOptions_1.default)(optionsSpec))
42
+ return [];
43
+ var mandatory = (_b = (_a = optionsSpec === null || optionsSpec === void 0 ? void 0 : optionsSpec.players) === null || _a === void 0 ? void 0 : _a.id) === null || _b === void 0 ? void 0 : _b.mandatory;
44
+ if (typeof mandatory === 'function') {
45
+ mandatory = mandatory(players);
46
+ }
47
+ if (!mandatory)
48
+ return [];
49
+ if (Array.isArray(mandatory))
50
+ return mandatory;
51
+ return [mandatory];
52
+ }
38
53
  //# sourceMappingURL=providePlayerIds.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"providePlayerIds.js","sourceRoot":"","sources":["../../src/options/providePlayerIds.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kFAA2D;AAS3D,SAAwB,gBAAgB,CAAc,OAA+B,EAAE,WAAiB;;IACtG,IAAM,YAAY,GAAG,CAAC,IAAA,+BAAqB,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM;QACtF,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,UAAA,EAAE,IAAI,OAAA,EAAE,GAAG,CAAC,EAAN,CAAM,CAAC,CAAS,CAAA;IAC/G,IAAI,SAAS,GAAG,MAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,0CAAE,EAAE,0CAAE,SAAS,CAAA;IACnD,IAAM,YAAY,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,mBAAK,SAAS,QAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAS,CAAA;IACvG,IAAM,MAAM,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAK,OAAO,OAAC,CAAA;IAErF,OAAO,YAAY,CAAC,IAAI,CAAC,UAAA,EAAE,IAAI,OAAA,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAApB,CAAoB,CAAC,EAAE;QACpD,IAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,UAAA,EAAE,IAAI,OAAA,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAApB,CAAoB,CAAE,CAAA;QAClE,IAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,UAAC,EAAE,EAAE,KAAK,IAAK,OAAA,CAAC,EAAC,EAAE,IAAA,EAAE,KAAK,OAAA,EAAC,CAAC,EAAb,CAAa,CAAC,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAA5B,CAA4B,CAAC,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,KAAK,EAAP,CAAO,CAAC,CAAA;QAC7H,IAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAA;QACnF,MAAM,CAAC,KAAK,CAAC,GAAG,WAAW,CAAA;KAC5B;IAED,IAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,UAAA,EAAE,IAAI,OAAA,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAApB,CAAoB,CAAC,CAAA;IACpE,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QAC5B,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;QAC/D,IAAM,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;QAC1C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;KACrC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAtBD,mCAsBC"}
1
+ {"version":3,"file":"providePlayerIds.js","sourceRoot":"","sources":["../../src/options/providePlayerIds.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gamepark/rules-api",
3
- "version": "5.13.0",
3
+ "version": "5.15.0",
4
4
  "description": "API to implement the rules of a board game",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -27,5 +27,5 @@
27
27
  "devDependencies": {
28
28
  "i18next": ">=21.3.0"
29
29
  },
30
- "gitHead": "c10930dcffd1a42345104737cc44333464c92164"
30
+ "gitHead": "cc44eab343657650898ac13e9c171858a2df2f2c"
31
31
  }