@gamepark/rules-api 6.19.0 → 6.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 (242) hide show
  1. package/dist/Action.d.ts +25 -25
  2. package/dist/Action.js +61 -61
  3. package/dist/Action.js.map +1 -1
  4. package/dist/ApplyAutomaticMoves.d.ts +2 -2
  5. package/dist/ApplyAutomaticMoves.js +24 -24
  6. package/dist/ApplyAutomaticMoves.js.map +1 -1
  7. package/dist/Competitive.d.ts +13 -13
  8. package/dist/Competitive.js +45 -45
  9. package/dist/Competitive.js.map +1 -1
  10. package/dist/DefaultGameSetup.d.ts +7 -7
  11. package/dist/DefaultGameSetup.js +14 -14
  12. package/dist/Dummy.d.ts +7 -7
  13. package/dist/Dummy.js +26 -26
  14. package/dist/Dummy.js.map +1 -1
  15. package/dist/Eliminations.d.ts +5 -5
  16. package/dist/Eliminations.js +8 -8
  17. package/dist/GameSetup.d.ts +3 -3
  18. package/dist/GameSetup.js +2 -2
  19. package/dist/GameSetupCreator.d.ts +4 -4
  20. package/dist/GameSetupCreator.js +2 -2
  21. package/dist/IncompleteInformation.d.ts +14 -14
  22. package/dist/IncompleteInformation.js +37 -37
  23. package/dist/IncompleteInformation.js.map +1 -1
  24. package/dist/LocalMovePreview.d.ts +4 -0
  25. package/dist/LocalMovePreview.js +8 -0
  26. package/dist/LocalMovePreview.js.map +1 -0
  27. package/dist/LoopWithFuse.d.ts +4 -4
  28. package/dist/LoopWithFuse.js +14 -14
  29. package/dist/LoopWithFuse.js.map +1 -1
  30. package/dist/RandomMove.d.ts +7 -7
  31. package/dist/RandomMove.js +14 -14
  32. package/dist/Robot.d.ts +1 -1
  33. package/dist/Robot.js +2 -2
  34. package/dist/Rules.d.ts +18 -17
  35. package/dist/Rules.js +78 -78
  36. package/dist/Rules.js.map +1 -1
  37. package/dist/RulesCreator.d.ts +7 -7
  38. package/dist/RulesCreator.js +2 -2
  39. package/dist/TimeLimit.d.ts +10 -10
  40. package/dist/TimeLimit.js +12 -12
  41. package/dist/TimeLimit.js.map +1 -1
  42. package/dist/Undo.d.ts +6 -6
  43. package/dist/Undo.js +8 -8
  44. package/dist/UnpredictableMove.d.ts +5 -5
  45. package/dist/UnpredictableMove.js +5 -5
  46. package/dist/index.d.ts +21 -20
  47. package/dist/index.js +37 -36
  48. package/dist/index.js.map +1 -1
  49. package/dist/material/HiddenMaterialRules.d.ts +36 -35
  50. package/dist/material/HiddenMaterialRules.js +245 -245
  51. package/dist/material/HiddenMaterialRules.js.map +1 -1
  52. package/dist/material/MaterialGame.d.ts +15 -15
  53. package/dist/material/MaterialGame.js +2 -2
  54. package/dist/material/MaterialGameSetup.d.ts +21 -21
  55. package/dist/material/MaterialGameSetup.js +75 -75
  56. package/dist/material/MaterialGameSetup.js.map +1 -1
  57. package/dist/material/MaterialRules.d.ts +44 -44
  58. package/dist/material/MaterialRules.js +242 -242
  59. package/dist/material/MaterialRules.js.map +1 -1
  60. package/dist/material/SecretMaterialRules.d.ts +13 -13
  61. package/dist/material/SecretMaterialRules.js +37 -37
  62. package/dist/material/index.d.ts +10 -10
  63. package/dist/material/index.js +26 -26
  64. package/dist/material/items/Material.d.ts +59 -60
  65. package/dist/material/items/Material.js +406 -405
  66. package/dist/material/items/Material.js.map +1 -1
  67. package/dist/material/items/MaterialItem.d.ts +7 -7
  68. package/dist/material/items/MaterialItem.js +2 -2
  69. package/dist/material/items/MaterialMutator.d.ts +31 -31
  70. package/dist/material/items/MaterialMutator.js +277 -277
  71. package/dist/material/items/MaterialMutator.js.map +1 -1
  72. package/dist/material/items/index.d.ts +3 -3
  73. package/dist/material/items/index.js +19 -19
  74. package/dist/material/location/Location.d.ts +11 -11
  75. package/dist/material/location/Location.js +2 -2
  76. package/dist/material/location/LocationBuilder.d.ts +12 -12
  77. package/dist/material/location/LocationBuilder.js +40 -40
  78. package/dist/material/location/index.d.ts +3 -3
  79. package/dist/material/location/index.js +19 -19
  80. package/dist/material/location/strategy/FillGapStrategy.d.ts +7 -7
  81. package/dist/material/location/strategy/FillGapStrategy.js +23 -23
  82. package/dist/material/location/strategy/FillGapStrategy.js.map +1 -1
  83. package/dist/material/location/strategy/LocationStrategy.d.ts +6 -6
  84. package/dist/material/location/strategy/LocationStrategy.js +2 -2
  85. package/dist/material/location/strategy/PositiveSequenceStrategy.d.ts +9 -9
  86. package/dist/material/location/strategy/PositiveSequenceStrategy.js +65 -65
  87. package/dist/material/location/strategy/PositiveSequenceStrategy.js.map +1 -1
  88. package/dist/material/location/strategy/index.d.ts +3 -3
  89. package/dist/material/location/strategy/index.js +19 -19
  90. package/dist/material/memory/GameMemory.d.ts +8 -8
  91. package/dist/material/memory/GameMemory.js +27 -27
  92. package/dist/material/memory/GameMemory.js.map +1 -1
  93. package/dist/material/memory/PlayerMemory.d.ts +9 -9
  94. package/dist/material/memory/PlayerMemory.js +32 -32
  95. package/dist/material/memory/PlayerMemory.js.map +1 -1
  96. package/dist/material/memory/index.d.ts +2 -2
  97. package/dist/material/memory/index.js +18 -18
  98. package/dist/material/moves/CustomMove.d.ts +9 -9
  99. package/dist/material/moves/CustomMove.js +10 -10
  100. package/dist/material/moves/MaterialMove.d.ts +7 -7
  101. package/dist/material/moves/MaterialMove.js +2 -2
  102. package/dist/material/moves/MoveKind.d.ts +6 -6
  103. package/dist/material/moves/MoveKind.js +10 -10
  104. package/dist/material/moves/MoveKind.js.map +1 -1
  105. package/dist/material/moves/index.d.ts +6 -6
  106. package/dist/material/moves/index.js +22 -22
  107. package/dist/material/moves/items/CreateItem.d.ts +10 -10
  108. package/dist/material/moves/items/CreateItem.js +15 -15
  109. package/dist/material/moves/items/CreateItemsAtOnce.d.ts +10 -10
  110. package/dist/material/moves/items/CreateItemsAtOnce.js +15 -15
  111. package/dist/material/moves/items/DeleteItem.d.ts +10 -10
  112. package/dist/material/moves/items/DeleteItem.js +15 -15
  113. package/dist/material/moves/items/DeleteItemsAtOnce.d.ts +9 -9
  114. package/dist/material/moves/items/DeleteItemsAtOnce.js +15 -15
  115. package/dist/material/moves/items/ItemMove.d.ts +17 -17
  116. package/dist/material/moves/items/ItemMove.js +2 -2
  117. package/dist/material/moves/items/ItemMoveType.d.ts +11 -11
  118. package/dist/material/moves/items/ItemMoveType.js +15 -15
  119. package/dist/material/moves/items/ItemMoveType.js.map +1 -1
  120. package/dist/material/moves/items/ItemMovesBuilder.d.ts +8 -8
  121. package/dist/material/moves/items/ItemMovesBuilder.js +33 -33
  122. package/dist/material/moves/items/ItemMovesBuilder.js.map +1 -1
  123. package/dist/material/moves/items/MoveItem.d.ts +14 -14
  124. package/dist/material/moves/items/MoveItem.js +15 -15
  125. package/dist/material/moves/items/MoveItemsAtOnce.d.ts +13 -13
  126. package/dist/material/moves/items/MoveItemsAtOnce.js +15 -15
  127. package/dist/material/moves/items/RollItem.d.ts +11 -11
  128. package/dist/material/moves/items/RollItem.js +15 -15
  129. package/dist/material/moves/items/SelectItem.d.ts +11 -11
  130. package/dist/material/moves/items/SelectItem.js +15 -15
  131. package/dist/material/moves/items/Shuffle.d.ts +13 -13
  132. package/dist/material/moves/items/Shuffle.js +19 -19
  133. package/dist/material/moves/items/index.d.ts +12 -12
  134. package/dist/material/moves/items/index.js +28 -28
  135. package/dist/material/moves/local/CloseTutorialPopup.d.ts +8 -8
  136. package/dist/material/moves/local/CloseTutorialPopup.js +9 -9
  137. package/dist/material/moves/local/DisplayHelp.d.ts +39 -39
  138. package/dist/material/moves/local/DisplayHelp.js +29 -29
  139. package/dist/material/moves/local/DisplayHelp.js.map +1 -1
  140. package/dist/material/moves/local/DropItem.d.ts +13 -13
  141. package/dist/material/moves/local/DropItem.js +9 -9
  142. package/dist/material/moves/local/LocalMove.d.ts +12 -12
  143. package/dist/material/moves/local/LocalMove.js +11 -11
  144. package/dist/material/moves/local/LocalMove.js.map +1 -1
  145. package/dist/material/moves/local/SetTutorialStep.d.ts +9 -9
  146. package/dist/material/moves/local/SetTutorialStep.js +9 -9
  147. package/dist/material/moves/local/index.d.ts +5 -5
  148. package/dist/material/moves/local/index.js +21 -21
  149. package/dist/material/moves/rules/EndGame.d.ts +6 -6
  150. package/dist/material/moves/rules/EndGame.js +9 -9
  151. package/dist/material/moves/rules/EndPlayerTurn.d.ts +7 -7
  152. package/dist/material/moves/rules/EndPlayerTurn.js +9 -9
  153. package/dist/material/moves/rules/RuleMove.d.ts +18 -18
  154. package/dist/material/moves/rules/RuleMove.js +18 -18
  155. package/dist/material/moves/rules/RuleMove.js.map +1 -1
  156. package/dist/material/moves/rules/StartPlayerTurn.d.ts +8 -8
  157. package/dist/material/moves/rules/StartPlayerTurn.js +9 -9
  158. package/dist/material/moves/rules/StartRule.d.ts +7 -7
  159. package/dist/material/moves/rules/StartRule.js +9 -9
  160. package/dist/material/moves/rules/StartSimultaneousRule.d.ts +8 -8
  161. package/dist/material/moves/rules/StartSimultaneousRule.js +9 -9
  162. package/dist/material/moves/rules/index.d.ts +6 -6
  163. package/dist/material/moves/rules/index.js +22 -22
  164. package/dist/material/rules/MaterialRulesMovesBuilder.d.ts +12 -12
  165. package/dist/material/rules/MaterialRulesMovesBuilder.js +35 -35
  166. package/dist/material/rules/MaterialRulesPart.d.ts +23 -23
  167. package/dist/material/rules/MaterialRulesPart.js +64 -64
  168. package/dist/material/rules/MaterialRulesPart.js.map +1 -1
  169. package/dist/material/rules/PlayerTurnRule.d.ts +9 -9
  170. package/dist/material/rules/PlayerTurnRule.js +52 -52
  171. package/dist/material/rules/RuleStep.d.ts +5 -5
  172. package/dist/material/rules/RuleStep.js +2 -2
  173. package/dist/material/rules/SimultaneousRule.d.ts +9 -9
  174. package/dist/material/rules/SimultaneousRule.js +41 -41
  175. package/dist/material/rules/SimultaneousRule.js.map +1 -1
  176. package/dist/material/rules/index.d.ts +5 -5
  177. package/dist/material/rules/index.js +21 -21
  178. package/dist/options/EnumOption.d.ts +6 -6
  179. package/dist/options/EnumOption.js +7 -7
  180. package/dist/options/Option.d.ts +8 -8
  181. package/dist/options/Option.js +2 -2
  182. package/dist/options/OptionSpecOf.d.ts +5 -5
  183. package/dist/options/OptionSpecOf.js +2 -2
  184. package/dist/options/OptionsSpec.d.ts +9 -9
  185. package/dist/options/OptionsSpec.js +2 -2
  186. package/dist/options/OptionsValidationError.d.ts +4 -4
  187. package/dist/options/OptionsValidationError.js +29 -29
  188. package/dist/options/OptionsValidationError.js.map +1 -1
  189. package/dist/options/PlayerEnumOption.d.ts +14 -14
  190. package/dist/options/PlayerEnumOption.js +66 -66
  191. package/dist/options/PlayerEnumOption.js.map +1 -1
  192. package/dist/options/PlayersOptionsSpec.d.ts +7 -7
  193. package/dist/options/PlayersOptionsSpec.js +2 -2
  194. package/dist/options/WithIdOption.d.ts +3 -3
  195. package/dist/options/WithIdOption.js +2 -2
  196. package/dist/options/WithPlayerOptionsSpec.d.ts +6 -6
  197. package/dist/options/WithPlayerOptionsSpec.js +7 -7
  198. package/dist/options/WithPlayersOptions.d.ts +3 -3
  199. package/dist/options/WithPlayersOptions.js +2 -2
  200. package/dist/options/index.d.ts +11 -11
  201. package/dist/options/index.js +27 -27
  202. package/dist/options/isWithPlayerIdOptions.d.ts +4 -4
  203. package/dist/options/isWithPlayerIdOptions.js +11 -11
  204. package/dist/utils/EnumUtils.d.ts +1 -1
  205. package/dist/utils/EnumUtils.js +7 -7
  206. package/dist/utils/grid.squares.util.d.ts +11 -11
  207. package/dist/utils/grid.squares.util.js +30 -30
  208. package/dist/utils/grid.squares.util.js.map +1 -1
  209. package/dist/utils/grid.util.d.ts +5 -5
  210. package/dist/utils/grid.util.js +7 -7
  211. package/dist/utils/index.d.ts +5 -5
  212. package/dist/utils/index.js +21 -21
  213. package/dist/utils/isDeadEndMove.util.d.ts +2 -2
  214. package/dist/utils/isDeadEndMove.util.js +18 -18
  215. package/dist/utils/listing.util.d.ts +2 -2
  216. package/dist/utils/listing.util.js +23 -23
  217. package/dist/utils/listing.util.js.map +1 -1
  218. package/package.json +34 -33
  219. package/dist/material/items/MaterialDeck.d.ts +0 -7
  220. package/dist/material/items/MaterialDeck.js +0 -35
  221. package/dist/material/items/MaterialDeck.js.map +0 -1
  222. package/dist/material/moves/items/MoveAtOnce.d.ts +0 -13
  223. package/dist/material/moves/items/MoveAtOnce.js +0 -16
  224. package/dist/material/moves/items/MoveAtOnce.js.map +0 -1
  225. package/dist/material/moves/items/Roll.d.ts +0 -11
  226. package/dist/material/moves/items/Roll.js +0 -16
  227. package/dist/material/moves/items/Roll.js.map +0 -1
  228. package/dist/material/moves/local/DisplayRules.d.ts +0 -32
  229. package/dist/material/moves/local/DisplayRules.js +0 -25
  230. package/dist/material/moves/local/DisplayRules.js.map +0 -1
  231. package/dist/material/moves/rules/StartSimultanousRule.d.ts +0 -10
  232. package/dist/material/moves/rules/StartSimultanousRule.js +0 -10
  233. package/dist/material/moves/rules/StartSimultanousRule.js.map +0 -1
  234. package/dist/options/PlayerIdSpec.d.ts +0 -7
  235. package/dist/options/PlayerIdSpec.js +0 -18
  236. package/dist/options/PlayerIdSpec.js.map +0 -1
  237. package/dist/options/getFallbackPlayerName.d.ts +0 -4
  238. package/dist/options/getFallbackPlayerName.js +0 -14
  239. package/dist/options/getFallbackPlayerName.js.map +0 -1
  240. package/dist/options/providePlayerIds.d.ts +0 -6
  241. package/dist/options/providePlayerIds.js +0 -36
  242. package/dist/options/providePlayerIds.js.map +0 -1
@@ -1,10 +1,10 @@
1
- export * from './items';
2
- export * from './location';
3
- export * from './memory';
4
- export * from './moves';
5
- export * from './rules';
6
- export * from './HiddenMaterialRules';
7
- export * from './MaterialGame';
8
- export * from './MaterialRules';
9
- export * from './MaterialGameSetup';
10
- export * from './SecretMaterialRules';
1
+ export * from './items';
2
+ export * from './location';
3
+ export * from './memory';
4
+ export * from './moves';
5
+ export * from './rules';
6
+ export * from './HiddenMaterialRules';
7
+ export * from './MaterialGame';
8
+ export * from './MaterialRules';
9
+ export * from './MaterialGameSetup';
10
+ export * from './SecretMaterialRules';
@@ -1,27 +1,27 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./items"), exports);
18
- __exportStar(require("./location"), exports);
19
- __exportStar(require("./memory"), exports);
20
- __exportStar(require("./moves"), exports);
21
- __exportStar(require("./rules"), exports);
22
- __exportStar(require("./HiddenMaterialRules"), exports);
23
- __exportStar(require("./MaterialGame"), exports);
24
- __exportStar(require("./MaterialRules"), exports);
25
- __exportStar(require("./MaterialGameSetup"), exports);
26
- __exportStar(require("./SecretMaterialRules"), exports);
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./items"), exports);
18
+ __exportStar(require("./location"), exports);
19
+ __exportStar(require("./memory"), exports);
20
+ __exportStar(require("./moves"), exports);
21
+ __exportStar(require("./rules"), exports);
22
+ __exportStar(require("./HiddenMaterialRules"), exports);
23
+ __exportStar(require("./MaterialGame"), exports);
24
+ __exportStar(require("./MaterialRules"), exports);
25
+ __exportStar(require("./MaterialGameSetup"), exports);
26
+ __exportStar(require("./SecretMaterialRules"), exports);
27
27
  //# sourceMappingURL=index.js.map
@@ -1,60 +1,59 @@
1
- import { Location } from '../location';
2
- import { CreateItem, CreateItemsAtOnce, DeleteItem, DeleteItemsAtOnce, ItemMove, MoveItem, MoveItemsAtOnce, RollItem, SelectItem, Shuffle } from '../moves';
3
- import { MaterialItem } from './MaterialItem';
4
- type ItemEntry<P extends number = number, L extends number = number> = [number, MaterialItem<P, L>];
5
- export declare class Material<P extends number = number, M extends number = number, L extends number = number> {
6
- readonly type: M;
7
- readonly entries: ItemEntry<P, L>[];
8
- protected readonly processMove?: ((move: ItemMove<P, M, L>) => void) | undefined;
9
- constructor(type: M, entries: ItemEntry<P, L>[], processMove?: ((move: ItemMove<P, M, L>) => void) | undefined);
10
- ['constructor']: new (type: M, entries: ItemEntry<P, L>[], processMove?: (move: ItemMove<P, M, L>) => void) => this;
11
- protected new(entries: ItemEntry<P, L>[]): this;
12
- getItems(): MaterialItem<P, L>[];
13
- getItems<Id = any>(predicate?: (item: MaterialItem<P, L, Id>) => boolean): MaterialItem<P, L, Id>[];
14
- getItem<Id = any>(index: number): MaterialItem<P, L, Id> | undefined;
15
- getItem<Id = any>(predicate?: (item: MaterialItem<P, L, Id>) => boolean): MaterialItem<P, L, Id> | undefined;
16
- getIndex(): number;
17
- getIndexes(): number[];
18
- index(arg: number | ((index: number) => boolean)): Material<P, M, L>;
19
- indexes(indexes: number[]): Material<P, M, L>;
20
- get length(): number;
21
- getQuantity(): number;
22
- filter(predicate: (item: MaterialItem<P, L>, index: number) => boolean): this;
23
- id<Id extends string | number | Record<string, any> | undefined>(arg?: Id | ((id: Id) => boolean)): this;
24
- location(arg: L | ((location: Location<P, L>) => boolean)): this;
25
- rotation<R extends string | number | boolean | Record<string, any> | undefined>(arg?: R | ((rotation: R) => boolean)): this;
26
- player(arg?: P | ((player?: P) => boolean)): this;
27
- locationId<Id extends string | number | boolean | Record<string, any> | undefined>(arg: Id | ((id: Id) => boolean)): this;
28
- parent(arg?: number | ((parent?: number) => boolean)): this;
29
- minBy(selector: (item: MaterialItem<P, L>) => number): this;
30
- sort(...selectors: ((item: MaterialItem<P, L>) => number)[]): this;
31
- limit(count: number): this;
32
- maxBy(selector: (item: MaterialItem<P, L>) => number): this;
33
- selected(selected?: number | boolean): this;
34
- private process;
35
- createItem(item: MaterialItem<P, L>): CreateItem<P, M, L>;
36
- createItems(items: MaterialItem<P, L>[]): CreateItem<P, M, L>[];
37
- createItemsAtOnce(items: MaterialItem<P, L>[]): CreateItemsAtOnce<P, M, L>;
38
- deleteItem(quantity?: number): DeleteItem<M>;
39
- deleteItems(quantity?: number): DeleteItem<M>[];
40
- deleteItemsAtOnce(): DeleteItemsAtOnce<M>;
41
- selectItem(quantity?: number): SelectItem<M>;
42
- selectItems(quantity?: number): SelectItem<M>[];
43
- unselectItem(quantity?: number): SelectItem<M>;
44
- unselectItems(quantity?: number): SelectItem<M>[];
45
- moveItem(location: ((item: MaterialItem<P, L>) => Location<P, L>) | Location<P, L>, quantity?: number): MoveItem<P, M, L>;
46
- moveItems(location: ((item: MaterialItem<P, L>, index: number) => Partial<Location<P, L>>) | Partial<Location<P, L>>, quantity?: number): MoveItem<P, M, L>[];
47
- moveItemsAtOnce(location: Partial<Location<P, L>>): MoveItemsAtOnce<P, M, L>;
48
- rotateItem<R extends string | number | boolean | Record<string, any> | undefined>(arg?: R | ((item: MaterialItem<P, L>) => R)): MoveItem<P, M, L>;
49
- rotateItems<R extends string | number | boolean | Record<string, any> | undefined>(arg?: R | ((item: MaterialItem<P, L>) => R | undefined)): MoveItem<P, M, L>[];
50
- shuffle(): Shuffle<M>;
51
- rollItem(location?: ((item: MaterialItem<P, L>) => Location<P, L>) | Location<P, L>): RollItem<P, M, L>;
52
- rollItems(location?: ((item: MaterialItem<P, L>) => Location<P, L>) | Location<P, L>): RollItem<P, M, L>[];
53
- deck(selector?: (item: MaterialItem<P, L>) => number): MaterialDeck<P, M, L>;
54
- }
55
- export declare class MaterialDeck<P extends number = number, M extends number = number, L extends number = number> extends Material<P, M, L> {
56
- deal(arg: ((item: MaterialItem<P, L>) => Location<P, L>) | Location<P, L>, quantity?: number): MoveItem<P, M, L>[];
57
- dealOne(arg: ((item: MaterialItem<P, L>) => Location<P, L>) | Location<P, L>): MoveItem<P, M, L>;
58
- dealAtOnce(arg: Location<P, L>, quantity?: number): MoveItemsAtOnce<P, M, L>;
59
- }
60
- export {};
1
+ import { Location } from '../location';
2
+ import { CreateItem, CreateItemsAtOnce, DeleteItem, DeleteItemsAtOnce, ItemMove, MoveItem, MoveItemsAtOnce, RollItem, SelectItem, Shuffle } from '../moves';
3
+ import { MaterialItem } from './MaterialItem';
4
+ type ItemEntry<P extends number = number, L extends number = number> = [number, MaterialItem<P, L>];
5
+ export declare class Material<P extends number = number, M extends number = number, L extends number = number> {
6
+ readonly type: M;
7
+ readonly entries: ItemEntry<P, L>[];
8
+ protected readonly processMove?: ((move: ItemMove<P, M, L>) => void) | undefined;
9
+ constructor(type: M, entries: ItemEntry<P, L>[], processMove?: ((move: ItemMove<P, M, L>) => void) | undefined);
10
+ protected new(entries: ItemEntry<P, L>[]): this;
11
+ getItems(): MaterialItem<P, L>[];
12
+ getItems<Id = any>(predicate?: (item: MaterialItem<P, L, Id>) => boolean): MaterialItem<P, L, Id>[];
13
+ getItem<Id = any>(index: number): MaterialItem<P, L, Id> | undefined;
14
+ getItem<Id = any>(predicate?: (item: MaterialItem<P, L, Id>) => boolean): MaterialItem<P, L, Id> | undefined;
15
+ getIndex(): number;
16
+ getIndexes(): number[];
17
+ index(arg: number | ((index: number) => boolean)): Material<P, M, L>;
18
+ indexes(indexes: number[]): Material<P, M, L>;
19
+ get length(): number;
20
+ getQuantity(): number;
21
+ filter(predicate: (item: MaterialItem<P, L>, index: number) => boolean): this;
22
+ id<Id extends string | number | Record<string, any> | undefined>(arg?: Id | ((id: Id) => boolean)): this;
23
+ location(arg: L | ((location: Location<P, L>) => boolean)): this;
24
+ rotation<R extends string | number | boolean | Record<string, any> | undefined>(arg?: R | ((rotation: R) => boolean)): this;
25
+ player(arg?: P | ((player?: P) => boolean)): this;
26
+ locationId<Id extends string | number | boolean | Record<string, any> | undefined>(arg: Id | ((id: Id) => boolean)): this;
27
+ parent(arg?: number | ((parent?: number) => boolean)): this;
28
+ minBy(selector: (item: MaterialItem<P, L>) => number): this;
29
+ sort(...selectors: ((item: MaterialItem<P, L>) => number)[]): this;
30
+ limit(count: number): this;
31
+ maxBy(selector: (item: MaterialItem<P, L>) => number): this;
32
+ selected(selected?: number | boolean): this;
33
+ private process;
34
+ createItem(item: MaterialItem<P, L>): CreateItem<P, M, L>;
35
+ createItems(items: MaterialItem<P, L>[]): CreateItem<P, M, L>[];
36
+ createItemsAtOnce(items: MaterialItem<P, L>[]): CreateItemsAtOnce<P, M, L>;
37
+ deleteItem(quantity?: number): DeleteItem<M>;
38
+ deleteItems(quantity?: number): DeleteItem<M>[];
39
+ deleteItemsAtOnce(): DeleteItemsAtOnce<M>;
40
+ selectItem(quantity?: number): SelectItem<M>;
41
+ selectItems(quantity?: number): SelectItem<M>[];
42
+ unselectItem(quantity?: number): SelectItem<M>;
43
+ unselectItems(quantity?: number): SelectItem<M>[];
44
+ moveItem(location: ((item: MaterialItem<P, L>) => Location<P, L>) | Location<P, L>, quantity?: number): MoveItem<P, M, L>;
45
+ moveItems(location: ((item: MaterialItem<P, L>, index: number) => Partial<Location<P, L>>) | Partial<Location<P, L>>, quantity?: number): MoveItem<P, M, L>[];
46
+ moveItemsAtOnce(location: Partial<Location<P, L>>): MoveItemsAtOnce<P, M, L>;
47
+ rotateItem<R extends string | number | boolean | Record<string, any> | undefined>(arg?: R | ((item: MaterialItem<P, L>) => R)): MoveItem<P, M, L>;
48
+ rotateItems<R extends string | number | boolean | Record<string, any> | undefined>(arg?: R | ((item: MaterialItem<P, L>) => R | undefined)): MoveItem<P, M, L>[];
49
+ shuffle(): Shuffle<M>;
50
+ rollItem(location?: ((item: MaterialItem<P, L>) => Location<P, L>) | Location<P, L>): RollItem<P, M, L>;
51
+ rollItems(location?: ((item: MaterialItem<P, L>) => Location<P, L>) | Location<P, L>): RollItem<P, M, L>[];
52
+ deck(selector?: (item: MaterialItem<P, L>) => number): MaterialDeck<P, M, L>;
53
+ }
54
+ export declare class MaterialDeck<P extends number = number, M extends number = number, L extends number = number> extends Material<P, M, L> {
55
+ deal(arg: ((item: MaterialItem<P, L>) => Location<P, L>) | Location<P, L>, quantity?: number): MoveItem<P, M, L>[];
56
+ dealOne(arg: ((item: MaterialItem<P, L>) => Location<P, L>) | Location<P, L>): MoveItem<P, M, L>;
57
+ dealAtOnce(arg: Location<P, L>, quantity?: number): MoveItemsAtOnce<P, M, L>;
58
+ }
59
+ export {};