@gamepark/rules-api 6.0.6-alpha.0 → 6.0.7-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 (70) hide show
  1. package/dist/DefaultGameSetup.d.ts +7 -0
  2. package/dist/DefaultGameSetup.js +15 -0
  3. package/dist/DefaultGameSetup.js.map +1 -0
  4. package/dist/GameSetup.d.ts +3 -0
  5. package/dist/{material/moves/Shuffle.js → GameSetup.js} +1 -1
  6. package/dist/GameSetup.js.map +1 -0
  7. package/dist/GameSetupCreator.d.ts +4 -0
  8. package/dist/{material/moves/CreateItem.js → GameSetupCreator.js} +1 -1
  9. package/dist/GameSetupCreator.js.map +1 -0
  10. package/dist/index.d.ts +3 -0
  11. package/dist/index.js +3 -0
  12. package/dist/index.js.map +1 -1
  13. package/dist/material/HiddenMaterialRules.d.ts +3 -3
  14. package/dist/material/HiddenMaterialRules.js.map +1 -1
  15. package/dist/material/MaterialGameSetup.d.ts +13 -0
  16. package/dist/material/MaterialGameSetup.js +35 -0
  17. package/dist/material/MaterialGameSetup.js.map +1 -0
  18. package/dist/material/MaterialRules.d.ts +7 -12
  19. package/dist/material/MaterialRules.js +4 -42
  20. package/dist/material/MaterialRules.js.map +1 -1
  21. package/dist/material/SecretMaterialRules.d.ts +2 -2
  22. package/dist/material/SecretMaterialRules.js.map +1 -1
  23. package/dist/material/index.d.ts +1 -0
  24. package/dist/material/index.js +1 -0
  25. package/dist/material/index.js.map +1 -1
  26. package/dist/material/items/Material.d.ts +2 -2
  27. package/dist/material/items/Material.js.map +1 -1
  28. package/dist/material/items/MaterialMutator.d.ts +3 -2
  29. package/dist/material/items/MaterialMutator.js +9 -0
  30. package/dist/material/items/MaterialMutator.js.map +1 -1
  31. package/dist/material/moves/MaterialMove.d.ts +2 -2
  32. package/dist/material/moves/items/ItemMove.d.ts +1 -1
  33. package/package.json +2 -2
  34. package/dist/material/helper/MaterialMoveBuilder.d.ts +0 -9
  35. package/dist/material/helper/MaterialMoveBuilder.js +0 -28
  36. package/dist/material/helper/MaterialMoveBuilder.js.map +0 -1
  37. package/dist/material/helper/MaterialSearchHelper.d.ts +0 -18
  38. package/dist/material/helper/MaterialSearchHelper.js +0 -62
  39. package/dist/material/helper/MaterialSearchHelper.js.map +0 -1
  40. package/dist/material/helper/index.d.ts +0 -2
  41. package/dist/material/helper/index.js +0 -19
  42. package/dist/material/helper/index.js.map +0 -1
  43. package/dist/material/items/MaterialOperation.d.ts +0 -17
  44. package/dist/material/items/MaterialOperation.js +0 -133
  45. package/dist/material/items/MaterialOperation.js.map +0 -1
  46. package/dist/material/moves/CreateItem.d.ts +0 -7
  47. package/dist/material/moves/CreateItem.js.map +0 -1
  48. package/dist/material/moves/DeleteItem.d.ts +0 -7
  49. package/dist/material/moves/DeleteItem.js +0 -3
  50. package/dist/material/moves/DeleteItem.js.map +0 -1
  51. package/dist/material/moves/MaterialMoveType.d.ts +0 -6
  52. package/dist/material/moves/MaterialMoveType.js +0 -11
  53. package/dist/material/moves/MaterialMoveType.js.map +0 -1
  54. package/dist/material/moves/MaterialMovesBuilder.d.ts +0 -8
  55. package/dist/material/moves/MaterialMovesBuilder.js +0 -34
  56. package/dist/material/moves/MaterialMovesBuilder.js.map +0 -1
  57. package/dist/material/moves/MoveItem.d.ts +0 -19
  58. package/dist/material/moves/MoveItem.js +0 -18
  59. package/dist/material/moves/MoveItem.js.map +0 -1
  60. package/dist/material/moves/Shuffle.d.ts +0 -9
  61. package/dist/material/moves/Shuffle.js.map +0 -1
  62. package/dist/material/moves/local/RulesDisplay.d.ts +0 -32
  63. package/dist/material/moves/local/RulesDisplay.js +0 -26
  64. package/dist/material/moves/local/RulesDisplay.js.map +0 -1
  65. package/dist/material/moves/rules/MaterialMutator.d.ts +0 -17
  66. package/dist/material/moves/rules/MaterialMutator.js +0 -133
  67. package/dist/material/moves/rules/MaterialMutator.js.map +0 -1
  68. package/dist/material/rules/MaterialStepRules.d.ts +0 -23
  69. package/dist/material/rules/MaterialStepRules.js +0 -98
  70. package/dist/material/rules/MaterialStepRules.js.map +0 -1
@@ -1,18 +0,0 @@
1
- import { MaterialMoveBuilder } from './MaterialMoveBuilder';
2
- import { MaterialItem } from '../items';
3
- import { Location } from '../location';
4
- export declare class MaterialSearchHelper<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> {
5
- private readonly items;
6
- private readonly type;
7
- private filters;
8
- constructor(items: [number, MaterialItem<Player, LocationType>][], type: MaterialType);
9
- location(predicate: (locationType: LocationType) => boolean): this;
10
- location(locationType: LocationType): this;
11
- player(playerId: Player): this;
12
- entries(): [number, MaterialItem<Player, LocationType>][];
13
- all(): MaterialItem<Player, LocationType>[];
14
- filter(predicate: (item: MaterialItem<Player, LocationType>, id: number) => boolean): this;
15
- maxBy(selector: (location: Location<Player, LocationType>) => any): MaterialItem<Player, LocationType> | undefined;
16
- count(): number;
17
- moves(): MaterialMoveBuilder<Player, MaterialType, LocationType>;
18
- }
@@ -1,62 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.MaterialSearchHelper = void 0;
7
- var MaterialMoveBuilder_1 = require("./MaterialMoveBuilder");
8
- var matches_1 = __importDefault(require("lodash/matches"));
9
- var lodash_maxby_1 = __importDefault(require("lodash.maxby"));
10
- var MaterialSearchHelper = /** @class */ (function () {
11
- function MaterialSearchHelper(items, type) {
12
- this.filters = [];
13
- this.items = items;
14
- this.type = type;
15
- }
16
- MaterialSearchHelper.prototype.location = function (locationType) {
17
- this.filters.push({
18
- type: locationType
19
- });
20
- return this;
21
- };
22
- MaterialSearchHelper.prototype.player = function (playerId) {
23
- this.filters.push({
24
- player: playerId
25
- });
26
- return this;
27
- };
28
- MaterialSearchHelper.prototype.entries = function () {
29
- var _this = this;
30
- return this.items.filter(function (i) {
31
- var location = i[1].location;
32
- return _this.filters.every(function (f) {
33
- if (typeof f == 'function') {
34
- return f(location);
35
- }
36
- if (f.predicate) {
37
- return f.predicate(i[1], i[0]);
38
- }
39
- return (0, matches_1.default)(f)(location);
40
- });
41
- });
42
- };
43
- MaterialSearchHelper.prototype.all = function () {
44
- return this.entries().map(function (i) { return i[1]; });
45
- };
46
- MaterialSearchHelper.prototype.filter = function (predicate) {
47
- this.filters.push({ predicate: predicate });
48
- return this;
49
- };
50
- MaterialSearchHelper.prototype.maxBy = function (selector) {
51
- return (0, lodash_maxby_1.default)(this.all(), function (item) { return selector(item.location); });
52
- };
53
- MaterialSearchHelper.prototype.count = function () {
54
- return this.entries().length;
55
- };
56
- MaterialSearchHelper.prototype.moves = function () {
57
- return new MaterialMoveBuilder_1.MaterialMoveBuilder(this.entries(), this.type);
58
- };
59
- return MaterialSearchHelper;
60
- }());
61
- exports.MaterialSearchHelper = MaterialSearchHelper;
62
- //# sourceMappingURL=MaterialSearchHelper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MaterialSearchHelper.js","sourceRoot":"","sources":["../../../src/material/helper/MaterialSearchHelper.ts"],"names":[],"mappings":";;;;;;AAAA,6DAA2D;AAE3D,2DAAoC;AACpC,8DAAgC;AAGhC;IAUE,8BACE,KAAqD,EACrD,IAAkB;QAJZ,YAAO,GAAU,EAAE,CAAA;QAMzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAID,uCAAQ,GAAR,UACE,YAAsE;QAEtE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YAChB,IAAI,EAAE,YAAY;SACnB,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,qCAAM,GAAN,UAAO,QAAgB;QACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YAChB,MAAM,EAAE,QAAQ;SACjB,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,sCAAO,GAAP;QAAA,iBAeC;QAdC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAC,CAAC;YACzB,IAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;YAC9B,OAAO,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAC,CAAC;gBAC1B,IAAI,OAAO,CAAC,IAAI,UAAU,EAAE;oBAC1B,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAA;iBACnB;gBAED,IAAI,CAAC,CAAC,SAAS,EAAE;oBACf,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;iBAC/B;gBAED,OAAO,IAAA,iBAAO,EAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;YAC7B,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,kCAAG,GAAH;QACE,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,CAAC,CAAC,EAAJ,CAAI,CAAC,CAAA;IACxC,CAAC;IAED,qCAAM,GAAN,UAAO,SAA4E;QACjF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,WAAA,EAAE,CAAC,CAAA;QAEhC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,oCAAK,GAAL,UACE,QAA2D;QAE3D,OAAO,IAAA,sBAAK,EAAC,IAAI,CAAC,GAAG,EAAE,EAAE,UAAC,IAAI,IAAK,OAAA,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAvB,CAAuB,CAAC,CAAA;IAC7D,CAAC;IAED,oCAAK,GAAL;QACE,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,CAAA;IAC9B,CAAC;IAED,oCAAK,GAAL;QACE,OAAO,IAAI,yCAAmB,CAC5B,IAAI,CAAC,OAAO,EAAE,EACd,IAAI,CAAC,IAAI,CACV,CAAA;IACH,CAAC;IACH,2BAAC;AAAD,CAAC,AAjFD,IAiFC;AAjFY,oDAAoB"}
@@ -1,2 +0,0 @@
1
- export * from './MaterialMoveBuilder';
2
- export * from './MaterialSearchHelper';
@@ -1,19 +0,0 @@
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("./MaterialMoveBuilder"), exports);
18
- __exportStar(require("./MaterialSearchHelper"), exports);
19
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/material/helper/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAqC;AACrC,yDAAsC"}
@@ -1,17 +0,0 @@
1
- import { MaterialItem } from './MaterialItem';
2
- import { LocationStrategy } from '../location';
3
- export declare class MaterialOperation<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> {
4
- readonly type: MaterialType;
5
- items: MaterialItem<Player, LocationType>[];
6
- locationsStrategies: Partial<Record<LocationType, LocationStrategy<Player, MaterialType, LocationType>>>;
7
- constructor(type: MaterialType, items: MaterialItem<Player, LocationType>[], locationsStrategies?: Partial<Record<LocationType, LocationStrategy<Player, MaterialType, LocationType>>>);
8
- create(item: MaterialItem<Player, LocationType>): this;
9
- findMergeItem(newItem: MaterialItem<Player, LocationType>): MaterialItem<Player, LocationType> | undefined;
10
- delete(index: number, quantity?: number): void;
11
- private addItem;
12
- private applyAddItemStrategy;
13
- private applyRemoveItemStrategy;
14
- shuffle(indexes?: number[], newIndexes?: number[]): this;
15
- move(index: number, destination: Partial<MaterialItem<Player, LocationType>>): void;
16
- private removeItem;
17
- }
@@ -1,133 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __rest = (this && this.__rest) || function (s, e) {
14
- var t = {};
15
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
- t[p] = s[p];
17
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
- t[p[i]] = s[p[i]];
21
- }
22
- return t;
23
- };
24
- var __importDefault = (this && this.__importDefault) || function (mod) {
25
- return (mod && mod.__esModule) ? mod : { "default": mod };
26
- };
27
- Object.defineProperty(exports, "__esModule", { value: true });
28
- exports.MaterialOperation = void 0;
29
- var lodash_shuffle_1 = __importDefault(require("lodash.shuffle"));
30
- var fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
31
- var Material_1 = require("./Material");
32
- var MaterialOperation = /** @class */ (function () {
33
- function MaterialOperation(type, items, locationsStrategies) {
34
- if (locationsStrategies === void 0) { locationsStrategies = {}; }
35
- this.type = type;
36
- this.items = items;
37
- this.locationsStrategies = locationsStrategies;
38
- }
39
- MaterialOperation.prototype.create = function (item) {
40
- var _a, _b;
41
- var mergeItem = this.findMergeItem(item);
42
- if (mergeItem) {
43
- mergeItem.quantity = ((_a = mergeItem.quantity) !== null && _a !== void 0 ? _a : 1) + ((_b = item.quantity) !== null && _b !== void 0 ? _b : 1);
44
- }
45
- else {
46
- this.addItem(item);
47
- }
48
- return this;
49
- };
50
- MaterialOperation.prototype.findMergeItem = function (newItem) {
51
- return this.items.find(function (item) {
52
- var itemQuantity = item.quantity, itemWithoutQuantity = __rest(item, ["quantity"]);
53
- var newItemQuantity = newItem.quantity, newItemWithoutQuantity = __rest(newItem, ["quantity"]);
54
- return (0, fast_deep_equal_1.default)(itemWithoutQuantity, newItemWithoutQuantity);
55
- });
56
- };
57
- MaterialOperation.prototype.delete = function (index, quantity) {
58
- if (quantity === void 0) { quantity = 1; }
59
- var item = this.items[index];
60
- return this.removeItem(item, quantity);
61
- };
62
- MaterialOperation.prototype.addItem = function (item) {
63
- this.applyAddItemStrategy(item);
64
- var availableIndex = this.items.findIndex(function (item) { return item.quantity === 0; });
65
- if (availableIndex !== -1) {
66
- this.items[availableIndex] = item;
67
- }
68
- else {
69
- this.items.push(item);
70
- }
71
- };
72
- MaterialOperation.prototype.applyAddItemStrategy = function (item) {
73
- if (item.location.type in this.locationsStrategies) {
74
- var strategy = this.locationsStrategies[item.location.type];
75
- if (strategy.addItem) {
76
- var material = new Material_1.Material(this.type, Array.from(this.items.entries()).filter(function (entry) { return entry[1].quantity !== 0; }))
77
- .location(item.location.type).player(item.location.player).locationId(item.location.id).parent(item.location.parent);
78
- strategy.addItem(material, item);
79
- }
80
- }
81
- };
82
- MaterialOperation.prototype.applyRemoveItemStrategy = function (item) {
83
- if (item.location.type in this.locationsStrategies) {
84
- var strategy = this.locationsStrategies[item.location.type];
85
- if (strategy.removeItem) {
86
- var material = new Material_1.Material(this.type, Array.from(this.items.entries()).filter(function (entry) { return entry[1].quantity !== 0; }))
87
- .location(item.location.type).player(item.location.player).locationId(item.location.id).parent(item.location.parent);
88
- strategy.removeItem(material, item);
89
- }
90
- }
91
- };
92
- MaterialOperation.prototype.shuffle = function (indexes, newIndexes) {
93
- var _this = this;
94
- indexes = indexes || Array.from(this.items.keys());
95
- newIndexes = newIndexes || (0, lodash_shuffle_1.default)(indexes);
96
- var shuffledItems = indexes.map(function (index) { return _this.items[index]; });
97
- newIndexes.forEach(function (newIndex, i) {
98
- _this.items[newIndex] = __assign(__assign({}, shuffledItems[i]), { location: _this.items[newIndex].location });
99
- });
100
- return this;
101
- };
102
- MaterialOperation.prototype.move = function (index, destination) {
103
- var _a, _b, _c, _d;
104
- var sourceItem = this.items[index];
105
- var quantity = sourceItem.quantity, rotation = sourceItem.rotation, sourceId = __rest(sourceItem, ["quantity", "rotation"]);
106
- var newItem = __assign(__assign({}, sourceId), destination);
107
- var mergeItem = this.findMergeItem(newItem);
108
- if (mergeItem) {
109
- mergeItem.quantity = ((_a = mergeItem.quantity) !== null && _a !== void 0 ? _a : 1) + ((_b = destination.quantity) !== null && _b !== void 0 ? _b : 1);
110
- this.removeItem(sourceItem, destination.quantity);
111
- }
112
- else if (sourceItem.quantity && sourceItem.quantity > ((_c = destination.quantity) !== null && _c !== void 0 ? _c : 1)) {
113
- sourceItem.quantity -= ((_d = destination.quantity) !== null && _d !== void 0 ? _d : 1);
114
- this.addItem(newItem);
115
- }
116
- else {
117
- this.applyAddItemStrategy(newItem);
118
- this.items[index] = newItem;
119
- this.applyRemoveItemStrategy(sourceItem);
120
- }
121
- };
122
- MaterialOperation.prototype.removeItem = function (item, quantity) {
123
- var _a;
124
- if (quantity === void 0) { quantity = 1; }
125
- item.quantity = Math.max(0, ((_a = item.quantity) !== null && _a !== void 0 ? _a : 1) - quantity);
126
- if (item.quantity === 0) {
127
- this.applyRemoveItemStrategy(item);
128
- }
129
- };
130
- return MaterialOperation;
131
- }());
132
- exports.MaterialOperation = MaterialOperation;
133
- //# sourceMappingURL=MaterialOperation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MaterialOperation.js","sourceRoot":"","sources":["../../../src/material/items/MaterialOperation.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
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>;
@@ -1 +0,0 @@
1
- {"version":3,"file":"CreateItem.js","sourceRoot":"","sources":["../../../src/material/moves/CreateItem.ts"],"names":[],"mappings":""}
@@ -1,7 +0,0 @@
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>;
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=DeleteItem.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DeleteItem.js","sourceRoot":"","sources":["../../../src/material/moves/DeleteItem.ts"],"names":[],"mappings":""}
@@ -1,6 +0,0 @@
1
- export declare enum MaterialMoveType {
2
- Create = 0,
3
- Move = 1,
4
- Shuffle = 2,
5
- Delete = 3
6
- }
@@ -1,11 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,8 +0,0 @@
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
- }
@@ -1,34 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,19 +0,0 @@
1
- import { MaterialMoveType } from './MaterialMoveType';
2
- import { MaterialRulesMove } from './MaterialRulesMove';
3
- import { MaterialMoveCommon } from './MaterialMove';
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 MaterialMoveType.Move;
7
- itemIndex: number;
8
- position: Partial<ItemPosition<Player, LocationType>>;
9
- quantity?: number;
10
- reveal?: 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: MaterialRulesMove<P, M, L>): move is MoveItem<P, M, L>;
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,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isMoveItemType = exports.isMoveItemLocation = exports.isMoveItem = void 0;
4
- var MaterialMoveType_1 = require("./MaterialMoveType");
5
- var MoveKind_1 = require("./MoveKind");
6
- function isMoveItem(move) {
7
- return move.kind === MoveKind_1.MoveKind.MaterialMove && move.type === MaterialMoveType_1.MaterialMoveType.Move;
8
- }
9
- exports.isMoveItem = isMoveItem;
10
- function isMoveItemLocation(move) {
11
- return isMoveItem(move) && move.position.location !== undefined;
12
- }
13
- exports.isMoveItemLocation = isMoveItemLocation;
14
- function isMoveItemType(move, type) {
15
- return isMoveItem(move) && move.itemType === type;
16
- }
17
- exports.isMoveItemType = isMoveItemType;
18
- //# sourceMappingURL=MoveItem.js.map
@@ -1 +0,0 @@
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,9 +0,0 @@
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
- };
@@ -1 +0,0 @@
1
- {"version":3,"file":"Shuffle.js","sourceRoot":"","sources":["../../../src/material/moves/Shuffle.ts"],"names":[],"mappings":""}
@@ -1,32 +0,0 @@
1
- import { LocalMoveType } from './LocalMove';
2
- import { MoveKind } from '../MoveKind';
3
- import { MaterialItem } from '../../items';
4
- import { Location } from '../../location';
5
- export declare type RulesDisplay<P extends number = number, M extends number = number, L extends number = number> = MaterialRulesDisplay<P, M, L> | LocationRulesDisplay<P, L>;
6
- export declare enum RulesDisplayType {
7
- Material = 1,
8
- Location = 2
9
- }
10
- export declare type MaterialRulesDisplay<P extends number = number, M extends number = number, L extends number = number> = {
11
- type: typeof RulesDisplayType.Material;
12
- itemType: M;
13
- itemIndex: number;
14
- item: Partial<MaterialItem<P, L>>;
15
- };
16
- export declare type LocationRulesDisplay<P extends number = number, L extends number = number> = {
17
- type: typeof RulesDisplayType.Location;
18
- location: Location<P, L>;
19
- };
20
- export declare type DisplayRules<P extends number = number, M extends number = number, L extends number = number> = {
21
- kind: MoveKind.LocalMove;
22
- type: typeof LocalMoveType.DisplayRules;
23
- rulesDisplay: RulesDisplay<P, M, L>;
24
- };
25
- export declare const displayRules: <P extends number = number, M extends number = number, L extends number = number>(rulesDisplay: RulesDisplay<P, M, L>) => DisplayRules<P, M, L>;
26
- export declare const displayMaterialRules: <P extends number = number, M extends number = number, L extends number = number>(itemType: M, itemIndex?: number, item?: Partial<MaterialItem<P, L, any>>) => DisplayRules<P, M, L>;
27
- export declare const displayLocationRules: <P extends number = number, M extends number = number, L extends number = number>(location: Location<P, L, any, number>) => DisplayRules<P, M, L>;
28
- export declare type CloseRulesDisplay = {
29
- kind: MoveKind.LocalMove;
30
- type: typeof LocalMoveType.CloseRulesDisplay;
31
- };
32
- export declare const closeRulesDisplay: CloseRulesDisplay;
@@ -1,26 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.closeRulesDisplay = exports.displayLocationRules = exports.displayMaterialRules = exports.displayRules = exports.RulesDisplayType = void 0;
4
- var LocalMove_1 = require("./LocalMove");
5
- var MoveKind_1 = require("../MoveKind");
6
- var RulesDisplayType;
7
- (function (RulesDisplayType) {
8
- RulesDisplayType[RulesDisplayType["Material"] = 1] = "Material";
9
- RulesDisplayType[RulesDisplayType["Location"] = 2] = "Location";
10
- })(RulesDisplayType = exports.RulesDisplayType || (exports.RulesDisplayType = {}));
11
- var displayRules = function (rulesDisplay) {
12
- return ({ kind: MoveKind_1.MoveKind.LocalMove, type: LocalMove_1.LocalMoveType.DisplayRules, rulesDisplay: rulesDisplay });
13
- };
14
- exports.displayRules = displayRules;
15
- var displayMaterialRules = function (itemType, itemIndex, item) {
16
- if (itemIndex === void 0) { itemIndex = 0; }
17
- if (item === void 0) { item = {}; }
18
- return (0, exports.displayRules)({ type: RulesDisplayType.Material, itemType: itemType, itemIndex: itemIndex, item: item });
19
- };
20
- exports.displayMaterialRules = displayMaterialRules;
21
- var displayLocationRules = function (location) {
22
- return (0, exports.displayRules)({ type: RulesDisplayType.Location, location: location });
23
- };
24
- exports.displayLocationRules = displayLocationRules;
25
- exports.closeRulesDisplay = { kind: MoveKind_1.MoveKind.LocalMove, type: LocalMove_1.LocalMoveType.CloseRulesDisplay };
26
- //# sourceMappingURL=RulesDisplay.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RulesDisplay.js","sourceRoot":"","sources":["../../../../src/material/moves/local/RulesDisplay.ts"],"names":[],"mappings":";;;AAAA,yCAA2C;AAC3C,wCAAsC;AAQtC,IAAY,gBAEX;AAFD,WAAY,gBAAgB;IAC1B,+DAAY,CAAA;IAAE,+DAAQ,CAAA;AACxB,CAAC,EAFW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAE3B;AAoBM,IAAM,YAAY,GAAG,UAC3B,YAAmC;IAClC,OAAA,CAAC,EAAE,IAAI,EAAE,mBAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,yBAAa,CAAC,YAAY,EAAE,YAAY,cAAA,EAAE,CAAC;AAA9E,CAA8E,CAAA;AAFnE,QAAA,YAAY,gBAEuD;AAEzE,IAAM,oBAAoB,GAAG,UACnC,QAAW,EAAE,SAAqB,EAAE,IAAsC;IAA7D,0BAAA,EAAA,aAAqB;IAAE,qBAAA,EAAA,SAAsC;IACzE,OAAA,IAAA,oBAAY,EAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,UAAA,EAAE,SAAS,WAAA,EAAE,IAAI,MAAA,EAAE,CAAC;AAA5E,CAA4E,CAAA;AAFjE,QAAA,oBAAoB,wBAE6C;AAEvE,IAAM,oBAAoB,GAAG,UACnC,QAAwB;IACvB,OAAA,IAAA,oBAAY,EAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,UAAA,EAAE,CAAC;AAA3D,CAA2D,CAAA;AAFhD,QAAA,oBAAoB,wBAE4B;AAOhD,QAAA,iBAAiB,GAAsB,EAAE,IAAI,EAAE,mBAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,yBAAa,CAAC,iBAAiB,EAAE,CAAA"}
@@ -1,17 +0,0 @@
1
- import { MaterialItem } from '../../items';
2
- import { LocationStrategy } from '../../location';
3
- export declare class MaterialMutator<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> {
4
- readonly type: MaterialType;
5
- items: MaterialItem<Player, LocationType>[];
6
- locationsStrategies: Partial<Record<LocationType, LocationStrategy<Player, MaterialType, LocationType>>>;
7
- constructor(type: MaterialType, items: MaterialItem<Player, LocationType>[], locationsStrategies?: Partial<Record<LocationType, LocationStrategy<Player, MaterialType, LocationType>>>);
8
- create(item: MaterialItem<Player, LocationType>): this;
9
- findMergeItem(newItem: MaterialItem<Player, LocationType>): MaterialItem<Player, LocationType> | undefined;
10
- delete(index: number, quantity?: number): void;
11
- private addItem;
12
- private applyAddItemStrategy;
13
- private applyRemoveItemStrategy;
14
- shuffle(indexes?: number[], newIndexes?: number[]): this;
15
- move(index: number, destination: Partial<MaterialItem<Player, LocationType>>): void;
16
- private removeItem;
17
- }