@gamepark/rules-api 7.6.3 → 7.6.5

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.
@@ -38,5 +38,5 @@ export declare class MaterialDeck<P extends number = number, M extends number =
38
38
  * @returns {MoveItem} the move that will change the location of the item (or a part of its quantity) when executed
39
39
  */
40
40
  dealOne(arg: Location<P, L> | ((item: MaterialItem<P, L>) => Location<P, L>)): MoveItem<P, M, L>;
41
- dealAtOnce(arg: Location<P, L>, quantity?: number): import("../moves").MoveItemsAtOnce<P, M, L>;
41
+ dealAtOnce(arg: Location<P, L>, quantity?: number): import("..").MoveItemsAtOnce<P, M, L>;
42
42
  }
@@ -217,6 +217,9 @@ export class MaterialMutator {
217
217
  if (sourceItem.quantity === 0) {
218
218
  throw new Error(`${this.rulesClassName}: cannot move item with index ${move.itemIndex} for type ${this.type}: item has quantity 0`);
219
219
  }
220
+ if (move.quantity === undefined && (sourceItem.quantity ?? 1) > 1) {
221
+ console.error(`${this.rulesClassName}: moveItem called without a quantity on item with index ${move.itemIndex} for type ${this.type} that has a quantity of ${sourceItem.quantity}. Only 1 is moved for now, but this behavior will change to move the whole quantity.`);
222
+ }
220
223
  const itemAfterMove = this.getItemAfterMove(move);
221
224
  const mergeIndex = this.findMergeIndex(itemAfterMove);
222
225
  if (mergeIndex !== -1) {
@@ -312,6 +315,9 @@ export class MaterialMutator {
312
315
  if (item.quantity === 0) {
313
316
  throw new Error(`${this.rulesClassName}: cannot delete item with index ${move.itemIndex} for type ${this.type}: item has quantity 0`);
314
317
  }
318
+ if (move.quantity === undefined && (item.quantity ?? 1) > 1) {
319
+ console.error(`${this.rulesClassName}: deleteItem called without a quantity on item with index ${move.itemIndex} for type ${this.type} that has a quantity of ${item.quantity}. Only 1 is deleted for now, but this behavior will change to delete the whole quantity.`);
320
+ }
315
321
  return this.removeItem(item, move.quantity);
316
322
  }
317
323
  shuffle(move) {
@@ -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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"}
@@ -59,11 +59,11 @@ export declare abstract class MaterialRulesPart<Player extends number = number,
59
59
  * @deprecated replace this.rules().[the function] with: this.[the function]
60
60
  */
61
61
  rules(): typeof MaterialMoveBuilder;
62
- startPlayerTurn: <P extends number = number, R extends number = number>(id: R, player: P) => import("../moves").StartPlayerTurn<P, R>;
63
- startSimultaneousRule: <P extends number = number, R extends number = number>(id: R, players?: P[]) => import("../moves").StartSimultaneousRule<P, R>;
64
- startRule: <R extends number = number>(id: R) => import("../moves").StartRule<R>;
62
+ startPlayerTurn: <P extends number = number, R extends number = number>(id: R, player: P) => import("..").StartPlayerTurn<P, R>;
63
+ startSimultaneousRule: <P extends number = number, R extends number = number>(id: R, players?: P[]) => import("..").StartSimultaneousRule<P, R>;
64
+ startRule: <R extends number = number>(id: R) => import("..").StartRule<R>;
65
65
  customMove: <Type extends number = number, Data = any>(type: Type, data?: Data) => CustomMove<Type, Data>;
66
- endGame: () => import("../moves").EndGame;
66
+ endGame: () => import("..").EndGame;
67
67
  /**
68
68
  * Utility function to access the memory tool for the game or on player.
69
69
  * this.game.memory can be used to store any data that is not available through the state of the material, or current rule.
@@ -1,4 +1,4 @@
1
- import { TFunction } from 'i18next';
1
+ import { TFunction } from './TFunction';
2
2
  export type Option = {
3
3
  label: (t: TFunction) => string;
4
4
  help?: (t: TFunction) => string;
@@ -1,4 +1,4 @@
1
- import { TFunction } from 'i18next';
1
+ import { TFunction } from './TFunction';
2
2
  import { OptionSpecOf } from './OptionSpecOf';
3
3
  import { WithPlayerOptionsSpec } from './WithPlayerOptionsSpec';
4
4
  import { WithPlayersOptions } from './WithPlayersOptions';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Minimal structural type for a translation function, compatible with i18next's `TFunction`.
3
+ * Declared locally so this library does not depend on i18next.
4
+ */
5
+ export type TFunction = (key: string | string[], options?: Record<string, any>) => string;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=TFunction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TFunction.js","sourceRoot":"","sources":["../../src/options/TFunction.ts"],"names":[],"mappings":""}
@@ -7,6 +7,7 @@ export * from './OptionsSpec';
7
7
  export * from './OptionsValidationError';
8
8
  export * from './PlayerEnumOption';
9
9
  export * from './PlayersOptionsSpec';
10
+ export * from './TFunction';
10
11
  export * from './WithIdOption';
11
12
  export * from './WithPlayerOptionsSpec';
12
13
  export * from './WithPlayersOptions';
@@ -7,6 +7,7 @@ export * from './OptionsSpec';
7
7
  export * from './OptionsValidationError';
8
8
  export * from './PlayerEnumOption';
9
9
  export * from './PlayersOptionsSpec';
10
+ export * from './TFunction';
10
11
  export * from './WithIdOption';
11
12
  export * from './WithPlayerOptionsSpec';
12
13
  export * from './WithPlayersOptions';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/options/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,yBAAyB,CAAA;AACvC,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,0BAA0B,CAAA;AACxC,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,yBAAyB,CAAA;AACvC,cAAc,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/options/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,yBAAyB,CAAA;AACvC,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,0BAA0B,CAAA;AACxC,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,yBAAyB,CAAA;AACvC,cAAc,sBAAsB,CAAA"}
@@ -1,3 +1,4 @@
1
+ import { Location } from '../material';
1
2
  import { XYCoordinates } from './grid.util';
2
3
  /**
3
4
  * Check if two squares in a grid are orthogonally adjacent based on their coordinates
@@ -35,3 +36,38 @@ export declare const directions: Direction[];
35
36
  * @returns the coordinates of the destination square
36
37
  */
37
38
  export declare const getSquareInDirection: (origin: Partial<XYCoordinates>, direction: Direction, distance?: number) => XYCoordinates;
39
+ /**
40
+ * Rotate square-grid coordinates.
41
+ * A quarter turn (90°) matches a positive CSS rotation (clockwise on a y-down screen).
42
+ * @param vector Vector to rotate
43
+ * @param rotation Number of 90 degrees rotations to apply (1 = 90°, 2 = 180°...)
44
+ * @return the rotated vector
45
+ */
46
+ export declare function squareRotate(vector: XYCoordinates, rotation?: number): XYCoordinates;
47
+ /**
48
+ * Translate square-grid coordinates by a vector.
49
+ * @param square Coordinates of the square to translate
50
+ * @param vector Vector of the translation
51
+ * @return the coordinates of the square after the translation
52
+ */
53
+ export declare function squareTranslate(square: XYCoordinates, vector: XYCoordinates): XYCoordinates;
54
+ /**
55
+ * Get all the squares that are exactly at a specific (Manhattan) distance from a given square.
56
+ * @param square Coordinates of the square
57
+ * @param distance Distance of the squares we want
58
+ * @return the list of the squares found at distance from given square
59
+ */
60
+ export declare function getSquaresAtDistance(square: XYCoordinates, distance: number): XYCoordinates[];
61
+ /**
62
+ * Get the coordinates of the 4 squares orthogonally adjacent to a given square.
63
+ * @param square Coordinates of the square
64
+ * @return the coordinates of the adjacent squares
65
+ */
66
+ export declare function getAdjacentSquares(square: XYCoordinates): XYCoordinates[];
67
+ /**
68
+ * Get the coordinates that will be covered by a polyomino tile when at a specific grid location.
69
+ * @param polyomino Coordinates occupied by the polyomino without any rotation
70
+ * @param location Location of the polyomino on the grid (x, y, and rotation)
71
+ * @return coordinates in the grid covered when the polyomino has this location
72
+ */
73
+ export declare function getPolyominoSpaces(polyomino: XYCoordinates[], location: Partial<Location>): XYCoordinates[];
@@ -44,4 +44,72 @@ export const getSquareInDirection = (origin, direction, distance = 1) => {
44
44
  y: direction === Direction.North ? origin.y - distance : direction === Direction.South ? origin.y + distance : origin.y
45
45
  };
46
46
  };
47
+ /**
48
+ * Rotate square-grid coordinates.
49
+ * A quarter turn (90°) matches a positive CSS rotation (clockwise on a y-down screen).
50
+ * @param vector Vector to rotate
51
+ * @param rotation Number of 90 degrees rotations to apply (1 = 90°, 2 = 180°...)
52
+ * @return the rotated vector
53
+ */
54
+ export function squareRotate(vector, rotation = 0) {
55
+ switch (((rotation % 4) + 4) % 4) {
56
+ case 1:
57
+ return { x: -vector.y, y: vector.x };
58
+ case 2:
59
+ return { x: -vector.x, y: -vector.y };
60
+ case 3:
61
+ return { x: vector.y, y: -vector.x };
62
+ default:
63
+ return vector;
64
+ }
65
+ }
66
+ /**
67
+ * Translate square-grid coordinates by a vector.
68
+ * @param square Coordinates of the square to translate
69
+ * @param vector Vector of the translation
70
+ * @return the coordinates of the square after the translation
71
+ */
72
+ export function squareTranslate(square, vector) {
73
+ return { x: square.x + vector.x, y: square.y + vector.y };
74
+ }
75
+ /**
76
+ * Get all the squares that are exactly at a specific (Manhattan) distance from a given square.
77
+ * @param square Coordinates of the square
78
+ * @param distance Distance of the squares we want
79
+ * @return the list of the squares found at distance from given square
80
+ */
81
+ export function getSquaresAtDistance(square, distance) {
82
+ if (distance <= 0)
83
+ return [square];
84
+ const result = [];
85
+ let currentSquare = { x: square.x + distance, y: square.y };
86
+ const vectors = [{ x: -1, y: 1 }, { x: -1, y: -1 }, { x: 1, y: -1 }, { x: 1, y: 1 }];
87
+ for (const vector of vectors) {
88
+ for (let j = 0; j < distance; j++) {
89
+ result.push(currentSquare);
90
+ currentSquare = squareTranslate(currentSquare, vector);
91
+ }
92
+ }
93
+ return result;
94
+ }
95
+ /**
96
+ * Get the coordinates of the 4 squares orthogonally adjacent to a given square.
97
+ * @param square Coordinates of the square
98
+ * @return the coordinates of the adjacent squares
99
+ */
100
+ export function getAdjacentSquares(square) {
101
+ return directions.map((direction) => getSquareInDirection(square, direction));
102
+ }
103
+ /**
104
+ * Get the coordinates that will be covered by a polyomino tile when at a specific grid location.
105
+ * @param polyomino Coordinates occupied by the polyomino without any rotation
106
+ * @param location Location of the polyomino on the grid (x, y, and rotation)
107
+ * @return coordinates in the grid covered when the polyomino has this location
108
+ */
109
+ export function getPolyominoSpaces(polyomino, location) {
110
+ const vector = { x: location.x ?? 0, y: location.y ?? 0 };
111
+ return polyomino
112
+ .map((square) => squareRotate(square, location.rotation ?? 0))
113
+ .map((square) => squareTranslate(square, vector));
114
+ }
47
115
  //# sourceMappingURL=grid.squares.util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"grid.squares.util.js","sourceRoot":"","sources":["../../src/utils/grid.squares.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,eAAe,EAAiB,MAAM,aAAa,CAAA;AAE5D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,OAA+B,EAAE,OAA+B,EAAW,EAAE,CAC9G,eAAe,CAAC,OAAO,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,IAAI,yBAAyB,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;AAE3G;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,OAAsB,EAAE,OAAsB,EAAU,EAAE,CAClG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;AAEnE;;GAEG;AACH,MAAM,CAAN,IAAY,SAEX;AAFD,WAAY,SAAS;IACnB,2CAAS,CAAA;IAAE,2CAAK,CAAA;IAAE,yCAAI,CAAA;IAAE,yCAAI,CAAA;AAC9B,CAAC,EAFW,SAAS,KAAT,SAAS,QAEpB;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC,CAAA;AAElD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,MAA8B,EAAE,SAAoB,EAAE,QAAQ,GAAG,CAAC,EAAiB,EAAE;IACxH,IAAI,MAAM,CAAC,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,CAAC,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;IAC/G,OAAO;QACL,CAAC,EAAE,SAAS,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACrH,CAAC,EAAE,SAAS,KAAK,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;KACxH,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"grid.squares.util.js","sourceRoot":"","sources":["../../src/utils/grid.squares.util.ts"],"names":[],"mappings":"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"}
@@ -12,5 +12,6 @@ export * from './loops.util';
12
12
  export * from './money.util';
13
13
  export * from './neighbors.util';
14
14
  export * from './polyhex.util';
15
+ export * from './polyomino.util';
15
16
  export * from './random.util';
16
17
  export * from './rank.util';
@@ -12,6 +12,7 @@ export * from './loops.util';
12
12
  export * from './money.util';
13
13
  export * from './neighbors.util';
14
14
  export * from './polyhex.util';
15
+ export * from './polyomino.util';
15
16
  export * from './random.util';
16
17
  export * from './rank.util';
17
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,wBAAwB,CAAA;AACtC,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,wBAAwB,CAAA;AACtC,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA"}
@@ -0,0 +1,52 @@
1
+ import { XYCoordinates } from './grid.util';
2
+ /**
3
+ * Configuration of a Polyomino
4
+ */
5
+ export interface PolyominoConfig<T = any> {
6
+ /**
7
+ * Minimum x coordinates of the polyomino (arrays cannot have negative index)
8
+ */
9
+ xMin: number;
10
+ /**
11
+ * Minimum y coordinates of the polyomino (arrays cannot have negative index)
12
+ */
13
+ yMin: number;
14
+ /**
15
+ * Function to evaluate whether a value is empty or not in the grid.
16
+ * By default, undefined and null values are considered as empty.
17
+ * @param value Value to evaluate
18
+ * @return true if the value should be considered as empty
19
+ */
20
+ isEmpty: (value: T) => boolean;
21
+ }
22
+ /**
23
+ * Class to work on Polyominoes (multiple squares linked together)
24
+ */
25
+ export declare class Polyomino<T = any> implements PolyominoConfig<T> {
26
+ grid: (T | undefined)[][];
27
+ xMin: number;
28
+ yMin: number;
29
+ isEmpty: (value: (T | undefined)) => boolean;
30
+ constructor(grid: (T | undefined)[][], config?: Partial<PolyominoConfig>);
31
+ get xMax(): number;
32
+ get yMax(): number;
33
+ getValue(coordinates: XYCoordinates): T | undefined;
34
+ /**
35
+ * Utility function to merge multiple polyominoes together to create a bigger polyomino: it merges given polyomino grid in current polyomino.
36
+ * @param polyomino Polyomino to merge in the current polyomino
37
+ * @param location Location to merge the new polyomino in
38
+ * @param onOverlap Callback function when a non-empty value is erased
39
+ */
40
+ merge(polyomino: Polyomino, location?: {
41
+ x?: number;
42
+ y?: number;
43
+ rotation?: number;
44
+ }, onOverlap?: (x: number, y: number) => void): void;
45
+ /**
46
+ * Get the minimum distance from given square to a square of the polyomino that matches given predicate
47
+ * @param square Starting square
48
+ * @param predicate The predicate to match (not empty by default)
49
+ * @returns the minimum distance found
50
+ */
51
+ getDistance(square: XYCoordinates, predicate?: (value: T | undefined) => boolean): number;
52
+ }
@@ -0,0 +1,81 @@
1
+ import { getSquaresAtDistance, squareRotate, squareTranslate } from './grid.squares.util';
2
+ /**
3
+ * Class to work on Polyominoes (multiple squares linked together)
4
+ */
5
+ export class Polyomino {
6
+ grid;
7
+ xMin = 0;
8
+ yMin = 0;
9
+ isEmpty = (value) => value == null; // true for null and undefined
10
+ constructor(grid, config) {
11
+ this.grid = grid;
12
+ this.xMin = config?.xMin ?? this.xMin;
13
+ this.yMin = config?.yMin ?? this.yMin;
14
+ this.isEmpty = config?.isEmpty ?? this.isEmpty;
15
+ }
16
+ get xMax() {
17
+ return Math.max(...this.grid.map((line) => line.length)) + this.xMin - 1;
18
+ }
19
+ get yMax() {
20
+ return this.grid.length + this.yMin - 1;
21
+ }
22
+ getValue(coordinates) {
23
+ return this.grid[coordinates.y - this.yMin]?.[coordinates.x - this.xMin];
24
+ }
25
+ /**
26
+ * Utility function to merge multiple polyominoes together to create a bigger polyomino: it merges given polyomino grid in current polyomino.
27
+ * @param polyomino Polyomino to merge in the current polyomino
28
+ * @param location Location to merge the new polyomino in
29
+ * @param onOverlap Callback function when a non-empty value is erased
30
+ */
31
+ merge(polyomino, location = {}, onOverlap = () => {
32
+ }) {
33
+ for (let y = polyomino.yMin; y <= polyomino.yMax; y++) {
34
+ for (let x = polyomino.xMin; x <= polyomino.xMax; x++) {
35
+ const value = polyomino.getValue({ x, y });
36
+ if (!this.isEmpty(value)) {
37
+ const rotatedCoordinates = squareRotate({ x, y }, location.rotation);
38
+ const coordinates = squareTranslate(rotatedCoordinates, { x: location.x ?? 0, y: location.y ?? 0 });
39
+ while (coordinates.y < this.yMin) {
40
+ this.grid.unshift([]);
41
+ this.yMin--;
42
+ }
43
+ while (coordinates.x < this.xMin) {
44
+ for (const line1 of this.grid) {
45
+ line1.unshift(undefined);
46
+ }
47
+ this.xMin--;
48
+ }
49
+ while (this.grid.length <= coordinates.y - this.yMin) {
50
+ this.grid.push([]);
51
+ }
52
+ if (this.grid[coordinates.y - this.yMin][coordinates.x - this.xMin]) {
53
+ onOverlap(x, y);
54
+ }
55
+ this.grid[coordinates.y - this.yMin][coordinates.x - this.xMin] = value;
56
+ }
57
+ }
58
+ }
59
+ }
60
+ /**
61
+ * Get the minimum distance from given square to a square of the polyomino that matches given predicate
62
+ * @param square Starting square
63
+ * @param predicate The predicate to match (not empty by default)
64
+ * @returns the minimum distance found
65
+ */
66
+ getDistance(square, predicate = (value) => !this.isEmpty(value)) {
67
+ let distance = 0;
68
+ const maxDistance = this.xMax + this.yMax - this.xMin - this.yMin;
69
+ while (distance < maxDistance) {
70
+ const squaresAtDistance = getSquaresAtDistance(square, distance);
71
+ if (squaresAtDistance.some((square) => predicate(this.getValue(square)))) {
72
+ return distance;
73
+ }
74
+ else {
75
+ distance++;
76
+ }
77
+ }
78
+ return Infinity;
79
+ }
80
+ }
81
+ //# sourceMappingURL=polyomino.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polyomino.util.js","sourceRoot":"","sources":["../../src/utils/polyomino.util.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": "7.6.3",
3
+ "version": "7.6.5",
4
4
  "description": "API to implement the rules of a board game",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -27,14 +27,13 @@
27
27
  "access": "public"
28
28
  },
29
29
  "devDependencies": {
30
- "@types/node": "^24.5.1",
31
- "es-toolkit": "^1.39.10",
32
- "i18next": "^25.10.9",
33
- "typescript": "^5.9.2",
34
- "vitest": "^4.0.10"
30
+ "@types/node": "^26.0.1",
31
+ "es-toolkit": "^1.49.0",
32
+ "typescript": "^6.0.3",
33
+ "vitest": "^4.1.9"
35
34
  },
36
35
  "peerDependencies": {
37
- "es-toolkit": "^1.39.10"
36
+ "es-toolkit": "^1.46.0"
38
37
  },
39
38
  "packageManager": "yarn@4.9.4"
40
39
  }