@gamepark/rules-api 5.23.2 → 6.0.0-alpha.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 (214) hide show
  1. package/dist/Action.d.ts +4 -5
  2. package/dist/Action.js +6 -6
  3. package/dist/Action.js.map +1 -1
  4. package/dist/ApplyAutomaticMoves.d.ts +1 -1
  5. package/dist/ApplyAutomaticMoves.js +1 -1
  6. package/dist/ApplyAutomaticMoves.js.map +1 -1
  7. package/dist/Competitive.d.ts +2 -2
  8. package/dist/Dummy.d.ts +2 -2
  9. package/dist/Dummy.js +2 -1
  10. package/dist/Dummy.js.map +1 -1
  11. package/dist/Eliminations.d.ts +1 -1
  12. package/dist/IncompleteInformation.d.ts +2 -2
  13. package/dist/RandomMove.d.ts +2 -2
  14. package/dist/RandomMove.js +4 -2
  15. package/dist/RandomMove.js.map +1 -1
  16. package/dist/Robot.d.ts +1 -2
  17. package/dist/Rules.d.ts +2 -1
  18. package/dist/Rules.js +2 -1
  19. package/dist/Rules.js.map +1 -1
  20. package/dist/RulesCreator.d.ts +2 -2
  21. package/dist/TimeLimit.d.ts +2 -2
  22. package/dist/Undo.d.ts +2 -2
  23. package/dist/UnpredictableMove.d.ts +12 -0
  24. package/dist/UnpredictableMove.js +43 -0
  25. package/dist/UnpredictableMove.js.map +1 -0
  26. package/dist/index.d.ts +13 -18
  27. package/dist/index.js +13 -17
  28. package/dist/index.js.map +1 -1
  29. package/dist/material/HiddenMaterialRules.d.ts +19 -0
  30. package/dist/material/HiddenMaterialRules.js +138 -0
  31. package/dist/material/HiddenMaterialRules.js.map +1 -0
  32. package/dist/material/MaterialGame.d.ts +11 -0
  33. package/dist/material/MaterialGame.js +3 -0
  34. package/dist/material/MaterialGame.js.map +1 -0
  35. package/dist/material/MaterialRules.d.ts +32 -0
  36. package/dist/material/MaterialRules.js +216 -0
  37. package/dist/material/MaterialRules.js.map +1 -0
  38. package/dist/material/MaterialRulesStep.d.ts +16 -0
  39. package/dist/material/MaterialRulesStep.js +47 -0
  40. package/dist/material/MaterialRulesStep.js.map +1 -0
  41. package/dist/material/MaterialStepRules.d.ts +16 -0
  42. package/dist/material/MaterialStepRules.js +47 -0
  43. package/dist/material/MaterialStepRules.js.map +1 -0
  44. package/dist/material/PlayerRulesStep.d.ts +10 -0
  45. package/dist/material/PlayerRulesStep.js +54 -0
  46. package/dist/material/PlayerRulesStep.js.map +1 -0
  47. package/dist/material/PlayerTurnRule.d.ts +10 -0
  48. package/dist/material/PlayerTurnRule.js +54 -0
  49. package/dist/material/PlayerTurnRule.js.map +1 -0
  50. package/dist/material/SecretMaterialRules.d.ts +12 -0
  51. package/dist/material/SecretMaterialRules.js +52 -0
  52. package/dist/material/SecretMaterialRules.js.map +1 -0
  53. package/dist/material/helper/MaterialMoveBuilder.d.ts +9 -0
  54. package/dist/material/helper/MaterialMoveBuilder.js +28 -0
  55. package/dist/material/helper/MaterialMoveBuilder.js.map +1 -0
  56. package/dist/material/helper/MaterialRulesMovesBuilder.d.ts +8 -0
  57. package/dist/material/helper/MaterialRulesMovesBuilder.js +26 -0
  58. package/dist/material/helper/MaterialRulesMovesBuilder.js.map +1 -0
  59. package/dist/material/helper/MaterialSearchHelper.d.ts +18 -0
  60. package/dist/material/helper/MaterialSearchHelper.js +62 -0
  61. package/dist/material/helper/MaterialSearchHelper.js.map +1 -0
  62. package/dist/material/helper/index.d.ts +2 -0
  63. package/dist/material/helper/index.js +19 -0
  64. package/dist/material/helper/index.js.map +1 -0
  65. package/dist/material/index.d.ts +9 -0
  66. package/dist/material/index.js +26 -0
  67. package/dist/material/index.js.map +1 -0
  68. package/dist/material/items/Material.d.ts +30 -0
  69. package/dist/material/items/Material.js +149 -0
  70. package/dist/material/items/Material.js.map +1 -0
  71. package/dist/material/items/MaterialItem.d.ts +10 -0
  72. package/dist/material/items/MaterialItem.js +3 -0
  73. package/dist/material/items/MaterialItem.js.map +1 -0
  74. package/dist/material/items/MaterialOperation.d.ts +20 -0
  75. package/dist/material/items/MaterialOperation.js +147 -0
  76. package/dist/material/items/MaterialOperation.js.map +1 -0
  77. package/dist/material/items/index.d.ts +3 -0
  78. package/dist/material/items/index.js +20 -0
  79. package/dist/material/items/index.js.map +1 -0
  80. package/dist/material/location/Location.d.ts +14 -0
  81. package/dist/material/location/Location.js +12 -0
  82. package/dist/material/location/Location.js.map +1 -0
  83. package/dist/material/location/index.d.ts +2 -0
  84. package/dist/material/location/index.js +19 -0
  85. package/dist/material/location/index.js.map +1 -0
  86. package/dist/material/location/strategy/LocationStrategy.d.ts +5 -0
  87. package/dist/material/location/strategy/LocationStrategy.js +3 -0
  88. package/dist/material/location/strategy/LocationStrategy.js.map +1 -0
  89. package/dist/material/location/strategy/PositiveSequenceStrategy.d.ts +11 -0
  90. package/dist/material/location/strategy/PositiveSequenceStrategy.js +42 -0
  91. package/dist/material/location/strategy/PositiveSequenceStrategy.js.map +1 -0
  92. package/dist/material/location/strategy/index.d.ts +2 -0
  93. package/dist/material/location/strategy/index.js +19 -0
  94. package/dist/material/location/strategy/index.js.map +1 -0
  95. package/dist/material/moves/CreateItem.d.ts +7 -0
  96. package/dist/material/moves/CreateItem.js +3 -0
  97. package/dist/material/moves/CreateItem.js.map +1 -0
  98. package/dist/material/moves/CustomMove.d.ts +6 -0
  99. package/dist/material/moves/CustomMove.js +3 -0
  100. package/dist/material/moves/CustomMove.js.map +1 -0
  101. package/dist/material/moves/CustomMoves.d.ts +7 -0
  102. package/dist/material/moves/CustomMoves.js +3 -0
  103. package/dist/material/moves/CustomMoves.js.map +1 -0
  104. package/dist/material/moves/DeleteItem.d.ts +7 -0
  105. package/dist/material/moves/DeleteItem.js +3 -0
  106. package/dist/material/moves/DeleteItem.js.map +1 -0
  107. package/dist/material/moves/MaterialMove.d.ts +11 -0
  108. package/dist/material/moves/MaterialMove.js +3 -0
  109. package/dist/material/moves/MaterialMove.js.map +1 -0
  110. package/dist/material/moves/MaterialMoveType.d.ts +6 -0
  111. package/dist/material/moves/MaterialMoveType.js +11 -0
  112. package/dist/material/moves/MaterialMoveType.js.map +1 -0
  113. package/dist/material/moves/MaterialMovesBuilder.d.ts +8 -0
  114. package/dist/material/moves/MaterialMovesBuilder.js +34 -0
  115. package/dist/material/moves/MaterialMovesBuilder.js.map +1 -0
  116. package/dist/material/moves/MaterialRulesMove.d.ts +6 -0
  117. package/dist/material/moves/MaterialRulesMove.js +3 -0
  118. package/dist/material/moves/MaterialRulesMove.js.map +1 -0
  119. package/dist/material/moves/MoveItem.d.ts +17 -0
  120. package/dist/material/moves/MoveItem.js +54 -0
  121. package/dist/material/moves/MoveItem.js.map +1 -0
  122. package/dist/material/moves/MoveKind.d.ts +6 -0
  123. package/dist/material/moves/MoveKind.js +11 -0
  124. package/dist/material/moves/MoveKind.js.map +1 -0
  125. package/dist/material/moves/RulesMoves.d.ts +10 -0
  126. package/dist/material/moves/RulesMoves.js +3 -0
  127. package/dist/material/moves/RulesMoves.js.map +1 -0
  128. package/dist/material/moves/Shuffle.d.ts +9 -0
  129. package/dist/material/moves/Shuffle.js +3 -0
  130. package/dist/material/moves/Shuffle.js.map +1 -0
  131. package/dist/material/moves/index.d.ts +11 -0
  132. package/dist/material/moves/index.js +28 -0
  133. package/dist/material/moves/index.js.map +1 -0
  134. package/dist/material/moves/local/LocalMove.d.ts +6 -0
  135. package/dist/material/moves/local/LocalMove.js +9 -0
  136. package/dist/material/moves/local/LocalMove.js.map +1 -0
  137. package/dist/material/moves/local/RulesDisplay.d.ts +32 -0
  138. package/dist/material/moves/local/RulesDisplay.js +26 -0
  139. package/dist/material/moves/local/RulesDisplay.js.map +1 -0
  140. package/dist/material/moves/local/index.d.ts +2 -0
  141. package/dist/material/moves/local/index.js +19 -0
  142. package/dist/material/moves/local/index.js.map +1 -0
  143. package/dist/material/moves/rules/EndGame.d.ts +4 -0
  144. package/dist/material/moves/rules/EndGame.js +3 -0
  145. package/dist/material/moves/rules/EndGame.js.map +1 -0
  146. package/dist/material/moves/rules/MaterialRulesMovesBuilder.d.ts +8 -0
  147. package/dist/material/moves/rules/MaterialRulesMovesBuilder.js +26 -0
  148. package/dist/material/moves/rules/MaterialRulesMovesBuilder.js.map +1 -0
  149. package/dist/material/moves/rules/Memorize.d.ts +6 -0
  150. package/dist/material/moves/rules/Memorize.js +3 -0
  151. package/dist/material/moves/rules/Memorize.js.map +1 -0
  152. package/dist/material/moves/rules/MemorizeOnGame.d.ts +6 -0
  153. package/dist/material/moves/rules/MemorizeOnGame.js +3 -0
  154. package/dist/material/moves/rules/MemorizeOnGame.js.map +1 -0
  155. package/dist/material/moves/rules/RuleMove.d.ts +16 -0
  156. package/dist/material/moves/rules/RuleMove.js +19 -0
  157. package/dist/material/moves/rules/RuleMove.js.map +1 -0
  158. package/dist/material/moves/rules/StartPlayerTurn.d.ts +7 -0
  159. package/dist/material/moves/rules/StartPlayerTurn.js +3 -0
  160. package/dist/material/moves/rules/StartPlayerTurn.js.map +1 -0
  161. package/dist/material/moves/rules/StartRule.d.ts +7 -0
  162. package/dist/material/moves/rules/StartRule.js +3 -0
  163. package/dist/material/moves/rules/StartRule.js.map +1 -0
  164. package/dist/material/moves/rules/index.d.ts +4 -0
  165. package/dist/material/moves/rules/index.js +21 -0
  166. package/dist/material/moves/rules/index.js.map +1 -0
  167. package/dist/material/rules/MaterialRulesMovesBuilder.d.ts +10 -0
  168. package/dist/material/rules/MaterialRulesMovesBuilder.js +35 -0
  169. package/dist/material/rules/MaterialRulesMovesBuilder.js.map +1 -0
  170. package/dist/material/rules/MaterialStepRules.d.ts +22 -0
  171. package/dist/material/rules/MaterialStepRules.js +101 -0
  172. package/dist/material/rules/MaterialStepRules.js.map +1 -0
  173. package/dist/material/rules/PlayerTurnRule.d.ts +10 -0
  174. package/dist/material/rules/PlayerTurnRule.js +53 -0
  175. package/dist/material/rules/PlayerTurnRule.js.map +1 -0
  176. package/dist/material/rules/Rule.d.ts +5 -0
  177. package/dist/material/rules/Rule.js +3 -0
  178. package/dist/material/rules/Rule.js.map +1 -0
  179. package/dist/material/rules/RuleStep.d.ts +6 -0
  180. package/dist/material/rules/RuleStep.js +3 -0
  181. package/dist/material/rules/RuleStep.js.map +1 -0
  182. package/dist/material/rules/RulesStep.d.ts +5 -0
  183. package/dist/material/rules/RulesStep.js +3 -0
  184. package/dist/material/rules/RulesStep.js.map +1 -0
  185. package/dist/material/rules/index.d.ts +3 -0
  186. package/dist/material/rules/index.js +20 -0
  187. package/dist/material/rules/index.js.map +1 -0
  188. package/dist/options/EnumOption.d.ts +2 -3
  189. package/dist/options/EnumOption.js.map +1 -1
  190. package/dist/options/Option.d.ts +1 -2
  191. package/dist/options/OptionSpecOf.d.ts +3 -4
  192. package/dist/options/OptionsSpec.d.ts +4 -5
  193. package/dist/options/OptionsValidationError.d.ts +1 -1
  194. package/dist/options/OptionsValidationError.js +2 -1
  195. package/dist/options/OptionsValidationError.js.map +1 -1
  196. package/dist/options/PlayerIdSpec.d.ts +2 -3
  197. package/dist/options/PlayerIdSpec.js.map +1 -1
  198. package/dist/options/PlayersOptionsSpec.d.ts +3 -4
  199. package/dist/options/WithIdOption.d.ts +1 -2
  200. package/dist/options/WithPlayerOptionsSpec.d.ts +2 -3
  201. package/dist/options/WithPlayersOptions.d.ts +1 -2
  202. package/dist/options/getFallbackPlayerName.d.ts +3 -3
  203. package/dist/options/getFallbackPlayerName.js +4 -6
  204. package/dist/options/getFallbackPlayerName.js.map +1 -1
  205. package/dist/options/index.d.ts +12 -12
  206. package/dist/options/index.js +12 -12
  207. package/dist/options/index.js.map +1 -1
  208. package/dist/options/isWithPlayerIdOptions.d.ts +4 -4
  209. package/dist/options/isWithPlayerIdOptions.js +2 -1
  210. package/dist/options/isWithPlayerIdOptions.js.map +1 -1
  211. package/dist/options/providePlayerIds.d.ts +6 -6
  212. package/dist/options/providePlayerIds.js +5 -7
  213. package/dist/options/providePlayerIds.js.map +1 -1
  214. package/package.json +9 -3
@@ -0,0 +1,20 @@
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("./Material"), exports);
18
+ __exportStar(require("./MaterialItem"), exports);
19
+ __exportStar(require("./MaterialOperation"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/material/items/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,iDAA8B;AAC9B,sDAAmC"}
@@ -0,0 +1,14 @@
1
+ export declare type Location<Player = number, LocationType = number, Id = any, ParentIndex = number> = {
2
+ type: LocationType;
3
+ id?: Id;
4
+ player?: Player;
5
+ parent?: ParentIndex;
6
+ } & Partial<Coordinates>;
7
+ export declare type XYCoordinates = {
8
+ x: number;
9
+ y: number;
10
+ };
11
+ export declare type Coordinates = XYCoordinates & {
12
+ z: number;
13
+ };
14
+ export declare const isInsideLocation: (testLocation: Location, parentLocation: Location) => boolean;
@@ -0,0 +1,12 @@
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.isInsideLocation = void 0;
7
+ var fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
8
+ var isInsideLocation = function (testLocation, parentLocation) {
9
+ return Object.keys(parentLocation).every(function (key) { return parentLocation[key] === undefined || (0, fast_deep_equal_1.default)(parentLocation[key], testLocation[key]); });
10
+ };
11
+ exports.isInsideLocation = isInsideLocation;
12
+ //# sourceMappingURL=Location.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Location.js","sourceRoot":"","sources":["../../../src/material/location/Location.ts"],"names":[],"mappings":";;;;;;AAAA,oEAAmC;AAgB5B,IAAM,gBAAgB,GAAG,UAAC,YAAsB,EAAE,cAAwB;IAC/E,OAAO,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,UAAA,GAAG,IAAI,OAAA,cAAc,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,IAAA,yBAAK,EAAC,cAAc,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,EAAlF,CAAkF,CAAC,CAAA;AACrI,CAAC,CAAA;AAFY,QAAA,gBAAgB,oBAE5B"}
@@ -0,0 +1,2 @@
1
+ export * from './strategy';
2
+ export * from './Location';
@@ -0,0 +1,19 @@
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("./strategy"), exports);
18
+ __exportStar(require("./Location"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/material/location/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,6CAA0B"}
@@ -0,0 +1,5 @@
1
+ import { Material, MaterialItem } from '../../items';
2
+ export declare type LocationStrategy<P extends number = number, M extends number = number, L extends number = number> = {
3
+ addItem?(material: Material<P, M, L>, item: MaterialItem<P, L>): void;
4
+ removeItem?(material: Material<P, M, L>, item: MaterialItem<P, L>): void;
5
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=LocationStrategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocationStrategy.js","sourceRoot":"","sources":["../../../../src/material/location/strategy/LocationStrategy.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import { LocationStrategy } from './LocationStrategy';
2
+ import { Material, MaterialItem } from '../../items';
3
+ /**
4
+ * This strategy help to maintain a consecutive sequence of numbers starting with 0 for items at the same location, for example a deck or a hand of cards
5
+ */
6
+ export declare class PositiveSequenceStrategy<P extends number = number, M extends number = number, L extends number = number> implements LocationStrategy<P, M, L> {
7
+ axis: 'x' | 'y' | 'z';
8
+ constructor(axis?: 'x' | 'y' | 'z');
9
+ addItem(material: Material<P, M, L>, item: MaterialItem<P, L>): void;
10
+ removeItem(material: Material<P, M, L>, item: MaterialItem<P, L>): void;
11
+ }
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PositiveSequenceStrategy = void 0;
4
+ /**
5
+ * This strategy help to maintain a consecutive sequence of numbers starting with 0 for items at the same location, for example a deck or a hand of cards
6
+ */
7
+ var PositiveSequenceStrategy = /** @class */ (function () {
8
+ function PositiveSequenceStrategy(axis) {
9
+ if (axis === void 0) { axis = 'x'; }
10
+ this.axis = axis;
11
+ }
12
+ PositiveSequenceStrategy.prototype.addItem = function (material, item) {
13
+ var x = item.location[this.axis];
14
+ if (x === undefined) {
15
+ item.location[this.axis] = material.length;
16
+ }
17
+ else {
18
+ for (var _i = 0, _a = material.getItems(); _i < _a.length; _i++) {
19
+ var item_1 = _a[_i];
20
+ var itemX = item_1.location[this.axis];
21
+ if (itemX !== undefined && itemX >= x) {
22
+ item_1.location[this.axis]++;
23
+ }
24
+ }
25
+ }
26
+ };
27
+ PositiveSequenceStrategy.prototype.removeItem = function (material, item) {
28
+ var x = item.location[this.axis];
29
+ if (x === undefined)
30
+ return;
31
+ for (var _i = 0, _a = material.getItems(); _i < _a.length; _i++) {
32
+ var item_2 = _a[_i];
33
+ var itemX = item_2.location[this.axis];
34
+ if (itemX !== undefined && itemX > x) {
35
+ item_2.location[this.axis]--;
36
+ }
37
+ }
38
+ };
39
+ return PositiveSequenceStrategy;
40
+ }());
41
+ exports.PositiveSequenceStrategy = PositiveSequenceStrategy;
42
+ //# sourceMappingURL=PositiveSequenceStrategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PositiveSequenceStrategy.js","sourceRoot":"","sources":["../../../../src/material/location/strategy/PositiveSequenceStrategy.ts"],"names":[],"mappings":";;;AAGA;;GAEG;AACH;IAGE,kCAAY,IAA2B;QAA3B,qBAAA,EAAA,UAA2B;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,0CAAO,GAAP,UAAQ,QAA2B,EAAE,IAAwB;QAC3D,IAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClC,IAAI,CAAC,KAAK,SAAS,EAAE;YACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAA;SAC3C;aAAM;YACL,KAAmB,UAAmB,EAAnB,KAAA,QAAQ,CAAC,QAAQ,EAAE,EAAnB,cAAmB,EAAnB,IAAmB,EAAE;gBAAnC,IAAM,MAAI,SAAA;gBACb,IAAM,KAAK,GAAG,MAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACtC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,IAAI,CAAC,EAAE;oBACrC,MAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAE,EAAE,CAAA;iBAC5B;aACF;SACF;IACH,CAAC;IAED,6CAAU,GAAV,UAAW,QAA2B,EAAE,IAAwB;QAC9D,IAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClC,IAAI,CAAC,KAAK,SAAS;YAAE,OAAM;QAC3B,KAAmB,UAAmB,EAAnB,KAAA,QAAQ,CAAC,QAAQ,EAAE,EAAnB,cAAmB,EAAnB,IAAmB,EAAE;YAAnC,IAAM,MAAI,SAAA;YACb,IAAM,KAAK,GAAG,MAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACtC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,GAAG,CAAC,EAAE;gBACpC,MAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAE,EAAE,CAAA;aAC5B;SACF;IACH,CAAC;IACH,+BAAC;AAAD,CAAC,AA/BD,IA+BC;AA/BY,4DAAwB"}
@@ -0,0 +1,2 @@
1
+ export * from './LocationStrategy';
2
+ export * from './PositiveSequenceStrategy';
@@ -0,0 +1,19 @@
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("./LocationStrategy"), exports);
18
+ __exportStar(require("./PositiveSequenceStrategy"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/material/location/strategy/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAkC;AAClC,6DAA0C"}
@@ -0,0 +1,7 @@
1
+ import { MaterialItem } from '../items';
2
+ import { MaterialMoveType } from './MaterialMoveType';
3
+ import { MaterialMoveCommon } from './MaterialMove';
4
+ export declare type CreateItem<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = {
5
+ type: typeof MaterialMoveType.Create;
6
+ item: MaterialItem<Player, LocationType>;
7
+ } & MaterialMoveCommon<MaterialType>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=CreateItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreateItem.js","sourceRoot":"","sources":["../../../src/material/moves/CreateItem.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import { MoveKind } from './MoveKind';
2
+ export declare type CustomMove<Type extends number = number> = {
3
+ kind: typeof MoveKind.CustomMove;
4
+ type: Type;
5
+ data?: any;
6
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=CustomMove.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomMove.js","sourceRoot":"","sources":["../../../src/material/moves/CustomMove.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import { MoveKind } from './MoveKind';
2
+ export declare type CustomMoves = {
3
+ kind: typeof MoveKind.CustomMove;
4
+ data: {
5
+ type: number;
6
+ };
7
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=CustomMoves.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomMoves.js","sourceRoot":"","sources":["../../../src/material/moves/CustomMoves.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import { MaterialMoveType } from './MaterialMoveType';
2
+ import { MaterialMoveCommon } from './MaterialMove';
3
+ export declare type DeleteItem<MaterialType extends number = number> = {
4
+ type: typeof MaterialMoveType.Delete;
5
+ itemIndex: number;
6
+ quantity?: number;
7
+ } & MaterialMoveCommon<MaterialType>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=DeleteItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeleteItem.js","sourceRoot":"","sources":["../../../src/material/moves/DeleteItem.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import { MoveKind } from './MoveKind';
2
+ import { MoveItem } from './MoveItem';
3
+ import { Shuffle, ShuffleRandomized } from './Shuffle';
4
+ import { CreateItem } from './CreateItem';
5
+ import { DeleteItem } from './DeleteItem';
6
+ export declare type MaterialMove<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> = {
8
+ kind: typeof MoveKind.MaterialMove;
9
+ itemType: MaterialType;
10
+ };
11
+ export declare type MaterialMoveRandomized<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = Exclude<MaterialMove<Player, MaterialType, LocationType>, Shuffle<MaterialType>> | ShuffleRandomized<MaterialType>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=MaterialMove.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MaterialMove.js","sourceRoot":"","sources":["../../../src/material/moves/MaterialMove.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ export declare enum MaterialMoveType {
2
+ Create = 0,
3
+ Move = 1,
4
+ Shuffle = 2,
5
+ Delete = 3
6
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MaterialMoveType = void 0;
4
+ var MaterialMoveType;
5
+ (function (MaterialMoveType) {
6
+ MaterialMoveType[MaterialMoveType["Create"] = 0] = "Create";
7
+ MaterialMoveType[MaterialMoveType["Move"] = 1] = "Move";
8
+ MaterialMoveType[MaterialMoveType["Shuffle"] = 2] = "Shuffle";
9
+ MaterialMoveType[MaterialMoveType["Delete"] = 3] = "Delete";
10
+ })(MaterialMoveType = exports.MaterialMoveType || (exports.MaterialMoveType = {}));
11
+ //# sourceMappingURL=MaterialMoveType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MaterialMoveType.js","sourceRoot":"","sources":["../../../src/material/moves/MaterialMoveType.ts"],"names":[],"mappings":";;;AAAA,IAAY,gBAEX;AAFD,WAAY,gBAAgB;IAC1B,2DAAM,CAAA;IAAE,uDAAI,CAAA;IAAE,6DAAO,CAAA;IAAE,2DAAM,CAAA;AAC/B,CAAC,EAFW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAE3B"}
@@ -0,0 +1,8 @@
1
+ import { MaterialRulesMove } from './MaterialRulesMove';
2
+ import { MaterialItem } from '../items';
3
+ export declare class MaterialMovesBuilder<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> {
4
+ items: Partial<Record<MaterialType, MaterialItem<Player, LocationType>[]>>;
5
+ moves: MaterialRulesMove<Player, MaterialType, LocationType>[];
6
+ constructor(items: Partial<Record<MaterialType, MaterialItem<Player, LocationType>[]>>);
7
+ shuffle(itemsType: MaterialType, predicate?: (item: MaterialItem<Player, LocationType>) => boolean): this;
8
+ }
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MaterialMovesBuilder = void 0;
4
+ var MoveKind_1 = require("./MoveKind");
5
+ var MaterialMoveType_1 = require("./MaterialMoveType");
6
+ var MaterialMovesBuilder = /** @class */ (function () {
7
+ function MaterialMovesBuilder(items) {
8
+ this.moves = [];
9
+ this.items = items;
10
+ }
11
+ MaterialMovesBuilder.prototype.shuffle = function (itemsType, predicate) {
12
+ if (predicate === void 0) { predicate = function () {
13
+ return true;
14
+ }; }
15
+ var items = this.items[itemsType];
16
+ if (!items)
17
+ throw new Error('You cannot shuffle a type of items that does not exists');
18
+ var move = {
19
+ kind: MoveKind_1.MoveKind.MaterialMove,
20
+ itemType: itemsType,
21
+ type: MaterialMoveType_1.MaterialMoveType.Shuffle,
22
+ indexes: []
23
+ };
24
+ for (var index = 0; index < items.length; index++) {
25
+ if (predicate(items[index]))
26
+ move.indexes.push(index);
27
+ }
28
+ this.moves.push(move);
29
+ return this;
30
+ };
31
+ return MaterialMovesBuilder;
32
+ }());
33
+ exports.MaterialMovesBuilder = MaterialMovesBuilder;
34
+ //# sourceMappingURL=MaterialMovesBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MaterialMovesBuilder.js","sourceRoot":"","sources":["../../../src/material/moves/MaterialMovesBuilder.ts"],"names":[],"mappings":";;;AAEA,uCAAqC;AAGrC,uDAAqD;AAErD;IAIE,8BACE,KAA0E;QAH5E,UAAK,GAA4D,EAAE,CAAA;QAKjE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAED,sCAAO,GAAP,UACE,SAAuB,EACvB,SACM;QADN,0BAAA,EAAA;YACE,OAAA,IAAI;QAAJ,CAAI;QAEN,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QACnC,IAAI,CAAC,KAAK;YACR,MAAM,IAAI,KAAK,CACb,yDAAyD,CAC1D,CAAA;QACH,IAAM,IAAI,GAA+D;YACvE,IAAI,EAAE,mBAAQ,CAAC,YAAY;YAC3B,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,mCAAgB,CAAC,OAAO;YAC9B,OAAO,EAAE,EAAE;SACZ,CAAA;QACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACjD,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;SACtD;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACrB,OAAO,IAAI,CAAA;IACb,CAAC;IACH,2BAAC;AAAD,CAAC,AAhCD,IAgCC;AAhCY,oDAAoB"}
@@ -0,0 +1,6 @@
1
+ import { RuleMove } from './rules';
2
+ import { CustomMove } from './CustomMove';
3
+ import { MaterialMove, MaterialMoveRandomized } from './MaterialMove';
4
+ import { LocalMove } from './local';
5
+ export declare type MaterialRulesMove<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = MaterialMove<Player, MaterialType, LocationType> | RuleMove<Player> | CustomMove | LocalMove<Player, MaterialType, LocationType>;
6
+ export declare type MaterialRulesMoveRandomized<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = MaterialMoveRandomized<Player, MaterialType, LocationType> | RuleMove<Player> | CustomMove | LocalMove<Player, MaterialType, LocationType>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=MaterialRulesMove.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MaterialRulesMove.js","sourceRoot":"","sources":["../../../src/material/moves/MaterialRulesMove.ts"],"names":[],"mappings":""}
@@ -0,0 +1,17 @@
1
+ import { MaterialMoveType } from './MaterialMoveType';
2
+ import { MaterialRulesMove } from './MaterialRulesMove';
3
+ import { MaterialRules } from '../MaterialRules';
4
+ import { MaterialMoveCommon } from './MaterialMove';
5
+ import { MaterialItem } from '../items';
6
+ import { Location } from '../location';
7
+ export declare type MoveItem<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = MaterialMoveCommon<MaterialType> & {
8
+ type: typeof MaterialMoveType.Move;
9
+ itemIndex: number;
10
+ item: Partial<MaterialItem<Player, LocationType>>;
11
+ reveal?: boolean;
12
+ };
13
+ export declare const createMoveItemMove: <P extends number = number, M extends number = number, L extends number = number>(type: M, index: number, item: Partial<MaterialItem<P, L, any>>) => MoveItem<P, M, L>;
14
+ export declare function isMoveThisItem<P extends number = number, M extends number = number, L extends number = number>(move: MaterialRulesMove<P, M, L>, itemIndex: number, itemType: M, rules: MaterialRules<P, M, L>): boolean;
15
+ export declare function isMoveOnLocation<P extends number = number, M extends number = number, L extends number = number>(move: MaterialRulesMove<P, M, L>, locations: L[], rules: MaterialRules<P, M, L>, parentIndex?: number): boolean;
16
+ export declare function isMoveToLocation<P extends number, M extends number, L extends number>(move: MaterialRulesMove<P, M, L>, location: Location<P, L>, rules: MaterialRules<P, M, L>): boolean;
17
+ export declare function isMoveItem<P extends number, M extends number, L extends number>(move: MaterialRulesMove<P, M, L>): move is MoveItem<P, M, L>;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isMoveItem = exports.isMoveToLocation = exports.isMoveOnLocation = exports.isMoveThisItem = exports.createMoveItemMove = void 0;
4
+ var MaterialMoveType_1 = require("./MaterialMoveType");
5
+ var MoveKind_1 = require("./MoveKind");
6
+ var location_1 = require("../location");
7
+ var createMoveItemMove = function (type, index, item) { return ({
8
+ kind: MoveKind_1.MoveKind.MaterialMove,
9
+ type: MaterialMoveType_1.MaterialMoveType.Move,
10
+ itemType: type,
11
+ itemIndex: index,
12
+ item: item
13
+ }); };
14
+ exports.createMoveItemMove = createMoveItemMove;
15
+ function isMoveThisItem(move, itemIndex, itemType, rules) {
16
+ switch (move.kind) {
17
+ case MoveKind_1.MoveKind.MaterialMove:
18
+ return move.itemType === itemType
19
+ && (move.type === MaterialMoveType_1.MaterialMoveType.Move || move.type === MaterialMoveType_1.MaterialMoveType.Delete)
20
+ && move.itemIndex === itemIndex;
21
+ case MoveKind_1.MoveKind.CustomMove:
22
+ return rules.play(move).some(function (consequence) { return isMoveThisItem(consequence, itemIndex, itemType, rules); });
23
+ default:
24
+ return false;
25
+ }
26
+ }
27
+ exports.isMoveThisItem = isMoveThisItem;
28
+ function isMoveOnLocation(move, locations, rules, parentIndex) {
29
+ switch (move.kind) {
30
+ case MoveKind_1.MoveKind.MaterialMove:
31
+ return move.type === MaterialMoveType_1.MaterialMoveType.Move && !!move.item.location && locations.includes(move.item.location.type) && move.item.location.parent === parentIndex;
32
+ case MoveKind_1.MoveKind.CustomMove:
33
+ return rules.play(move).some(function (consequence) { return isMoveOnLocation(consequence, locations, rules, parentIndex); });
34
+ default:
35
+ return false;
36
+ }
37
+ }
38
+ exports.isMoveOnLocation = isMoveOnLocation;
39
+ function isMoveToLocation(move, location, rules) {
40
+ switch (move.kind) {
41
+ case MoveKind_1.MoveKind.MaterialMove:
42
+ return move.type === MaterialMoveType_1.MaterialMoveType.Move && !!move.item.location && (0, location_1.isInsideLocation)(move.item.location, location);
43
+ case MoveKind_1.MoveKind.CustomMove:
44
+ return rules.play(move).some(function (consequence) { return isMoveToLocation(consequence, location, rules); });
45
+ default:
46
+ return false;
47
+ }
48
+ }
49
+ exports.isMoveToLocation = isMoveToLocation;
50
+ function isMoveItem(move) {
51
+ return move.kind === MoveKind_1.MoveKind.MaterialMove && move.type === MaterialMoveType_1.MaterialMoveType.Move;
52
+ }
53
+ exports.isMoveItem = isMoveItem;
54
+ //# sourceMappingURL=MoveItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MoveItem.js","sourceRoot":"","sources":["../../../src/material/moves/MoveItem.ts"],"names":[],"mappings":";;;AAAA,uDAAqD;AAGrD,uCAAqC;AAGrC,wCAAwD;AAUjD,IAAM,kBAAkB,GAAG,UAChC,IAAO,EAAE,KAAa,EAAE,IAAiC,IACnC,OAAA,CAAC;IACvB,IAAI,EAAE,mBAAQ,CAAC,YAAY;IAC3B,IAAI,EAAE,mCAAgB,CAAC,IAAI;IAC3B,QAAQ,EAAE,IAAI;IACd,SAAS,EAAE,KAAK;IAChB,IAAI,MAAA;CACL,CAAC,EANsB,CAMtB,CAAA;AARW,QAAA,kBAAkB,sBAQ7B;AAEF,SAAgB,cAAc,CAC5B,IAAgC,EAAE,SAAiB,EAAE,QAAW,EAAE,KAA6B;IAE/F,QAAQ,IAAI,CAAC,IAAI,EAAE;QACjB,KAAK,mBAAQ,CAAC,YAAY;YACxB,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ;mBAC5B,CAAC,IAAI,CAAC,IAAI,KAAK,mCAAgB,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,mCAAgB,CAAC,MAAM,CAAC;mBAC9E,IAAI,CAAC,SAAS,KAAK,SAAS,CAAA;QACnC,KAAK,mBAAQ,CAAC,UAAU;YACtB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAA,WAAW,IAAI,OAAA,cAAc,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAvD,CAAuD,CAAC,CAAA;QACtG;YACE,OAAO,KAAK,CAAA;KACf;AACH,CAAC;AAbD,wCAaC;AAED,SAAgB,gBAAgB,CAC9B,IAAgC,EAAE,SAAc,EAAE,KAA6B,EAAE,WAAoB;IAErG,QAAQ,IAAI,CAAC,IAAI,EAAE;QACjB,KAAK,mBAAQ,CAAC,YAAY;YACxB,OAAO,IAAI,CAAC,IAAI,KAAK,mCAAgB,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,WAAW,CAAA;QAChK,KAAK,mBAAQ,CAAC,UAAU;YACtB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAA,WAAW,IAAI,OAAA,gBAAgB,CAAC,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,CAAC,EAA5D,CAA4D,CAAC,CAAA;QAC3G;YACE,OAAO,KAAK,CAAA;KACf;AACH,CAAC;AAXD,4CAWC;AAED,SAAgB,gBAAgB,CAC9B,IAAgC,EAAE,QAAwB,EAAE,KAA6B;IAEzF,QAAQ,IAAI,CAAC,IAAI,EAAE;QACjB,KAAK,mBAAQ,CAAC,YAAY;YACxB,OAAO,IAAI,CAAC,IAAI,KAAK,mCAAgB,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAA,2BAAgB,EAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;QACtH,KAAK,mBAAQ,CAAC,UAAU;YACtB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAA,WAAW,IAAI,OAAA,gBAAgB,CAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,EAA9C,CAA8C,CAAC,CAAA;QAC7F;YACE,OAAO,KAAK,CAAA;KACf;AACH,CAAC;AAXD,4CAWC;AAED,SAAgB,UAAU,CAAuD,IAAgC;IAC/G,OAAO,IAAI,CAAC,IAAI,KAAK,mBAAQ,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,mCAAgB,CAAC,IAAI,CAAA;AACnF,CAAC;AAFD,gCAEC"}
@@ -0,0 +1,6 @@
1
+ export declare enum MoveKind {
2
+ MaterialMove = 1,
3
+ RulesMove = 2,
4
+ CustomMove = 3,
5
+ LocalMove = 4
6
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MoveKind = void 0;
4
+ var MoveKind;
5
+ (function (MoveKind) {
6
+ MoveKind[MoveKind["MaterialMove"] = 1] = "MaterialMove";
7
+ MoveKind[MoveKind["RulesMove"] = 2] = "RulesMove";
8
+ MoveKind[MoveKind["CustomMove"] = 3] = "CustomMove";
9
+ MoveKind[MoveKind["LocalMove"] = 4] = "LocalMove";
10
+ })(MoveKind = exports.MoveKind || (exports.MoveKind = {}));
11
+ //# sourceMappingURL=MoveKind.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MoveKind.js","sourceRoot":"","sources":["../../../src/material/moves/MoveKind.ts"],"names":[],"mappings":";;;AAAA,IAAY,QAEX;AAFD,WAAY,QAAQ;IAClB,uDAAgB,CAAA;IAAE,iDAAa,CAAA;IAAE,mDAAc,CAAA;IAAE,iDAAa,CAAA;AAChE,CAAC,EAFW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAEnB"}
@@ -0,0 +1,10 @@
1
+ import { MoveKind } from './MoveKind';
2
+ export declare type RulesMoves<Player extends number = number> = {
3
+ kind: typeof MoveKind.RulesMove;
4
+ } & (SetRulesStep<Player>);
5
+ export declare type SetRulesStep<Player extends number = number> = {
6
+ kind: typeof MoveKind.RulesMove;
7
+ step: number;
8
+ player?: Player;
9
+ data?: any;
10
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=RulesMoves.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RulesMoves.js","sourceRoot":"","sources":["../../../src/material/moves/RulesMoves.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import { MaterialMoveType } from './MaterialMoveType';
2
+ import { MaterialMoveCommon } from './MaterialMove';
3
+ export declare type Shuffle<MaterialType extends number = number> = {
4
+ type: typeof MaterialMoveType.Shuffle;
5
+ indexes: number[];
6
+ } & MaterialMoveCommon<MaterialType>;
7
+ export declare type ShuffleRandomized<MaterialType extends number = number> = Shuffle<MaterialType> & {
8
+ newIndexes: number[];
9
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=Shuffle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Shuffle.js","sourceRoot":"","sources":["../../../src/material/moves/Shuffle.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ export * from './local';
2
+ export * from './rules';
3
+ export * from './CreateItem';
4
+ export * from './CustomMove';
5
+ export * from './MaterialMove';
6
+ export * from './MaterialMoveType';
7
+ export * from './MaterialMovesBuilder';
8
+ export * from './MaterialRulesMove';
9
+ export * from './MoveItem';
10
+ export * from './MoveKind';
11
+ export * from './Shuffle';
@@ -0,0 +1,28 @@
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("./local"), exports);
18
+ __exportStar(require("./rules"), exports);
19
+ __exportStar(require("./CreateItem"), exports);
20
+ __exportStar(require("./CustomMove"), exports);
21
+ __exportStar(require("./MaterialMove"), exports);
22
+ __exportStar(require("./MaterialMoveType"), exports);
23
+ __exportStar(require("./MaterialMovesBuilder"), exports);
24
+ __exportStar(require("./MaterialRulesMove"), exports);
25
+ __exportStar(require("./MoveItem"), exports);
26
+ __exportStar(require("./MoveKind"), exports);
27
+ __exportStar(require("./Shuffle"), exports);
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/material/moves/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,0CAAuB;AACvB,+CAA4B;AAC5B,+CAA4B;AAC5B,iDAA8B;AAC9B,qDAAkC;AAClC,yDAAsC;AACtC,sDAAmC;AACnC,6CAA0B;AAC1B,6CAA0B;AAC1B,4CAAyB"}
@@ -0,0 +1,6 @@
1
+ import { CloseRulesDisplay, DisplayRules } from './RulesDisplay';
2
+ export declare type LocalMove<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = DisplayRules<Player, MaterialType, LocationType> | CloseRulesDisplay;
3
+ export declare enum LocalMoveType {
4
+ DisplayRules = 0,
5
+ CloseRulesDisplay = 1
6
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LocalMoveType = void 0;
4
+ var LocalMoveType;
5
+ (function (LocalMoveType) {
6
+ LocalMoveType[LocalMoveType["DisplayRules"] = 0] = "DisplayRules";
7
+ LocalMoveType[LocalMoveType["CloseRulesDisplay"] = 1] = "CloseRulesDisplay";
8
+ })(LocalMoveType = exports.LocalMoveType || (exports.LocalMoveType = {}));
9
+ //# sourceMappingURL=LocalMove.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocalMove.js","sourceRoot":"","sources":["../../../../src/material/moves/local/LocalMove.ts"],"names":[],"mappings":";;;AAMA,IAAY,aAEX;AAFD,WAAY,aAAa;IACvB,iEAAY,CAAA;IAAE,2EAAiB,CAAA;AACjC,CAAC,EAFW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAExB"}