@gamepark/rules-api 6.14.0 → 6.15.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.
- package/dist/material/HiddenMaterialRules.d.ts +6 -1
- package/dist/material/HiddenMaterialRules.js +48 -2
- package/dist/material/HiddenMaterialRules.js.map +1 -1
- package/dist/material/items/Material.d.ts +4 -2
- package/dist/material/items/Material.js +21 -6
- package/dist/material/items/Material.js.map +1 -1
- package/dist/material/items/MaterialMutator.d.ts +7 -4
- package/dist/material/items/MaterialMutator.js +44 -11
- package/dist/material/items/MaterialMutator.js.map +1 -1
- package/dist/material/location/strategy/PositiveSequenceStrategy.js +3 -3
- package/dist/material/location/strategy/PositiveSequenceStrategy.js.map +1 -1
- package/dist/material/moves/items/ItemMove.d.ts +2 -1
- package/dist/material/moves/items/ItemMoveType.d.ts +2 -1
- package/dist/material/moves/items/ItemMoveType.js +1 -0
- package/dist/material/moves/items/ItemMoveType.js.map +1 -1
- package/dist/material/moves/items/MoveAtOnce.d.ts +13 -0
- package/dist/material/moves/items/MoveAtOnce.js +16 -0
- package/dist/material/moves/items/MoveAtOnce.js.map +1 -0
- package/dist/material/moves/items/MoveItem.d.ts +1 -1
- package/dist/material/moves/items/index.d.ts +1 -0
- package/dist/material/moves/items/index.js +1 -0
- package/dist/material/moves/items/index.js.map +1 -1
- package/dist/material/moves/local/DisplayHelp.d.ts +11 -5
- package/dist/material/moves/local/DisplayHelp.js +7 -2
- package/dist/material/moves/local/DisplayHelp.js.map +1 -1
- package/package.json +2 -2
|
@@ -2,7 +2,8 @@ import { IncompleteInformation } from '../IncompleteInformation';
|
|
|
2
2
|
import { Material, MaterialItem } from './items';
|
|
3
3
|
import { MaterialGame } from './MaterialGame';
|
|
4
4
|
import { MaterialRules } from './MaterialRules';
|
|
5
|
-
import { MaterialMove, MaterialMoveRandomized, MaterialMoveView } from './moves';
|
|
5
|
+
import { ItemMove, MaterialMove, MaterialMoveRandomized, MaterialMoveView, MoveItem } from './moves';
|
|
6
|
+
import { MoveAtOnce } from './moves/items/MoveAtOnce';
|
|
6
7
|
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
8
|
private readonly client?;
|
|
8
9
|
constructor(game: MaterialGame<P, M, L>, client?: {
|
|
@@ -10,6 +11,7 @@ export declare abstract class HiddenMaterialRules<P extends number = number, M e
|
|
|
10
11
|
} | undefined);
|
|
11
12
|
abstract readonly hidingStrategies: Partial<Record<M, Partial<Record<L, HidingStrategy<P, L>>>>>;
|
|
12
13
|
material(type: M): Material<P, M, L>;
|
|
14
|
+
itemMoveRevealSomething(move: ItemMove<P, M, L>): move is MoveItem<P, M, L> | MoveAtOnce<P, M, L>;
|
|
13
15
|
itemsCanMerge(type: M): boolean;
|
|
14
16
|
isUnpredictableMove(move: MaterialMove<P, M, L>, player: P): boolean;
|
|
15
17
|
protected moveBlocksUndo(move: MaterialMove<P, M, L>): boolean;
|
|
@@ -19,8 +21,11 @@ export declare abstract class HiddenMaterialRules<P extends number = number, M e
|
|
|
19
21
|
private getItemHiddenPaths;
|
|
20
22
|
getMoveView(move: MaterialMoveRandomized<P, M, L>, player?: P): MaterialMove<P, M, L>;
|
|
21
23
|
private getMoveItemView;
|
|
24
|
+
private getMoveAtOnceView;
|
|
22
25
|
private getMoveItemRevealedPath;
|
|
26
|
+
private getMoveAtOnceRevealedPath;
|
|
23
27
|
private moveItemWillRevealSomething;
|
|
28
|
+
private moveAtOnceWillRevealSomething;
|
|
24
29
|
private getShuffleItemsView;
|
|
25
30
|
private canSeeShuffleResult;
|
|
26
31
|
play(move: MaterialMoveRandomized<P, M, L> | MaterialMoveView<P, M, L>): MaterialMove<P, M, L>[];
|
|
@@ -50,6 +50,7 @@ var unset_1 = __importDefault(require("lodash/unset"));
|
|
|
50
50
|
var items_1 = require("./items");
|
|
51
51
|
var MaterialRules_1 = require("./MaterialRules");
|
|
52
52
|
var moves_1 = require("./moves");
|
|
53
|
+
var MoveAtOnce_1 = require("./moves/items/MoveAtOnce");
|
|
53
54
|
var HiddenMaterialRules = (function (_super) {
|
|
54
55
|
__extends(HiddenMaterialRules, _super);
|
|
55
56
|
function HiddenMaterialRules(game, client) {
|
|
@@ -61,11 +62,16 @@ var HiddenMaterialRules = (function (_super) {
|
|
|
61
62
|
var _this = this;
|
|
62
63
|
var _a;
|
|
63
64
|
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; }), function (move) {
|
|
64
|
-
if (
|
|
65
|
+
if (_this.itemMoveRevealSomething(move)) {
|
|
65
66
|
move.reveal = {};
|
|
66
67
|
}
|
|
67
68
|
});
|
|
68
69
|
};
|
|
70
|
+
HiddenMaterialRules.prototype.itemMoveRevealSomething = function (move) {
|
|
71
|
+
var _this = this;
|
|
72
|
+
return ((0, moves_1.isMoveItem)(move) && this.game.players.some(function (player) { return _this.moveItemWillRevealSomething(move, player); })) ||
|
|
73
|
+
((0, MoveAtOnce_1.isMoveAtOnce)(move) && this.game.players.some(function (player) { return _this.moveAtOnceWillRevealSomething(move, player); }));
|
|
74
|
+
};
|
|
69
75
|
HiddenMaterialRules.prototype.itemsCanMerge = function (type) {
|
|
70
76
|
return !this.hidingStrategies[type];
|
|
71
77
|
};
|
|
@@ -73,6 +79,9 @@ var HiddenMaterialRules = (function (_super) {
|
|
|
73
79
|
if ((0, moves_1.isMoveItem)(move)) {
|
|
74
80
|
return this.moveItemWillRevealSomething(move, player);
|
|
75
81
|
}
|
|
82
|
+
else if ((0, MoveAtOnce_1.isMoveAtOnce)(move)) {
|
|
83
|
+
return this.moveAtOnceWillRevealSomething(move, player);
|
|
84
|
+
}
|
|
76
85
|
else if ((0, moves_1.isShuffle)(move)) {
|
|
77
86
|
return this.canSeeShuffleResult(move, player);
|
|
78
87
|
}
|
|
@@ -84,7 +93,7 @@ var HiddenMaterialRules = (function (_super) {
|
|
|
84
93
|
return _super.prototype.moveBlocksUndo.call(this, move) || this.moveRevealsSomething(move);
|
|
85
94
|
};
|
|
86
95
|
HiddenMaterialRules.prototype.moveRevealsSomething = function (move) {
|
|
87
|
-
return (0, moves_1.isMoveItem)(move) && !!move.reveal;
|
|
96
|
+
return ((0, moves_1.isMoveItem)(move) || (0, MoveAtOnce_1.isMoveAtOnce)(move)) && !!move.reveal;
|
|
88
97
|
};
|
|
89
98
|
HiddenMaterialRules.prototype.getView = function (player) {
|
|
90
99
|
var _this = this;
|
|
@@ -117,6 +126,8 @@ var HiddenMaterialRules = (function (_super) {
|
|
|
117
126
|
switch (move.type) {
|
|
118
127
|
case moves_1.ItemMoveType.Move:
|
|
119
128
|
return this.getMoveItemView(move, player);
|
|
129
|
+
case moves_1.ItemMoveType.MoveAtOnce:
|
|
130
|
+
return this.getMoveAtOnceView(move, player);
|
|
120
131
|
case moves_1.ItemMoveType.Create:
|
|
121
132
|
return __assign(__assign({}, move), { item: this.hideItem(move.itemType, move.item, player) });
|
|
122
133
|
case moves_1.ItemMoveType.Shuffle:
|
|
@@ -137,15 +148,41 @@ var HiddenMaterialRules = (function (_super) {
|
|
|
137
148
|
}
|
|
138
149
|
return moveView;
|
|
139
150
|
};
|
|
151
|
+
HiddenMaterialRules.prototype.getMoveAtOnceView = function (move, player) {
|
|
152
|
+
var moveView = __assign(__assign({}, move), { reveal: {} });
|
|
153
|
+
for (var _i = 0, _a = move.indexes; _i < _a.length; _i++) {
|
|
154
|
+
var index = _a[_i];
|
|
155
|
+
var revealedPaths = this.getMoveAtOnceRevealedPath(move, index, player);
|
|
156
|
+
if (!revealedPaths.length)
|
|
157
|
+
continue;
|
|
158
|
+
var item = this.material(move.itemType).getItem(index);
|
|
159
|
+
moveView.reveal[index] = {};
|
|
160
|
+
for (var _b = 0, revealedPaths_2 = revealedPaths; _b < revealedPaths_2.length; _b++) {
|
|
161
|
+
var path = revealedPaths_2[_b];
|
|
162
|
+
(0, set_1.default)(moveView.reveal[index], path, (0, get_1.default)(item, path));
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
return moveView;
|
|
166
|
+
};
|
|
140
167
|
HiddenMaterialRules.prototype.getMoveItemRevealedPath = function (move, player) {
|
|
141
168
|
var item = this.material(move.itemType).getItem(move.itemIndex);
|
|
142
169
|
var hiddenPathsBefore = this.getItemHiddenPaths(move.itemType, item, player);
|
|
143
170
|
var hiddenPathsAfter = this.getItemHiddenPaths(move.itemType, this.mutator(move.itemType).getItemAfterMove(move), player);
|
|
144
171
|
return (0, difference_1.default)(hiddenPathsBefore, hiddenPathsAfter);
|
|
145
172
|
};
|
|
173
|
+
HiddenMaterialRules.prototype.getMoveAtOnceRevealedPath = function (move, itemIndex, player) {
|
|
174
|
+
var item = this.material(move.itemType).getItem(itemIndex);
|
|
175
|
+
var hiddenPathsBefore = this.getItemHiddenPaths(move.itemType, item, player);
|
|
176
|
+
var hiddenPathsAfter = this.getItemHiddenPaths(move.itemType, this.mutator(move.itemType).getItemAfterMoveAtOnce(move, itemIndex), player);
|
|
177
|
+
return (0, difference_1.default)(hiddenPathsBefore, hiddenPathsAfter);
|
|
178
|
+
};
|
|
146
179
|
HiddenMaterialRules.prototype.moveItemWillRevealSomething = function (move, player) {
|
|
147
180
|
return this.getMoveItemRevealedPath(move, player).length > 0;
|
|
148
181
|
};
|
|
182
|
+
HiddenMaterialRules.prototype.moveAtOnceWillRevealSomething = function (move, player) {
|
|
183
|
+
var _this = this;
|
|
184
|
+
return move.indexes.some(function (index) { return _this.getMoveAtOnceRevealedPath(move, index, player).length; });
|
|
185
|
+
};
|
|
149
186
|
HiddenMaterialRules.prototype.getShuffleItemsView = function (move, player) {
|
|
150
187
|
if (this.canSeeShuffleResult(move, player))
|
|
151
188
|
return move;
|
|
@@ -173,6 +210,15 @@ var HiddenMaterialRules = (function (_super) {
|
|
|
173
210
|
this.game.items[move.itemType][move.itemIndex] = this.hideItem(move.itemType, item, this.client.player);
|
|
174
211
|
}
|
|
175
212
|
}
|
|
213
|
+
if (this.client && (0, MoveAtOnce_1.isMoveAtOnce)(move) && this.hidingStrategies[move.itemType]) {
|
|
214
|
+
for (var _i = 0, _a = move.indexes; _i < _a.length; _i++) {
|
|
215
|
+
var index = _a[_i];
|
|
216
|
+
var item = this.material(move.itemType).getItem(index);
|
|
217
|
+
if (item) {
|
|
218
|
+
this.game.items[move.itemType][index] = this.hideItem(move.itemType, item, this.client.player);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
}
|
|
176
222
|
return result;
|
|
177
223
|
};
|
|
178
224
|
return HiddenMaterialRules;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HiddenMaterialRules.js","sourceRoot":"","sources":["../../src/material/HiddenMaterialRules.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oEAAmC;AACnC,iEAA0C;AAC1C,mDAA4B;AAC5B,+DAAwC;AACxC,mDAA4B;AAC5B,uDAAgC;AAEhC,iCAAgD;AAEhD,iDAA+C;AAC/C,iCAWgB;
|
|
1
|
+
{"version":3,"file":"HiddenMaterialRules.js","sourceRoot":"","sources":["../../src/material/HiddenMaterialRules.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Location } from '../location';
|
|
2
2
|
import { CreateItem, DeleteItem, ItemMove, MoveItem, RollItem, SelectItem, Shuffle } from '../moves';
|
|
3
|
+
import { MoveAtOnce } from '../moves/items/MoveAtOnce';
|
|
3
4
|
import { MaterialItem } from './MaterialItem';
|
|
4
5
|
type ItemEntry<P extends number = number, L extends number = number> = [number, MaterialItem<P, L>];
|
|
5
6
|
export declare class Material<P extends number = number, M extends number = number, L extends number = number> {
|
|
@@ -27,7 +28,7 @@ export declare class Material<P extends number = number, M extends number = numb
|
|
|
27
28
|
locationId<Id extends string | number | boolean | Record<string, any> | undefined>(arg: Id | ((id: Id) => boolean)): this;
|
|
28
29
|
parent(arg?: number | ((parent?: number) => boolean)): this;
|
|
29
30
|
minBy(selector: (item: MaterialItem<P, L>) => number): this;
|
|
30
|
-
sort(
|
|
31
|
+
sort(...selectors: ((item: MaterialItem<P, L>) => number)[]): this;
|
|
31
32
|
limit(count: number): this;
|
|
32
33
|
maxBy(selector: (item: MaterialItem<P, L>) => number): this;
|
|
33
34
|
selected(selected?: number | boolean): this;
|
|
@@ -39,7 +40,8 @@ export declare class Material<P extends number = number, M extends number = numb
|
|
|
39
40
|
selectItem(quantity?: number): SelectItem<M>;
|
|
40
41
|
selectItems(quantity?: number): SelectItem<M>[];
|
|
41
42
|
moveItem(location: ((item: MaterialItem<P, L>) => Location<P, L>) | Location<P, L>, quantity?: number): MoveItem<P, M, L>;
|
|
42
|
-
moveItems(location: ((item: MaterialItem<P, L>) => Location<P, L
|
|
43
|
+
moveItems(location: ((item: MaterialItem<P, L>) => Partial<Location<P, L>>) | Partial<Location<P, L>>, quantity?: number): MoveItem<P, M, L>[];
|
|
44
|
+
moveItemsAtOnce(location: Partial<Location<P, L>>): MoveAtOnce<P, M, L>[];
|
|
43
45
|
rotateItem<R extends string | number | boolean | Record<string, any> | undefined>(arg?: R | ((item: MaterialItem<P, L>) => R)): MoveItem<P, M, L>;
|
|
44
46
|
rotateItems<R extends string | number | boolean | Record<string, any> | undefined>(arg?: R | ((item: MaterialItem<P, L>) => R | undefined)): MoveItem<P, M, L>[];
|
|
45
47
|
shuffle(): Shuffle<M>;
|
|
@@ -92,10 +92,8 @@ var Material = (function () {
|
|
|
92
92
|
return this.new(item ? [item] : []);
|
|
93
93
|
};
|
|
94
94
|
Material.prototype.indexes = function (indexes) {
|
|
95
|
-
var
|
|
96
|
-
|
|
97
|
-
return indexes.includes(i);
|
|
98
|
-
});
|
|
95
|
+
var _this = this;
|
|
96
|
+
var items = indexes.map(function (index) { return _this.entries[index]; });
|
|
99
97
|
return this.new(items);
|
|
100
98
|
};
|
|
101
99
|
Object.defineProperty(Material.prototype, "length", {
|
|
@@ -158,8 +156,12 @@ var Material = (function () {
|
|
|
158
156
|
var min = (0, minBy_1.default)(this.entries, function (entry) { return selector(entry[1]); });
|
|
159
157
|
return this.new(min ? [min] : []);
|
|
160
158
|
};
|
|
161
|
-
Material.prototype.sort = function (
|
|
162
|
-
var
|
|
159
|
+
Material.prototype.sort = function () {
|
|
160
|
+
var selectors = [];
|
|
161
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
162
|
+
selectors[_i] = arguments[_i];
|
|
163
|
+
}
|
|
164
|
+
var orderedItems = (0, orderBy_1.default)(this.entries, selectors.map(function (s) { return function (entry) { return s(entry[1]); }; }));
|
|
163
165
|
return this.new(orderedItems);
|
|
164
166
|
};
|
|
165
167
|
Material.prototype.limit = function (count) {
|
|
@@ -269,6 +271,19 @@ var Material = (function () {
|
|
|
269
271
|
return move;
|
|
270
272
|
}));
|
|
271
273
|
};
|
|
274
|
+
Material.prototype.moveItemsAtOnce = function (location) {
|
|
275
|
+
var move = {
|
|
276
|
+
kind: moves_1.MoveKind.ItemMove,
|
|
277
|
+
type: moves_1.ItemMoveType.MoveAtOnce,
|
|
278
|
+
itemType: this.type,
|
|
279
|
+
indexes: this.entries.map(function (_a) {
|
|
280
|
+
var index = _a[0];
|
|
281
|
+
return index;
|
|
282
|
+
}),
|
|
283
|
+
location: location
|
|
284
|
+
};
|
|
285
|
+
return this.process([move]);
|
|
286
|
+
};
|
|
272
287
|
Material.prototype.rotateItem = function (arg) {
|
|
273
288
|
switch (this.length) {
|
|
274
289
|
case 0:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Material.js","sourceRoot":"","sources":["../../../src/material/items/Material.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Material.js","sourceRoot":"","sources":["../../../src/material/items/Material.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Location, LocationStrategy } from '../location';
|
|
2
|
-
import {
|
|
2
|
+
import { ItemMoveRandomized, ItemMoveView, MoveAtOnce, MoveItem } from '../moves';
|
|
3
3
|
import { MaterialItem } from './index';
|
|
4
4
|
export declare class MaterialMutator<P extends number = number, M extends number = number, L extends number = number> {
|
|
5
5
|
private readonly type;
|
|
@@ -14,12 +14,15 @@ export declare class MaterialMutator<P extends number = number, M extends number
|
|
|
14
14
|
private applyMoveItemStrategy;
|
|
15
15
|
private removeItem;
|
|
16
16
|
private applyRemoveItemStrategy;
|
|
17
|
-
create
|
|
18
|
-
move
|
|
17
|
+
private create;
|
|
18
|
+
private move;
|
|
19
|
+
private moveAtOnce;
|
|
19
20
|
getItemAfterMove(move: MoveItem<P, M, L>): MaterialItem<P, L>;
|
|
21
|
+
getItemAfterMoveAtOnce(move: MoveAtOnce<P, M, L>, index: number): MaterialItem<P, L>;
|
|
22
|
+
getItemWithLocation(location: Partial<Location<P, L>>, index: number): MaterialItem<P, L>;
|
|
20
23
|
private delete;
|
|
21
24
|
private shuffle;
|
|
22
25
|
private select;
|
|
23
26
|
}
|
|
24
27
|
export declare const itemsCanMerge: ({ quantity: q1, ...data1 }: MaterialItem, { quantity: quantityB, ...data2 }: MaterialItem) => boolean;
|
|
25
|
-
export declare const isSameLocationArea: (...locations: Location[]) => boolean;
|
|
28
|
+
export declare const isSameLocationArea: (...locations: Partial<Location>[]) => boolean;
|
|
@@ -47,6 +47,9 @@ var MaterialMutator = (function () {
|
|
|
47
47
|
case moves_1.ItemMoveType.Move:
|
|
48
48
|
this.move(move);
|
|
49
49
|
break;
|
|
50
|
+
case moves_1.ItemMoveType.MoveAtOnce:
|
|
51
|
+
this.moveAtOnce(move);
|
|
52
|
+
break;
|
|
50
53
|
case moves_1.ItemMoveType.Roll:
|
|
51
54
|
this.move(__assign(__assign({}, move), { type: moves_1.ItemMoveType.Move }));
|
|
52
55
|
break;
|
|
@@ -71,11 +74,9 @@ var MaterialMutator = (function () {
|
|
|
71
74
|
var availableIndex = this.items.findIndex(function (item) { return item.quantity === 0; });
|
|
72
75
|
if (availableIndex !== -1) {
|
|
73
76
|
this.items[availableIndex] = item;
|
|
74
|
-
return availableIndex;
|
|
75
77
|
}
|
|
76
78
|
else {
|
|
77
79
|
this.items.push(item);
|
|
78
|
-
return this.items.length - 1;
|
|
79
80
|
}
|
|
80
81
|
};
|
|
81
82
|
MaterialMutator.prototype.applyAddItemStrategy = function (item) {
|
|
@@ -122,10 +123,9 @@ var MaterialMutator = (function () {
|
|
|
122
123
|
if (mergeIndex !== -1) {
|
|
123
124
|
var mergeItem = this.items[mergeIndex];
|
|
124
125
|
mergeItem.quantity = ((_a = mergeItem.quantity) !== null && _a !== void 0 ? _a : 1) + ((_b = move.item.quantity) !== null && _b !== void 0 ? _b : 1);
|
|
125
|
-
return mergeIndex;
|
|
126
126
|
}
|
|
127
127
|
else {
|
|
128
|
-
|
|
128
|
+
this.addItem(move.item);
|
|
129
129
|
}
|
|
130
130
|
};
|
|
131
131
|
MaterialMutator.prototype.move = function (move) {
|
|
@@ -135,14 +135,18 @@ var MaterialMutator = (function () {
|
|
|
135
135
|
var itemAfterMove = this.getItemAfterMove(move);
|
|
136
136
|
var mergeIndex = this.findMergeIndex(itemAfterMove);
|
|
137
137
|
if (mergeIndex !== -1) {
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
138
|
+
if (mergeIndex === move.itemIndex) {
|
|
139
|
+
console.warn('Item is moved to the location he already has.', move);
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
var mergeItem = this.items[mergeIndex];
|
|
143
|
+
mergeItem.quantity = ((_b = mergeItem.quantity) !== null && _b !== void 0 ? _b : 1) + quantity;
|
|
144
|
+
this.removeItem(sourceItem, quantity);
|
|
145
|
+
}
|
|
142
146
|
}
|
|
143
147
|
else if (sourceItem.quantity && sourceItem.quantity > quantity) {
|
|
144
148
|
sourceItem.quantity -= quantity;
|
|
145
|
-
|
|
149
|
+
this.addItem(itemAfterMove);
|
|
146
150
|
}
|
|
147
151
|
else {
|
|
148
152
|
if (!(0, exports.isSameLocationArea)(move.location, sourceItem.location)) {
|
|
@@ -155,11 +159,27 @@ var MaterialMutator = (function () {
|
|
|
155
159
|
if (!(0, exports.isSameLocationArea)(move.location, sourceItem.location)) {
|
|
156
160
|
this.applyRemoveItemStrategy(sourceItem);
|
|
157
161
|
}
|
|
158
|
-
|
|
162
|
+
}
|
|
163
|
+
};
|
|
164
|
+
MaterialMutator.prototype.moveAtOnce = function (move) {
|
|
165
|
+
for (var _i = 0, _a = move.indexes; _i < _a.length; _i++) {
|
|
166
|
+
var index = _a[_i];
|
|
167
|
+
var sourceItem = this.items[index];
|
|
168
|
+
var itemAfterMove = this.getItemAfterMoveAtOnce(move, index);
|
|
169
|
+
if (!(0, exports.isSameLocationArea)(move.location, sourceItem.location)) {
|
|
170
|
+
this.applyAddItemStrategy(itemAfterMove);
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
this.applyMoveItemStrategy(itemAfterMove, index);
|
|
174
|
+
}
|
|
175
|
+
this.items[index] = itemAfterMove;
|
|
176
|
+
if (!(0, exports.isSameLocationArea)(move.location, sourceItem.location)) {
|
|
177
|
+
this.applyRemoveItemStrategy(sourceItem);
|
|
178
|
+
}
|
|
159
179
|
}
|
|
160
180
|
};
|
|
161
181
|
MaterialMutator.prototype.getItemAfterMove = function (move) {
|
|
162
|
-
var item =
|
|
182
|
+
var item = this.getItemWithLocation(move.location, move.itemIndex);
|
|
163
183
|
if (move.reveal) {
|
|
164
184
|
(0, merge_1.default)(item, move.reveal);
|
|
165
185
|
}
|
|
@@ -171,6 +191,19 @@ var MaterialMutator = (function () {
|
|
|
171
191
|
}
|
|
172
192
|
return item;
|
|
173
193
|
};
|
|
194
|
+
MaterialMutator.prototype.getItemAfterMoveAtOnce = function (move, index) {
|
|
195
|
+
var item = this.getItemWithLocation(move.location, index);
|
|
196
|
+
if (move.reveal && move.reveal[index]) {
|
|
197
|
+
(0, merge_1.default)(item, move.reveal[index]);
|
|
198
|
+
}
|
|
199
|
+
return item;
|
|
200
|
+
};
|
|
201
|
+
MaterialMutator.prototype.getItemWithLocation = function (location, index) {
|
|
202
|
+
var moveLocation = JSON.parse(JSON.stringify(location));
|
|
203
|
+
var actualItem = this.items[index];
|
|
204
|
+
var newLocation = location.type === undefined ? __assign(__assign({}, actualItem.location), moveLocation) : moveLocation;
|
|
205
|
+
return __assign(__assign({}, actualItem), { location: newLocation });
|
|
206
|
+
};
|
|
174
207
|
MaterialMutator.prototype.delete = function (move) {
|
|
175
208
|
return this.removeItem(this.items[move.itemIndex], move.quantity);
|
|
176
209
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaterialMutator.js","sourceRoot":"","sources":["../../../src/material/items/MaterialMutator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oEAAmC;AACnC,uDAAgC;AAEhC,
|
|
1
|
+
{"version":3,"file":"MaterialMutator.js","sourceRoot":"","sources":["../../../src/material/items/MaterialMutator.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,8 +22,8 @@ var PositiveSequenceStrategy = (function () {
|
|
|
22
22
|
}
|
|
23
23
|
};
|
|
24
24
|
PositiveSequenceStrategy.prototype.moveItem = function (material, item, index) {
|
|
25
|
-
if (
|
|
26
|
-
item.location[this.axis] = material.length;
|
|
25
|
+
if (item.location[this.axis] === undefined) {
|
|
26
|
+
item.location[this.axis] = material.length - 1;
|
|
27
27
|
}
|
|
28
28
|
var x = material.getItem(index).location[this.axis];
|
|
29
29
|
if (x === undefined)
|
|
@@ -38,7 +38,7 @@ var PositiveSequenceStrategy = (function () {
|
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
|
-
else if (
|
|
41
|
+
else if (newX < x) {
|
|
42
42
|
for (var _b = 0, _c = material.getItems(); _b < _c.length; _b++) {
|
|
43
43
|
var item_3 = _c[_b];
|
|
44
44
|
var itemX = item_3.location[this.axis];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PositiveSequenceStrategy.js","sourceRoot":"","sources":["../../../../src/material/location/strategy/PositiveSequenceStrategy.ts"],"names":[],"mappings":";;;AAMA;IAGE,kCAAY,IAA2B;QAA3B,qBAAA,EAAA,UAA2B;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,0CAAO,GAAP,UAAQ,QAA2B,EAAE,IAAwB;QAC3D,IAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClC,IAAI,CAAC,KAAK,SAAS,EAAE;YACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAA;SAC3C;aAAM;YACL,KAAmB,UAAmB,EAAnB,KAAA,QAAQ,CAAC,QAAQ,EAAE,EAAnB,cAAmB,EAAnB,IAAmB,EAAE;gBAAnC,IAAM,MAAI,SAAA;gBACb,IAAM,KAAK,GAAG,MAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACtC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,IAAI,CAAC,EAAE;oBACrC,MAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAE,EAAE,CAAA;iBAC5B;aACF;SACF;IACH,CAAC;IAED,2CAAQ,GAAR,UAAS,QAA2B,EAAE,IAAwB,EAAE,KAAa;QAC3E,IAAI,
|
|
1
|
+
{"version":3,"file":"PositiveSequenceStrategy.js","sourceRoot":"","sources":["../../../../src/material/location/strategy/PositiveSequenceStrategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { MoveKind } from '../MoveKind';
|
|
2
2
|
import { CreateItem } from './CreateItem';
|
|
3
3
|
import { DeleteItem } from './DeleteItem';
|
|
4
|
+
import { MoveAtOnce } from './MoveAtOnce';
|
|
4
5
|
import { MoveItem } from './MoveItem';
|
|
5
6
|
import { RollItem } from './RollItem';
|
|
6
7
|
import { SelectItem } from './SelectItem';
|
|
7
8
|
import { Shuffle, ShuffleRandomized } from './Shuffle';
|
|
8
|
-
export type ItemMove<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = CreateItem<Player, MaterialType, LocationType> | DeleteItem<MaterialType> | MoveItem<Player, MaterialType, LocationType> | Shuffle<MaterialType> | RollItem<Player, MaterialType, LocationType> | SelectItem<MaterialType>;
|
|
9
|
+
export type ItemMove<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = CreateItem<Player, MaterialType, LocationType> | DeleteItem<MaterialType> | MoveItem<Player, MaterialType, LocationType> | MoveAtOnce<Player, MaterialType, LocationType> | Shuffle<MaterialType> | RollItem<Player, MaterialType, LocationType> | SelectItem<MaterialType>;
|
|
9
10
|
export type MaterialMoveCommon<MaterialType extends number = number> = {
|
|
10
11
|
kind: typeof MoveKind.ItemMove;
|
|
11
12
|
itemType: MaterialType;
|
|
@@ -9,5 +9,6 @@ var ItemMoveType;
|
|
|
9
9
|
ItemMoveType[ItemMoveType["Delete"] = 3] = "Delete";
|
|
10
10
|
ItemMoveType[ItemMoveType["Roll"] = 4] = "Roll";
|
|
11
11
|
ItemMoveType[ItemMoveType["Select"] = 5] = "Select";
|
|
12
|
+
ItemMoveType[ItemMoveType["MoveAtOnce"] = 6] = "MoveAtOnce";
|
|
12
13
|
})(ItemMoveType = exports.ItemMoveType || (exports.ItemMoveType = {}));
|
|
13
14
|
//# sourceMappingURL=ItemMoveType.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ItemMoveType.js","sourceRoot":"","sources":["../../../../src/material/moves/items/ItemMoveType.ts"],"names":[],"mappings":";;;AAAA,IAAY,YAEX;AAFD,WAAY,YAAY;IACtB,mDAAM,CAAA;IAAE,+CAAI,CAAA;IAAE,qDAAO,CAAA;IAAE,mDAAM,CAAA;IAAE,+CAAI,CAAA;IAAE,mDAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"ItemMoveType.js","sourceRoot":"","sources":["../../../../src/material/moves/items/ItemMoveType.ts"],"names":[],"mappings":";;;AAAA,IAAY,YAEX;AAFD,WAAY,YAAY;IACtB,mDAAM,CAAA;IAAE,+CAAI,CAAA;IAAE,qDAAO,CAAA;IAAE,mDAAM,CAAA;IAAE,+CAAI,CAAA;IAAE,mDAAM,CAAA;IAAE,2DAAU,CAAA;AACzD,CAAC,EAFW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAEvB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { MaterialItem } from '../../items';
|
|
2
|
+
import { Location } from '../../location';
|
|
3
|
+
import { MaterialMove } from '../MaterialMove';
|
|
4
|
+
import { MaterialMoveCommon } from './ItemMove';
|
|
5
|
+
import { ItemMoveType } from './ItemMoveType';
|
|
6
|
+
export type MoveAtOnce<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = MaterialMoveCommon<MaterialType> & {
|
|
7
|
+
type: typeof ItemMoveType.MoveAtOnce;
|
|
8
|
+
indexes: number[];
|
|
9
|
+
location: Partial<Location<Player, LocationType>>;
|
|
10
|
+
reveal?: Record<number, Omit<MaterialItem<Player, LocationType>, 'location'>>;
|
|
11
|
+
};
|
|
12
|
+
export declare function isMoveAtOnce<P extends number, M extends number, L extends number>(move: MaterialMove<P, M, L>): move is MoveAtOnce<P, M, L>;
|
|
13
|
+
export declare function isMoveAtOnceType<P extends number, M extends number, L extends number>(type: M, index?: number): (move: MaterialMove<P, M, L>) => move is MoveAtOnce<P, M, L>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isMoveAtOnceType = exports.isMoveAtOnce = void 0;
|
|
4
|
+
var MoveKind_1 = require("../MoveKind");
|
|
5
|
+
var ItemMoveType_1 = require("./ItemMoveType");
|
|
6
|
+
function isMoveAtOnce(move) {
|
|
7
|
+
return move.kind === MoveKind_1.MoveKind.ItemMove && move.type === ItemMoveType_1.ItemMoveType.MoveAtOnce;
|
|
8
|
+
}
|
|
9
|
+
exports.isMoveAtOnce = isMoveAtOnce;
|
|
10
|
+
function isMoveAtOnceType(type, index) {
|
|
11
|
+
return function (move) {
|
|
12
|
+
return isMoveAtOnce(move) && move.itemType === type && (index === undefined || move.indexes.includes(index));
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
exports.isMoveAtOnceType = isMoveAtOnceType;
|
|
16
|
+
//# sourceMappingURL=MoveAtOnce.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MoveAtOnce.js","sourceRoot":"","sources":["../../../../src/material/moves/items/MoveAtOnce.ts"],"names":[],"mappings":";;;AAGA,wCAAsC;AAEtC,+CAA6C;AAU7C,SAAgB,YAAY,CAAuD,IAA2B;IAC5G,OAAO,IAAI,CAAC,IAAI,KAAK,mBAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,2BAAY,CAAC,UAAU,CAAA;AACjF,CAAC;AAFD,oCAEC;AAED,SAAgB,gBAAgB,CAC9B,IAAO,EAAE,KAAc;IAEvB,OAAO,UAAC,IAA2B;QACjC,OAAA,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAArG,CAAqG,CAAA;AACzG,CAAC;AALD,4CAKC"}
|
|
@@ -6,7 +6,7 @@ import { ItemMoveType } from './ItemMoveType';
|
|
|
6
6
|
export type MoveItem<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = MaterialMoveCommon<MaterialType> & {
|
|
7
7
|
type: typeof ItemMoveType.Move;
|
|
8
8
|
itemIndex: number;
|
|
9
|
-
location: Location<Player, LocationType
|
|
9
|
+
location: Partial<Location<Player, LocationType>>;
|
|
10
10
|
quantity?: number;
|
|
11
11
|
reveal?: Omit<MaterialItem<Player, LocationType>, 'location'>;
|
|
12
12
|
};
|
|
@@ -20,6 +20,7 @@ __exportStar(require("./ItemMove"), exports);
|
|
|
20
20
|
__exportStar(require("./ItemMovesBuilder"), exports);
|
|
21
21
|
__exportStar(require("./ItemMoveType"), exports);
|
|
22
22
|
__exportStar(require("./MoveItem"), exports);
|
|
23
|
+
__exportStar(require("./MoveAtOnce"), exports);
|
|
23
24
|
__exportStar(require("./RollItem"), exports);
|
|
24
25
|
__exportStar(require("./SelectItem"), exports);
|
|
25
26
|
__exportStar(require("./Shuffle"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/material/moves/items/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA4B;AAC5B,+CAA4B;AAC5B,6CAA0B;AAC1B,qDAAkC;AAClC,iDAA8B;AAC9B,6CAA0B;AAC1B,6CAA0B;AAC1B,+CAA4B;AAC5B,4CAAyB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/material/moves/items/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA4B;AAC5B,+CAA4B;AAC5B,6CAA0B;AAC1B,qDAAkC;AAClC,iDAA8B;AAC9B,6CAA0B;AAC1B,+CAA4B;AAC5B,6CAA0B;AAC1B,+CAA4B;AAC5B,4CAAyB"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { LocalMoveType } from './LocalMove';
|
|
2
|
-
import { MoveKind } from '../MoveKind';
|
|
3
1
|
import { MaterialItem } from '../../items';
|
|
4
2
|
import { Location } from '../../location';
|
|
5
|
-
|
|
3
|
+
import { MoveKind } from '../MoveKind';
|
|
4
|
+
import { LocalMoveType } from './LocalMove';
|
|
5
|
+
export type HelpDisplay<P extends number = number, M extends number = number, L extends number = number, RuleId extends number = number> = MaterialHelpDisplay<P, M, L> | LocationHelpDisplay<P, L> | RulesHelpDisplay<RuleId>;
|
|
6
6
|
export declare enum HelpDisplayType {
|
|
7
7
|
Material = 1,
|
|
8
|
-
Location = 2
|
|
8
|
+
Location = 2,
|
|
9
|
+
Rules = 3
|
|
9
10
|
}
|
|
10
11
|
export type MaterialHelpDisplay<P extends number = number, M extends number = number, L extends number = number> = {
|
|
11
12
|
type: typeof HelpDisplayType.Material;
|
|
@@ -17,14 +18,19 @@ export type LocationHelpDisplay<P extends number = number, L extends number = nu
|
|
|
17
18
|
type: typeof HelpDisplayType.Location;
|
|
18
19
|
location: Location<P, L>;
|
|
19
20
|
};
|
|
21
|
+
export type RulesHelpDisplay<RuleId extends number = number> = {
|
|
22
|
+
type: typeof HelpDisplayType.Rules;
|
|
23
|
+
ruleId: RuleId;
|
|
24
|
+
};
|
|
20
25
|
export type DisplayHelp<P extends number = number, M extends number = number, L extends number = number> = {
|
|
21
26
|
kind: MoveKind.LocalMove;
|
|
22
27
|
type: typeof LocalMoveType.DisplayHelp;
|
|
23
28
|
helpDisplay: HelpDisplay<P, M, L>;
|
|
24
29
|
};
|
|
25
|
-
export declare const displayHelp: <P extends number = number, M extends number = number, L extends number = number>(helpDisplay: HelpDisplay<P, M, L>) => DisplayHelp<P, M, L>;
|
|
30
|
+
export declare const displayHelp: <P extends number = number, M extends number = number, L extends number = number>(helpDisplay: HelpDisplay<P, M, L, number>) => DisplayHelp<P, M, L>;
|
|
26
31
|
export declare const displayMaterialHelp: <P extends number = number, M extends number = number, L extends number = number>(itemType: M, item?: Partial<MaterialItem<P, L, any>>, itemIndex?: number) => DisplayHelp<P, M, L>;
|
|
27
32
|
export declare const displayLocationHelp: <P extends number = number, M extends number = number, L extends number = number>(location: Location<P, L, any, any>) => DisplayHelp<P, M, L>;
|
|
33
|
+
export declare const displayRulesHelp: <P extends number = number, M extends number = number, L extends number = number, RuleId extends number = number>(ruleId: RuleId) => DisplayHelp<P, M, L>;
|
|
28
34
|
export type CloseHelpDisplay = {
|
|
29
35
|
kind: MoveKind.LocalMove;
|
|
30
36
|
type: typeof LocalMoveType.CloseHelpDisplay;
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.closeHelpDisplay = exports.displayLocationHelp = exports.displayMaterialHelp = exports.displayHelp = exports.HelpDisplayType = void 0;
|
|
4
|
-
var LocalMove_1 = require("./LocalMove");
|
|
3
|
+
exports.closeHelpDisplay = exports.displayRulesHelp = exports.displayLocationHelp = exports.displayMaterialHelp = exports.displayHelp = exports.HelpDisplayType = void 0;
|
|
5
4
|
var MoveKind_1 = require("../MoveKind");
|
|
5
|
+
var LocalMove_1 = require("./LocalMove");
|
|
6
6
|
var HelpDisplayType;
|
|
7
7
|
(function (HelpDisplayType) {
|
|
8
8
|
HelpDisplayType[HelpDisplayType["Material"] = 1] = "Material";
|
|
9
9
|
HelpDisplayType[HelpDisplayType["Location"] = 2] = "Location";
|
|
10
|
+
HelpDisplayType[HelpDisplayType["Rules"] = 3] = "Rules";
|
|
10
11
|
})(HelpDisplayType = exports.HelpDisplayType || (exports.HelpDisplayType = {}));
|
|
11
12
|
var displayHelp = function (helpDisplay) {
|
|
12
13
|
return ({ kind: MoveKind_1.MoveKind.LocalMove, type: LocalMove_1.LocalMoveType.DisplayHelp, helpDisplay: helpDisplay });
|
|
@@ -21,5 +22,9 @@ var displayLocationHelp = function (location) {
|
|
|
21
22
|
return (0, exports.displayHelp)({ type: HelpDisplayType.Location, location: location });
|
|
22
23
|
};
|
|
23
24
|
exports.displayLocationHelp = displayLocationHelp;
|
|
25
|
+
var displayRulesHelp = function (ruleId) {
|
|
26
|
+
return (0, exports.displayHelp)({ type: HelpDisplayType.Rules, ruleId: ruleId });
|
|
27
|
+
};
|
|
28
|
+
exports.displayRulesHelp = displayRulesHelp;
|
|
24
29
|
exports.closeHelpDisplay = { kind: MoveKind_1.MoveKind.LocalMove, type: LocalMove_1.LocalMoveType.CloseHelpDisplay };
|
|
25
30
|
//# sourceMappingURL=DisplayHelp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DisplayHelp.js","sourceRoot":"","sources":["../../../../src/material/moves/local/DisplayHelp.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"DisplayHelp.js","sourceRoot":"","sources":["../../../../src/material/moves/local/DisplayHelp.ts"],"names":[],"mappings":";;;AAEA,wCAAsC;AACtC,yCAA2C;AAO3C,IAAY,eAEX;AAFD,WAAY,eAAe;IACzB,6DAAY,CAAA;IAAE,6DAAQ,CAAA;IAAE,uDAAK,CAAA;AAC/B,CAAC,EAFW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAE1B;AAyBM,IAAM,WAAW,GAAG,UAC1B,WAAiC;IAChC,OAAA,CAAC,EAAE,IAAI,EAAE,mBAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,yBAAa,CAAC,WAAW,EAAE,WAAW,aAAA,EAAE,CAAC;AAA5E,CAA4E,CAAA;AAFjE,QAAA,WAAW,eAEsD;AAEvE,IAAM,mBAAmB,GAAG,UAClC,QAAW,EAAE,IAAsC,EAAE,SAAkB;IAA1D,qBAAA,EAAA,SAAsC;IAClD,OAAA,IAAA,mBAAW,EAAC,EAAE,IAAI,EAAE,eAAe,CAAC,QAAQ,EAAE,QAAQ,UAAA,EAAE,SAAS,WAAA,EAAE,IAAI,MAAA,EAAE,CAAC;AAA1E,CAA0E,CAAA;AAF/D,QAAA,mBAAmB,uBAE4C;AAErE,IAAM,mBAAmB,GAAG,UAClC,QAAwB;IACvB,OAAA,IAAA,mBAAW,EAAC,EAAE,IAAI,EAAE,eAAe,CAAC,QAAQ,EAAE,QAAQ,UAAA,EAAE,CAAC;AAAzD,CAAyD,CAAA;AAF9C,QAAA,mBAAmB,uBAE2B;AAEpD,IAAM,gBAAgB,GAAG,UAC/B,MAAc;IACb,OAAA,IAAA,mBAAW,EAAC,EAAE,IAAI,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,QAAA,EAAE,CAAC;AAApD,CAAoD,CAAA;AAFzC,QAAA,gBAAgB,oBAEyB;AAOzC,QAAA,gBAAgB,GAAqB,EAAE,IAAI,EAAE,mBAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,yBAAa,CAAC,gBAAgB,EAAE,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gamepark/rules-api",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.15.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",
|
|
@@ -29,5 +29,5 @@
|
|
|
29
29
|
"@types/lodash": "^4.14.195",
|
|
30
30
|
"i18next": ">=21.3.0"
|
|
31
31
|
},
|
|
32
|
-
"gitHead": "
|
|
32
|
+
"gitHead": "36a5f3b7944e388b13f3f50164262fe2600bf2ac"
|
|
33
33
|
}
|