@gamepark/rules-api 6.10.0 → 6.11.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 (79) hide show
  1. package/dist/Action.d.ts +4 -4
  2. package/dist/Action.js +3 -0
  3. package/dist/Action.js.map +1 -1
  4. package/dist/Competitive.d.ts +1 -1
  5. package/dist/Robot.d.ts +1 -1
  6. package/dist/UnpredictableMove.d.ts +1 -1
  7. package/dist/material/HiddenMaterialRules.d.ts +3 -2
  8. package/dist/material/HiddenMaterialRules.js +3 -1
  9. package/dist/material/HiddenMaterialRules.js.map +1 -1
  10. package/dist/material/MaterialGame.d.ts +1 -1
  11. package/dist/material/MaterialGameSetup.js +2 -2
  12. package/dist/material/MaterialGameSetup.js.map +1 -1
  13. package/dist/material/MaterialRules.d.ts +3 -2
  14. package/dist/material/MaterialRules.js +27 -5
  15. package/dist/material/MaterialRules.js.map +1 -1
  16. package/dist/material/SecretMaterialRules.d.ts +4 -3
  17. package/dist/material/SecretMaterialRules.js +3 -1
  18. package/dist/material/SecretMaterialRules.js.map +1 -1
  19. package/dist/material/items/Material.d.ts +14 -10
  20. package/dist/material/items/Material.js +71 -11
  21. package/dist/material/items/Material.js.map +1 -1
  22. package/dist/material/items/MaterialItem.d.ts +2 -5
  23. package/dist/material/items/MaterialMutator.d.ts +2 -3
  24. package/dist/material/items/MaterialMutator.js +14 -17
  25. package/dist/material/items/MaterialMutator.js.map +1 -1
  26. package/dist/material/location/Location.d.ts +3 -2
  27. package/dist/material/location/strategy/LocationStrategy.d.ts +1 -1
  28. package/dist/material/moves/CustomMove.d.ts +1 -1
  29. package/dist/material/moves/MaterialMove.d.ts +3 -3
  30. package/dist/material/moves/items/CreateItem.d.ts +1 -1
  31. package/dist/material/moves/items/DeleteItem.d.ts +1 -1
  32. package/dist/material/moves/items/ItemMove.d.ts +7 -6
  33. package/dist/material/moves/items/ItemMoveType.d.ts +2 -1
  34. package/dist/material/moves/items/ItemMoveType.js +1 -0
  35. package/dist/material/moves/items/ItemMoveType.js.map +1 -1
  36. package/dist/material/moves/items/MoveItem.d.ts +5 -9
  37. package/dist/material/moves/items/MoveItem.js +2 -12
  38. package/dist/material/moves/items/MoveItem.js.map +1 -1
  39. package/dist/material/moves/items/Roll.d.ts +11 -0
  40. package/dist/material/moves/items/Roll.js +16 -0
  41. package/dist/material/moves/items/Roll.js.map +1 -0
  42. package/dist/material/moves/items/RollItem.d.ts +11 -0
  43. package/dist/material/moves/items/RollItem.js +16 -0
  44. package/dist/material/moves/items/RollItem.js.map +1 -0
  45. package/dist/material/moves/items/Shuffle.d.ts +2 -2
  46. package/dist/material/moves/items/index.d.ts +1 -0
  47. package/dist/material/moves/items/index.js +1 -0
  48. package/dist/material/moves/items/index.js.map +1 -1
  49. package/dist/material/moves/local/CloseTutorialPopup.d.ts +1 -1
  50. package/dist/material/moves/local/DisplayRules.d.ts +7 -7
  51. package/dist/material/moves/local/DropItem.d.ts +2 -2
  52. package/dist/material/moves/local/LocalMove.d.ts +1 -1
  53. package/dist/material/moves/local/SetTutorialStep.d.ts +1 -1
  54. package/dist/material/moves/rules/EndGame.d.ts +1 -1
  55. package/dist/material/moves/rules/EndPlayerTurn.d.ts +1 -1
  56. package/dist/material/moves/rules/RuleMove.d.ts +2 -2
  57. package/dist/material/moves/rules/StartPlayerTurn.d.ts +1 -1
  58. package/dist/material/moves/rules/StartRule.d.ts +1 -1
  59. package/dist/material/moves/rules/StartSimultaneousRule.d.ts +1 -1
  60. package/dist/material/rules/MaterialRulesMovesBuilder.js +1 -1
  61. package/dist/material/rules/MaterialRulesMovesBuilder.js.map +1 -1
  62. package/dist/material/rules/RuleStep.d.ts +1 -1
  63. package/dist/options/EnumOption.d.ts +1 -1
  64. package/dist/options/Option.d.ts +1 -1
  65. package/dist/options/OptionSpecOf.d.ts +2 -2
  66. package/dist/options/OptionsSpec.d.ts +1 -1
  67. package/dist/options/PlayerEnumOption.d.ts +2 -2
  68. package/dist/options/PlayersOptionsSpec.d.ts +1 -1
  69. package/dist/options/WithIdOption.d.ts +1 -1
  70. package/dist/options/WithPlayerOptionsSpec.d.ts +1 -1
  71. package/dist/options/WithPlayersOptions.d.ts +1 -1
  72. package/dist/utils/grid.util.d.ts +1 -1
  73. package/dist/utils/index.d.ts +1 -0
  74. package/dist/utils/index.js +1 -0
  75. package/dist/utils/index.js.map +1 -1
  76. package/dist/utils/listing.util.d.ts +1 -0
  77. package/dist/utils/listing.util.js +15 -0
  78. package/dist/utils/listing.util.js.map +1 -0
  79. package/package.json +2 -2
@@ -26,11 +26,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  };
27
27
  Object.defineProperty(exports, "__esModule", { value: true });
28
28
  exports.itemsCanMerge = exports.MaterialMutator = void 0;
29
- var index_1 = require("./index");
30
29
  var fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
31
- var moves_1 = require("../moves");
32
30
  var merge_1 = __importDefault(require("lodash/merge"));
33
- var shuffle_1 = __importDefault(require("lodash/shuffle"));
31
+ var moves_1 = require("../moves");
32
+ var index_1 = require("./index");
34
33
  var MaterialMutator = (function () {
35
34
  function MaterialMutator(type, items, locationsStrategies, canMerge) {
36
35
  if (locationsStrategies === void 0) { locationsStrategies = {}; }
@@ -40,14 +39,6 @@ var MaterialMutator = (function () {
40
39
  this.locationsStrategies = locationsStrategies;
41
40
  this.canMerge = canMerge;
42
41
  }
43
- MaterialMutator.prototype.randomize = function (move) {
44
- switch (move.type) {
45
- case moves_1.ItemMoveType.Shuffle:
46
- return __assign(__assign({}, move), { newIndexes: (0, shuffle_1.default)(move.indexes) });
47
- default:
48
- return move;
49
- }
50
- };
51
42
  MaterialMutator.prototype.applyMove = function (move) {
52
43
  switch (move.type) {
53
44
  case moves_1.ItemMoveType.Create:
@@ -56,6 +47,9 @@ var MaterialMutator = (function () {
56
47
  case moves_1.ItemMoveType.Move:
57
48
  this.move(move);
58
49
  break;
50
+ case moves_1.ItemMoveType.Roll:
51
+ this.move(__assign(__assign({}, move), { type: moves_1.ItemMoveType.Move }));
52
+ break;
59
53
  case moves_1.ItemMoveType.Delete:
60
54
  this.delete(move);
61
55
  break;
@@ -138,24 +132,27 @@ var MaterialMutator = (function () {
138
132
  return this.addItem(itemAfterMove);
139
133
  }
140
134
  else {
141
- if (move.position.location) {
135
+ if (move.location.type !== sourceItem.location.type) {
142
136
  this.applyAddItemStrategy(itemAfterMove);
143
137
  }
144
138
  this.items[move.itemIndex] = itemAfterMove;
145
- if (move.position.location) {
139
+ if (move.location.type !== sourceItem.location.type) {
146
140
  this.applyRemoveItemStrategy(sourceItem);
147
141
  }
148
142
  return move.itemIndex;
149
143
  }
150
144
  };
151
145
  MaterialMutator.prototype.getItemAfterMove = function (move) {
152
- var _a = this.items[move.itemIndex], quantity = _a.quantity, rotation = _a.rotation, itemData = __rest(_a, ["quantity", "rotation"]);
153
- var item = __assign(__assign({}, itemData), JSON.parse(JSON.stringify(move.position)));
154
- if (typeof move.reveal === 'object') {
146
+ var item = __assign(__assign({}, this.items[move.itemIndex]), { location: JSON.parse(JSON.stringify(move.location)) });
147
+ if (move.reveal) {
155
148
  (0, merge_1.default)(item, move.reveal);
156
149
  }
157
- if (move.quantity)
150
+ if (move.quantity) {
158
151
  item.quantity = move.quantity;
152
+ }
153
+ else {
154
+ delete item.quantity;
155
+ }
159
156
  return item;
160
157
  };
161
158
  MaterialMutator.prototype.delete = function (move) {
@@ -1 +1 @@
1
- {"version":3,"file":"MaterialMutator.js","sourceRoot":"","sources":["../../../src/material/items/MaterialMutator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MaterialMutator.js","sourceRoot":"","sources":["../../../src/material/items/MaterialMutator.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  import { XYCoordinates } from '../../utils';
2
- export declare type Location<Player = number, LocationType = number, Id = any> = {
2
+ export type Location<Player = number, LocationType = number, Id = any, Rotation = any> = {
3
3
  type: LocationType;
4
4
  id?: Id;
5
5
  player?: Player;
6
6
  parent?: number;
7
+ rotation?: Rotation;
7
8
  } & Partial<Coordinates>;
8
- export declare type Coordinates = XYCoordinates & {
9
+ export type Coordinates = XYCoordinates & {
9
10
  z: number;
10
11
  };
@@ -1,5 +1,5 @@
1
1
  import { Material, MaterialItem } from '../../items';
2
- export declare type LocationStrategy<P extends number = number, M extends number = number, L extends number = number> = {
2
+ export type LocationStrategy<P extends number = number, M extends number = number, L extends number = number> = {
3
3
  addItem?(material: Material<P, M, L>, item: MaterialItem<P, L>): void;
4
4
  removeItem?(material: Material<P, M, L>, item: MaterialItem<P, L>): void;
5
5
  };
@@ -1,6 +1,6 @@
1
1
  import { MoveKind } from './MoveKind';
2
2
  import { MaterialMove } from './MaterialMove';
3
- export declare type CustomMove<Type extends number = number> = {
3
+ export type CustomMove<Type extends number = number> = {
4
4
  kind: typeof MoveKind.CustomMove;
5
5
  type: Type;
6
6
  data?: any;
@@ -2,6 +2,6 @@ import { RuleMove } from './rules';
2
2
  import { CustomMove } from './CustomMove';
3
3
  import { ItemMove, ItemMoveRandomized, ItemMoveView } from './items';
4
4
  import { LocalMove } from './local';
5
- export declare type MaterialMove<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = ItemMove<Player, MaterialType, LocationType> | RuleMove<Player> | CustomMove | LocalMove<Player, MaterialType, LocationType>;
6
- export declare type MaterialMoveRandomized<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = ItemMoveRandomized<Player, MaterialType, LocationType> | RuleMove<Player> | CustomMove | LocalMove<Player, MaterialType, LocationType>;
7
- export declare type MaterialMoveView<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = ItemMoveView<Player, MaterialType, LocationType> | RuleMove<Player> | CustomMove | LocalMove<Player, MaterialType, LocationType>;
5
+ export type MaterialMove<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = ItemMove<Player, MaterialType, LocationType> | RuleMove<Player> | CustomMove | LocalMove<Player, MaterialType, LocationType>;
6
+ export type MaterialMoveRandomized<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = ItemMoveRandomized<Player, MaterialType, LocationType> | RuleMove<Player> | CustomMove | LocalMove<Player, MaterialType, LocationType>;
7
+ export type MaterialMoveView<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = ItemMoveView<Player, MaterialType, LocationType> | RuleMove<Player> | CustomMove | LocalMove<Player, MaterialType, LocationType>;
@@ -2,7 +2,7 @@ import { MaterialItem } from '../../items';
2
2
  import { ItemMoveType } from './ItemMoveType';
3
3
  import { MaterialMoveCommon } from './ItemMove';
4
4
  import { MaterialMove } from '../MaterialMove';
5
- export declare type CreateItem<P extends number = number, M extends number = number, L extends number = number> = MaterialMoveCommon<M> & {
5
+ export type CreateItem<P extends number = number, M extends number = number, L extends number = number> = MaterialMoveCommon<M> & {
6
6
  type: typeof ItemMoveType.Create;
7
7
  item: MaterialItem<P, L>;
8
8
  };
@@ -1,7 +1,7 @@
1
1
  import { ItemMoveType } from './ItemMoveType';
2
2
  import { MaterialMoveCommon } from './ItemMove';
3
3
  import { MaterialMove } from '../MaterialMove';
4
- export declare type DeleteItem<MaterialType extends number = number> = MaterialMoveCommon<MaterialType> & {
4
+ export type DeleteItem<MaterialType extends number = number> = MaterialMoveCommon<MaterialType> & {
5
5
  type: typeof ItemMoveType.Delete;
6
6
  itemIndex: number;
7
7
  quantity?: number;
@@ -1,12 +1,13 @@
1
1
  import { MoveKind } from '../MoveKind';
2
- import { MoveItem } from './MoveItem';
3
- import { Shuffle, ShuffleRandomized } from './Shuffle';
4
2
  import { CreateItem } from './CreateItem';
5
3
  import { DeleteItem } from './DeleteItem';
6
- export declare type ItemMove<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = CreateItem<Player, MaterialType, LocationType> | DeleteItem<MaterialType> | MoveItem<Player, MaterialType, LocationType> | Shuffle<MaterialType>;
7
- export declare type MaterialMoveCommon<MaterialType extends number = number> = {
4
+ import { MoveItem } from './MoveItem';
5
+ import { RollItem } from './RollItem';
6
+ import { Shuffle, ShuffleRandomized } from './Shuffle';
7
+ export type ItemMove<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = CreateItem<Player, MaterialType, LocationType> | DeleteItem<MaterialType> | MoveItem<Player, MaterialType, LocationType> | Shuffle<MaterialType> | RollItem<Player, MaterialType, LocationType>;
8
+ export type MaterialMoveCommon<MaterialType extends number = number> = {
8
9
  kind: typeof MoveKind.ItemMove;
9
10
  itemType: MaterialType;
10
11
  };
11
- export declare type ItemMoveRandomized<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = Exclude<ItemMove<Player, MaterialType, LocationType>, Shuffle<MaterialType>> | ShuffleRandomized<MaterialType>;
12
- export declare type ItemMoveView<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = Exclude<ItemMoveRandomized<Player, MaterialType, LocationType>, ShuffleRandomized<MaterialType>> | Shuffle<MaterialType>;
12
+ export type ItemMoveRandomized<P extends number = number, M extends number = number, L extends number = number> = Exclude<ItemMove<P, M, L>, Shuffle<M>> | ShuffleRandomized<M>;
13
+ export type ItemMoveView<P extends number = number, M extends number = number, L extends number = number> = Exclude<ItemMoveRandomized<P, M, L>, ShuffleRandomized<M>> | Shuffle<M>;
@@ -2,5 +2,6 @@ export declare enum ItemMoveType {
2
2
  Create = 0,
3
3
  Move = 1,
4
4
  Shuffle = 2,
5
- Delete = 3
5
+ Delete = 3,
6
+ Roll = 4
6
7
  }
@@ -7,5 +7,6 @@ var ItemMoveType;
7
7
  ItemMoveType[ItemMoveType["Move"] = 1] = "Move";
8
8
  ItemMoveType[ItemMoveType["Shuffle"] = 2] = "Shuffle";
9
9
  ItemMoveType[ItemMoveType["Delete"] = 3] = "Delete";
10
+ ItemMoveType[ItemMoveType["Roll"] = 4] = "Roll";
10
11
  })(ItemMoveType = exports.ItemMoveType || (exports.ItemMoveType = {}));
11
12
  //# sourceMappingURL=ItemMoveType.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ItemMoveType.js","sourceRoot":"","sources":["../../../../src/material/moves/items/ItemMoveType.ts"],"names":[],"mappings":";;;AAAA,IAAY,YAEX;AAFD,WAAY,YAAY;IACtB,mDAAM,CAAA;IAAE,+CAAI,CAAA;IAAE,qDAAO,CAAA;IAAE,mDAAM,CAAA;AAC/B,CAAC,EAFW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAEvB"}
1
+ {"version":3,"file":"ItemMoveType.js","sourceRoot":"","sources":["../../../../src/material/moves/items/ItemMoveType.ts"],"names":[],"mappings":";;;AAAA,IAAY,YAEX;AAFD,WAAY,YAAY;IACtB,mDAAM,CAAA;IAAE,+CAAI,CAAA;IAAE,qDAAO,CAAA;IAAE,mDAAM,CAAA;IAAE,+CAAI,CAAA;AACrC,CAAC,EAFW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAEvB"}
@@ -1,18 +1,14 @@
1
- import { ItemMoveType } from './ItemMoveType';
1
+ import { MaterialItem } from '../../items';
2
+ import { Location } from '../../location';
2
3
  import { MaterialMove } from '../MaterialMove';
3
4
  import { MaterialMoveCommon } from './ItemMove';
4
- import { ItemPosition, MaterialItem } from '../../items';
5
- export declare type MoveItem<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = MaterialMoveCommon<MaterialType> & {
5
+ import { ItemMoveType } from './ItemMoveType';
6
+ export type MoveItem<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = MaterialMoveCommon<MaterialType> & {
6
7
  type: typeof ItemMoveType.Move;
7
8
  itemIndex: number;
8
- position: Partial<ItemPosition<Player, LocationType>>;
9
+ location: Location<Player, LocationType>;
9
10
  quantity?: number;
10
11
  reveal?: Omit<MaterialItem<Player, LocationType>, 'location'>;
11
12
  };
12
- export declare type MoveItemLocation<P extends number, M extends number, L extends number> = MoveItem<P, M, L> & {
13
- position: ItemPosition<P, L>;
14
- };
15
13
  export declare function isMoveItem<P extends number, M extends number, L extends number>(move: MaterialMove<P, M, L>): move is MoveItem<P, M, L>;
16
14
  export declare function isMoveItemType<P extends number, M extends number, L extends number>(type: M, index?: number): (move: MaterialMove<P, M, L>) => move is MoveItem<P, M, L>;
17
- export declare function isMoveItemLocation<P extends number, M extends number, L extends number>(move: MaterialMove<P, M, L>): move is MoveItemLocation<P, M, L>;
18
- export declare function isMoveItemTypeLocation<P extends number, M extends number, L extends number>(type: M, index?: number): (move: MaterialMove<P, M, L>) => move is MoveItemLocation<P, M, L>;
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isMoveItemTypeLocation = exports.isMoveItemLocation = exports.isMoveItemType = exports.isMoveItem = void 0;
4
- var ItemMoveType_1 = require("./ItemMoveType");
3
+ exports.isMoveItemType = exports.isMoveItem = void 0;
5
4
  var MoveKind_1 = require("../MoveKind");
5
+ var ItemMoveType_1 = require("./ItemMoveType");
6
6
  function isMoveItem(move) {
7
7
  return move.kind === MoveKind_1.MoveKind.ItemMove && move.type === ItemMoveType_1.ItemMoveType.Move;
8
8
  }
@@ -13,14 +13,4 @@ function isMoveItemType(type, index) {
13
13
  };
14
14
  }
15
15
  exports.isMoveItemType = isMoveItemType;
16
- function isMoveItemLocation(move) {
17
- return isMoveItem(move) && move.position.location !== undefined;
18
- }
19
- exports.isMoveItemLocation = isMoveItemLocation;
20
- function isMoveItemTypeLocation(type, index) {
21
- return function (move) {
22
- return isMoveItemLocation(move) && move.itemType === type && (index === undefined || move.itemIndex === index);
23
- };
24
- }
25
- exports.isMoveItemTypeLocation = isMoveItemTypeLocation;
26
16
  //# sourceMappingURL=MoveItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MoveItem.js","sourceRoot":"","sources":["../../../../src/material/moves/items/MoveItem.ts"],"names":[],"mappings":";;;AAAA,+CAA6C;AAE7C,wCAAsC;AAiBtC,SAAgB,UAAU,CAAuD,IAA2B;IAC1G,OAAO,IAAI,CAAC,IAAI,KAAK,mBAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,2BAAY,CAAC,IAAI,CAAA;AAC3E,CAAC;AAFD,gCAEC;AAED,SAAgB,cAAc,CAC5B,IAAO,EAAE,KAAc;IAEvB,OAAO,UAAC,IAA2B;QACjC,OAAA,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC;IAA/F,CAA+F,CAAA;AACnG,CAAC;AALD,wCAKC;AAED,SAAgB,kBAAkB,CAAuD,IAA2B;IAClH,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,KAAK,SAAS,CAAA;AACjE,CAAC;AAFD,gDAEC;AAED,SAAgB,sBAAsB,CACpC,IAAO,EAAE,KAAc;IAEvB,OAAO,UAAC,IAA2B;QACjC,OAAA,kBAAkB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC;IAAvG,CAAuG,CAAA;AAC3G,CAAC;AALD,wDAKC"}
1
+ {"version":3,"file":"MoveItem.js","sourceRoot":"","sources":["../../../../src/material/moves/items/MoveItem.ts"],"names":[],"mappings":";;;AAGA,wCAAsC;AAEtC,+CAA6C;AAW7C,SAAgB,UAAU,CAAuD,IAA2B;IAC1G,OAAO,IAAI,CAAC,IAAI,KAAK,mBAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,2BAAY,CAAC,IAAI,CAAA;AAC3E,CAAC;AAFD,gCAEC;AAED,SAAgB,cAAc,CAC5B,IAAO,EAAE,KAAc;IAEvB,OAAO,UAAC,IAA2B;QACjC,OAAA,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC;IAA/F,CAA+F,CAAA;AACnG,CAAC;AALD,wCAKC"}
@@ -0,0 +1,11 @@
1
+ import { Location } from '../../location';
2
+ import { MaterialMove } from '../MaterialMove';
3
+ import { MaterialMoveCommon } from './ItemMove';
4
+ import { ItemMoveType } from './ItemMoveType';
5
+ export type Roll<P extends number = number, M extends number = number, L extends number = number> = MaterialMoveCommon<M> & {
6
+ type: typeof ItemMoveType.Roll;
7
+ itemIndex: number;
8
+ location: Location<P, L>;
9
+ };
10
+ export declare function isRoll<P extends number, M extends number, L extends number>(move: MaterialMove<P, M, L>): move is Roll<P, M, L>;
11
+ export declare function isRollItemType<P extends number, M extends number, L extends number>(type: M): (move: MaterialMove<P, M, L>) => move is Roll<P, M, L>;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isRollItemType = exports.isRoll = void 0;
4
+ var MoveKind_1 = require("../MoveKind");
5
+ var ItemMoveType_1 = require("./ItemMoveType");
6
+ function isRoll(move) {
7
+ return move.kind === MoveKind_1.MoveKind.ItemMove && move.type === ItemMoveType_1.ItemMoveType.Roll;
8
+ }
9
+ exports.isRoll = isRoll;
10
+ function isRollItemType(type) {
11
+ return function (move) {
12
+ return isRoll(move) && move.itemType === type;
13
+ };
14
+ }
15
+ exports.isRollItemType = isRollItemType;
16
+ //# sourceMappingURL=Roll.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Roll.js","sourceRoot":"","sources":["../../../../src/material/moves/items/Roll.ts"],"names":[],"mappings":";;;AAEA,wCAAsC;AAEtC,+CAA6C;AAQ7C,SAAgB,MAAM,CAAuD,IAA2B;IACtG,OAAO,IAAI,CAAC,IAAI,KAAK,mBAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,2BAAY,CAAC,IAAI,CAAA;AAC3E,CAAC;AAFD,wBAEC;AAED,SAAgB,cAAc,CAC5B,IAAO;IAEP,OAAO,UAAC,IAA2B;QACjC,OAAA,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI;IAAtC,CAAsC,CAAA;AAC1C,CAAC;AALD,wCAKC"}
@@ -0,0 +1,11 @@
1
+ import { Location } from '../../location';
2
+ import { MaterialMove } from '../MaterialMove';
3
+ import { MaterialMoveCommon } from './ItemMove';
4
+ import { ItemMoveType } from './ItemMoveType';
5
+ export type RollItem<P extends number = number, M extends number = number, L extends number = number> = MaterialMoveCommon<M> & {
6
+ type: typeof ItemMoveType.Roll;
7
+ itemIndex: number;
8
+ location: Location<P, L>;
9
+ };
10
+ export declare function isRoll<P extends number, M extends number, L extends number>(move: MaterialMove<P, M, L>): move is RollItem<P, M, L>;
11
+ export declare function isRollItemType<P extends number, M extends number, L extends number>(type: M): (move: MaterialMove<P, M, L>) => move is RollItem<P, M, L>;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isRollItemType = exports.isRoll = void 0;
4
+ var MoveKind_1 = require("../MoveKind");
5
+ var ItemMoveType_1 = require("./ItemMoveType");
6
+ function isRoll(move) {
7
+ return move.kind === MoveKind_1.MoveKind.ItemMove && move.type === ItemMoveType_1.ItemMoveType.Roll;
8
+ }
9
+ exports.isRoll = isRoll;
10
+ function isRollItemType(type) {
11
+ return function (move) {
12
+ return isRoll(move) && move.itemType === type;
13
+ };
14
+ }
15
+ exports.isRollItemType = isRollItemType;
16
+ //# sourceMappingURL=RollItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RollItem.js","sourceRoot":"","sources":["../../../../src/material/moves/items/RollItem.ts"],"names":[],"mappings":";;;AAEA,wCAAsC;AAEtC,+CAA6C;AAQ7C,SAAgB,MAAM,CAAuD,IAA2B;IACtG,OAAO,IAAI,CAAC,IAAI,KAAK,mBAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,2BAAY,CAAC,IAAI,CAAA;AAC3E,CAAC;AAFD,wBAEC;AAED,SAAgB,cAAc,CAC5B,IAAO;IAEP,OAAO,UAAC,IAA2B;QACjC,OAAA,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI;IAAtC,CAAsC,CAAA;AAC1C,CAAC;AALD,wCAKC"}
@@ -1,11 +1,11 @@
1
1
  import { ItemMoveType } from './ItemMoveType';
2
2
  import { MaterialMoveCommon } from './ItemMove';
3
3
  import { MaterialMove } from '../MaterialMove';
4
- export declare type Shuffle<MaterialType extends number = number> = MaterialMoveCommon<MaterialType> & {
4
+ export type Shuffle<MaterialType extends number = number> = MaterialMoveCommon<MaterialType> & {
5
5
  type: typeof ItemMoveType.Shuffle;
6
6
  indexes: number[];
7
7
  };
8
- export declare type ShuffleRandomized<MaterialType extends number = number> = Shuffle<MaterialType> & {
8
+ export type ShuffleRandomized<MaterialType extends number = number> = Shuffle<MaterialType> & {
9
9
  newIndexes: number[];
10
10
  };
11
11
  export declare function isShuffle<P extends number, M extends number, L extends number>(move: MaterialMove<P, M, L>): move is Shuffle<M>;
@@ -4,4 +4,5 @@ export * from './ItemMove';
4
4
  export * from './ItemMovesBuilder';
5
5
  export * from './ItemMoveType';
6
6
  export * from './MoveItem';
7
+ export * from './RollItem';
7
8
  export * from './Shuffle';
@@ -20,5 +20,6 @@ __exportStar(require("./ItemMove"), exports);
20
20
  __exportStar(require("./ItemMovesBuilder"), exports);
21
21
  __exportStar(require("./ItemMoveType"), exports);
22
22
  __exportStar(require("./MoveItem"), exports);
23
+ __exportStar(require("./RollItem"), exports);
23
24
  __exportStar(require("./Shuffle"), exports);
24
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/material/moves/items/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA4B;AAC5B,+CAA4B;AAC5B,6CAA0B;AAC1B,qDAAkC;AAClC,iDAA8B;AAC9B,6CAA0B;AAC1B,4CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/material/moves/items/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA4B;AAC5B,+CAA4B;AAC5B,6CAA0B;AAC1B,qDAAkC;AAClC,iDAA8B;AAC9B,6CAA0B;AAC1B,6CAA0B;AAC1B,4CAAyB"}
@@ -1,7 +1,7 @@
1
1
  import { MoveKind } from '../MoveKind';
2
2
  import { LocalMoveType } from './LocalMove';
3
3
  import { MaterialMove } from '../MaterialMove';
4
- export declare type CloseTutorialPopup = {
4
+ export type CloseTutorialPopup = {
5
5
  kind: MoveKind.LocalMove;
6
6
  type: LocalMoveType.CloseTutorialPopup;
7
7
  };
@@ -2,30 +2,30 @@ import { LocalMoveType } from './LocalMove';
2
2
  import { MoveKind } from '../MoveKind';
3
3
  import { MaterialItem } from '../../items';
4
4
  import { Location } from '../../location';
5
- export declare type RulesDisplay<P extends number = number, M extends number = number, L extends number = number> = MaterialRulesDisplay<P, M, L> | LocationRulesDisplay<P, L>;
5
+ export type RulesDisplay<P extends number = number, M extends number = number, L extends number = number> = MaterialRulesDisplay<P, M, L> | LocationRulesDisplay<P, L>;
6
6
  export declare enum RulesDisplayType {
7
7
  Material = 1,
8
8
  Location = 2
9
9
  }
10
- export declare type MaterialRulesDisplay<P extends number = number, M extends number = number, L extends number = number> = {
10
+ export type MaterialRulesDisplay<P extends number = number, M extends number = number, L extends number = number> = {
11
11
  type: typeof RulesDisplayType.Material;
12
12
  itemType: M;
13
13
  itemIndex?: number;
14
14
  item: Partial<MaterialItem<P, L>>;
15
15
  };
16
- export declare type LocationRulesDisplay<P extends number = number, L extends number = number> = {
16
+ export type LocationRulesDisplay<P extends number = number, L extends number = number> = {
17
17
  type: typeof RulesDisplayType.Location;
18
18
  location: Location<P, L>;
19
19
  };
20
- export declare type DisplayRules<P extends number = number, M extends number = number, L extends number = number> = {
20
+ export type DisplayRules<P extends number = number, M extends number = number, L extends number = number> = {
21
21
  kind: MoveKind.LocalMove;
22
22
  type: typeof LocalMoveType.DisplayRules;
23
23
  rulesDisplay: RulesDisplay<P, M, L>;
24
24
  };
25
25
  export declare const displayRules: <P extends number = number, M extends number = number, L extends number = number>(rulesDisplay: RulesDisplay<P, M, L>) => DisplayRules<P, M, L>;
26
- export declare const displayMaterialRules: <P extends number = number, M extends number = number, L extends number = number>(itemType: M, item?: Partial<MaterialItem<P, L, any>>, itemIndex?: number | undefined) => DisplayRules<P, M, L>;
27
- export declare const displayLocationRules: <P extends number = number, M extends number = number, L extends number = number>(location: Location<P, L, any>) => DisplayRules<P, M, L>;
28
- export declare type CloseRulesDisplay = {
26
+ export declare const displayMaterialRules: <P extends number = number, M extends number = number, L extends number = number>(itemType: M, item?: Partial<MaterialItem<P, L, any>>, itemIndex?: number) => DisplayRules<P, M, L>;
27
+ export declare const displayLocationRules: <P extends number = number, M extends number = number, L extends number = number>(location: Location<P, L, any, any>) => DisplayRules<P, M, L>;
28
+ export type CloseRulesDisplay = {
29
29
  kind: MoveKind.LocalMove;
30
30
  type: typeof LocalMoveType.CloseRulesDisplay;
31
31
  };
@@ -1,11 +1,11 @@
1
1
  import { MoveKind } from '../MoveKind';
2
2
  import { LocalMoveType } from './LocalMove';
3
- export declare type DropItem<M extends number = number> = {
3
+ export type DropItem<M extends number = number> = {
4
4
  kind: MoveKind.LocalMove;
5
5
  type: typeof LocalMoveType.DropItem;
6
6
  item: DisplayedItem<M>;
7
7
  };
8
- export declare type DisplayedItem<M extends number = number> = {
8
+ export type DisplayedItem<M extends number = number> = {
9
9
  type: M;
10
10
  index: number;
11
11
  displayIndex: number;
@@ -2,7 +2,7 @@ import { CloseRulesDisplay, DisplayRules } from './DisplayRules';
2
2
  import { DropItem } from './DropItem';
3
3
  import { SetTutorialStep } from './SetTutorialStep';
4
4
  import { CloseTutorialPopup } from './CloseTutorialPopup';
5
- export declare type LocalMove<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = DisplayRules<Player, MaterialType, LocationType> | CloseRulesDisplay | DropItem<MaterialType> | SetTutorialStep | CloseTutorialPopup;
5
+ export type LocalMove<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = DisplayRules<Player, MaterialType, LocationType> | CloseRulesDisplay | DropItem<MaterialType> | SetTutorialStep | CloseTutorialPopup;
6
6
  export declare enum LocalMoveType {
7
7
  DisplayRules = 0,
8
8
  CloseRulesDisplay = 1,
@@ -1,7 +1,7 @@
1
1
  import { MoveKind } from '../MoveKind';
2
2
  import { LocalMoveType } from './LocalMove';
3
3
  import { MaterialMove } from '../MaterialMove';
4
- export declare type SetTutorialStep = {
4
+ export type SetTutorialStep = {
5
5
  kind: MoveKind.LocalMove;
6
6
  type: LocalMoveType.SetTutorialStep;
7
7
  step: number;
@@ -1,6 +1,6 @@
1
1
  import { RuleMoveCommon, RuleMoveType } from './RuleMove';
2
2
  import { MaterialMove } from '../MaterialMove';
3
- export declare type EndGame = RuleMoveCommon & {
3
+ export type EndGame = RuleMoveCommon & {
4
4
  type: typeof RuleMoveType.EndGame;
5
5
  };
6
6
  export declare function isEndGame<P extends number, M extends number, L extends number>(move: MaterialMove<P, M, L>): move is EndGame;
@@ -1,6 +1,6 @@
1
1
  import { RuleMoveCommon, RuleMoveType } from './RuleMove';
2
2
  import { MaterialMove } from '../MaterialMove';
3
- export declare type EndPlayerTurn<Player extends number = number> = RuleMoveCommon & {
3
+ export type EndPlayerTurn<Player extends number = number> = RuleMoveCommon & {
4
4
  type: typeof RuleMoveType.EndPlayerTurn;
5
5
  player: Player;
6
6
  };
@@ -4,7 +4,7 @@ import { StartPlayerTurn } from './StartPlayerTurn';
4
4
  import { EndGame } from './EndGame';
5
5
  import { StartSimultaneousRule } from './StartSimultaneousRule';
6
6
  import { EndPlayerTurn } from './EndPlayerTurn';
7
- export declare type RuleMove<Player extends number = number, RuleId extends number = number> = StartPlayerTurn<Player, RuleId> | StartSimultaneousRule<Player, RuleId> | StartRule<RuleId> | EndGame | EndPlayerTurn<Player>;
7
+ export type RuleMove<Player extends number = number, RuleId extends number = number> = StartPlayerTurn<Player, RuleId> | StartSimultaneousRule<Player, RuleId> | StartRule<RuleId> | EndGame | EndPlayerTurn<Player>;
8
8
  export declare enum RuleMoveType {
9
9
  StartPlayerTurn = 0,
10
10
  StartSimultaneousRule = 1,
@@ -12,7 +12,7 @@ export declare enum RuleMoveType {
12
12
  StartRule = 3,
13
13
  EndGame = 4
14
14
  }
15
- export declare type RuleMoveCommon = {
15
+ export type RuleMoveCommon = {
16
16
  kind: typeof MoveKind.RulesMove;
17
17
  };
18
18
  export declare const isRuleChange: <P extends number = number, R extends number = number>(move: RuleMove<P, R>) => boolean;
@@ -1,6 +1,6 @@
1
1
  import { RuleMoveCommon, RuleMoveType } from './RuleMove';
2
2
  import { MaterialMove } from '../MaterialMove';
3
- export declare type StartPlayerTurn<Player extends number = number, RuleId extends number = number> = RuleMoveCommon & {
3
+ export type StartPlayerTurn<Player extends number = number, RuleId extends number = number> = RuleMoveCommon & {
4
4
  type: typeof RuleMoveType.StartPlayerTurn;
5
5
  id: RuleId;
6
6
  player?: Player;
@@ -1,6 +1,6 @@
1
1
  import { RuleMoveCommon, RuleMoveType } from './RuleMove';
2
2
  import { MaterialMove } from '../MaterialMove';
3
- export declare type StartRule<RuleId extends number = number> = RuleMoveCommon & {
3
+ export type StartRule<RuleId extends number = number> = RuleMoveCommon & {
4
4
  type: typeof RuleMoveType.StartRule;
5
5
  id: RuleId;
6
6
  };
@@ -1,6 +1,6 @@
1
1
  import { RuleMoveCommon, RuleMoveType } from './RuleMove';
2
2
  import { MaterialMove } from '../MaterialMove';
3
- export declare type StartSimultaneousRule<Player extends number = number, RuleId extends number = number> = RuleMoveCommon & {
3
+ export type StartSimultaneousRule<Player extends number = number, RuleId extends number = number> = RuleMoveCommon & {
4
4
  type: typeof RuleMoveType.StartSimultaneousRule;
5
5
  id: RuleId;
6
6
  players?: Player[];
@@ -23,7 +23,7 @@ var MaterialRulesMovesBuilder = (function () {
23
23
  };
24
24
  MaterialRulesMovesBuilder.prototype.customMove = function (type, data) {
25
25
  var move = { kind: moves_1.MoveKind.CustomMove, type: type };
26
- if (data)
26
+ if (data !== undefined)
27
27
  move.data = data;
28
28
  return move;
29
29
  };
@@ -1 +1 @@
1
- {"version":3,"file":"MaterialRulesMovesBuilder.js","sourceRoot":"","sources":["../../../src/material/rules/MaterialRulesMovesBuilder.ts"],"names":[],"mappings":";;;AACA,kCAAwI;AAExI;IAKE,mCAAY,IAAsD;QAChE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,mDAAe,GAAf,UAAgD,EAAU,EAAE,MAAc;QACxE,OAAO,EAAE,IAAI,EAAE,gBAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,oBAAY,CAAC,eAAe,EAAE,EAAE,IAAA,EAAE,MAAM,QAAA,EAAE,CAAA;IACrF,CAAC;IAED,yDAAqB,GAArB,UAAsD,EAAU,EAAE,OAAkB;QAClF,IAAM,IAAI,GAA0C,EAAE,IAAI,EAAE,gBAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,oBAAY,CAAC,qBAAqB,EAAE,EAAE,IAAA,EAAE,CAAA;QAC9H,IAAI,OAAO;YAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACnC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,iDAAa,GAAb,UAAc,MAAc;QAC1B,OAAO,EAAE,IAAI,EAAE,gBAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,oBAAY,CAAC,aAAa,EAAE,MAAM,QAAA,EAAE,CAAA;IAC/E,CAAC;IAED,6CAAS,GAAT,UAA0C,EAAU;QAClD,OAAO,EAAE,IAAI,EAAE,gBAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,oBAAY,CAAC,SAAS,EAAE,EAAE,IAAA,EAAE,CAAA;IACvE,CAAC;IAED,8CAAU,GAAV,UAAyC,IAAU,EAAE,IAAU;QAC7D,IAAM,IAAI,GAAe,EAAE,IAAI,EAAE,gBAAQ,CAAC,UAAU,EAAE,IAAI,MAAA,EAAE,CAAA;QAC5D,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAC1B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,2CAAO,GAAP;QACE,OAAO,EAAE,IAAI,EAAE,gBAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,oBAAY,CAAC,OAAO,EAAE,CAAA;IACjE,CAAC;IACH,gCAAC;AAAD,CAAC,AApCD,IAoCC;AApCY,8DAAyB"}
1
+ {"version":3,"file":"MaterialRulesMovesBuilder.js","sourceRoot":"","sources":["../../../src/material/rules/MaterialRulesMovesBuilder.ts"],"names":[],"mappings":";;;AACA,kCAAwI;AAExI;IAKE,mCAAY,IAAsD;QAChE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,mDAAe,GAAf,UAAgD,EAAU,EAAE,MAAc;QACxE,OAAO,EAAE,IAAI,EAAE,gBAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,oBAAY,CAAC,eAAe,EAAE,EAAE,IAAA,EAAE,MAAM,QAAA,EAAE,CAAA;IACrF,CAAC;IAED,yDAAqB,GAArB,UAAsD,EAAU,EAAE,OAAkB;QAClF,IAAM,IAAI,GAA0C,EAAE,IAAI,EAAE,gBAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,oBAAY,CAAC,qBAAqB,EAAE,EAAE,IAAA,EAAE,CAAA;QAC9H,IAAI,OAAO;YAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACnC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,iDAAa,GAAb,UAAc,MAAc;QAC1B,OAAO,EAAE,IAAI,EAAE,gBAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,oBAAY,CAAC,aAAa,EAAE,MAAM,QAAA,EAAE,CAAA;IAC/E,CAAC;IAED,6CAAS,GAAT,UAA0C,EAAU;QAClD,OAAO,EAAE,IAAI,EAAE,gBAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,oBAAY,CAAC,SAAS,EAAE,EAAE,IAAA,EAAE,CAAA;IACvE,CAAC;IAED,8CAAU,GAAV,UAAyC,IAAU,EAAE,IAAU;QAC7D,IAAM,IAAI,GAAe,EAAE,IAAI,EAAE,gBAAQ,CAAC,UAAU,EAAE,IAAI,MAAA,EAAE,CAAA;QAC5D,IAAI,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QACxC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,2CAAO,GAAP;QACE,OAAO,EAAE,IAAI,EAAE,gBAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,oBAAY,CAAC,OAAO,EAAE,CAAA;IACjE,CAAC;IACH,gCAAC;AAAD,CAAC,AApCD,IAoCC;AApCY,8DAAyB"}
@@ -1,4 +1,4 @@
1
- export declare type RuleStep<Player extends number = number, RuleId extends number = number> = {
1
+ export type RuleStep<Player extends number = number, RuleId extends number = number> = {
2
2
  id: RuleId;
3
3
  player?: Player;
4
4
  players?: Player[];
@@ -1,5 +1,5 @@
1
1
  import { Option } from './Option';
2
- export declare type EnumOption<T = any> = Option & {
2
+ export type EnumOption<T = any> = Option & {
3
3
  values: T[];
4
4
  valueSpec: (value: T) => Option;
5
5
  };
@@ -1,5 +1,5 @@
1
1
  import { TFunction } from 'i18next';
2
- export declare type Option = {
2
+ export type Option = {
3
3
  label: (t: TFunction) => string;
4
4
  help?: (t: TFunction) => string;
5
5
  warn?: (t: TFunction) => string;
@@ -1,5 +1,5 @@
1
1
  import { EnumOption } from './EnumOption';
2
2
  import { Option } from './Option';
3
3
  import { PlayerEnumOption } from './PlayerEnumOption';
4
- export declare type OptionSpecOf<T> = [T] extends [boolean] ? Option : EnumOption<T>;
5
- export declare type PlayerOptionSpecOf<T> = [T] extends [boolean] ? Option : PlayerEnumOption<T>;
4
+ export type OptionSpecOf<T> = [T] extends [boolean] ? Option : EnumOption<T>;
5
+ export type PlayerOptionSpecOf<T> = [T] extends [boolean] ? Option : PlayerEnumOption<T>;
@@ -2,7 +2,7 @@ import { TFunction } from 'i18next';
2
2
  import { OptionSpecOf } from './OptionSpecOf';
3
3
  import { WithPlayerOptionsSpec } from './WithPlayerOptionsSpec';
4
4
  import { WithPlayersOptions } from './WithPlayersOptions';
5
- export declare type OptionsSpec<Options> = (Options extends WithPlayersOptions<infer P> ? WithPlayerOptionsSpec<P> : {}) & {
5
+ export type OptionsSpec<Options> = (Options extends WithPlayersOptions<infer P> ? WithPlayerOptionsSpec<P> : {}) & {
6
6
  [key in keyof Omit<Options, 'players'>]: OptionSpecOf<Options[key]>;
7
7
  } & {
8
8
  validate?: (options: Partial<Options>, t: TFunction) => void;
@@ -1,11 +1,11 @@
1
1
  import { EnumOption } from './EnumOption';
2
- export declare type PlayerEnumOption<T = any> = EnumOption<T> & {
2
+ export type PlayerEnumOption<T = any> = EnumOption<T> & {
3
3
  mandatory?: (players: number) => T[];
4
4
  unavailable?: (players: number) => T[];
5
5
  share?: boolean;
6
6
  optional?: boolean;
7
7
  };
8
- export declare type PlayerIdOption<T = any> = PlayerEnumOption<T> & {
8
+ export type PlayerIdOption<T = any> = PlayerEnumOption<T> & {
9
9
  share?: false;
10
10
  optional?: false;
11
11
  };