@gamepark/rules-api 6.13.0 → 6.13.2

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.
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.loopWithFuse = void 0;
4
4
  function loopWithFuse(repeat, options) {
5
- var attempts = (options === null || options === void 0 ? void 0 : options.attempts) || (process.env.NODE_ENV === 'development' ? 100 : 1000);
5
+ var attempts = (options === null || options === void 0 ? void 0 : options.attempts) || (process.env.NODE_ENV === 'development' ? 1000 : 10000);
6
6
  var errorFn = (options === null || options === void 0 ? void 0 : options.errorFn) || (function () { return new Error('Infinite loop detected'); });
7
7
  while (repeat()) {
8
8
  if (attempts == 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"LoopWithFuse.js","sourceRoot":"","sources":["../src/LoopWithFuse.ts"],"names":[],"mappings":";;;AAAA,SAAgB,YAAY,CAAC,MAAqB,EAAE,OAAsD;IACxG,IAAI,QAAQ,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACzF,IAAM,OAAO,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,KAAI,CAAC,cAAM,OAAA,IAAI,KAAK,CAAC,wBAAwB,CAAC,EAAnC,CAAmC,CAAC,CAAA;IAC/E,OAAO,MAAM,EAAE,EAAE;QACf,IAAI,QAAQ,IAAI,CAAC,EAAE;YACjB,MAAM,OAAO,EAAE,CAAA;SAChB;QACD,QAAQ,EAAE,CAAA;KACX;AACH,CAAC;AATD,oCASC"}
1
+ {"version":3,"file":"LoopWithFuse.js","sourceRoot":"","sources":["../src/LoopWithFuse.ts"],"names":[],"mappings":";;;AAAA,SAAgB,YAAY,CAAC,MAAqB,EAAE,OAAsD;IACxG,IAAI,QAAQ,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IAC3F,IAAM,OAAO,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,KAAI,CAAC,cAAM,OAAA,IAAI,KAAK,CAAC,wBAAwB,CAAC,EAAnC,CAAmC,CAAC,CAAA;IAC/E,OAAO,MAAM,EAAE,EAAE;QACf,IAAI,QAAQ,IAAI,CAAC,EAAE;YACjB,MAAM,OAAO,EAAE,CAAA;SAChB;QACD,QAAQ,EAAE,CAAA;KACX;AACH,CAAC;AATD,oCASC"}
@@ -15,14 +15,14 @@ export declare class Material<P extends number = number, M extends number = numb
15
15
  getItem<Id = any>(predicate?: (item: MaterialItem<P, L, Id>) => boolean): MaterialItem<P, L, Id> | undefined;
16
16
  getIndex(): number;
17
17
  getIndexes(): number[];
18
- index(index: number): Material<P, M, L>;
18
+ index(arg: number | ((index: number) => boolean)): Material<P, M, L>;
19
19
  indexes(indexes: number[]): Material<P, M, L>;
20
20
  get length(): number;
21
21
  getQuantity(): number;
22
22
  filter(predicate: (item: MaterialItem<P, L>, index: number) => boolean): this;
23
23
  id<Id extends string | number | Record<string, any> | undefined>(arg?: Id | ((id: Id) => boolean)): this;
24
24
  location(arg: L | ((location: Location<P, L>) => boolean)): this;
25
- rotation<R extends string | number | boolean | Record<string, any> | undefined>(arg: R | ((id: R) => boolean)): this;
25
+ rotation<R extends string | number | boolean | Record<string, any> | undefined>(arg?: R | ((id: R) => boolean)): this;
26
26
  player(arg?: P | ((player?: P) => boolean)): this;
27
27
  locationId<Id extends string | number | boolean | Record<string, any> | undefined>(arg: Id | ((id: Id) => boolean)): this;
28
28
  parent(arg?: number | ((parent?: number) => boolean)): this;
@@ -40,8 +40,8 @@ export declare class Material<P extends number = number, M extends number = numb
40
40
  selectItems(quantity?: number): SelectItem<M>[];
41
41
  moveItem(location: ((item: MaterialItem<P, L>) => Location<P, L>) | Location<P, L>, quantity?: number): MoveItem<P, M, L>;
42
42
  moveItems(location: ((item: MaterialItem<P, L>) => Location<P, L>) | Location<P, L>, quantity?: number): MoveItem<P, M, L>[];
43
- rotateItem<R extends string | number | boolean | Record<string, any> | undefined>(rotation: R): MoveItem<P, M, L>;
44
- rotateItems<R extends string | number | boolean | Record<string, any> | undefined>(rotation: R): MoveItem<P, M, L>[];
43
+ rotateItem<R extends string | number | boolean | Record<string, any> | undefined>(arg?: R | ((item: MaterialItem<P, L>) => R)): MoveItem<P, M, L>;
44
+ rotateItems<R extends string | number | boolean | Record<string, any> | undefined>(arg?: R | ((item: MaterialItem<P, L>) => R | undefined)): MoveItem<P, M, L>[];
45
45
  shuffle(): Shuffle<M>;
46
46
  rollItem(location?: ((item: MaterialItem<P, L>) => Location<P, L>) | Location<P, L>): RollItem<P, M, L>;
47
47
  rollItems(location?: ((item: MaterialItem<P, L>) => Location<P, L>) | Location<P, L>): RollItem<P, M, L>[];
@@ -83,10 +83,11 @@ var Material = (function () {
83
83
  Material.prototype.getIndexes = function () {
84
84
  return this.entries.map(function (entry) { return entry[0]; });
85
85
  };
86
- Material.prototype.index = function (index) {
86
+ Material.prototype.index = function (arg) {
87
+ var predicate = typeof arg === 'function' ? arg : function (index) { return index === arg; };
87
88
  var item = this.entries.find(function (_a) {
88
89
  var i = _a[0];
89
- return i === index;
90
+ return predicate(i);
90
91
  });
91
92
  return this.new(item ? [item] : []);
92
93
  };
@@ -268,20 +269,21 @@ var Material = (function () {
268
269
  return move;
269
270
  }));
270
271
  };
271
- Material.prototype.rotateItem = function (rotation) {
272
+ Material.prototype.rotateItem = function (arg) {
272
273
  switch (this.length) {
273
274
  case 0:
274
275
  throw new Error('You are trying to rotate an item that does not exists');
275
276
  case 1:
276
- return this.rotateItems(rotation)[0];
277
+ return this.rotateItems(arg)[0];
277
278
  default:
278
- return this.limit(1).rotateItems(rotation)[0];
279
+ return this.limit(1).rotateItems(arg)[0];
279
280
  }
280
281
  };
281
- Material.prototype.rotateItems = function (rotation) {
282
- return this.moveItems(function (_a) {
283
- var _b = _a.location, oldRotation = _b.rotation, location = __rest(_b, ["rotation"]);
284
- return (__assign(__assign({}, location), { rotation: rotation }));
282
+ Material.prototype.rotateItems = function (arg) {
283
+ return this.moveItems(function (item) {
284
+ var rotation = typeof arg === 'function' ? arg(item) : arg;
285
+ var _a = item.location, oldRotation = _a.rotation, location = __rest(_a, ["rotation"]);
286
+ return rotation !== undefined ? (__assign(__assign({}, location), { rotation: rotation })) : location;
285
287
  });
286
288
  };
287
289
  Material.prototype.shuffle = function () {
@@ -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,4 +1,4 @@
1
- import { LocationStrategy } from '../location';
1
+ import { Location, LocationStrategy } from '../location';
2
2
  import { CreateItem, ItemMoveRandomized, ItemMoveView, 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> {
@@ -11,6 +11,7 @@ export declare class MaterialMutator<P extends number = number, M extends number
11
11
  private findMergeIndex;
12
12
  private addItem;
13
13
  private applyAddItemStrategy;
14
+ private applyMoveItemStrategy;
14
15
  private removeItem;
15
16
  private applyRemoveItemStrategy;
16
17
  create(move: CreateItem<P, M, L>): number;
@@ -21,3 +22,4 @@ export declare class MaterialMutator<P extends number = number, M extends number
21
22
  private select;
22
23
  }
23
24
  export declare const itemsCanMerge: ({ quantity: q1, ...data1 }: MaterialItem, { quantity: quantityB, ...data2 }: MaterialItem) => boolean;
25
+ export declare const isSameLocationArea: (...locations: Location[]) => boolean;
@@ -25,7 +25,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
25
25
  return (mod && mod.__esModule) ? mod : { "default": mod };
26
26
  };
27
27
  Object.defineProperty(exports, "__esModule", { value: true });
28
- exports.itemsCanMerge = exports.MaterialMutator = void 0;
28
+ exports.isSameLocationArea = exports.itemsCanMerge = exports.MaterialMutator = void 0;
29
29
  var fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
30
30
  var merge_1 = __importDefault(require("lodash/merge"));
31
31
  var moves_1 = require("../moves");
@@ -88,6 +88,16 @@ var MaterialMutator = (function () {
88
88
  }
89
89
  }
90
90
  };
91
+ MaterialMutator.prototype.applyMoveItemStrategy = function (item, index) {
92
+ if (item.location.type in this.locationsStrategies) {
93
+ var strategy = this.locationsStrategies[item.location.type];
94
+ if (strategy.moveItem) {
95
+ var material = new index_1.Material(this.type, Array.from(this.items.entries()).filter(function (entry) { return entry[1].quantity !== 0; }))
96
+ .location(item.location.type).player(item.location.player).locationId(item.location.id).parent(item.location.parent);
97
+ strategy.moveItem(material, item, index);
98
+ }
99
+ }
100
+ };
91
101
  MaterialMutator.prototype.removeItem = function (item, quantity) {
92
102
  var _a;
93
103
  if (quantity === void 0) { quantity = 1; }
@@ -135,11 +145,14 @@ var MaterialMutator = (function () {
135
145
  return this.addItem(itemAfterMove);
136
146
  }
137
147
  else {
138
- if (move.location.type !== sourceItem.location.type) {
148
+ if (!(0, exports.isSameLocationArea)(move.location, sourceItem.location)) {
139
149
  this.applyAddItemStrategy(itemAfterMove);
140
150
  }
151
+ else {
152
+ this.applyMoveItemStrategy(itemAfterMove, move.itemIndex);
153
+ }
141
154
  this.items[move.itemIndex] = itemAfterMove;
142
- if (move.location.type !== sourceItem.location.type) {
155
+ if (!(0, exports.isSameLocationArea)(move.location, sourceItem.location)) {
143
156
  this.applyRemoveItemStrategy(sourceItem);
144
157
  }
145
158
  return move.itemIndex;
@@ -184,4 +197,15 @@ var itemsCanMerge = function (_a, _b) {
184
197
  return (0, fast_deep_equal_1.default)(data1, data2);
185
198
  };
186
199
  exports.itemsCanMerge = itemsCanMerge;
200
+ var isSameLocationArea = function () {
201
+ var locations = [];
202
+ for (var _i = 0; _i < arguments.length; _i++) {
203
+ locations[_i] = arguments[_i];
204
+ }
205
+ return locations.every(function (l, _, _a) {
206
+ var l0 = _a[0];
207
+ return l.type === l0.type && l.id === l0.id && l.player === l0.player && l.parent === l0.parent;
208
+ });
209
+ };
210
+ exports.isSameLocationArea = isSameLocationArea;
187
211
  //# sourceMappingURL=MaterialMutator.js.map
@@ -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,5 +1,5 @@
1
- import { LocationStrategy } from './LocationStrategy';
2
1
  import { Material, MaterialItem } from '../../items';
2
+ import { LocationStrategy } from './LocationStrategy';
3
3
  export declare class FillGapStrategy<P extends number = number, M extends number = number, L extends number = number> implements LocationStrategy<P, M, L> {
4
4
  axis: 'x' | 'y' | 'z';
5
5
  constructor(axis?: 'x' | 'y' | 'z');
@@ -9,12 +9,14 @@ var FillGapStrategy = (function () {
9
9
  FillGapStrategy.prototype.addItem = function (material, item) {
10
10
  var _this = this;
11
11
  var _a;
12
- var items = material.sort(function (item) { return item.location[_this.axis]; }).getItems();
13
- var position = 0;
14
- while (((_a = items[position]) === null || _a === void 0 ? void 0 : _a.location[this.axis]) === position) {
15
- position++;
12
+ if (item.location[this.axis] === undefined) {
13
+ var items = material.sort(function (item) { return item.location[_this.axis]; }).getItems();
14
+ var position = 0;
15
+ while (((_a = items[position]) === null || _a === void 0 ? void 0 : _a.location[this.axis]) === position) {
16
+ position++;
17
+ }
18
+ item.location[this.axis] = position;
16
19
  }
17
- item.location[this.axis] = position;
18
20
  };
19
21
  return FillGapStrategy;
20
22
  }());
@@ -1 +1 @@
1
- {"version":3,"file":"FillGapStrategy.js","sourceRoot":"","sources":["../../../../src/material/location/strategy/FillGapStrategy.ts"],"names":[],"mappings":";;;AAMA;IAGE,yBAAY,IAA2B;QAA3B,qBAAA,EAAA,UAA2B;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,iCAAO,GAAP,UAAQ,QAA2B,EAAE,IAAwB;QAA7D,iBAOC;;QANC,IAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,QAAQ,CAAC,KAAI,CAAC,IAAI,CAAE,EAAzB,CAAyB,CAAC,CAAC,QAAQ,EAAE,CAAA;QACzE,IAAI,QAAQ,GAAG,CAAC,CAAA;QAChB,OAAO,CAAA,MAAA,KAAK,CAAC,QAAQ,CAAC,0CAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAK,QAAQ,EAAE;YACxD,QAAQ,EAAE,CAAA;SACX;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAA;IACrC,CAAC;IACH,sBAAC;AAAD,CAAC,AAfD,IAeC;AAfY,0CAAe"}
1
+ {"version":3,"file":"FillGapStrategy.js","sourceRoot":"","sources":["../../../../src/material/location/strategy/FillGapStrategy.ts"],"names":[],"mappings":";;;AAMA;IAGE,yBAAY,IAA2B;QAA3B,qBAAA,EAAA,UAA2B;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,iCAAO,GAAP,UAAQ,QAA2B,EAAE,IAAwB;QAA7D,iBASC;;QARC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE;YAC1C,IAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,QAAQ,CAAC,KAAI,CAAC,IAAI,CAAE,EAAzB,CAAyB,CAAC,CAAC,QAAQ,EAAE,CAAA;YACzE,IAAI,QAAQ,GAAG,CAAC,CAAA;YAChB,OAAO,CAAA,MAAA,KAAK,CAAC,QAAQ,CAAC,0CAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAK,QAAQ,EAAE;gBACxD,QAAQ,EAAE,CAAA;aACX;YACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAA;SACpC;IACH,CAAC;IACH,sBAAC;AAAD,CAAC,AAjBD,IAiBC;AAjBY,0CAAe"}
@@ -1,5 +1,6 @@
1
1
  import { Material, MaterialItem } from '../../items';
2
2
  export type LocationStrategy<P extends number = number, M extends number = number, L extends number = number> = {
3
3
  addItem?(material: Material<P, M, L>, item: MaterialItem<P, L>): void;
4
+ moveItem?(material: Material<P, M, L>, item: MaterialItem<P, L>, index: number): void;
4
5
  removeItem?(material: Material<P, M, L>, item: MaterialItem<P, L>): void;
5
6
  };
@@ -1,8 +1,9 @@
1
- import { LocationStrategy } from './LocationStrategy';
2
1
  import { Material, MaterialItem } from '../../items';
2
+ import { LocationStrategy } from './LocationStrategy';
3
3
  export declare class PositiveSequenceStrategy<P extends number = number, M extends number = number, L extends number = number> implements LocationStrategy<P, M, L> {
4
4
  axis: 'x' | 'y' | 'z';
5
5
  constructor(axis?: 'x' | 'y' | 'z');
6
6
  addItem(material: Material<P, M, L>, item: MaterialItem<P, L>): void;
7
+ moveItem(material: Material<P, M, L>, item: MaterialItem<P, L>, index: number): void;
7
8
  removeItem(material: Material<P, M, L>, item: MaterialItem<P, L>): void;
8
9
  }
@@ -21,15 +21,42 @@ var PositiveSequenceStrategy = (function () {
21
21
  }
22
22
  }
23
23
  };
24
+ PositiveSequenceStrategy.prototype.moveItem = function (material, item, index) {
25
+ if (!item.location[this.axis]) {
26
+ item.location[this.axis] = material.length;
27
+ }
28
+ var x = material.getItem(index).location[this.axis];
29
+ if (x === undefined)
30
+ return;
31
+ var newX = item.location[this.axis];
32
+ if (x < newX) {
33
+ for (var _i = 0, _a = material.getItems(); _i < _a.length; _i++) {
34
+ var item_2 = _a[_i];
35
+ var itemX = item_2.location[this.axis];
36
+ if (itemX !== undefined && itemX > x && itemX <= newX) {
37
+ item_2.location[this.axis]--;
38
+ }
39
+ }
40
+ }
41
+ else if (item.location[this.axis] < x) {
42
+ for (var _b = 0, _c = material.getItems(); _b < _c.length; _b++) {
43
+ var item_3 = _c[_b];
44
+ var itemX = item_3.location[this.axis];
45
+ if (itemX !== undefined && itemX >= newX && itemX < x) {
46
+ item_3.location[this.axis]++;
47
+ }
48
+ }
49
+ }
50
+ };
24
51
  PositiveSequenceStrategy.prototype.removeItem = function (material, item) {
25
52
  var x = item.location[this.axis];
26
53
  if (x === undefined)
27
54
  return;
28
55
  for (var _i = 0, _a = material.getItems(); _i < _a.length; _i++) {
29
- var item_2 = _a[_i];
30
- var itemX = item_2.location[this.axis];
56
+ var item_4 = _a[_i];
57
+ var itemX = item_4.location[this.axis];
31
58
  if (itemX !== undefined && itemX > x) {
32
- item_2.location[this.axis]--;
59
+ item_4.location[this.axis]--;
33
60
  }
34
61
  }
35
62
  };
@@ -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,6CAAU,GAAV,UAAW,QAA2B,EAAE,IAAwB;QAC9D,IAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClC,IAAI,CAAC,KAAK,SAAS;YAAE,OAAM;QAC3B,KAAmB,UAAmB,EAAnB,KAAA,QAAQ,CAAC,QAAQ,EAAE,EAAnB,cAAmB,EAAnB,IAAmB,EAAE;YAAnC,IAAM,MAAI,SAAA;YACb,IAAM,KAAK,GAAG,MAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACtC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,GAAG,CAAC,EAAE;gBACpC,MAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAE,EAAE,CAAA;aAC5B;SACF;IACH,CAAC;IACH,+BAAC;AAAD,CAAC,AA/BD,IA+BC;AA/BY,4DAAwB"}
1
+ {"version":3,"file":"PositiveSequenceStrategy.js","sourceRoot":"","sources":["../../../../src/material/location/strategy/PositiveSequenceStrategy.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gamepark/rules-api",
3
- "version": "6.13.0",
3
+ "version": "6.13.2",
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": "692dce49924f7a85280fa6928586b427f653b3d4"
32
+ "gitHead": "dfb45bbdbeecb108fc3f2faef889342b3c735aeb"
33
33
  }