@gamepark/rules-api 5.15.1 → 5.20.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.
Files changed (102) hide show
  1. package/dist/Action.d.ts +5 -5
  2. package/dist/Action.js +19 -19
  3. package/dist/Action.js.map +1 -1
  4. package/dist/ApplyAutomaticMoves.d.ts +2 -0
  5. package/dist/ApplyAutomaticMoves.js +25 -0
  6. package/dist/ApplyAutomaticMoves.js.map +1 -0
  7. package/dist/Dummy.js +1 -17
  8. package/dist/Dummy.js.map +1 -1
  9. package/dist/Eliminations.d.ts +2 -3
  10. package/dist/Eliminations.js +3 -3
  11. package/dist/Eliminations.js.map +1 -1
  12. package/dist/IncompleteInformation.d.ts +8 -8
  13. package/dist/IncompleteInformation.js +18 -12
  14. package/dist/IncompleteInformation.js.map +1 -1
  15. package/dist/LoopWithFuse.d.ts +4 -0
  16. package/dist/LoopWithFuse.js +15 -0
  17. package/dist/LoopWithFuse.js.map +1 -0
  18. package/dist/RandomMove.d.ts +6 -6
  19. package/dist/RandomMove.js +5 -4
  20. package/dist/RandomMove.js.map +1 -1
  21. package/dist/Rules.d.ts +11 -3
  22. package/dist/Rules.js +68 -0
  23. package/dist/Rules.js.map +1 -1
  24. package/dist/Undo.d.ts +2 -3
  25. package/dist/Undo.js +3 -2
  26. package/dist/Undo.js.map +1 -1
  27. package/dist/index.d.ts +2 -5
  28. package/dist/index.js +7 -6
  29. package/dist/index.js.map +1 -1
  30. package/package.json +2 -2
  31. package/dist/ActionWithViews.d.ts +0 -11
  32. package/dist/ActionWithViews.js +0 -33
  33. package/dist/ActionWithViews.js.map +0 -1
  34. package/dist/GameOptions.d.ts +0 -3
  35. package/dist/GameOptions.js +0 -3
  36. package/dist/GameOptions.js.map +0 -1
  37. package/dist/PlayerAction.d.ts +0 -10
  38. package/dist/PlayerAction.js +0 -28
  39. package/dist/PlayerAction.js.map +0 -1
  40. package/dist/SecretAction.d.ts +0 -6
  41. package/dist/SecretAction.js +0 -8
  42. package/dist/SecretAction.js.map +0 -1
  43. package/dist/SecretMove.d.ts +0 -5
  44. package/dist/SecretMove.js +0 -9
  45. package/dist/SecretMove.js.map +0 -1
  46. package/dist/UndoCreator.d.ts +0 -4
  47. package/dist/UndoCreator.js +0 -3
  48. package/dist/UndoCreator.js.map +0 -1
  49. package/dist/_Game.d.ts +0 -17
  50. package/dist/_Game.js +0 -23
  51. package/dist/_Game.js.map +0 -1
  52. package/dist/_Rules.d.ts +0 -11
  53. package/dist/_Rules.js +0 -3
  54. package/dist/_Rules.js.map +0 -1
  55. package/dist/options/BooleanOption.d.ts +0 -6
  56. package/dist/options/BooleanOption.js +0 -3
  57. package/dist/options/BooleanOption.js.map +0 -1
  58. package/dist/options/BooleanOptionDescription.d.ts +0 -5
  59. package/dist/options/BooleanOptionDescription.js +0 -3
  60. package/dist/options/BooleanOptionDescription.js.map +0 -1
  61. package/dist/options/BooleanOptionSpec.d.ts +0 -4
  62. package/dist/options/BooleanOptionSpec.js +0 -3
  63. package/dist/options/BooleanOptionSpec.js.map +0 -1
  64. package/dist/options/EnumOptionSpec.d.ts +0 -6
  65. package/dist/options/EnumOptionSpec.js +0 -3
  66. package/dist/options/EnumOptionSpec.js.map +0 -1
  67. package/dist/options/GameOptions.d.ts +0 -6
  68. package/dist/options/GameOptions.js +0 -3
  69. package/dist/options/GameOptions.js.map +0 -1
  70. package/dist/options/GameOptionsOf.d.ts +0 -5
  71. package/dist/options/GameOptionsOf.js +0 -3
  72. package/dist/options/GameOptionsOf.js.map +0 -1
  73. package/dist/options/GameOptionsSpecs.d.ts +0 -5
  74. package/dist/options/GameOptionsSpecs.js +0 -3
  75. package/dist/options/GameOptionsSpecs.js.map +0 -1
  76. package/dist/options/IntegerOptionDescription.d.ts +0 -7
  77. package/dist/options/IntegerOptionDescription.js +0 -3
  78. package/dist/options/IntegerOptionDescription.js.map +0 -1
  79. package/dist/options/ListOptionDescription.d.ts +0 -8
  80. package/dist/options/ListOptionDescription.js +0 -3
  81. package/dist/options/ListOptionDescription.js.map +0 -1
  82. package/dist/options/OptionDescription.d.ts +0 -4
  83. package/dist/options/OptionDescription.js +0 -3
  84. package/dist/options/OptionDescription.js.map +0 -1
  85. package/dist/options/OptionDescriptionOf.d.ts +0 -4
  86. package/dist/options/OptionDescriptionOf.js +0 -3
  87. package/dist/options/OptionDescriptionOf.js.map +0 -1
  88. package/dist/options/OptionSpec.d.ts +0 -4
  89. package/dist/options/OptionSpec.js +0 -3
  90. package/dist/options/OptionSpec.js.map +0 -1
  91. package/dist/options/OptionType.d.ts +0 -6
  92. package/dist/options/OptionType.js +0 -10
  93. package/dist/options/OptionType.js.map +0 -1
  94. package/dist/options/OptionsDescription.d.ts +0 -23
  95. package/dist/options/OptionsDescription.js +0 -53
  96. package/dist/options/OptionsDescription.js.map +0 -1
  97. package/dist/options/PlayerIdsSpec.d.ts +0 -7
  98. package/dist/options/PlayerIdsSpec.js +0 -3
  99. package/dist/options/PlayerIdsSpec.js.map +0 -1
  100. package/dist/options/getPlayerName.d.ts +0 -4
  101. package/dist/options/getPlayerName.js +0 -16
  102. package/dist/options/getPlayerName.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"ActionWithViews.js","sourceRoot":"","sources":["../src/ActionWithViews.ts"],"names":[],"mappings":";;;AAAA,iCAAwE;AAaxE,SAAgB,mBAAmB,CACjC,IAAkE,EAAE,IAAU,EAAE,QAAkB,EAAE,UAAsB;IAE1H,IAAM,cAAc,GAA8C;QAChE,MAAM,EAAE,EAAC,QAAQ,UAAA,EAAE,IAAI,MAAA,EAAE,YAAY,EAAE,EAAE,EAAC;QAC1C,KAAK,EAAE,EAAE;KACV,CAAA;IACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAE3C,sCAAsC;IACtC,KAAwB,UAAU,EAAV,yBAAU,EAAV,wBAAU,EAAV,IAAU,EAAE;QAA/B,IAAM,SAAS,mBAAA;QAClB,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,EAAC,SAAS,WAAA,EAAE,MAAM,EAAE,EAAC,QAAQ,UAAA,EAAE,IAAI,EAAE,mBAAW,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,YAAY,EAAE,EAAE,EAAC,EAAC,CAAC,CAAA;KACvH;IACD,qCAAqC;IACrC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,EAAC,QAAQ,UAAA,EAAE,IAAI,EAAE,mBAAW,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,YAAY,EAAE,EAAE,EAAC,EAAC,CAAC,CAAA;IAEhG,oBAAY,CAAC;QACX,IAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAC/E,IAAI,WAAW,EAAE;YACf,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;YAClD,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YACpD,KAAmB,UAAoB,EAApB,KAAA,cAAc,CAAC,KAAK,EAApB,cAAoB,EAApB,IAAoB,EAAE;gBAApC,IAAM,IAAI,SAAA;gBACb,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,mBAAW,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;aAC9E;SACF;QACD,OAAO,WAAW,KAAK,SAAS,CAAA;IAClC,CAAC,EAAE,EAAC,OAAO,EAAE,cAAM,OAAA,IAAI,KAAK,CAAC,iEAA+D,IAAI,YAAO,IAAI,CAAC,KAAO,CAAC,EAAjG,CAAiG,EAAC,CAAC,CAAA;IACtH,OAAO,cAAc,CAAA;AACvB,CAAC;AA5BD,kDA4BC"}
@@ -1,3 +0,0 @@
1
- export default interface GameOptions<PlayerId = number> {
2
- playerIds?: PlayerId[] | ((players: number) => PlayerId[]);
3
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=GameOptions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GameOptions.js","sourceRoot":"","sources":["../src/GameOptions.ts"],"names":[],"mappings":""}
@@ -1,10 +0,0 @@
1
- import Action from './Action';
2
- import Game from './Game';
3
- declare type PlayerAction<Move = any, PlayerId = any> = Action<Move> & {
4
- playerId: PlayerId;
5
- };
6
- export default PlayerAction;
7
- export declare function playAction<State, Move>(game: Game<State, Move>, move: Move): Action<Move>;
8
- export declare function playAction<State, Move, PlayerId>(game: Game<State, Move>, move: Move, playerId: PlayerId): PlayerAction<Move, PlayerId>;
9
- export declare function replayAction<State, Move>(game: Game<State, Move>, action: Action<Move>): void;
10
- export declare function replayActions<State, Move>(game: Game<State, Move>, actions: Action<Move>[]): void;
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.replayActions = exports.replayAction = exports.playAction = void 0;
4
- var Game_1 = require("./Game");
5
- function playAction(game, move, playerId) {
6
- var action = { playerId: playerId, move: move, consequences: [] };
7
- game.play(JSON.parse(JSON.stringify(move)));
8
- Game_1.loopWithFuse(function () {
9
- var consequence = game.getAutomaticMove ? game.getAutomaticMove() : undefined;
10
- if (consequence) {
11
- game.play(JSON.parse(JSON.stringify(consequence)));
12
- action.consequences.push(consequence);
13
- }
14
- return consequence !== undefined;
15
- }, { errorFn: function () { return new Error("Infinite loop detected while applying automatic moves after " + move + " in " + game.state); } });
16
- return action;
17
- }
18
- exports.playAction = playAction;
19
- function replayAction(game, action) {
20
- game.play(JSON.parse(JSON.stringify(action.move)));
21
- action.consequences.forEach(function (move) { return game.play(JSON.parse(JSON.stringify(move))); });
22
- }
23
- exports.replayAction = replayAction;
24
- function replayActions(game, actions) {
25
- actions.forEach(function (action) { return replayAction(game, action); });
26
- }
27
- exports.replayActions = replayActions;
28
- //# sourceMappingURL=PlayerAction.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PlayerAction.js","sourceRoot":"","sources":["../src/PlayerAction.ts"],"names":[],"mappings":";;;AACA,+BAAyC;AAUzC,SAAgB,UAAU,CAAwB,IAAuB,EAAE,IAAU,EAAE,QAAmB;IACxG,IAAM,MAAM,GAAgD,EAAC,QAAQ,UAAA,EAAE,IAAI,MAAA,EAAE,YAAY,EAAE,EAAE,EAAC,CAAA;IAC9F,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC3C,mBAAY,CAAC;QACX,IAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAC/E,IAAI,WAAW,EAAE;YACf,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;YAClD,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;SACtC;QACD,OAAO,WAAW,KAAK,SAAS,CAAA;IAClC,CAAC,EAAE,EAAC,OAAO,EAAE,cAAM,OAAA,IAAI,KAAK,CAAC,iEAA+D,IAAI,YAAO,IAAI,CAAC,KAAO,CAAC,EAAjG,CAAiG,EAAC,CAAC,CAAA;IACtH,OAAO,MAAM,CAAA;AACf,CAAC;AAZD,gCAYC;AAED,SAAgB,YAAY,CAAc,IAAuB,EAAE,MAAoB;IACrF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAClD,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAA3C,CAA2C,CAAC,CAAA;AAClF,CAAC;AAHD,oCAGC;AAED,SAAgB,aAAa,CAAc,IAAuB,EAAE,OAAuB;IACzF,OAAO,CAAC,OAAO,CAAC,UAAA,MAAM,IAAI,OAAA,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,EAA1B,CAA0B,CAAC,CAAA;AACvD,CAAC;AAFD,sCAEC"}
@@ -1,6 +0,0 @@
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;
@@ -1,8 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,5 +0,0 @@
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>;
@@ -1,9 +0,0 @@
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
@@ -1 +0,0 @@
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,4 +0,0 @@
1
- import Undo from './Undo';
2
- export default interface UndoCreator<State, Move = string, PlayerId = number> {
3
- new (state: State): Undo<State, Move, PlayerId>;
4
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=UndoCreator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UndoCreator.js","sourceRoot":"","sources":["../src/UndoCreator.ts"],"names":[],"mappings":""}
package/dist/_Game.d.ts DELETED
@@ -1,17 +0,0 @@
1
- import Action from './Action';
2
- import _Rules from './_Rules';
3
- export default abstract class _Game<State = any, Move = any, PlayerId = any> implements _Rules<Move, PlayerId> {
4
- state: State;
5
- protected constructor(game: State);
6
- abstract getPlayerIds(): PlayerId[];
7
- abstract isActive(playerId: PlayerId): boolean;
8
- abstract getActivePlayers(): PlayerId[];
9
- abstract isLegalMove(playerId: PlayerId, move: Move): boolean;
10
- abstract getLegalMoves?(playerId: PlayerId): Move[];
11
- abstract play(move: Move, playerId?: PlayerId): void;
12
- getAutomaticMove(): Move | void;
13
- canUndo(_action: Action<Move, PlayerId>, _consecutiveActions: Action<Move, PlayerId>[]): boolean;
14
- static getPlayerName(playerId: any, t: (name: string, values?: {
15
- [key: string]: any;
16
- }) => string): string;
17
- }
package/dist/_Game.js DELETED
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var _Game = /** @class */ (function () {
4
- function _Game(game) {
5
- this.state = game;
6
- }
7
- _Game.prototype.getAutomaticMove = function () {
8
- };
9
- _Game.prototype.canUndo = function (_action, _consecutiveActions) {
10
- return false;
11
- };
12
- _Game.getPlayerName = function (playerId, t) {
13
- if (typeof playerId === 'number') {
14
- return t('Player {number}', { number: playerId });
15
- }
16
- else {
17
- return t(playerId);
18
- }
19
- };
20
- return _Game;
21
- }());
22
- exports.default = _Game;
23
- //# sourceMappingURL=_Game.js.map
package/dist/_Game.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"_Game.js","sourceRoot":"","sources":["../src/_Game.ts"],"names":[],"mappings":";;AAGA;IAGE,eAAsB,IAAW;QAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;IACnB,CAAC;IAcD,gCAAgB,GAAhB;IACA,CAAC;IAED,uBAAO,GAAP,UAAQ,OAA+B,EAAE,mBAA6C;QACpF,OAAO,KAAK,CAAA;IACd,CAAC;IAEM,mBAAa,GAApB,UAAqB,QAAa,EAAE,CAA4D;QAC9F,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAChC,OAAO,CAAC,CAAC,iBAAiB,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,CAAC,CAAA;SAChD;aAAM;YACL,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAA;SACnB;IACH,CAAC;IACH,YAAC;AAAD,CAAC,AAjCD,IAiCC"}
package/dist/_Rules.d.ts DELETED
@@ -1,11 +0,0 @@
1
- import Action from './Action';
2
- export default interface _Rules<Move = any, PlayerId = any> {
3
- getPlayerIds(): PlayerId[];
4
- getActivePlayers(): PlayerId[];
5
- isActive(playerId: PlayerId): boolean;
6
- isLegalMove(playerId: PlayerId, move: Move): boolean;
7
- getLegalMoves?(playerId: PlayerId): Move[];
8
- play(move: Move, playerId?: PlayerId): void;
9
- getAutomaticMove(): Move | void;
10
- canUndo(_action: Action<Move, PlayerId>, _consecutiveActions: Action<Move, PlayerId>[]): boolean;
11
- }
package/dist/_Rules.js DELETED
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=_Rules.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_Rules.js","sourceRoot":"","sources":["../src/_Rules.ts"],"names":[],"mappings":""}
@@ -1,6 +0,0 @@
1
- import { TFunction } from 'i18next';
2
- declare type BooleanOption = {
3
- label: (t: TFunction) => string;
4
- help?: (t: TFunction) => string;
5
- };
6
- export default BooleanOption;
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=BooleanOption.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BooleanOption.js","sourceRoot":"","sources":["../../src/options/BooleanOption.ts"],"names":[],"mappings":""}
@@ -1,5 +0,0 @@
1
- import OptionDescription from './OptionDescription';
2
- import OptionType from './OptionType';
3
- export default interface BooleanOptionDescription extends OptionDescription {
4
- type: typeof OptionType.BOOLEAN;
5
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=BooleanOptionDescription.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BooleanOptionDescription.js","sourceRoot":"","sources":["../../src/options/BooleanOptionDescription.ts"],"names":[],"mappings":""}
@@ -1,4 +0,0 @@
1
- import { TFunction } from 'i18next';
2
- export default interface BooleanOptionSpec {
3
- label: (t: TFunction) => string;
4
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=BooleanOptionSpec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BooleanOptionSpec.js","sourceRoot":"","sources":["../../src/options/BooleanOptionSpec.ts"],"names":[],"mappings":""}
@@ -1,6 +0,0 @@
1
- import { TFunction } from 'i18next';
2
- export default interface EnumOptionSpec<Enum = any> {
3
- label: (t: TFunction) => string;
4
- values: Enum[];
5
- valueLabel: (value: Enum, t: TFunction) => string;
6
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=EnumOptionSpec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EnumOptionSpec.js","sourceRoot":"","sources":["../../src/options/EnumOptionSpec.ts"],"names":[],"mappings":""}
@@ -1,6 +0,0 @@
1
- declare type GameOptions<Options = {}, PlayerOptions = {
2
- id?: any;
3
- }> = Options & {
4
- players: PlayerOptions[];
5
- };
6
- export default GameOptions;
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=GameOptions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GameOptions.js","sourceRoot":"","sources":["../../src/options/GameOptions.ts"],"names":[],"mappings":""}
@@ -1,5 +0,0 @@
1
- import OptionsSpec, { ListOption } from './OptionsSpec';
2
- declare type GameOptionsOf<Options extends OptionsSpec> = {
3
- [key in keyof Omit<Options, 'players'>]: [key] extends [ListOption<infer T>] ? T : boolean;
4
- };
5
- export default GameOptionsOf;
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=GameOptionsOf.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GameOptionsOf.js","sourceRoot":"","sources":["../../src/options/GameOptionsOf.ts"],"names":[],"mappings":""}
@@ -1,5 +0,0 @@
1
- import OptionSpec from './OptionSpec';
2
- declare type GameOptionsSpec = {
3
- [key in Exclude<string, 'player'>]: OptionSpec;
4
- };
5
- export default GameOptionsSpec;
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=GameOptionsSpecs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GameOptionsSpecs.js","sourceRoot":"","sources":["../../src/options/GameOptionsSpecs.ts"],"names":[],"mappings":""}
@@ -1,7 +0,0 @@
1
- import OptionDescription from './OptionDescription';
2
- import OptionType from './OptionType';
3
- export default interface IntegerOptionDescription extends OptionDescription {
4
- type: typeof OptionType.INTEGER;
5
- min: number;
6
- max: number;
7
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=IntegerOptionDescription.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IntegerOptionDescription.js","sourceRoot":"","sources":["../../src/options/IntegerOptionDescription.ts"],"names":[],"mappings":""}
@@ -1,8 +0,0 @@
1
- import { TFunction } from 'i18next';
2
- import OptionDescription from './OptionDescription';
3
- import OptionType from './OptionType';
4
- export default interface ListOptionDescription<T = any> extends OptionDescription {
5
- type: typeof OptionType.LIST;
6
- values: T[];
7
- getValueLabel: (value: T, t: TFunction) => string;
8
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=ListOptionDescription.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ListOptionDescription.js","sourceRoot":"","sources":["../../src/options/ListOptionDescription.ts"],"names":[],"mappings":""}
@@ -1,4 +0,0 @@
1
- import { TFunction } from 'i18next';
2
- export default interface OptionDescription {
3
- getLabel: (t: TFunction) => string;
4
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=OptionDescription.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OptionDescription.js","sourceRoot":"","sources":["../../src/options/OptionDescription.ts"],"names":[],"mappings":""}
@@ -1,4 +0,0 @@
1
- import BooleanOptionDescription from './BooleanOptionDescription';
2
- import ListOptionDescription from './ListOptionDescription';
3
- declare type OptionDescriptionOf<T> = [T] extends [boolean] ? BooleanOptionDescription : ListOptionDescription<T>;
4
- export default OptionDescriptionOf;
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=OptionDescriptionOf.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OptionDescriptionOf.js","sourceRoot":"","sources":["../../src/options/OptionDescriptionOf.ts"],"names":[],"mappings":""}
@@ -1,4 +0,0 @@
1
- import BooleanOptionSpec from './BooleanOptionSpec';
2
- import EnumOptionSpec from './EnumOptionSpec';
3
- declare type OptionSpec = BooleanOptionSpec | EnumOptionSpec;
4
- export default OptionSpec;
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=OptionSpec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OptionSpec.js","sourceRoot":"","sources":["../../src/options/OptionSpec.ts"],"names":[],"mappings":""}
@@ -1,6 +0,0 @@
1
- declare enum OptionType {
2
- BOOLEAN = 0,
3
- LIST = 1,
4
- INTEGER = 2
5
- }
6
- export default OptionType;
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var OptionType;
4
- (function (OptionType) {
5
- OptionType[OptionType["BOOLEAN"] = 0] = "BOOLEAN";
6
- OptionType[OptionType["LIST"] = 1] = "LIST";
7
- OptionType[OptionType["INTEGER"] = 2] = "INTEGER";
8
- })(OptionType || (OptionType = {}));
9
- exports.default = OptionType;
10
- //# sourceMappingURL=OptionType.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OptionType.js","sourceRoot":"","sources":["../../src/options/OptionType.ts"],"names":[],"mappings":";;AAAA,IAAK,UAEJ;AAFD,WAAK,UAAU;IACb,iDAAO,CAAA;IAAE,2CAAI,CAAA;IAAE,iDAAO,CAAA;AACxB,CAAC,EAFI,UAAU,KAAV,UAAU,QAEd;AAED,kBAAe,UAAU,CAAA"}
@@ -1,23 +0,0 @@
1
- import ListOptionDescription from './ListOptionDescription';
2
- import OptionDescriptionOf from './OptionDescriptionOf';
3
- declare type OptionsDescription<GameOptions = {
4
- [key in Exclude<string, 'player'>]: any;
5
- }, PlayerOptions = {
6
- [key in Exclude<string, 'id'>]: any;
7
- } & {
8
- id?: ListOptionDescription;
9
- }> = {
10
- [key in keyof GameOptions]: OptionDescriptionOf<GameOptions[key]>;
11
- } & {
12
- players: {
13
- [key in keyof PlayerOptions]: OptionDescriptionOf<PlayerOptions[key]>;
14
- } & {
15
- id?: ListOptionDescription;
16
- };
17
- };
18
- export default OptionsDescription;
19
- export declare function providePlayerIds<GameOptions, PlayerOptions extends {
20
- id?: any;
21
- }>(options?: OptionsDescription<GameOptions, PlayerOptions>, players?: PlayerOptions[] | number): (PlayerOptions & {
22
- id: any;
23
- })[];
@@ -1,53 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.providePlayerIds = void 0;
7
- var lodash_shuffle_1 = __importDefault(require("lodash.shuffle"));
8
- var index_1 = require("../index");
9
- function providePlayerIds(options, players) {
10
- var ids = lodash_shuffle_1.default(getIds(options, Array.isArray(players) ? players.length : players));
11
- if (Array.isArray(players)) {
12
- var _loop_1 = function (player) {
13
- if (player.id !== undefined) {
14
- var idIndex = ids.findIndex(function (id) { return player.id === id; });
15
- if (idIndex === -1) {
16
- console.error("Unexpected player id: " + player.id + ", should be one of: " + ids);
17
- }
18
- else {
19
- ids.splice(idIndex, 1);
20
- }
21
- }
22
- };
23
- for (var _i = 0, players_1 = players; _i < players_1.length; _i++) {
24
- var player = players_1[_i];
25
- _loop_1(player);
26
- }
27
- }
28
- if (!players)
29
- players = ids.length;
30
- if (typeof players === 'number')
31
- players = Array.from({ length: players }, Object);
32
- for (var _a = 0, players_2 = players; _a < players_2.length; _a++) {
33
- var player = players_2[_a];
34
- if (player.id === undefined) {
35
- player.id = ids.shift();
36
- }
37
- }
38
- return players;
39
- }
40
- exports.providePlayerIds = providePlayerIds;
41
- function getIds(options, players) {
42
- var _a, _b;
43
- if (((_b = (_a = options === null || options === void 0 ? void 0 : options.players) === null || _a === void 0 ? void 0 : _a.id) === null || _b === void 0 ? void 0 : _b.type) === index_1.OptionType.LIST) {
44
- return options.players.id.values;
45
- }
46
- else if (players) {
47
- return Array.from(Array(players).keys());
48
- }
49
- else {
50
- return [0, 1];
51
- }
52
- }
53
- //# sourceMappingURL=OptionsDescription.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OptionsDescription.js","sourceRoot":"","sources":["../../src/options/OptionsDescription.ts"],"names":[],"mappings":";;;;;;AAAA,kEAAoC;AACpC,kCAAmC;AAcnC,SAAgB,gBAAgB,CAAkD,OAAwD,EAAE,OAAkC;IAC5K,IAAM,GAAG,GAAG,wBAAO,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;IACvF,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gCACf,MAAM;YACf,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS,EAAE;gBAC3B,IAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,UAAA,EAAE,IAAI,OAAA,MAAM,CAAC,EAAE,KAAK,EAAE,EAAhB,CAAgB,CAAC,CAAA;gBACrD,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE;oBAClB,OAAO,CAAC,KAAK,CAAC,2BAAyB,MAAM,CAAC,EAAE,4BAAuB,GAAK,CAAC,CAAA;iBAC9E;qBAAM;oBACL,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;iBACvB;aACF;;QARH,KAAqB,UAAO,EAAP,mBAAO,EAAP,qBAAO,EAAP,IAAO;YAAvB,IAAM,MAAM,gBAAA;oBAAN,MAAM;SAShB;KACF;IACD,IAAI,CAAC,OAAO;QAAE,OAAO,GAAG,GAAG,CAAC,MAAM,CAAA;IAClC,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,OAAO,EAAC,EAAE,MAAM,CAAC,CAAA;IAChF,KAAqB,UAAO,EAAP,mBAAO,EAAP,qBAAO,EAAP,IAAO,EAAE;QAAzB,IAAM,MAAM,gBAAA;QACf,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS,EAAE;YAC3B,MAAM,CAAC,EAAE,GAAG,GAAG,CAAC,KAAK,EAAE,CAAA;SACxB;KACF;IACD,OAAO,OAAwC,CAAA;AACjD,CAAC;AAtBD,4CAsBC;AAED,SAAS,MAAM,CAAkD,OAAwD,EAAE,OAAgB;;IACzI,IAAI,CAAA,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,0CAAE,EAAE,0CAAE,IAAI,MAAK,kBAAU,CAAC,IAAI,EAAE;QAClD,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAA;KACjC;SAAM,IAAI,OAAO,EAAE;QAClB,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;KACzC;SAAM;QACL,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;KACd;AACH,CAAC"}
@@ -1,7 +0,0 @@
1
- import { TFunction } from 'i18next';
2
- export default interface PlayerIdsSpec<PlayerId = any> {
3
- label?: (t: TFunction) => string;
4
- values?: PlayerId[];
5
- valueLabel?: (value: PlayerId, t: TFunction) => string;
6
- mandatoryIds?: PlayerId | PlayerId[];
7
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=PlayerIdsSpec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PlayerIdsSpec.js","sourceRoot":"","sources":["../../src/options/PlayerIdsSpec.ts"],"names":[],"mappings":""}
@@ -1,4 +0,0 @@
1
- import { TFunction } from 'i18next';
2
- import OptionsSpec from './OptionsSpec';
3
- import WithIdOption from './WithIdOption';
4
- export default function getPlayerName<Id, P extends WithIdOption<Id>, Options>(id: Id, t: TFunction, optionsSpec?: OptionsSpec<Options>): string;
@@ -1,16 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- var isWithPlayerIdOptions_1 = __importDefault(require("./isWithPlayerIdOptions"));
7
- function getPlayerName(id, t, optionsSpec) {
8
- if (optionsSpec && isWithPlayerIdOptions_1.default(optionsSpec)) {
9
- return optionsSpec.players.id.valueLabel(id, t);
10
- }
11
- else {
12
- return t('Player {number}', { number: id });
13
- }
14
- }
15
- exports.default = getPlayerName;
16
- //# sourceMappingURL=getPlayerName.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getPlayerName.js","sourceRoot":"","sources":["../../src/options/getPlayerName.ts"],"names":[],"mappings":";;;;;AACA,kFAA2D;AAI3D,SAAwB,aAAa,CAA0C,EAAM,EAAE,CAAY,EAAE,WAAkC;IACrI,IAAI,WAAW,IAAI,+BAAqB,CAAiB,WAAW,CAAC,EAAE;QACrE,OAAO,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;KAChD;SAAM;QACL,OAAO,CAAC,CAAC,iBAAiB,EAAE,EAAC,MAAM,EAAE,EAAE,EAAC,CAAC,CAAA;KAC1C;AACH,CAAC;AAND,gCAMC"}