@gamepark/rules-api 6.0.2-alpha.0 → 6.0.3-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 (65) hide show
  1. package/dist/material/HiddenMaterialRules.d.ts +5 -5
  2. package/dist/material/HiddenMaterialRules.js +9 -9
  3. package/dist/material/HiddenMaterialRules.js.map +1 -1
  4. package/dist/material/MaterialRules.d.ts +11 -11
  5. package/dist/material/MaterialRules.js +7 -7
  6. package/dist/material/MaterialRules.js.map +1 -1
  7. package/dist/material/SecretMaterialRules.d.ts +3 -3
  8. package/dist/material/items/Material.d.ts +2 -3
  9. package/dist/material/items/Material.js +8 -8
  10. package/dist/material/items/Material.js.map +1 -1
  11. package/dist/material/items/MaterialMutator.js +6 -5
  12. package/dist/material/items/MaterialMutator.js.map +1 -1
  13. package/dist/material/moves/CustomMove.d.ts +2 -0
  14. package/dist/material/moves/CustomMove.js +6 -0
  15. package/dist/material/moves/CustomMove.js.map +1 -1
  16. package/dist/material/moves/MaterialMove.d.ts +6 -11
  17. package/dist/material/moves/MoveItem.d.ts +3 -0
  18. package/dist/material/moves/MoveItem.js +5 -1
  19. package/dist/material/moves/MoveItem.js.map +1 -1
  20. package/dist/material/moves/MoveKind.d.ts +1 -1
  21. package/dist/material/moves/MoveKind.js +1 -1
  22. package/dist/material/moves/MoveKind.js.map +1 -1
  23. package/dist/material/moves/index.d.ts +1 -6
  24. package/dist/material/moves/index.js +1 -6
  25. package/dist/material/moves/index.js.map +1 -1
  26. package/dist/material/moves/items/CreateItem.d.ts +9 -0
  27. package/dist/material/moves/items/CreateItem.js +10 -0
  28. package/dist/material/moves/items/CreateItem.js.map +1 -0
  29. package/dist/material/moves/items/DeleteItem.d.ts +9 -0
  30. package/dist/material/moves/items/DeleteItem.js +10 -0
  31. package/dist/material/moves/items/DeleteItem.js.map +1 -0
  32. package/dist/material/moves/items/ItemMove.d.ts +11 -0
  33. package/dist/material/moves/{MaterialRulesMove.js → items/ItemMove.js} +1 -1
  34. package/dist/material/moves/items/ItemMove.js.map +1 -0
  35. package/dist/material/moves/items/ItemMoveType.d.ts +6 -0
  36. package/dist/material/moves/items/ItemMoveType.js +11 -0
  37. package/dist/material/moves/items/ItemMoveType.js.map +1 -0
  38. package/dist/material/moves/items/ItemMovesBuilder.d.ts +8 -0
  39. package/dist/material/moves/items/ItemMovesBuilder.js +34 -0
  40. package/dist/material/moves/items/ItemMovesBuilder.js.map +1 -0
  41. package/dist/material/moves/items/MoveItem.d.ts +16 -0
  42. package/dist/material/moves/items/MoveItem.js +14 -0
  43. package/dist/material/moves/items/MoveItem.js.map +1 -0
  44. package/dist/material/moves/items/Shuffle.d.ts +11 -0
  45. package/dist/material/moves/items/Shuffle.js +10 -0
  46. package/dist/material/moves/items/Shuffle.js.map +1 -0
  47. package/dist/material/moves/items/index.d.ts +7 -0
  48. package/dist/material/moves/items/index.js +24 -0
  49. package/dist/material/moves/items/index.js.map +1 -0
  50. package/dist/material/moves/rules/EndGame.d.ts +2 -0
  51. package/dist/material/moves/rules/EndGame.js +7 -0
  52. package/dist/material/moves/rules/EndGame.js.map +1 -1
  53. package/dist/material/moves/rules/StartPlayerTurn.d.ts +2 -0
  54. package/dist/material/moves/rules/StartPlayerTurn.js +7 -0
  55. package/dist/material/moves/rules/StartPlayerTurn.js.map +1 -1
  56. package/dist/material/moves/rules/StartRule.d.ts +2 -0
  57. package/dist/material/moves/rules/StartRule.js +7 -0
  58. package/dist/material/moves/rules/StartRule.js.map +1 -1
  59. package/dist/material/rules/MaterialStepRules.d.ts +7 -7
  60. package/dist/material/rules/MaterialStepRules.js +2 -2
  61. package/dist/material/rules/MaterialStepRules.js.map +1 -1
  62. package/dist/material/rules/PlayerTurnRule.d.ts +4 -4
  63. package/package.json +2 -2
  64. package/dist/material/moves/MaterialRulesMove.d.ts +0 -6
  65. package/dist/material/moves/MaterialRulesMove.js.map +0 -1
@@ -1,16 +1,16 @@
1
1
  import { IncompleteInformation } from '../IncompleteInformation';
2
2
  import { MaterialRules } from './MaterialRules';
3
3
  import { MaterialGame } from './MaterialGame';
4
- import { CreateItem, MaterialRulesMove, MaterialRulesMoveRandomized, MoveItem } from './moves';
4
+ import { CreateItem, MaterialMove, MaterialRulesMoveRandomized, MoveItem } from './moves';
5
5
  import { MaterialItem } from './items';
6
- export declare abstract class HiddenMaterialRules<P extends number = number, M extends number = number, L extends number = number> extends MaterialRules<P, M, L> implements IncompleteInformation<MaterialGame<P, M, L>, MaterialRulesMove<P, M, L>, MaterialRulesMove<P, M, L>> {
6
+ export declare abstract class HiddenMaterialRules<P extends number = number, M extends number = number, L extends number = number> extends MaterialRules<P, M, L> implements IncompleteInformation<MaterialGame<P, M, L>, MaterialMove<P, M, L>, MaterialMove<P, M, L>> {
7
7
  abstract hidingStrategies: Partial<Record<M, Partial<Record<L, HidingStrategy<P, L>>>>>;
8
8
  getItemTypeHidingStrategies(type: M): Partial<Record<L, HidingStrategy<P, L>>> | undefined;
9
- isUnpredictableMove(move: MaterialRulesMove<P, M, L>): boolean;
10
- randomize(move: MaterialRulesMove<P, M, L>): MaterialRulesMove<P, M, L> & MaterialRulesMoveRandomized<P, M, L>;
9
+ isUnpredictableMove(move: MaterialMove<P, M, L>): boolean;
10
+ randomize(move: MaterialMove<P, M, L>): MaterialMove<P, M, L> & MaterialRulesMoveRandomized<P, M, L>;
11
11
  getView(player?: P): any;
12
12
  hideItem(type: M, item: MaterialItem<P, L>, player?: P): MaterialItem<P, L>;
13
- getMoveView(move: MaterialRulesMoveRandomized<P, M, L>, player?: P): MaterialRulesMove<P, M, L>;
13
+ getMoveView(move: MaterialRulesMoveRandomized<P, M, L>, player?: P): MaterialMove<P, M, L>;
14
14
  getMoveItemView(move: MoveItem<P, M, L>, player?: P): MoveItem<P, M, L>;
15
15
  moveItemRevealsInformation(dataBefore: Omit<MaterialItem, 'quantity' | 'location' | 'rotation'>, dataAfter: Omit<MaterialItem, 'quantity' | 'location' | 'rotation'>): boolean;
16
16
  private getHideItemData;
@@ -56,22 +56,22 @@ var HiddenMaterialRules = /** @class */ (function (_super) {
56
56
  HiddenMaterialRules.prototype.isUnpredictableMove = function (move) {
57
57
  if (_super.prototype.isUnpredictableMove.call(this, move))
58
58
  return true;
59
- if (move.kind !== moves_1.MoveKind.MaterialMove)
59
+ if (move.kind !== moves_1.MoveKind.ItemMove)
60
60
  return false;
61
- if (move.type === moves_1.MaterialMoveType.Move) {
61
+ if (move.type === moves_1.ItemMoveType.Move) {
62
62
  return move.reveal !== undefined;
63
63
  }
64
64
  return false;
65
65
  };
66
66
  HiddenMaterialRules.prototype.randomize = function (move) {
67
- if (move.kind === moves_1.MoveKind.MaterialMove && move.type === moves_1.MaterialMoveType.Move) {
68
- // Hack the randomize function to flag any item movement that reveals something, thus making the action undoable
67
+ if (move.kind === moves_1.MoveKind.ItemMove && move.type === moves_1.ItemMoveType.Move) {
69
68
  if (this.hidingStrategies /* TODO: can be undefined during setup because setup is called by constructor */) {
70
69
  for (var _i = 0, _a = this.game.players; _i < _a.length; _i++) {
71
70
  var player = _a[_i];
72
71
  var moveView = this.getMoveItemView(move, player);
73
72
  if (moveView.reveal) {
74
- return _super.prototype.randomize.call(this, __assign(__assign({}, move), { reveal: {} }));
73
+ // We flag the move in order to know that it revealed something to someone, which means it cannot be undone
74
+ return _super.prototype.randomize.call(this, __assign(__assign({}, move), { reveal: true }));
75
75
  }
76
76
  }
77
77
  }
@@ -98,13 +98,13 @@ var HiddenMaterialRules = /** @class */ (function (_super) {
98
98
  return strategy(item, player);
99
99
  };
100
100
  HiddenMaterialRules.prototype.getMoveView = function (move, player) {
101
- if (move.kind === moves_1.MoveKind.MaterialMove && move.itemType in this.hidingStrategies) {
101
+ if (move.kind === moves_1.MoveKind.ItemMove && move.itemType in this.hidingStrategies) {
102
102
  switch (move.type) {
103
- case moves_1.MaterialMoveType.Move:
103
+ case moves_1.ItemMoveType.Move:
104
104
  return this.getMoveItemView(move, player);
105
- case moves_1.MaterialMoveType.Create:
105
+ case moves_1.ItemMoveType.Create:
106
106
  return this.getCreateItemsView(move, player);
107
- case moves_1.MaterialMoveType.Shuffle:
107
+ case moves_1.ItemMoveType.Shuffle:
108
108
  return this.getShuffleItemsView(move, player);
109
109
  }
110
110
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HiddenMaterialRules.js","sourceRoot":"","sources":["../../src/material/HiddenMaterialRules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HiddenMaterialRules.js","sourceRoot":"","sources":["../../src/material/HiddenMaterialRules.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,13 @@
1
1
  import { MaterialGame } from './MaterialGame';
2
2
  import { Rules } from '../Rules';
3
- import { MaterialRulesMove, MaterialRulesMoveRandomized } from './moves';
3
+ import { MaterialMove, MaterialRulesMoveRandomized } from './moves';
4
4
  import { Material, MaterialItem } from './items';
5
5
  import { RandomMove } from '../RandomMove';
6
6
  import { MaterialRulesStepCreator, MaterialStepRules } from './rules';
7
7
  import { LocationStrategy } from './location';
8
8
  import { Undo } from '../Undo';
9
9
  import { Action } from '../Action';
10
- export declare abstract class MaterialRules<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> extends Rules<MaterialGame<Player, MaterialType, LocationType>, MaterialRulesMove<Player, MaterialType, LocationType>, Player> implements RandomMove<MaterialRulesMove<Player, MaterialType, LocationType>, MaterialRulesMoveRandomized<Player, MaterialType, LocationType>>, Undo<MaterialGame<Player, MaterialType, LocationType>, MaterialRulesMove<Player, MaterialType, LocationType>, Player> {
10
+ export declare abstract class MaterialRules<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> extends Rules<MaterialGame<Player, MaterialType, LocationType>, MaterialMove<Player, MaterialType, LocationType>, Player> implements RandomMove<MaterialMove<Player, MaterialType, LocationType>, MaterialRulesMoveRandomized<Player, MaterialType, LocationType>>, Undo<MaterialGame<Player, MaterialType, LocationType>, MaterialMove<Player, MaterialType, LocationType>, Player> {
11
11
  constructor(state: MaterialGame<Player, MaterialType, LocationType>);
12
12
  constructor(options: any);
13
13
  items(type: MaterialType): MaterialItem<Player, LocationType>[];
@@ -20,14 +20,14 @@ export declare abstract class MaterialRules<Player extends number = number, Mate
20
20
  getMemory<T>(player?: Player): T;
21
21
  delegate(): MaterialStepRules<Player, MaterialType, LocationType> | undefined;
22
22
  start<RuleId extends number = number>(id: RuleId, player?: Player, memory?: Record<string, any>): void;
23
- randomize(move: MaterialRulesMove<Player, MaterialType, LocationType>): MaterialRulesMove<Player, MaterialType, LocationType> & MaterialRulesMoveRandomized<Player, MaterialType, LocationType>;
24
- play(move: MaterialRulesMove<Player, MaterialType, LocationType> & MaterialRulesMoveRandomized<Player, MaterialType, LocationType>): MaterialRulesMove<Player, MaterialType, LocationType>[];
25
- isMoveTrigger(move: MaterialRulesMove<Player, MaterialType, LocationType>, predicate: (move: MaterialRulesMove<Player, MaterialType, LocationType>) => boolean): boolean;
26
- canUndo(action: Action<MaterialRulesMove<Player, MaterialType, LocationType>, Player>, consecutiveActions: Action<MaterialRulesMove<Player, MaterialType, LocationType>, Player>[]): boolean;
27
- actionBlocksUndo(action: Action<MaterialRulesMove<Player, MaterialType, LocationType>, Player>): boolean;
28
- actionActivatesPlayer(action: Action<MaterialRulesMove<Player, MaterialType, LocationType>, Player>): boolean;
29
- moveBlocksUndo(move: MaterialRulesMove<Player, MaterialType, LocationType>): boolean;
30
- moveActivatesPlayer(move: MaterialRulesMove<Player, MaterialType, LocationType>): boolean;
31
- isUnpredictableMove(move: MaterialRulesMove<Player, MaterialType, LocationType>): boolean;
23
+ randomize(move: MaterialMove<Player, MaterialType, LocationType>): MaterialMove<Player, MaterialType, LocationType> & MaterialRulesMoveRandomized<Player, MaterialType, LocationType>;
24
+ play(move: MaterialMove<Player, MaterialType, LocationType> & MaterialRulesMoveRandomized<Player, MaterialType, LocationType>): MaterialMove<Player, MaterialType, LocationType>[];
25
+ isMoveTrigger(move: MaterialMove<Player, MaterialType, LocationType>, predicate: (move: MaterialMove<Player, MaterialType, LocationType>) => boolean): boolean;
26
+ canUndo(action: Action<MaterialMove<Player, MaterialType, LocationType>, Player>, consecutiveActions: Action<MaterialMove<Player, MaterialType, LocationType>, Player>[]): boolean;
27
+ actionBlocksUndo(action: Action<MaterialMove<Player, MaterialType, LocationType>, Player>): boolean;
28
+ actionActivatesPlayer(action: Action<MaterialMove<Player, MaterialType, LocationType>, Player>): boolean;
29
+ moveBlocksUndo(move: MaterialMove<Player, MaterialType, LocationType>): boolean;
30
+ moveActivatesPlayer(move: MaterialMove<Player, MaterialType, LocationType>): boolean;
31
+ isUnpredictableMove(move: MaterialMove<Player, MaterialType, LocationType>): boolean;
32
32
  restoreLocalMoves(game: MaterialGame<Player, MaterialType, LocationType>): void;
33
33
  }
@@ -85,9 +85,9 @@ var MaterialRules = /** @class */ (function (_super) {
85
85
  this.game.rule = { id: id, player: player, memory: memory };
86
86
  };
87
87
  MaterialRules.prototype.randomize = function (move) {
88
- if (move.kind === moves_1.MoveKind.MaterialMove) {
88
+ if (move.kind === moves_1.MoveKind.ItemMove) {
89
89
  switch (move.type) {
90
- case moves_1.MaterialMoveType.Shuffle:
90
+ case moves_1.ItemMoveType.Shuffle:
91
91
  return __assign(__assign({}, move), { newIndexes: (0, lodash_shuffle_1.default)(move.indexes) });
92
92
  }
93
93
  }
@@ -98,16 +98,16 @@ var MaterialRules = /** @class */ (function (_super) {
98
98
  var consequences = [];
99
99
  var delegate = this.delegate();
100
100
  switch (move.kind) {
101
- case moves_1.MoveKind.MaterialMove:
101
+ case moves_1.MoveKind.ItemMove:
102
102
  if (delegate) {
103
- consequences.push.apply(consequences, delegate.beforeMaterialMove(move));
103
+ consequences.push.apply(consequences, delegate.beforeItemMove(move));
104
104
  }
105
105
  if (!this.game.items[move.itemType])
106
106
  this.game.items[move.itemType] = [];
107
107
  var mutator = new items_1.MaterialMutator(move.itemType, this.game.items[move.itemType], this.getLocationsStrategies()[move.itemType]);
108
108
  mutator.applyMove(move);
109
109
  if (delegate) {
110
- consequences.push.apply(consequences, delegate.afterMaterialMove(move));
110
+ consequences.push.apply(consequences, delegate.afterItemMove(move));
111
111
  }
112
112
  break;
113
113
  case moves_1.MoveKind.RulesMove:
@@ -182,10 +182,10 @@ var MaterialRules = /** @class */ (function (_super) {
182
182
  return move.kind === moves_1.MoveKind.RulesMove && (move.type === moves_1.RuleMoveType.StartPlayerTurn); // TODO: add StartSimultaneousTurns when implemented
183
183
  };
184
184
  MaterialRules.prototype.isUnpredictableMove = function (move) {
185
- if (move.kind !== moves_1.MoveKind.MaterialMove)
185
+ if (move.kind !== moves_1.MoveKind.ItemMove)
186
186
  return false;
187
187
  switch (move.type) {
188
- case moves_1.MaterialMoveType.Shuffle:
188
+ case moves_1.ItemMoveType.Shuffle:
189
189
  // case MaterialMoveType.ThrowDice:
190
190
  return true;
191
191
  default:
@@ -1 +1 @@
1
- {"version":3,"file":"MaterialRules.js","sourceRoot":"","sources":["../../src/material/MaterialRules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MaterialRules.js","sourceRoot":"","sources":["../../src/material/MaterialRules.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import { SecretInformation } from '../IncompleteInformation';
2
2
  import { HiddenMaterialRules } from './HiddenMaterialRules';
3
3
  import { MaterialGame } from './MaterialGame';
4
- import { MaterialRulesMove, MaterialRulesMoveRandomized } from './moves';
4
+ import { MaterialMove, MaterialRulesMoveRandomized } from './moves';
5
5
  import { MaterialItem } from './items';
6
- export declare abstract class SecretMaterialRules<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> extends HiddenMaterialRules<Player, MaterialType, LocationType> implements SecretInformation<MaterialGame, MaterialRulesMove<Player, MaterialType, LocationType>, MaterialRulesMove<Player, MaterialType, LocationType>, Player> {
6
+ export declare abstract class SecretMaterialRules<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> extends HiddenMaterialRules<Player, MaterialType, LocationType> implements SecretInformation<MaterialGame, MaterialMove<Player, MaterialType, LocationType>, MaterialMove<Player, MaterialType, LocationType>, Player> {
7
7
  abstract hidingStrategies: Partial<Record<MaterialType, Partial<Record<LocationType, HidingSecretsStrategy<Player, LocationType>>>>>;
8
8
  getPlayerView(player: Player): MaterialGame<Player, MaterialType, LocationType>;
9
- getPlayerMoveView(move: MaterialRulesMoveRandomized<Player, MaterialType, LocationType>, player: Player): MaterialRulesMove<Player, MaterialType, LocationType>;
9
+ getPlayerMoveView(move: MaterialRulesMoveRandomized<Player, MaterialType, LocationType>, player: Player): MaterialMove<Player, MaterialType, LocationType>;
10
10
  }
11
11
  export declare type HidingSecretsStrategy<P extends number = number, L extends number = number> = (item: MaterialItem<P, L>, player?: P) => MaterialItem<P, L>;
12
12
  export declare const hideItemIdToOthers: <P extends number = number, L extends number = number>(item: MaterialItem<P, L, any>, player?: P) => MaterialItem<P, L, any>;
@@ -1,13 +1,12 @@
1
1
  import { ItemPosition, MaterialItem } from './MaterialItem';
2
2
  import { Location } from '../location';
3
- import { CreateItem, MaterialRulesMove, MoveItem, Shuffle } from '../moves';
4
- import { DeleteItem } from '../moves/DeleteItem';
3
+ import { CreateItem, DeleteItem, MaterialMove, MoveItem, Shuffle } from '../moves';
5
4
  declare type ItemEntry<P extends number = number, L extends number = number> = [number, MaterialItem<P, L>];
6
5
  export declare class Material<P extends number = number, M extends number = number, L extends number = number> {
7
6
  private readonly type;
8
7
  private readonly entries;
9
8
  private readonly play?;
10
- constructor(type: M, items: ItemEntry<P, L>[], play?: (move: MaterialRulesMove<P, M, L>) => void);
9
+ constructor(type: M, items: ItemEntry<P, L>[], play?: (move: MaterialMove<P, M, L>) => void);
11
10
  private new;
12
11
  getItems(): MaterialItem<P, L>[];
13
12
  getItems<T>(mapFn: (item: MaterialItem<P, L>) => T): T[];
@@ -110,8 +110,8 @@ var Material = /** @class */ (function () {
110
110
  Material.prototype.createItems = function (items) {
111
111
  var _this = this;
112
112
  return this.process(items.map(function (item) { return ({
113
- kind: moves_1.MoveKind.MaterialMove,
114
- type: moves_1.MaterialMoveType.Create,
113
+ kind: moves_1.MoveKind.ItemMove,
114
+ type: moves_1.ItemMoveType.Create,
115
115
  itemType: _this.type,
116
116
  item: item
117
117
  }); }));
@@ -125,8 +125,8 @@ var Material = /** @class */ (function () {
125
125
  var _this = this;
126
126
  return this.process(this.entries.map(function (entry) {
127
127
  var move = {
128
- kind: moves_1.MoveKind.MaterialMove,
129
- type: moves_1.MaterialMoveType.Delete,
128
+ kind: moves_1.MoveKind.ItemMove,
129
+ type: moves_1.ItemMoveType.Delete,
130
130
  itemType: _this.type,
131
131
  itemIndex: entry[0]
132
132
  };
@@ -146,8 +146,8 @@ var Material = /** @class */ (function () {
146
146
  delete position.rotation;
147
147
  return this.process(this.entries.map(function (entry) {
148
148
  var move = {
149
- kind: moves_1.MoveKind.MaterialMove,
150
- type: moves_1.MaterialMoveType.Move,
149
+ kind: moves_1.MoveKind.ItemMove,
150
+ type: moves_1.ItemMoveType.Move,
151
151
  itemType: _this.type,
152
152
  itemIndex: entry[0],
153
153
  position: position
@@ -159,8 +159,8 @@ var Material = /** @class */ (function () {
159
159
  };
160
160
  Material.prototype.shuffle = function () {
161
161
  return this.process([{
162
- kind: moves_1.MoveKind.MaterialMove,
163
- type: moves_1.MaterialMoveType.Shuffle,
162
+ kind: moves_1.MoveKind.ItemMove,
163
+ type: moves_1.ItemMoveType.Shuffle,
164
164
  itemType: this.type,
165
165
  indexes: this.entries.map(function (entry) { return entry[0]; })
166
166
  }])[0];
@@ -1 +1 @@
1
- {"version":3,"file":"Material.js","sourceRoot":"","sources":["../../../src/material/items/Material.ts"],"names":[],"mappings":";;;;;;AAEA,oEAAmC;AACnC,kCAAqH;AACrH,uDAAgC;AAChC,uDAAgC;AAChC,2DAAoC;AAKpC;IAME,kBAAY,IAAO,EAAE,KAAwB,EAAE,IAAiD;QAC9F,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAEO,sBAAG,GAAX,UAAY,OAA0B;QACpC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;IACpD,CAAC;IAID,2BAAQ,GAAR,UAAY,KAAuC;QACjD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAlC,CAAkC,CAAC,CAAA;IACtE,CAAC;IAID,0BAAO,GAAP,UAAQ,GAAsD;QAC5D,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAC3B,IAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAAhB,CAAgB,CAAC,CAAA;YAC1D,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;SACpC;aAAM,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE;YACpC,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAC,EAAQ;oBAAL,IAAI,QAAA;gBAAM,OAAA,GAAG,CAAC,IAAI,CAAC;YAAT,CAAS,CAAC,CAAA;YAC5D,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;SAClD;aAAM;YACL,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;SAC5D;IACH,CAAC;IAED,sBAAI,4BAAM;aAAV;YACE,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAA;QAC5B,CAAC;;;OAAA;IAED,yBAAM,GAAN,UAAO,SAAgD;QACrD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAC,EAAQ;gBAAL,IAAI,QAAA;YAAM,OAAA,SAAS,CAAC,IAAI,CAAC;QAAf,CAAe,CAAC,CAAC,CAAA;IACrE,CAAC;IAED,qBAAE,GAAF,UAA4C,GAAiC;QAC3E,OAAO,IAAI,CAAC,MAAM,CAAC,UAAC,EAAM;gBAAJ,EAAE,QAAA;YAAO,OAAA,OAAO,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAA,yBAAK,EAAC,EAAE,EAAE,GAAG,CAAC;QAApD,CAAoD,CAAC,CAAA;IACtF,CAAC;IAED,2BAAQ,GAAR,UAAS,GAAgD;QACvD,OAAO,IAAI,CAAC,MAAM,CAAC,UAAC,EAAY;gBAAV,QAAQ,cAAA;YAAO,OAAA,OAAO,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG;QAAjE,CAAiE,CAAC,CAAA;IACzG,CAAC;IAED,yBAAM,GAAN,UAAO,GAAmC;QACxC,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAC,EAAU;gBAAR,MAAM,YAAA;YAAO,OAAA,OAAO,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG;QAAxD,CAAwD,CAAC,CAAA;IAChG,CAAC;IAED,6BAAU,GAAV,UAAoD,GAAgC;QAClF,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAC,EAAM;gBAAJ,EAAE,QAAA;YAAO,OAAA,OAAO,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAA,yBAAK,EAAC,EAAE,EAAE,GAAG,CAAC;QAApD,CAAoD,CAAC,CAAA;IACxF,CAAC;IAED,yBAAM,GAAN,UAAsD,GAAiD;QACrG,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAC,EAAU;gBAAR,MAAM,YAAA;YAAO,OAAA,OAAO,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,MAAkB,CAAC,CAAC,CAAC,CAAC,IAAA,yBAAK,EAAC,MAAM,EAAE,GAAG,CAAC;QAAxE,CAAwE,CAAC,CAAA;IAChH,CAAC;IAED,wBAAK,GAAL,UAAM,QAA8C;QAClD,IAAM,GAAG,GAAG,IAAA,eAAK,EAAC,IAAI,CAAC,OAAO,EAAE,UAAA,KAAK,IAAI,OAAA,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAlB,CAAkB,CAAC,CAAA;QAC5D,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IACnC,CAAC;IAED,uBAAI,GAAJ,UAAK,QAA8C;QACjD,IAAM,YAAY,GAAG,IAAA,iBAAO,EAAC,IAAI,CAAC,OAAO,EAAE,UAAA,KAAK,IAAI,OAAA,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAlB,CAAkB,CAAC,CAAA;QAEvE,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IAC/B,CAAC;IAED,wBAAK,GAAL,UAAM,KAAa;QACjB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAA;IAC/C,CAAC;IAED,wBAAK,GAAL,UAAM,QAA8C;QAClD,IAAM,GAAG,GAAG,IAAA,eAAK,EAAC,IAAI,CAAC,OAAO,EAAE,UAAA,KAAK,IAAI,OAAA,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAlB,CAAkB,CAAC,CAAA;QAC5D,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IACnC,CAAC;IAEO,0BAAO,GAAf,UAAiD,KAAU;QACzD,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,KAAmB,UAAK,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK,EAAE;gBAArB,IAAM,IAAI,cAAA;gBACb,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;aAChB;SACF;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,6BAAU,GAAV,UAAW,IAAwB;QACjC,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACpC,CAAC;IAED,8BAAW,GAAX,UAAY,KAA2B;QAAvC,iBAOC;QANC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,CAAC;YACrC,IAAI,EAAE,gBAAQ,CAAC,YAAY;YAC3B,IAAI,EAAE,wBAAgB,CAAC,MAAM;YAC7B,QAAQ,EAAE,KAAI,CAAC,IAAI;YACnB,IAAI,MAAA;SACL,CAAC,EALoC,CAKpC,CAAC,CAAC,CAAA;IACN,CAAC;IAED,6BAAU,GAAV,UAAW,QAAiB;QAC1B,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;QAC1F,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/C,CAAC;IAED,8BAAW,GAAX,UAAY,QAAiB;QAA7B,iBAWC;QAVC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAA,KAAK;YACxC,IAAM,IAAI,GAAkB;gBAC1B,IAAI,EAAE,gBAAQ,CAAC,YAAY;gBAC3B,IAAI,EAAE,wBAAgB,CAAC,MAAM;gBAC7B,QAAQ,EAAE,KAAI,CAAC,IAAI;gBACnB,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;aACpB,CAAA;YACD,IAAI,QAAQ;gBAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;YACtC,OAAO,IAAI,CAAA;QACb,CAAC,CAAC,CAAC,CAAA;IACL,CAAC;IAED,2BAAQ,GAAR,UAAS,QAAqC,EAAE,QAAiB;QAC/D,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;QACxF,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IACvD,CAAC;IAED,4BAAS,GAAT,UAAU,QAAqC,EAAE,QAAiB;QAAlE,iBAaC;QAZC,IAAI,QAAQ,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAAE,OAAO,QAAQ,CAAC,QAAQ,CAAA;QACvH,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAA,KAAK;YACxC,IAAM,IAAI,GAAsB;gBAC9B,IAAI,EAAE,gBAAQ,CAAC,YAAY;gBAC3B,IAAI,EAAE,wBAAgB,CAAC,IAAI;gBAC3B,QAAQ,EAAE,KAAI,CAAC,IAAI;gBACnB,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;gBACnB,QAAQ,UAAA;aACT,CAAA;YACD,IAAI,QAAQ;gBAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;YACtC,OAAO,IAAI,CAAA;QACb,CAAC,CAAC,CAAC,CAAA;IACL,CAAC;IAED,0BAAO,GAAP;QACE,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;gBACnB,IAAI,EAAE,gBAAQ,CAAC,YAAY;gBAC3B,IAAI,EAAE,wBAAgB,CAAC,OAAO;gBAC9B,QAAQ,EAAE,IAAI,CAAC,IAAI;gBACnB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,CAAC,CAAC,EAAR,CAAQ,CAAC;aAC7C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACR,CAAC;IACH,eAAC;AAAD,CAAC,AAxJD,IAwJC;AAxJY,4BAAQ"}
1
+ {"version":3,"file":"Material.js","sourceRoot":"","sources":["../../../src/material/items/Material.ts"],"names":[],"mappings":"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"}
@@ -38,16 +38,16 @@ var MaterialMutator = /** @class */ (function () {
38
38
  }
39
39
  MaterialMutator.prototype.applyMove = function (move) {
40
40
  switch (move.type) {
41
- case moves_1.MaterialMoveType.Create:
41
+ case moves_1.ItemMoveType.Create:
42
42
  this.create(move);
43
43
  break;
44
- case moves_1.MaterialMoveType.Move:
44
+ case moves_1.ItemMoveType.Move:
45
45
  this.move(move);
46
46
  break;
47
- case moves_1.MaterialMoveType.Delete:
47
+ case moves_1.ItemMoveType.Delete:
48
48
  this.delete(move);
49
49
  break;
50
- case moves_1.MaterialMoveType.Shuffle:
50
+ case moves_1.ItemMoveType.Shuffle:
51
51
  this.shuffle(move);
52
52
  break;
53
53
  }
@@ -129,7 +129,8 @@ var MaterialMutator = /** @class */ (function () {
129
129
  };
130
130
  MaterialMutator.prototype.getItemAfterMove = function (move) {
131
131
  var _a = this.items[move.itemIndex], quantity = _a.quantity, rotation = _a.rotation, itemData = __rest(_a, ["quantity", "rotation"]);
132
- var item = __assign(__assign(__assign({}, itemData), move.position), move.reveal);
132
+ var reveal = typeof move.reveal === 'object' ? move.reveal : {};
133
+ var item = __assign(__assign(__assign({}, itemData), move.position), reveal);
133
134
  if (move.quantity)
134
135
  item.quantity = move.quantity;
135
136
  return item;
@@ -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,6 +1,8 @@
1
1
  import { MoveKind } from './MoveKind';
2
+ import { MaterialMove } from './MaterialMove';
2
3
  export declare type CustomMove<Type extends number = number> = {
3
4
  kind: typeof MoveKind.CustomMove;
4
5
  type: Type;
5
6
  data?: any;
6
7
  };
8
+ export declare function isCustomMove<T extends number = number, P extends number = number, M extends number = number, L extends number = number>(move: MaterialMove<P, M, L>, type?: number): move is CustomMove<T>;
@@ -1,3 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isCustomMove = void 0;
4
+ var MoveKind_1 = require("./MoveKind");
5
+ function isCustomMove(move, type) {
6
+ return move.kind === MoveKind_1.MoveKind.CustomMove && (type === undefined || move.type === type);
7
+ }
8
+ exports.isCustomMove = isCustomMove;
3
9
  //# sourceMappingURL=CustomMove.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CustomMove.js","sourceRoot":"","sources":["../../../src/material/moves/CustomMove.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"CustomMove.js","sourceRoot":"","sources":["../../../src/material/moves/CustomMove.ts"],"names":[],"mappings":";;;AAAA,uCAAqC;AASrC,SAAgB,YAAY,CAC1B,IAA2B,EAAE,IAAa;IAE1C,OAAO,IAAI,CAAC,IAAI,KAAK,mBAAQ,CAAC,UAAU,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;AACxF,CAAC;AAJD,oCAIC"}
@@ -1,11 +1,6 @@
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>;
1
+ import { RuleMove } from './rules';
2
+ import { CustomMove } from './CustomMove';
3
+ import { ItemMove, MaterialMoveRandomized } from './items';
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 MaterialRulesMoveRandomized<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = MaterialMoveRandomized<Player, MaterialType, LocationType> | RuleMove<Player> | CustomMove | LocalMove<Player, MaterialType, LocationType>;
@@ -14,3 +14,6 @@ export declare type MoveItemLocation<P extends number, M extends number, L exten
14
14
  };
15
15
  export declare function isMoveItem<P extends number, M extends number, L extends number>(move: MaterialRulesMove<P, M, L>): move is MoveItem<P, M, L>;
16
16
  export declare function isMoveItemLocation<P extends number, M extends number, L extends number>(move: MaterialRulesMove<P, M, L>): move is MoveItemLocation<P, M, L>;
17
+ export declare function isMoveItemType<P extends number, M extends number, L extends number>(move: MaterialRulesMove<P, M, L>, type: M): move is MoveItem<P, M, L> & {
18
+ itemType: M;
19
+ };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isMoveItemLocation = exports.isMoveItem = void 0;
3
+ exports.isMoveItemType = exports.isMoveItemLocation = exports.isMoveItem = void 0;
4
4
  var MaterialMoveType_1 = require("./MaterialMoveType");
5
5
  var MoveKind_1 = require("./MoveKind");
6
6
  function isMoveItem(move) {
@@ -11,4 +11,8 @@ function isMoveItemLocation(move) {
11
11
  return isMoveItem(move) && move.position.location !== undefined;
12
12
  }
13
13
  exports.isMoveItemLocation = isMoveItemLocation;
14
+ function isMoveItemType(move, type) {
15
+ return isMoveItem(move) && move.itemType === type;
16
+ }
17
+ exports.isMoveItemType = isMoveItemType;
14
18
  //# sourceMappingURL=MoveItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MoveItem.js","sourceRoot":"","sources":["../../../src/material/moves/MoveItem.ts"],"names":[],"mappings":";;;AAAA,uDAAqD;AAErD,uCAAqC;AAiBrC,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;AAED,SAAgB,kBAAkB,CAAuD,IAAgC;IACvH,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,KAAK,SAAS,CAAA;AACjE,CAAC;AAFD,gDAEC"}
1
+ {"version":3,"file":"MoveItem.js","sourceRoot":"","sources":["../../../src/material/moves/MoveItem.ts"],"names":[],"mappings":";;;AAAA,uDAAqD;AAErD,uCAAqC;AAiBrC,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;AAED,SAAgB,kBAAkB,CAAuD,IAAgC;IACvH,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,KAAK,SAAS,CAAA;AACjE,CAAC;AAFD,gDAEC;AAED,SAAgB,cAAc,CAC5B,IAAgC,EAAE,IAAO;IAEzC,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAA;AACnD,CAAC;AAJD,wCAIC"}
@@ -1,5 +1,5 @@
1
1
  export declare enum MoveKind {
2
- MaterialMove = 1,
2
+ ItemMove = 1,
3
3
  RulesMove = 2,
4
4
  CustomMove = 3,
5
5
  LocalMove = 4
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MoveKind = void 0;
4
4
  var MoveKind;
5
5
  (function (MoveKind) {
6
- MoveKind[MoveKind["MaterialMove"] = 1] = "MaterialMove";
6
+ MoveKind[MoveKind["ItemMove"] = 1] = "ItemMove";
7
7
  MoveKind[MoveKind["RulesMove"] = 2] = "RulesMove";
8
8
  MoveKind[MoveKind["CustomMove"] = 3] = "CustomMove";
9
9
  MoveKind[MoveKind["LocalMove"] = 4] = "LocalMove";
@@ -1 +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"}
1
+ {"version":3,"file":"MoveKind.js","sourceRoot":"","sources":["../../../src/material/moves/MoveKind.ts"],"names":[],"mappings":";;;AAAA,IAAY,QAEX;AAFD,WAAY,QAAQ;IAClB,+CAAY,CAAA;IAAE,iDAAa,CAAA;IAAE,mDAAc,CAAA;IAAE,iDAAa,CAAA;AAC5D,CAAC,EAFW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAEnB"}
@@ -1,11 +1,6 @@
1
+ export * from './items';
1
2
  export * from './local';
2
3
  export * from './rules';
3
- export * from './CreateItem';
4
4
  export * from './CustomMove';
5
5
  export * from './MaterialMove';
6
- export * from './MaterialMoveType';
7
- export * from './MaterialMovesBuilder';
8
- export * from './MaterialRulesMove';
9
- export * from './MoveItem';
10
6
  export * from './MoveKind';
11
- export * from './Shuffle';
@@ -14,15 +14,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./items"), exports);
17
18
  __exportStar(require("./local"), exports);
18
19
  __exportStar(require("./rules"), exports);
19
- __exportStar(require("./CreateItem"), exports);
20
20
  __exportStar(require("./CustomMove"), exports);
21
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
22
  __exportStar(require("./MoveKind"), exports);
27
- __exportStar(require("./Shuffle"), exports);
28
23
  //# sourceMappingURL=index.js.map
@@ -1 +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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/material/moves/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,0CAAuB;AACvB,0CAAuB;AACvB,+CAA4B;AAC5B,iDAA8B;AAC9B,6CAA0B"}
@@ -0,0 +1,9 @@
1
+ import { MaterialItem } from '../../items';
2
+ import { ItemMoveType } from './ItemMoveType';
3
+ import { MaterialMoveCommon } from './ItemMove';
4
+ import { MaterialMove } from '../MaterialMove';
5
+ export declare type CreateItem<P extends number = number, M extends number = number, L extends number = number> = MaterialMoveCommon<M> & {
6
+ type: typeof ItemMoveType.Create;
7
+ item: MaterialItem<P, L>;
8
+ };
9
+ export declare function isCreateItem<P extends number, M extends number, L extends number>(move: MaterialMove<P, M, L>, itemType?: M): move is CreateItem<P, M, L>;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isCreateItem = void 0;
4
+ var ItemMoveType_1 = require("./ItemMoveType");
5
+ var MoveKind_1 = require("../MoveKind");
6
+ function isCreateItem(move, itemType) {
7
+ return move.kind === MoveKind_1.MoveKind.ItemMove && move.type === ItemMoveType_1.ItemMoveType.Create && (itemType === undefined || move.itemType === itemType);
8
+ }
9
+ exports.isCreateItem = isCreateItem;
10
+ //# sourceMappingURL=CreateItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreateItem.js","sourceRoot":"","sources":["../../../../src/material/moves/items/CreateItem.ts"],"names":[],"mappings":";;;AACA,+CAA6C;AAG7C,wCAAsC;AAOtC,SAAgB,YAAY,CAC1B,IAA2B,EAAE,QAAY;IAEzC,OAAO,IAAI,CAAC,IAAI,KAAK,mBAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,2BAAY,CAAC,MAAM,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAA;AACvI,CAAC;AAJD,oCAIC"}
@@ -0,0 +1,9 @@
1
+ import { ItemMoveType } from './ItemMoveType';
2
+ import { MaterialMoveCommon } from './ItemMove';
3
+ import { MaterialMove } from '../MaterialMove';
4
+ export declare type DeleteItem<MaterialType extends number = number> = MaterialMoveCommon<MaterialType> & {
5
+ type: typeof ItemMoveType.Delete;
6
+ itemIndex: number;
7
+ quantity?: number;
8
+ };
9
+ export declare function isDeleteItem<P extends number, M extends number, L extends number>(move: MaterialMove<P, M, L>, itemType?: M): move is DeleteItem<M>;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isDeleteItem = void 0;
4
+ var ItemMoveType_1 = require("./ItemMoveType");
5
+ var MoveKind_1 = require("../MoveKind");
6
+ function isDeleteItem(move, itemType) {
7
+ return move.kind === MoveKind_1.MoveKind.ItemMove && move.type === ItemMoveType_1.ItemMoveType.Delete && (itemType === undefined || move.itemType === itemType);
8
+ }
9
+ exports.isDeleteItem = isDeleteItem;
10
+ //# sourceMappingURL=DeleteItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeleteItem.js","sourceRoot":"","sources":["../../../../src/material/moves/items/DeleteItem.ts"],"names":[],"mappings":";;;AAAA,+CAA6C;AAG7C,wCAAsC;AAQtC,SAAgB,YAAY,CAC1B,IAA2B,EAAE,QAAY;IAEzC,OAAO,IAAI,CAAC,IAAI,KAAK,mBAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,2BAAY,CAAC,MAAM,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAA;AACvI,CAAC;AAJD,oCAIC"}
@@ -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 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> = {
8
+ kind: typeof MoveKind.ItemMove;
9
+ itemType: MaterialType;
10
+ };
11
+ export declare type MaterialMoveRandomized<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = Exclude<ItemMove<Player, MaterialType, LocationType>, Shuffle<MaterialType>> | ShuffleRandomized<MaterialType>;
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=MaterialRulesMove.js.map
3
+ //# sourceMappingURL=ItemMove.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ItemMove.js","sourceRoot":"","sources":["../../../../src/material/moves/items/ItemMove.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ export declare enum ItemMoveType {
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.ItemMoveType = void 0;
4
+ var ItemMoveType;
5
+ (function (ItemMoveType) {
6
+ ItemMoveType[ItemMoveType["Create"] = 0] = "Create";
7
+ ItemMoveType[ItemMoveType["Move"] = 1] = "Move";
8
+ ItemMoveType[ItemMoveType["Shuffle"] = 2] = "Shuffle";
9
+ ItemMoveType[ItemMoveType["Delete"] = 3] = "Delete";
10
+ })(ItemMoveType = exports.ItemMoveType || (exports.ItemMoveType = {}));
11
+ //# sourceMappingURL=ItemMoveType.js.map
@@ -0,0 +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"}
@@ -0,0 +1,8 @@
1
+ import { MaterialMove } from '../MaterialMove';
2
+ import { MaterialItem } from '../../items';
3
+ export declare class ItemMovesBuilder<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> {
4
+ items: Partial<Record<MaterialType, MaterialItem<Player, LocationType>[]>>;
5
+ moves: MaterialMove<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.ItemMovesBuilder = void 0;
4
+ var MoveKind_1 = require("../MoveKind");
5
+ var ItemMoveType_1 = require("./ItemMoveType");
6
+ var ItemMovesBuilder = /** @class */ (function () {
7
+ function ItemMovesBuilder(items) {
8
+ this.moves = [];
9
+ this.items = items;
10
+ }
11
+ ItemMovesBuilder.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.ItemMove,
20
+ itemType: itemsType,
21
+ type: ItemMoveType_1.ItemMoveType.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 ItemMovesBuilder;
32
+ }());
33
+ exports.ItemMovesBuilder = ItemMovesBuilder;
34
+ //# sourceMappingURL=ItemMovesBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ItemMovesBuilder.js","sourceRoot":"","sources":["../../../../src/material/moves/items/ItemMovesBuilder.ts"],"names":[],"mappings":";;;AAEA,wCAAsC;AAGtC,+CAA6C;AAE7C;IAIE,0BACE,KAA0E;QAH5E,UAAK,GAAuD,EAAE,CAAA;QAK5D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAED,kCAAO,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,GAA2D;YACnE,IAAI,EAAE,mBAAQ,CAAC,QAAQ;YACvB,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,2BAAY,CAAC,OAAO;YAC1B,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,uBAAC;AAAD,CAAC,AAhCD,IAgCC;AAhCY,4CAAgB"}
@@ -0,0 +1,16 @@
1
+ import { ItemMoveType } from './ItemMoveType';
2
+ import { MaterialMove } from '../MaterialMove';
3
+ 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> & {
6
+ type: typeof ItemMoveType.Move;
7
+ itemIndex: number;
8
+ position: Partial<ItemPosition<Player, LocationType>>;
9
+ quantity?: number;
10
+ reveal?: boolean | Partial<Omit<MaterialItem<Player, LocationType>, 'quantity' | 'location' | 'rotation'>>;
11
+ };
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
+ export declare function isMoveItem<P extends number, M extends number, L extends number>(move: MaterialMove<P, M, L>, itemType?: M): move is MoveItem<P, M, L>;
16
+ export declare function isMoveItemLocation<P extends number, M extends number, L extends number>(move: MaterialMove<P, M, L>, itemType?: M): move is MoveItemLocation<P, M, L>;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isMoveItemLocation = exports.isMoveItem = void 0;
4
+ var ItemMoveType_1 = require("./ItemMoveType");
5
+ var MoveKind_1 = require("../MoveKind");
6
+ function isMoveItem(move, itemType) {
7
+ return move.kind === MoveKind_1.MoveKind.ItemMove && move.type === ItemMoveType_1.ItemMoveType.Move && (itemType === undefined || move.itemType === itemType);
8
+ }
9
+ exports.isMoveItem = isMoveItem;
10
+ function isMoveItemLocation(move, itemType) {
11
+ return isMoveItem(move, itemType) && move.position.location !== undefined;
12
+ }
13
+ exports.isMoveItemLocation = isMoveItemLocation;
14
+ //# sourceMappingURL=MoveItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MoveItem.js","sourceRoot":"","sources":["../../../../src/material/moves/items/MoveItem.ts"],"names":[],"mappings":";;;AAAA,+CAA6C;AAE7C,wCAAsC;AAiBtC,SAAgB,UAAU,CACxB,IAA2B,EAAE,QAAY;IAEzC,OAAO,IAAI,CAAC,IAAI,KAAK,mBAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,2BAAY,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAA;AACrI,CAAC;AAJD,gCAIC;AAED,SAAgB,kBAAkB,CAChC,IAA2B,EAAE,QAAY;IAEzC,OAAO,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,KAAK,SAAS,CAAA;AAC3E,CAAC;AAJD,gDAIC"}
@@ -0,0 +1,11 @@
1
+ import { ItemMoveType } from './ItemMoveType';
2
+ import { MaterialMoveCommon } from './ItemMove';
3
+ import { MaterialMove } from '../MaterialMove';
4
+ export declare type Shuffle<MaterialType extends number = number> = MaterialMoveCommon<MaterialType> & {
5
+ type: typeof ItemMoveType.Shuffle;
6
+ indexes: number[];
7
+ };
8
+ export declare type ShuffleRandomized<MaterialType extends number = number> = Shuffle<MaterialType> & {
9
+ newIndexes: number[];
10
+ };
11
+ export declare function isShuffle<P extends number, M extends number, L extends number>(move: MaterialMove<P, M, L>, itemType?: M): move is Shuffle<M>;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isShuffle = void 0;
4
+ var ItemMoveType_1 = require("./ItemMoveType");
5
+ var MoveKind_1 = require("../MoveKind");
6
+ function isShuffle(move, itemType) {
7
+ return move.kind === MoveKind_1.MoveKind.ItemMove && move.type === ItemMoveType_1.ItemMoveType.Shuffle && (itemType === undefined || move.itemType === itemType);
8
+ }
9
+ exports.isShuffle = isShuffle;
10
+ //# sourceMappingURL=Shuffle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Shuffle.js","sourceRoot":"","sources":["../../../../src/material/moves/items/Shuffle.ts"],"names":[],"mappings":";;;AAAA,+CAA6C;AAG7C,wCAAsC;AAWtC,SAAgB,SAAS,CACvB,IAA2B,EAAE,QAAY;IAEzC,OAAO,IAAI,CAAC,IAAI,KAAK,mBAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,2BAAY,CAAC,OAAO,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAA;AACxI,CAAC;AAJD,8BAIC"}
@@ -0,0 +1,7 @@
1
+ export * from './CreateItem';
2
+ export * from './DeleteItem';
3
+ export * from './ItemMove';
4
+ export * from './ItemMovesBuilder';
5
+ export * from './ItemMoveType';
6
+ export * from './MoveItem';
7
+ export * from './Shuffle';
@@ -0,0 +1,24 @@
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("./CreateItem"), exports);
18
+ __exportStar(require("./DeleteItem"), exports);
19
+ __exportStar(require("./ItemMove"), exports);
20
+ __exportStar(require("./ItemMovesBuilder"), exports);
21
+ __exportStar(require("./ItemMoveType"), exports);
22
+ __exportStar(require("./MoveItem"), exports);
23
+ __exportStar(require("./Shuffle"), exports);
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +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,4 +1,6 @@
1
1
  import { RuleMoveCommon, RuleMoveType } from './RuleMove';
2
+ import { MaterialMove } from '../MaterialMove';
2
3
  export declare type EndGame = RuleMoveCommon & {
3
4
  type: typeof RuleMoveType.EndGame;
4
5
  };
6
+ export declare function isEndGame<P extends number, M extends number, L extends number>(move: MaterialMove<P, M, L>): move is EndGame;
@@ -1,3 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isEndGame = void 0;
4
+ var RuleMove_1 = require("./RuleMove");
5
+ var MoveKind_1 = require("../MoveKind");
6
+ function isEndGame(move) {
7
+ return move.kind === MoveKind_1.MoveKind.RulesMove && move.type === RuleMove_1.RuleMoveType.EndGame;
8
+ }
9
+ exports.isEndGame = isEndGame;
3
10
  //# sourceMappingURL=EndGame.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EndGame.js","sourceRoot":"","sources":["../../../../src/material/moves/rules/EndGame.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"EndGame.js","sourceRoot":"","sources":["../../../../src/material/moves/rules/EndGame.ts"],"names":[],"mappings":";;;AAAA,uCAAyD;AAEzD,wCAAsC;AAMtC,SAAgB,SAAS,CAAuD,IAA2B;IACzG,OAAO,IAAI,CAAC,IAAI,KAAK,mBAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAY,CAAC,OAAO,CAAA;AAC/E,CAAC;AAFD,8BAEC"}
@@ -1,7 +1,9 @@
1
1
  import { RuleMoveCommon, RuleMoveType } from './RuleMove';
2
+ import { MaterialMove } from '../MaterialMove';
2
3
  export declare type StartPlayerTurn<Player extends number = number, RuleId extends number = number> = RuleMoveCommon & {
3
4
  type: typeof RuleMoveType.StartPlayerTurn;
4
5
  id: RuleId;
5
6
  player?: Player;
6
7
  memory?: Record<string, any>;
7
8
  };
9
+ export declare function isStartPlayerTurn<P extends number, M extends number, L extends number>(move: MaterialMove<P, M, L>): move is StartPlayerTurn<P>;
@@ -1,3 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isStartPlayerTurn = void 0;
4
+ var RuleMove_1 = require("./RuleMove");
5
+ var MoveKind_1 = require("../MoveKind");
6
+ function isStartPlayerTurn(move) {
7
+ return move.kind === MoveKind_1.MoveKind.RulesMove && move.type === RuleMove_1.RuleMoveType.StartPlayerTurn;
8
+ }
9
+ exports.isStartPlayerTurn = isStartPlayerTurn;
3
10
  //# sourceMappingURL=StartPlayerTurn.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StartPlayerTurn.js","sourceRoot":"","sources":["../../../../src/material/moves/rules/StartPlayerTurn.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"StartPlayerTurn.js","sourceRoot":"","sources":["../../../../src/material/moves/rules/StartPlayerTurn.ts"],"names":[],"mappings":";;;AAAA,uCAAyD;AAEzD,wCAAsC;AAStC,SAAgB,iBAAiB,CAAuD,IAA2B;IACjH,OAAO,IAAI,CAAC,IAAI,KAAK,mBAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAY,CAAC,eAAe,CAAA;AACvF,CAAC;AAFD,8CAEC"}
@@ -1,7 +1,9 @@
1
1
  import { RuleMoveCommon, RuleMoveType } from './RuleMove';
2
+ import { MaterialMove } from '../MaterialMove';
2
3
  export declare type StartRule<Player extends number = number, RuleId extends number = number> = RuleMoveCommon & {
3
4
  type: typeof RuleMoveType.StartRule;
4
5
  id: RuleId;
5
6
  player?: Player;
6
7
  memory?: Record<string, any>;
7
8
  };
9
+ export declare function isStartRule<P extends number, M extends number, L extends number>(move: MaterialMove<P, M, L>): move is StartRule<P>;
@@ -1,3 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isStartRule = void 0;
4
+ var RuleMove_1 = require("./RuleMove");
5
+ var MoveKind_1 = require("../MoveKind");
6
+ function isStartRule(move) {
7
+ return move.kind === MoveKind_1.MoveKind.RulesMove && move.type === RuleMove_1.RuleMoveType.StartRule;
8
+ }
9
+ exports.isStartRule = isStartRule;
3
10
  //# sourceMappingURL=StartRule.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StartRule.js","sourceRoot":"","sources":["../../../../src/material/moves/rules/StartRule.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"StartRule.js","sourceRoot":"","sources":["../../../../src/material/moves/rules/StartRule.ts"],"names":[],"mappings":";;;AAAA,uCAAyD;AAEzD,wCAAsC;AAStC,SAAgB,WAAW,CAAuD,IAA2B;IAC3G,OAAO,IAAI,CAAC,IAAI,KAAK,mBAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAY,CAAC,SAAS,CAAA;AACjF,CAAC;AAFD,kCAEC"}
@@ -1,16 +1,16 @@
1
1
  import { MaterialGame } from '../MaterialGame';
2
2
  import { Rules } from '../../Rules';
3
- import { CustomMove, MaterialMove, MaterialRulesMove, RuleMove } from '../moves';
3
+ import { CustomMove, ItemMove, MaterialMove, RuleMove } from '../moves';
4
4
  import { Material } from '../items';
5
5
  import { MaterialRulesMovesBuilder } from './MaterialRulesMovesBuilder';
6
6
  import { RuleStep } from './RuleStep';
7
- export declare abstract class MaterialStepRules<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> extends Rules<MaterialGame<Player, MaterialType, LocationType>, MaterialRulesMove<Player, MaterialType, LocationType>, Player> {
7
+ export declare abstract class MaterialStepRules<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> extends Rules<MaterialGame<Player, MaterialType, LocationType>, MaterialMove<Player, MaterialType, LocationType>, Player> {
8
8
  material(type: MaterialType): Material<Player, MaterialType, LocationType>;
9
- beforeMaterialMove(_move: MaterialMove<Player, MaterialType, LocationType>): MaterialRulesMove<Player, MaterialType, LocationType>[];
10
- afterMaterialMove(_move: MaterialMove<Player, MaterialType, LocationType>): MaterialRulesMove<Player, MaterialType, LocationType>[];
11
- onRuleStart<RuleId extends number>(_move: RuleMove<Player, RuleId>, _previousRule?: RuleStep): MaterialRulesMove<Player, MaterialType, LocationType>[];
12
- onRuleEnd<RuleId extends number>(_move: RuleMove<Player, RuleId>): MaterialRulesMove<Player, MaterialType, LocationType>[];
13
- onCustomMove(_move: CustomMove): MaterialRulesMove<Player, MaterialType, LocationType>[];
9
+ beforeItemMove(_move: ItemMove<Player, MaterialType, LocationType>): MaterialMove<Player, MaterialType, LocationType>[];
10
+ afterItemMove(_move: ItemMove<Player, MaterialType, LocationType>): MaterialMove<Player, MaterialType, LocationType>[];
11
+ onRuleStart<RuleId extends number>(_move: RuleMove<Player, RuleId>, _previousRule?: RuleStep): MaterialMove<Player, MaterialType, LocationType>[];
12
+ onRuleEnd<RuleId extends number>(_move: RuleMove<Player, RuleId>): MaterialMove<Player, MaterialType, LocationType>[];
13
+ onCustomMove(_move: CustomMove): MaterialMove<Player, MaterialType, LocationType>[];
14
14
  rules(): MaterialRulesMovesBuilder<Player, MaterialType, LocationType>;
15
15
  getMemory<T>(player?: Player): T;
16
16
  memorize<T extends Record<string, any>>(memory?: T, player?: Player): void;
@@ -39,10 +39,10 @@ var MaterialStepRules = /** @class */ (function (_super) {
39
39
  var _a;
40
40
  return new items_1.Material(type, Array.from(((_a = this.game.items[type]) !== null && _a !== void 0 ? _a : []).entries()).filter(function (entry) { return entry[1].quantity !== 0; }));
41
41
  };
42
- MaterialStepRules.prototype.beforeMaterialMove = function (_move) {
42
+ MaterialStepRules.prototype.beforeItemMove = function (_move) {
43
43
  return [];
44
44
  };
45
- MaterialStepRules.prototype.afterMaterialMove = function (_move) {
45
+ MaterialStepRules.prototype.afterItemMove = function (_move) {
46
46
  return [];
47
47
  };
48
48
  MaterialStepRules.prototype.onRuleStart = function (_move, _previousRule) {
@@ -1 +1 @@
1
- {"version":3,"file":"MaterialStepRules.js","sourceRoot":"","sources":["../../../src/material/rules/MaterialStepRules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MaterialStepRules.js","sourceRoot":"","sources":["../../../src/material/rules/MaterialStepRules.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import { MaterialStepRules } from './MaterialStepRules';
2
- import { MaterialRulesMove } from '../moves';
2
+ import { MaterialMove } from '../moves';
3
3
  export declare abstract class PlayerTurnRule<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> extends MaterialStepRules<Player, MaterialType, LocationType> {
4
4
  get player(): Player;
5
5
  get nextPlayer(): Player;
6
6
  getActivePlayer(): Player;
7
- initializeMoves(): MaterialRulesMove<Player, MaterialType, LocationType>[];
8
- getLegalMoves(player: Player): MaterialRulesMove<Player, MaterialType, LocationType>[];
9
- abstract getPlayerMoves(): MaterialRulesMove<Player, MaterialType, LocationType>[];
7
+ initializeMoves(): MaterialMove<Player, MaterialType, LocationType>[];
8
+ getLegalMoves(player: Player): MaterialMove<Player, MaterialType, LocationType>[];
9
+ abstract getPlayerMoves(): MaterialMove<Player, MaterialType, LocationType>[];
10
10
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gamepark/rules-api",
3
- "version": "6.0.2-alpha.0",
3
+ "version": "6.0.3-alpha.0",
4
4
  "description": "API to implement the rules of a board game",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -33,5 +33,5 @@
33
33
  "@types/lodash.minby": "^4.6.7",
34
34
  "i18next": ">=21.3.0"
35
35
  },
36
- "gitHead": "99f7258d61a3301a60e27df51e7c8ecc77b20e61"
36
+ "gitHead": "fc7c68a0eb428039109277a2c84f0ed71e3719ac"
37
37
  }
@@ -1,6 +0,0 @@
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>;
@@ -1 +0,0 @@
1
- {"version":3,"file":"MaterialRulesMove.js","sourceRoot":"","sources":["../../../src/material/moves/MaterialRulesMove.ts"],"names":[],"mappings":""}