@gamepark/rules-api 7.0.0-beta.0 → 7.0.0-beta.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.
Files changed (249) hide show
  1. package/dist/Action.js +1 -2
  2. package/dist/Bot.js +15 -37
  3. package/dist/Bot.js.map +1 -1
  4. package/dist/Competitive.js +3 -8
  5. package/dist/Competitive.js.map +1 -1
  6. package/dist/Eliminations.js +2 -5
  7. package/dist/Eliminations.js.map +1 -1
  8. package/dist/GameSetup.js +1 -2
  9. package/dist/HiddenInformation.js +2 -5
  10. package/dist/HiddenInformation.js.map +1 -1
  11. package/dist/LocalMovePreview.js +1 -4
  12. package/dist/LocalMovePreview.js.map +1 -1
  13. package/dist/RandomMove.js +1 -2
  14. package/dist/Rules.js +49 -56
  15. package/dist/Rules.js.map +1 -1
  16. package/dist/SecretInformation.js +2 -5
  17. package/dist/SecretInformation.js.map +1 -1
  18. package/dist/TimeLimit.js +1 -4
  19. package/dist/TimeLimit.js.map +1 -1
  20. package/dist/Undo.js +2 -5
  21. package/dist/Undo.js.map +1 -1
  22. package/dist/UnpredictableMove.js +1 -5
  23. package/dist/UnpredictableMove.js.map +1 -1
  24. package/dist/index.js +16 -32
  25. package/dist/index.js.map +1 -1
  26. package/dist/material/HiddenMaterialRules.js +125 -180
  27. package/dist/material/HiddenMaterialRules.js.map +1 -1
  28. package/dist/material/MaterialGame.js +1 -2
  29. package/dist/material/MaterialGameSetup.js +52 -70
  30. package/dist/material/MaterialGameSetup.js.map +1 -1
  31. package/dist/material/MaterialRules.js +186 -250
  32. package/dist/material/MaterialRules.js.map +1 -1
  33. package/dist/material/SecretMaterialRules.js +9 -35
  34. package/dist/material/SecretMaterialRules.js.map +1 -1
  35. package/dist/material/index.js +11 -27
  36. package/dist/material/index.js.map +1 -1
  37. package/dist/material/items/Material.js +177 -262
  38. package/dist/material/items/Material.js.map +1 -1
  39. package/dist/material/items/MaterialDeck.js +10 -36
  40. package/dist/material/items/MaterialDeck.js.map +1 -1
  41. package/dist/material/items/MaterialItem.js +1 -2
  42. package/dist/material/items/MaterialMoney.js +89 -141
  43. package/dist/material/items/MaterialMoney.js.map +1 -1
  44. package/dist/material/items/MaterialMutator.js +108 -145
  45. package/dist/material/items/MaterialMutator.js.map +1 -1
  46. package/dist/material/items/index.js +5 -21
  47. package/dist/material/items/index.js.map +1 -1
  48. package/dist/material/location/Location.js +1 -14
  49. package/dist/material/location/Location.js.map +1 -1
  50. package/dist/material/location/LocationBuilder.js +26 -41
  51. package/dist/material/location/LocationBuilder.js.map +1 -1
  52. package/dist/material/location/index.js +3 -19
  53. package/dist/material/location/index.js.map +1 -1
  54. package/dist/material/location/strategy/FillGapStrategy.js +9 -16
  55. package/dist/material/location/strategy/FillGapStrategy.js.map +1 -1
  56. package/dist/material/location/strategy/LocationStrategy.js +1 -2
  57. package/dist/material/location/strategy/PositiveSequenceStrategy.js +26 -35
  58. package/dist/material/location/strategy/PositiveSequenceStrategy.js.map +1 -1
  59. package/dist/material/location/strategy/StackingStrategy.js +15 -22
  60. package/dist/material/location/strategy/StackingStrategy.js.map +1 -1
  61. package/dist/material/location/strategy/index.js +5 -23
  62. package/dist/material/location/strategy/index.js.map +1 -1
  63. package/dist/material/memory/GameMemory.js +10 -14
  64. package/dist/material/memory/GameMemory.js.map +1 -1
  65. package/dist/material/memory/PlayerMemory.js +13 -18
  66. package/dist/material/memory/PlayerMemory.js.map +1 -1
  67. package/dist/material/memory/index.js +2 -18
  68. package/dist/material/memory/index.js.map +1 -1
  69. package/dist/material/moves/CustomMove.js +4 -9
  70. package/dist/material/moves/CustomMove.js.map +1 -1
  71. package/dist/material/moves/MaterialMove.js +1 -2
  72. package/dist/material/moves/MaterialMoveBuilder.js +16 -32
  73. package/dist/material/moves/MaterialMoveBuilder.js.map +1 -1
  74. package/dist/material/moves/MoveKind.js +2 -5
  75. package/dist/material/moves/MoveKind.js.map +1 -1
  76. package/dist/material/moves/index.js +7 -23
  77. package/dist/material/moves/index.js.map +1 -1
  78. package/dist/material/moves/items/CreateItem.js +6 -12
  79. package/dist/material/moves/items/CreateItem.js.map +1 -1
  80. package/dist/material/moves/items/CreateItemsAtOnce.js +6 -12
  81. package/dist/material/moves/items/CreateItemsAtOnce.js.map +1 -1
  82. package/dist/material/moves/items/DeleteItem.js +6 -12
  83. package/dist/material/moves/items/DeleteItem.js.map +1 -1
  84. package/dist/material/moves/items/DeleteItemsAtOnce.js +6 -12
  85. package/dist/material/moves/items/DeleteItemsAtOnce.js.map +1 -1
  86. package/dist/material/moves/items/ItemMove.js +1 -2
  87. package/dist/material/moves/items/ItemMoveType.js +2 -5
  88. package/dist/material/moves/items/ItemMoveType.js.map +1 -1
  89. package/dist/material/moves/items/MoveItem.js +6 -12
  90. package/dist/material/moves/items/MoveItem.js.map +1 -1
  91. package/dist/material/moves/items/MoveItemsAtOnce.js +6 -12
  92. package/dist/material/moves/items/MoveItemsAtOnce.js.map +1 -1
  93. package/dist/material/moves/items/RollItem.js +6 -12
  94. package/dist/material/moves/items/RollItem.js.map +1 -1
  95. package/dist/material/moves/items/SelectItem.js +6 -12
  96. package/dist/material/moves/items/SelectItem.js.map +1 -1
  97. package/dist/material/moves/items/Shuffle.js +7 -14
  98. package/dist/material/moves/items/Shuffle.js.map +1 -1
  99. package/dist/material/moves/items/index.js +11 -27
  100. package/dist/material/moves/items/index.js.map +1 -1
  101. package/dist/material/moves/local/CloseTutorialPopup.js +4 -7
  102. package/dist/material/moves/local/CloseTutorialPopup.js.map +1 -1
  103. package/dist/material/moves/local/DisplayHelp.js +2 -5
  104. package/dist/material/moves/local/DisplayHelp.js.map +1 -1
  105. package/dist/material/moves/local/DropItem.js +1 -2
  106. package/dist/material/moves/local/LocalMove.js +2 -5
  107. package/dist/material/moves/local/LocalMove.js.map +1 -1
  108. package/dist/material/moves/local/SetTutorialStep.js +4 -7
  109. package/dist/material/moves/local/SetTutorialStep.js.map +1 -1
  110. package/dist/material/moves/local/index.js +5 -21
  111. package/dist/material/moves/local/index.js.map +1 -1
  112. package/dist/material/moves/rules/EndGame.js +4 -7
  113. package/dist/material/moves/rules/EndGame.js.map +1 -1
  114. package/dist/material/moves/rules/EndPlayerTurn.js +4 -7
  115. package/dist/material/moves/rules/EndPlayerTurn.js.map +1 -1
  116. package/dist/material/moves/rules/RuleMove.js +3 -7
  117. package/dist/material/moves/rules/RuleMove.js.map +1 -1
  118. package/dist/material/moves/rules/StartPlayerTurn.js +4 -7
  119. package/dist/material/moves/rules/StartPlayerTurn.js.map +1 -1
  120. package/dist/material/moves/rules/StartRule.js +4 -7
  121. package/dist/material/moves/rules/StartRule.js.map +1 -1
  122. package/dist/material/moves/rules/StartSimultaneousRule.js +4 -7
  123. package/dist/material/moves/rules/StartSimultaneousRule.js.map +1 -1
  124. package/dist/material/moves/rules/index.js +6 -22
  125. package/dist/material/moves/rules/index.js.map +1 -1
  126. package/dist/material/rules/MaterialRulesPart.js +38 -63
  127. package/dist/material/rules/MaterialRulesPart.js.map +1 -1
  128. package/dist/material/rules/PlayerTurnRule.js +20 -52
  129. package/dist/material/rules/PlayerTurnRule.js.map +1 -1
  130. package/dist/material/rules/RuleStep.js +1 -2
  131. package/dist/material/rules/SimultaneousRule.js +19 -51
  132. package/dist/material/rules/SimultaneousRule.js.map +1 -1
  133. package/dist/material/rules/index.js +4 -20
  134. package/dist/material/rules/index.js.map +1 -1
  135. package/dist/material/tutorial/TutorialState.js +1 -2
  136. package/dist/material/tutorial/index.js +1 -17
  137. package/dist/material/tutorial/index.js.map +1 -1
  138. package/dist/options/EnumArrayOption.js +3 -6
  139. package/dist/options/EnumArrayOption.js.map +1 -1
  140. package/dist/options/EnumOption.js +1 -4
  141. package/dist/options/EnumOption.js.map +1 -1
  142. package/dist/options/Option.js +1 -2
  143. package/dist/options/OptionSpecOf.js +1 -2
  144. package/dist/options/OptionsSpec.js +1 -2
  145. package/dist/options/OptionsValidationError.js +6 -28
  146. package/dist/options/OptionsValidationError.js.map +1 -1
  147. package/dist/options/PlayerEnumOption.js +19 -29
  148. package/dist/options/PlayerEnumOption.js.map +1 -1
  149. package/dist/options/PlayersOptionsSpec.js +1 -2
  150. package/dist/options/WithIdOption.js +1 -2
  151. package/dist/options/WithPlayerOptionsSpec.js +1 -4
  152. package/dist/options/WithPlayerOptionsSpec.js.map +1 -1
  153. package/dist/options/WithPlayersOptions.js +1 -2
  154. package/dist/options/index.js +12 -28
  155. package/dist/options/index.js.map +1 -1
  156. package/dist/options/isWithPlayerIdOptions.js +3 -6
  157. package/dist/options/isWithPlayerIdOptions.js.map +1 -1
  158. package/dist/utils/action-view.util.js +18 -25
  159. package/dist/utils/action-view.util.js.map +1 -1
  160. package/dist/utils/action.util.js +11 -16
  161. package/dist/utils/action.util.js.map +1 -1
  162. package/dist/utils/adjacent-groups.util.js +33 -41
  163. package/dist/utils/adjacent-groups.util.js.map +1 -1
  164. package/dist/utils/automatic-moves.util.js +10 -15
  165. package/dist/utils/automatic-moves.util.js.map +1 -1
  166. package/dist/utils/enum.util.js +7 -13
  167. package/dist/utils/enum.util.js.map +1 -1
  168. package/dist/utils/game-view.util.js +5 -8
  169. package/dist/utils/game-view.util.js.map +1 -1
  170. package/dist/utils/grid.hex.util.js +36 -88
  171. package/dist/utils/grid.hex.util.js.map +1 -1
  172. package/dist/utils/grid.squares.util.js +8 -19
  173. package/dist/utils/grid.squares.util.js.map +1 -1
  174. package/dist/utils/grid.util.js +1 -5
  175. package/dist/utils/grid.util.js.map +1 -1
  176. package/dist/utils/index.js +16 -32
  177. package/dist/utils/index.js.map +1 -1
  178. package/dist/utils/listing.util.js +8 -13
  179. package/dist/utils/listing.util.js.map +1 -1
  180. package/dist/utils/loops.util.js +3 -6
  181. package/dist/utils/loops.util.js.map +1 -1
  182. package/dist/utils/money.util.js +54 -73
  183. package/dist/utils/money.util.js.map +1 -1
  184. package/dist/utils/neighbors.util.js +6 -10
  185. package/dist/utils/neighbors.util.js.map +1 -1
  186. package/dist/utils/polyhex.util.js +36 -56
  187. package/dist/utils/polyhex.util.js.map +1 -1
  188. package/dist/utils/random.util.js +2 -5
  189. package/dist/utils/random.util.js.map +1 -1
  190. package/dist/utils/rank.util.js +9 -13
  191. package/dist/utils/rank.util.js.map +1 -1
  192. package/package.json +43 -37
  193. package/dist/ApplyAutomaticMoves.d.ts +0 -2
  194. package/dist/ApplyAutomaticMoves.js +0 -25
  195. package/dist/ApplyAutomaticMoves.js.map +0 -1
  196. package/dist/DefaultGameSetup.d.ts +0 -7
  197. package/dist/DefaultGameSetup.js +0 -15
  198. package/dist/DefaultGameSetup.js.map +0 -1
  199. package/dist/Dummy.d.ts +0 -7
  200. package/dist/Dummy.js +0 -27
  201. package/dist/Dummy.js.map +0 -1
  202. package/dist/GameSetupCreator.d.ts +0 -4
  203. package/dist/GameSetupCreator.js +0 -3
  204. package/dist/GameSetupCreator.js.map +0 -1
  205. package/dist/IncompleteInformation.d.ts +0 -14
  206. package/dist/IncompleteInformation.js +0 -38
  207. package/dist/IncompleteInformation.js.map +0 -1
  208. package/dist/LoopWithFuse.d.ts +0 -4
  209. package/dist/LoopWithFuse.js +0 -15
  210. package/dist/LoopWithFuse.js.map +0 -1
  211. package/dist/Robot.d.ts +0 -1
  212. package/dist/Robot.js +0 -3
  213. package/dist/Robot.js.map +0 -1
  214. package/dist/RulesCreator.d.ts +0 -7
  215. package/dist/RulesCreator.js +0 -3
  216. package/dist/RulesCreator.js.map +0 -1
  217. package/dist/material/location/strategy/StakingStrategy.d.ts +0 -12
  218. package/dist/material/location/strategy/StakingStrategy.js +0 -32
  219. package/dist/material/location/strategy/StakingStrategy.js.map +0 -1
  220. package/dist/material/moves/items/ItemMovesBuilder.d.ts +0 -8
  221. package/dist/material/moves/items/ItemMovesBuilder.js +0 -34
  222. package/dist/material/moves/items/ItemMovesBuilder.js.map +0 -1
  223. package/dist/material/rules/MaterialMoveBuilder.d.ts +0 -9
  224. package/dist/material/rules/MaterialMoveBuilder.js +0 -28
  225. package/dist/material/rules/MaterialMoveBuilder.js.map +0 -1
  226. package/dist/material/rules/MaterialRulesMovesBuilder.d.ts +0 -12
  227. package/dist/material/rules/MaterialRulesMovesBuilder.js +0 -36
  228. package/dist/material/rules/MaterialRulesMovesBuilder.js.map +0 -1
  229. package/dist/setup/DefaultGameSetup.d.ts +0 -7
  230. package/dist/setup/DefaultGameSetup.js +0 -15
  231. package/dist/setup/DefaultGameSetup.js.map +0 -1
  232. package/dist/setup/GameSetup.d.ts +0 -3
  233. package/dist/setup/GameSetup.js +0 -3
  234. package/dist/setup/GameSetup.js.map +0 -1
  235. package/dist/setup/GameSetupCreator.d.ts +0 -4
  236. package/dist/setup/GameSetupCreator.js +0 -3
  237. package/dist/setup/GameSetupCreator.js.map +0 -1
  238. package/dist/setup/index.d.ts +0 -2
  239. package/dist/setup/index.js +0 -19
  240. package/dist/setup/index.js.map +0 -1
  241. package/dist/utils/EnumUtils.d.ts +0 -1
  242. package/dist/utils/EnumUtils.js +0 -8
  243. package/dist/utils/EnumUtils.js.map +0 -1
  244. package/dist/utils/coordinates.util.d.ts +0 -5
  245. package/dist/utils/coordinates.util.js +0 -16
  246. package/dist/utils/coordinates.util.js.map +0 -1
  247. package/dist/utils/isDeadEndMove.util.d.ts +0 -2
  248. package/dist/utils/isDeadEndMove.util.js +0 -19
  249. package/dist/utils/isDeadEndMove.util.js.map +0 -1
@@ -1,37 +1,33 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createAdjacentGroups = createAdjacentGroups;
4
- var grid_hex_util_1 = require("./grid.hex.util");
5
- function getPreviousAdjacentCoordinates(_a, hexGridSystem) {
6
- var x = _a.x, y = _a.y;
7
- var adjacentCoordinates = [];
1
+ import { HexGridSystem } from './grid.hex.util';
2
+ function getPreviousAdjacentCoordinates({ x, y }, hexGridSystem) {
3
+ const adjacentCoordinates = [];
8
4
  if (hexGridSystem === undefined) {
9
5
  if (x > 0)
10
- adjacentCoordinates.push({ x: x - 1, y: y });
6
+ adjacentCoordinates.push({ x: x - 1, y });
11
7
  if (y > 0)
12
- adjacentCoordinates.push({ x: x, y: y - 1 });
8
+ adjacentCoordinates.push({ x, y: y - 1 });
13
9
  return adjacentCoordinates;
14
10
  }
15
11
  switch (hexGridSystem) {
16
- case grid_hex_util_1.HexGridSystem.Axial:
12
+ case HexGridSystem.Axial:
17
13
  if (x > 0)
18
- adjacentCoordinates.push({ x: x - 1, y: y });
14
+ adjacentCoordinates.push({ x: x - 1, y });
19
15
  if (y > 0)
20
- adjacentCoordinates.push({ x: x, y: y - 1 }, { x: x + 1, y: y - 1 });
16
+ adjacentCoordinates.push({ x, y: y - 1 }, { x: x + 1, y: y - 1 });
21
17
  return adjacentCoordinates;
22
- case grid_hex_util_1.HexGridSystem.OddQ:
23
- case grid_hex_util_1.HexGridSystem.EvenQ:
18
+ case HexGridSystem.OddQ:
19
+ case HexGridSystem.EvenQ:
24
20
  if (x > 0)
25
- adjacentCoordinates.push({ x: x - 1, y: y });
21
+ adjacentCoordinates.push({ x: x - 1, y });
26
22
  if (y > 0) {
27
- if (hexGridSystem === (x % 2 ? grid_hex_util_1.HexGridSystem.OddQ : grid_hex_util_1.HexGridSystem.EvenQ)) {
28
- adjacentCoordinates.push({ x: x, y: y - 1 });
23
+ if (hexGridSystem === (x % 2 ? HexGridSystem.OddQ : HexGridSystem.EvenQ)) {
24
+ adjacentCoordinates.push({ x, y: y - 1 });
29
25
  }
30
26
  else {
31
27
  if (x > 0) {
32
28
  adjacentCoordinates.push({ x: x - 1, y: y - 1 });
33
29
  }
34
- adjacentCoordinates.push({ x: x, y: y - 1 }, { x: x + 1, y: y - 1 });
30
+ adjacentCoordinates.push({ x, y: y - 1 }, { x: x + 1, y: y - 1 });
35
31
  }
36
32
  }
37
33
  return adjacentCoordinates;
@@ -39,44 +35,40 @@ function getPreviousAdjacentCoordinates(_a, hexGridSystem) {
39
35
  throw new Error('Not implemented');
40
36
  }
41
37
  }
42
- function createAdjacentGroups(map, options) {
43
- var _a;
44
- var _b, _c, _d;
45
- var isEmpty = (_b = options === null || options === void 0 ? void 0 : options.isEmpty) !== null && _b !== void 0 ? _b : (function (value) { return !value; });
46
- var groups = [];
47
- for (var y = 0; y < map.length; y++) {
38
+ export function createAdjacentGroups(map, options) {
39
+ const isEmpty = options?.isEmpty ?? ((value) => !value);
40
+ const groups = [];
41
+ for (let y = 0; y < map.length; y++) {
48
42
  groups.push([]);
49
- for (var x = 0; x < map[y].length; x++) {
50
- var value = map[y][x];
43
+ for (let x = 0; x < map[y].length; x++) {
44
+ const value = map[y][x];
51
45
  if (isEmpty(value)) {
52
46
  groups[y][x] = { values: [], coordinates: [] };
53
47
  }
54
48
  else {
55
- var previousAdjacentCoordinates = getPreviousAdjacentCoordinates({ x: x, y: y }, options === null || options === void 0 ? void 0 : options.hexGridSystem);
56
- var adjacentGroups = [];
57
- for (var _i = 0, previousAdjacentCoordinates_1 = previousAdjacentCoordinates; _i < previousAdjacentCoordinates_1.length; _i++) {
58
- var _e = previousAdjacentCoordinates_1[_i], x_1 = _e.x, y_1 = _e.y;
59
- if (((_d = (_c = groups[y_1]) === null || _c === void 0 ? void 0 : _c[x_1]) === null || _d === void 0 ? void 0 : _d.values.length) && !adjacentGroups.includes(groups[y_1][x_1])) {
60
- adjacentGroups.push(groups[y_1][x_1]);
49
+ const previousAdjacentCoordinates = getPreviousAdjacentCoordinates({ x, y }, options?.hexGridSystem);
50
+ const adjacentGroups = [];
51
+ for (const { x, y } of previousAdjacentCoordinates) {
52
+ if (groups[y]?.[x]?.values.length && !adjacentGroups.includes(groups[y][x])) {
53
+ adjacentGroups.push(groups[y][x]);
61
54
  }
62
55
  }
63
56
  if (!adjacentGroups.length) {
64
- groups[y][x] = { values: [value], coordinates: [{ x: x, y: y }] };
57
+ groups[y][x] = { values: [value], coordinates: [{ x, y }] };
65
58
  }
66
59
  else if (adjacentGroups.length === 1) {
67
60
  adjacentGroups[0].values.push(value);
68
- adjacentGroups[0].coordinates.push({ x: x, y: y });
61
+ adjacentGroups[0].coordinates.push({ x, y });
69
62
  groups[y][x] = adjacentGroups[0];
70
63
  }
71
64
  else {
72
- var fusionGroup = { values: [value], coordinates: [{ x: x, y: y }] };
65
+ const fusionGroup = { values: [value], coordinates: [{ x, y }] };
73
66
  groups[y][x] = fusionGroup;
74
- for (var i = 0; i < adjacentGroups.length; i++) {
75
- (_a = fusionGroup.values).push.apply(_a, adjacentGroups[i].values);
76
- for (var _f = 0, _g = adjacentGroups[i].coordinates; _f < _g.length; _f++) {
77
- var _h = _g[_f], x_2 = _h.x, y_2 = _h.y;
78
- fusionGroup.coordinates.push({ x: x_2, y: y_2 });
79
- groups[y_2][x_2] = fusionGroup;
67
+ for (let i = 0; i < adjacentGroups.length; i++) {
68
+ fusionGroup.values.push(...adjacentGroups[i].values);
69
+ for (const { x, y } of adjacentGroups[i].coordinates) {
70
+ fusionGroup.coordinates.push({ x, y });
71
+ groups[y][x] = fusionGroup;
80
72
  }
81
73
  }
82
74
  }
@@ -1 +1 @@
1
- {"version":3,"file":"adjacent-groups.util.js","sourceRoot":"","sources":["../../src/utils/adjacent-groups.util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adjacent-groups.util.js","sourceRoot":"","sources":["../../src/utils/adjacent-groups.util.ts"],"names":[],"mappings":"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"}
@@ -1,24 +1,19 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.applyAutomaticMoves = applyAutomaticMoves;
4
- var loops_util_1 = require("./loops.util");
5
- var random_util_1 = require("./random.util");
6
- function applyAutomaticMoves(rules, moves, preprocessMove) {
7
- if (moves === void 0) { moves = []; }
8
- (0, loops_util_1.loopWithFuse)(function () {
9
- var _a;
1
+ import { loopWithFuse } from './loops.util';
2
+ import { hasRandomMove } from './random.util';
3
+ export function applyAutomaticMoves(rules, moves = [], preprocessMove) {
4
+ loopWithFuse(() => {
10
5
  if (moves.length === 0 && rules.getAutomaticMoves) {
11
- moves.push.apply(moves, rules.getAutomaticMoves());
6
+ moves.push(...rules.getAutomaticMoves());
12
7
  }
13
- var move = moves.shift();
8
+ const move = moves.shift();
14
9
  if (!move)
15
10
  return false;
16
- var randomizedMove = (0, random_util_1.hasRandomMove)(rules) ? rules.randomize(move) : move;
11
+ const randomizedMove = hasRandomMove(rules) ? rules.randomize(move) : move;
17
12
  if (preprocessMove)
18
13
  preprocessMove(randomizedMove);
19
- var consequences = (_a = rules.play(JSON.parse(JSON.stringify(randomizedMove)))) !== null && _a !== void 0 ? _a : [];
20
- moves.unshift.apply(moves, consequences);
14
+ const consequences = rules.play(JSON.parse(JSON.stringify(randomizedMove))) ?? [];
15
+ moves.unshift(...consequences);
21
16
  return true;
22
- }, { errorFn: function () { return new Error("Infinite loop detected while applying move consequences: ".concat(JSON.stringify(moves), ")")); } });
17
+ }, { errorFn: () => new Error(`Infinite loop detected while applying move consequences: ${JSON.stringify(moves)})`) });
23
18
  }
24
19
  //# sourceMappingURL=automatic-moves.util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"automatic-moves.util.js","sourceRoot":"","sources":["../../src/utils/automatic-moves.util.ts"],"names":[],"mappings":";;AAIA,kDAaC;AAhBD,2CAA2C;AAC3C,6CAA6C;AAE7C,SAAgB,mBAAmB,CAAuB,KAAkC,EAAE,KAAkB,EAAE,cAAqC;IAAzD,sBAAA,EAAA,UAAkB;IAC9G,IAAA,yBAAY,EAAC;;QACX,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAClD,KAAK,CAAC,IAAI,OAAV,KAAK,EAAS,KAAK,CAAC,iBAAiB,EAAE,EAAC;QAC1C,CAAC;QACD,IAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,CAAA;QAC1B,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAA;QACvB,IAAM,cAAc,GAAG,IAAA,2BAAa,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAC1E,IAAI,cAAc;YAAE,cAAc,CAAC,cAAc,CAAC,CAAA;QAClD,IAAM,YAAY,GAAG,MAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,mCAAI,EAAE,CAAA;QACjF,KAAK,CAAC,OAAO,OAAb,KAAK,EAAY,YAAY,EAAC;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC,EAAE,EAAE,OAAO,EAAE,cAAM,OAAA,IAAI,KAAK,CAAC,mEAA4D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAG,CAAC,EAA/F,CAA+F,EAAE,CAAC,CAAA;AACxH,CAAC"}
1
+ {"version":3,"file":"automatic-moves.util.js","sourceRoot":"","sources":["../../src/utils/automatic-moves.util.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAE7C,MAAM,UAAU,mBAAmB,CAAuB,KAAkC,EAAE,QAAgB,EAAE,EAAE,cAAqC;IACrJ,YAAY,CAAC,GAAG,EAAE;QAChB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAClD,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAA;QAC1C,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,CAAA;QAC1B,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAA;QACvB,MAAM,cAAc,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAC1E,IAAI,cAAc;YAAE,cAAc,CAAC,cAAc,CAAC,CAAA;QAClD,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QACjF,KAAK,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,CAAA;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,KAAK,CAAC,4DAA4D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AACxH,CAAC"}
@@ -1,9 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getEnumKeys = getEnumKeys;
4
- exports.getEnumValues = getEnumValues;
5
- exports.getEnumEntries = getEnumEntries;
6
- exports.isEnumValue = isEnumValue;
7
1
  /**
8
2
  * Get the keys of an enum at run time.
9
3
  * Credits to https://github.com/tranvansang/enum-for
@@ -11,8 +5,8 @@ exports.isEnumValue = isEnumValue;
11
5
  * @param enumType The enumeration
12
6
  * @returns returns the list of the keys of the enum
13
7
  */
14
- function getEnumKeys(enumType) {
15
- return Object.keys(enumType).filter(function (key) { return isNaN(Number(key)); });
8
+ export function getEnumKeys(enumType) {
9
+ return Object.keys(enumType).filter(key => isNaN(Number(key)));
16
10
  }
17
11
  /**
18
12
  * Get the values of an enum at run time.
@@ -21,8 +15,8 @@ function getEnumKeys(enumType) {
21
15
  * @param enumType The enumeration
22
16
  * @returns returns the list of the values of the enum
23
17
  */
24
- function getEnumValues(enumType) {
25
- return getEnumKeys(enumType).map(function (key) { return enumType[key]; });
18
+ export function getEnumValues(enumType) {
19
+ return getEnumKeys(enumType).map(key => enumType[key]);
26
20
  }
27
21
  /**
28
22
  * Get the entries of an enum at run time.
@@ -31,13 +25,13 @@ function getEnumValues(enumType) {
31
25
  * @param enumType The enumeration
32
26
  * @returns returns the list of the entries of the enum
33
27
  */
34
- function getEnumEntries(enumType) {
35
- return getEnumKeys(enumType).map(function (key) { return [key, enumType[key]]; });
28
+ export function getEnumEntries(enumType) {
29
+ return getEnumKeys(enumType).map(key => [key, enumType[key]]);
36
30
  }
37
31
  /**
38
32
  * @deprecated Use getEnumValues instead
39
33
  */
40
- function isEnumValue(value) {
34
+ export function isEnumValue(value) {
41
35
  return typeof value !== 'string';
42
36
  }
43
37
  //# sourceMappingURL=enum.util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"enum.util.js","sourceRoot":"","sources":["../../src/utils/enum.util.ts"],"names":[],"mappings":";;AAYA,kCAEC;AASD,sCAEC;AASD,wCAEC;AAKD,kCAEC;AAtCD;;;;;;GAMG;AACH,SAAgB,WAAW,CAAoB,QAAW;IACxD,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,UAAA,GAAG,IAAI,OAAA,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAlB,CAAkB,CAAmB,CAAA;AAClF,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,aAAa,CAAoB,QAAW;IAC1D,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,UAAA,GAAG,IAAI,OAAA,QAAQ,CAAC,GAAG,CAAC,EAAb,CAAa,CAAC,CAAA;AACxD,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,cAAc,CAAoB,QAAW;IAC3D,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,UAAA,GAAG,IAAI,OAAA,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,EAApB,CAAoB,CAAC,CAAA;AAC/D,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAI,KAAiB;IAC9C,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAA;AAClC,CAAC"}
1
+ {"version":3,"file":"enum.util.js","sourceRoot":"","sources":["../../src/utils/enum.util.ts"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAoB,QAAW;IACxD,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAmB,CAAA;AAClF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAoB,QAAW;IAC1D,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;AACxD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAoB,QAAW;IAC3D,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AAC/D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAI,KAAiB;IAC9C,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAA;AAClC,CAAC"}
@@ -1,13 +1,10 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getGameView = getGameView;
4
- var HiddenInformation_1 = require("../HiddenInformation");
5
- var SecretInformation_1 = require("../SecretInformation");
6
- function getGameView(rules, playerId) {
7
- if ((0, SecretInformation_1.hasSecretInformation)(rules) && playerId !== undefined) {
1
+ import { hasHiddenInformation } from '../HiddenInformation';
2
+ import { hasSecretInformation } from '../SecretInformation';
3
+ export function getGameView(rules, playerId) {
4
+ if (hasSecretInformation(rules) && playerId !== undefined) {
8
5
  return rules.getPlayerView(playerId);
9
6
  }
10
- else if ((0, HiddenInformation_1.hasHiddenInformation)(rules)) {
7
+ else if (hasHiddenInformation(rules)) {
11
8
  return rules.getView();
12
9
  }
13
10
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"game-view.util.js","sourceRoot":"","sources":["../../src/utils/game-view.util.ts"],"names":[],"mappings":";;AAIA,kCAQC;AAZD,0DAA2D;AAE3D,0DAA2D;AAE3D,SAAgB,WAAW,CAA2B,KAAiC,EAAE,QAAmB;IAC1G,IAAI,IAAA,wCAAoB,EAA+B,KAAK,CAAC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACxF,OAAO,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;IACtC,CAAC;SAAM,IAAI,IAAA,wCAAoB,EAAW,KAAK,CAAC,EAAE,CAAC;QACjD,OAAO,KAAK,CAAC,OAAO,EAAE,CAAA;IACxB,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAC,IAAuB,CAAA;IACtC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"game-view.util.js","sourceRoot":"","sources":["../../src/utils/game-view.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAE3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAE3D,MAAM,UAAU,WAAW,CAA2B,KAAiC,EAAE,QAAmB;IAC1G,IAAI,oBAAoB,CAA+B,KAAK,CAAC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACxF,OAAO,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;IACtC,CAAC;SAAM,IAAI,oBAAoB,CAAW,KAAK,CAAC,EAAE,CAAC;QACjD,OAAO,KAAK,CAAC,OAAO,EAAE,CAAA;IACxB,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAC,IAAuB,CAAA;IACtC,CAAC;AACH,CAAC"}
@@ -1,106 +1,63 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.axialToEvenR = exports.evenRToAxial = exports.axialToOddR = exports.oddRToAxial = exports.axialToEvenQ = exports.evenQToAxial = exports.axialToOddQ = exports.oddQToAxial = exports.HexGridSystem = void 0;
4
- exports.hexToAxial = hexToAxial;
5
- exports.hexFromAxial = hexFromAxial;
6
- exports.hexRotate = hexRotate;
7
- exports.getDistanceBetweenHex = getDistanceBetweenHex;
8
- exports.getHexagonsAtDistance = getHexagonsAtDistance;
9
- exports.hexTranslate = hexTranslate;
10
- exports.getPolyhexSpaces = getPolyhexSpaces;
11
- exports.getAdjacentHexagons = getAdjacentHexagons;
12
1
  /**
13
2
  * The different coordinates systems available to describe a Hexagonal Grid.
14
3
  * See https://www.redblobgames.com/grids/hexagons/#coordinates
15
4
  */
16
- var HexGridSystem;
5
+ export var HexGridSystem;
17
6
  (function (HexGridSystem) {
18
7
  HexGridSystem[HexGridSystem["Axial"] = 0] = "Axial";
19
8
  HexGridSystem[HexGridSystem["OddQ"] = 1] = "OddQ";
20
9
  HexGridSystem[HexGridSystem["EvenQ"] = 2] = "EvenQ";
21
10
  HexGridSystem[HexGridSystem["OddR"] = 3] = "OddR";
22
11
  HexGridSystem[HexGridSystem["EvenR"] = 4] = "EvenR";
23
- })(HexGridSystem || (exports.HexGridSystem = HexGridSystem = {}));
12
+ })(HexGridSystem || (HexGridSystem = {}));
24
13
  /**
25
14
  * Converts {@link HexGridSystem.OddQ} coordinates into {@link HexGridSystem.Axial} coordinates
26
15
  */
27
- var oddQToAxial = function (_a) {
28
- var x = _a.x, y = _a.y;
29
- return ({ x: x, y: y - (x - (x & 1)) / 2 });
30
- };
31
- exports.oddQToAxial = oddQToAxial;
16
+ export const oddQToAxial = ({ x, y }) => ({ x, y: y - (x - (x & 1)) / 2 });
32
17
  /**
33
18
  * Converts {@link HexGridSystem.Axial} coordinates into {@link HexGridSystem.OddQ} coordinates
34
19
  */
35
- var axialToOddQ = function (_a) {
36
- var x = _a.x, y = _a.y;
37
- return ({ x: x, y: y + (x - (x & 1)) / 2 });
38
- };
39
- exports.axialToOddQ = axialToOddQ;
20
+ export const axialToOddQ = ({ x, y }) => ({ x, y: y + (x - (x & 1)) / 2 });
40
21
  /**
41
22
  * Converts {@link HexGridSystem.EvenQ} coordinates into {@link HexGridSystem.Axial} coordinates
42
23
  */
43
- var evenQToAxial = function (_a) {
44
- var x = _a.x, y = _a.y;
45
- return ({ x: x, y: y - (x + (x & 1)) / 2 });
46
- };
47
- exports.evenQToAxial = evenQToAxial;
24
+ export const evenQToAxial = ({ x, y }) => ({ x, y: y - (x + (x & 1)) / 2 });
48
25
  /**
49
26
  * Converts {@link HexGridSystem.Axial} coordinates into {@link HexGridSystem.EvenQ} coordinates
50
27
  */
51
- var axialToEvenQ = function (_a) {
52
- var x = _a.x, y = _a.y;
53
- return ({ x: x, y: y + (x + (x & 1)) / 2 });
54
- };
55
- exports.axialToEvenQ = axialToEvenQ;
28
+ export const axialToEvenQ = ({ x, y }) => ({ x, y: y + (x + (x & 1)) / 2 });
56
29
  /**
57
30
  * Converts {@link HexGridSystem.OddR} coordinates into {@link HexGridSystem.Axial} coordinates
58
31
  */
59
- var oddRToAxial = function (_a) {
60
- var x = _a.x, y = _a.y;
61
- return ({ y: y, x: x - (y - (y & 1)) / 2 });
62
- };
63
- exports.oddRToAxial = oddRToAxial;
32
+ export const oddRToAxial = ({ x, y }) => ({ y, x: x - (y - (y & 1)) / 2 });
64
33
  /**
65
34
  * Converts {@link HexGridSystem.Axial} coordinates into {@link HexGridSystem.OddR} coordinates
66
35
  */
67
- var axialToOddR = function (_a) {
68
- var x = _a.x, y = _a.y;
69
- return ({ y: y, x: x + (y - (y & 1)) / 2 });
70
- };
71
- exports.axialToOddR = axialToOddR;
36
+ export const axialToOddR = ({ x, y }) => ({ y, x: x + (y - (y & 1)) / 2 });
72
37
  /**
73
38
  * Converts {@link HexGridSystem.EvenR} coordinates into {@link HexGridSystem.Axial} coordinates
74
39
  */
75
- var evenRToAxial = function (_a) {
76
- var x = _a.x, y = _a.y;
77
- return ({ y: y, x: x - (y + (y & 1)) / 2 });
78
- };
79
- exports.evenRToAxial = evenRToAxial;
40
+ export const evenRToAxial = ({ x, y }) => ({ y, x: x - (y + (y & 1)) / 2 });
80
41
  /**
81
42
  * Converts {@link HexGridSystem.Axial} coordinates into {@link HexGridSystem.EvenR} coordinates
82
43
  */
83
- var axialToEvenR = function (_a) {
84
- var x = _a.x, y = _a.y;
85
- return ({ y: y, x: x + (y + (y & 1)) / 2 });
86
- };
87
- exports.axialToEvenR = axialToEvenR;
44
+ export const axialToEvenR = ({ x, y }) => ({ y, x: x + (y + (y & 1)) / 2 });
88
45
  /**
89
46
  * Convert any {@link HexGridSystem} coordinates to {@link HexGridSystem.Axial}
90
47
  * @param hex Coordinates to convert
91
48
  * @param system System of the coordinates
92
49
  * @return Coordinates in {@link HexGridSystem.Axial}
93
50
  */
94
- function hexToAxial(hex, system) {
51
+ export function hexToAxial(hex, system) {
95
52
  switch (system) {
96
53
  case HexGridSystem.OddQ:
97
- return (0, exports.oddQToAxial)(hex);
54
+ return oddQToAxial(hex);
98
55
  case HexGridSystem.EvenQ:
99
- return (0, exports.evenQToAxial)(hex);
56
+ return evenQToAxial(hex);
100
57
  case HexGridSystem.OddR:
101
- return (0, exports.oddRToAxial)(hex);
58
+ return oddRToAxial(hex);
102
59
  case HexGridSystem.EvenR:
103
- return (0, exports.evenRToAxial)(hex);
60
+ return evenRToAxial(hex);
104
61
  default:
105
62
  return hex;
106
63
  }
@@ -111,16 +68,16 @@ function hexToAxial(hex, system) {
111
68
  * @param system Destination coordinates system
112
69
  * @return Coordinates converted in the description system
113
70
  */
114
- function hexFromAxial(hex, system) {
71
+ export function hexFromAxial(hex, system) {
115
72
  switch (system) {
116
73
  case HexGridSystem.OddQ:
117
- return (0, exports.axialToOddQ)(hex);
74
+ return axialToOddQ(hex);
118
75
  case HexGridSystem.EvenQ:
119
- return (0, exports.axialToEvenQ)(hex);
76
+ return axialToEvenQ(hex);
120
77
  case HexGridSystem.OddR:
121
- return (0, exports.axialToOddR)(hex);
78
+ return axialToOddR(hex);
122
79
  case HexGridSystem.EvenR:
123
- return (0, exports.axialToEvenR)(hex);
80
+ return axialToEvenR(hex);
124
81
  default:
125
82
  return hex;
126
83
  }
@@ -132,9 +89,7 @@ function hexFromAxial(hex, system) {
132
89
  * @param system The coordinates system used
133
90
  * @return the rotated vector
134
91
  */
135
- function hexRotate(vector, rotation, system) {
136
- if (rotation === void 0) { rotation = 0; }
137
- if (system === void 0) { system = HexGridSystem.Axial; }
92
+ export function hexRotate(vector, rotation = 0, system = HexGridSystem.Axial) {
138
93
  if (system !== HexGridSystem.Axial)
139
94
  return hexFromAxial(hexRotate(hexToAxial(vector, system), rotation), system);
140
95
  switch (rotation % 6) {
@@ -161,8 +116,7 @@ function hexRotate(vector, rotation, system) {
161
116
  * @param system The coordinates system used
162
117
  * @return the distance between the hexagons
163
118
  */
164
- function getDistanceBetweenHex(hex1, hex2, system) {
165
- if (system === void 0) { system = HexGridSystem.Axial; }
119
+ export function getDistanceBetweenHex(hex1, hex2, system = HexGridSystem.Axial) {
166
120
  if (system !== HexGridSystem.Axial) {
167
121
  return getDistanceBetweenHex(hexToAxial(hex1, system), hexToAxial(hex2, system));
168
122
  }
@@ -175,19 +129,17 @@ function getDistanceBetweenHex(hex1, hex2, system) {
175
129
  * @param system The coordinates system used
176
130
  * @return the list of the hexagons found at distance from given hex
177
131
  */
178
- function getHexagonsAtDistance(hex, distance, system) {
179
- if (system === void 0) { system = HexGridSystem.Axial; }
132
+ export function getHexagonsAtDistance(hex, distance, system = HexGridSystem.Axial) {
180
133
  if (system !== HexGridSystem.Axial) {
181
- return getHexagonsAtDistance(hexToAxial(hex, system), distance, HexGridSystem.Axial).map(function (hex) { return hexFromAxial(hex, system); });
134
+ return getHexagonsAtDistance(hexToAxial(hex, system), distance, HexGridSystem.Axial).map((hex) => hexFromAxial(hex, system));
182
135
  }
183
136
  if (distance <= 0)
184
137
  return [hex];
185
- var result = [];
186
- var currentHex = { x: hex.x - distance, y: hex.y };
187
- var vectors = [{ x: 1, y: -1 }, { x: 1, y: 0 }, { x: 0, y: 1 }, { x: -1, y: 1 }, { x: -1, y: 0 }, { x: 0, y: -1 }];
188
- for (var _i = 0, vectors_1 = vectors; _i < vectors_1.length; _i++) {
189
- var vector = vectors_1[_i];
190
- for (var j = 0; j < distance; j++) {
138
+ const result = [];
139
+ let currentHex = { x: hex.x - distance, y: hex.y };
140
+ const vectors = [{ x: 1, y: -1 }, { x: 1, y: 0 }, { x: 0, y: 1 }, { x: -1, y: 1 }, { x: -1, y: 0 }, { x: 0, y: -1 }];
141
+ for (const vector of vectors) {
142
+ for (let j = 0; j < distance; j++) {
191
143
  result.push(currentHex);
192
144
  currentHex = hexTranslate(currentHex, vector);
193
145
  }
@@ -201,8 +153,7 @@ function getHexagonsAtDistance(hex, distance, system) {
201
153
  * @param system The coordinates system used
202
154
  * @return The coordinates of the hexagon after the translation
203
155
  */
204
- function hexTranslate(hex, vector, system) {
205
- if (system === void 0) { system = HexGridSystem.Axial; }
156
+ export function hexTranslate(hex, vector, system = HexGridSystem.Axial) {
206
157
  if (system !== HexGridSystem.Axial)
207
158
  return hexFromAxial(hexTranslate(hexToAxial(hex, system), hexToAxial(vector, system)), system);
208
159
  return ({ x: hex.x + vector.x, y: hex.y + vector.y });
@@ -214,23 +165,20 @@ function hexTranslate(hex, vector, system) {
214
165
  * @param system The coordinates system used for the polyhex description and the location
215
166
  * @return coordinates in the grid covered when the polyhex has this location
216
167
  */
217
- function getPolyhexSpaces(polyhex, location, system) {
218
- var _a, _b;
219
- if (system === void 0) { system = HexGridSystem.Axial; }
220
- var vector = { x: (_a = location.x) !== null && _a !== void 0 ? _a : 0, y: (_b = location.y) !== null && _b !== void 0 ? _b : 0 };
168
+ export function getPolyhexSpaces(polyhex, location, system = HexGridSystem.Axial) {
169
+ const vector = { x: location.x ?? 0, y: location.y ?? 0 };
221
170
  return polyhex
222
- .map(function (hex) { var _a; return hexRotate(hex, (_a = location.rotation) !== null && _a !== void 0 ? _a : 0, system); })
223
- .map(function (hex) { return hexTranslate(hex, vector, system); });
171
+ .map(hex => hexRotate(hex, location.rotation ?? 0, system))
172
+ .map(hex => hexTranslate(hex, vector, system));
224
173
  }
225
174
  /**
226
175
  * Get the coordinates of the 6 hexagons adjacent to a given hexagon.
227
176
  * @param hex Coordinates of the hexagon
228
177
  * @param system Coordinates system
229
178
  */
230
- function getAdjacentHexagons(hex, system) {
231
- if (system === void 0) { system = HexGridSystem.Axial; }
179
+ export function getAdjacentHexagons(hex, system = HexGridSystem.Axial) {
232
180
  if (system !== HexGridSystem.Axial) {
233
- return getAdjacentHexagons(hexToAxial(hex, system)).map((function (hex) { return hexFromAxial(hex, system); }));
181
+ return getAdjacentHexagons(hexToAxial(hex, system)).map(((hex) => hexFromAxial(hex, system)));
234
182
  }
235
183
  return [
236
184
  { x: hex.x + 1, y: hex.y },
@@ -1 +1 @@
1
- {"version":3,"file":"grid.hex.util.js","sourceRoot":"","sources":["../../src/utils/grid.hex.util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grid.hex.util.js","sourceRoot":"","sources":["../../src/utils/grid.hex.util.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,CAAN,IAAY,aAEX;AAFD,WAAY,aAAa;IACvB,mDAAK,CAAA;IAAE,iDAAI,CAAA;IAAE,mDAAK,CAAA;IAAE,iDAAI,CAAA;IAAE,mDAAK,CAAA;AACjC,CAAC,EAFW,aAAa,KAAb,aAAa,QAExB;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAiB,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AACzF;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAiB,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AAEzF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAiB,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AAC1F;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAiB,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AAE1F;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAiB,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AACzF;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAiB,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AAEzF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAiB,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AAC1F;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAiB,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AAE1F;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,GAAkB,EAAE,MAAqB;IAClE,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,aAAa,CAAC,IAAI;YACrB,OAAO,WAAW,CAAC,GAAG,CAAC,CAAA;QACzB,KAAK,aAAa,CAAC,KAAK;YACtB,OAAO,YAAY,CAAC,GAAG,CAAC,CAAA;QAC1B,KAAK,aAAa,CAAC,IAAI;YACrB,OAAO,WAAW,CAAC,GAAG,CAAC,CAAA;QACzB,KAAK,aAAa,CAAC,KAAK;YACtB,OAAO,YAAY,CAAC,GAAG,CAAC,CAAA;QAC1B;YACE,OAAO,GAAG,CAAA;IACd,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,GAAkB,EAAE,MAAqB;IACpE,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,aAAa,CAAC,IAAI;YACrB,OAAO,WAAW,CAAC,GAAG,CAAC,CAAA;QACzB,KAAK,aAAa,CAAC,KAAK;YACtB,OAAO,YAAY,CAAC,GAAG,CAAC,CAAA;QAC1B,KAAK,aAAa,CAAC,IAAI;YACrB,OAAO,WAAW,CAAC,GAAG,CAAC,CAAA;QACzB,KAAK,aAAa,CAAC,KAAK;YACtB,OAAO,YAAY,CAAC,GAAG,CAAC,CAAA;QAC1B;YACE,OAAO,GAAG,CAAA;IACd,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,MAAqB,EAAE,WAAmB,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC,KAAK;IACjG,IAAI,MAAM,KAAK,aAAa,CAAC,KAAK;QAAE,OAAO,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAA;IAChH,QAAQ,QAAQ,GAAG,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC;YACJ,OAAO,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAA;QACjD,KAAK,CAAC;YACJ,2CAA2C;YAC3C,OAAO,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAA;QACjD,KAAK,CAAC;YACJ,OAAO,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAA;QACvC,KAAK,CAAC;YACJ,2CAA2C;YAC3C,OAAO,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAA;QACjD,KAAK,CAAC;YACJ,OAAO,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAA;QACjD;YACE,OAAO,MAAM,CAAA;IACjB,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAmB,EAAE,IAAmB,EAAE,MAAM,GAAG,aAAa,CAAC,KAAK;IAC1G,IAAI,MAAM,KAAK,aAAa,CAAC,KAAK,EAAE,CAAC;QACnC,OAAO,qBAAqB,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAA;IAClF,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAClH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAkB,EAAE,QAAgB,EAAE,MAAM,GAAG,aAAa,CAAC,KAAK;IACtG,IAAI,MAAM,KAAK,aAAa,CAAC,KAAK,EAAE,CAAC;QACnC,OAAO,qBAAqB,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAA;IAC9H,CAAC;IACD,IAAI,QAAQ,IAAI,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IAC/B,MAAM,MAAM,GAAoB,EAAE,CAAA;IAClC,IAAI,UAAU,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAA;IAClD,MAAM,OAAO,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;IACpH,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACvB,UAAU,GAAG,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;QAC/C,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,GAAkB,EAAE,MAAqB,EAAE,MAAM,GAAG,aAAa,CAAC,KAAK;IAClG,IAAI,MAAM,KAAK,aAAa,CAAC,KAAK;QAAE,OAAO,YAAY,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IAClI,OAAO,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAA;AACvD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAwB,EAAE,QAA2B,EAAE,MAAM,GAAG,aAAa,CAAC,KAAK;IAClH,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAA;IACzD,OAAO,OAAO;SACX,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;SAC1D,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;AAClD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAkB,EAAE,MAAM,GAAG,aAAa,CAAC,KAAK;IAClF,IAAI,MAAM,KAAK,aAAa,CAAC,KAAK,EAAE,CAAC;QACnC,OAAO,mBAAmB,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;IAC/F,CAAC;IACD,OAAO;QACL,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;QAC1B,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE;QAC1B,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE;QAC9B,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;QAC1B,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE;QAC1B,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE;KAC/B,CAAA;AACH,CAAC"}
@@ -1,18 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSquareInDirection = exports.directions = exports.Direction = exports.getDistanceBetweenSquares = exports.areAdjacentSquares = void 0;
4
- var enum_util_1 = require("./enum.util");
5
- var grid_util_1 = require("./grid.util");
1
+ import { getEnumValues } from './enum.util';
2
+ import { isXYCoordinates } from './grid.util';
6
3
  /**
7
4
  * Check if two squares in a grid are orthogonally adjacent based on their coordinates
8
5
  * @param square1 Coordinates of the first square
9
6
  * @param square2 Coordinates of the second square
10
7
  * @returns true if the squares are orthogonally adjacent
11
8
  */
12
- var areAdjacentSquares = function (square1, square2) {
13
- return (0, grid_util_1.isXYCoordinates)(square1) && (0, grid_util_1.isXYCoordinates)(square2) && (0, exports.getDistanceBetweenSquares)(square1, square2) === 1;
14
- };
15
- exports.areAdjacentSquares = areAdjacentSquares;
9
+ export const areAdjacentSquares = (square1, square2) => isXYCoordinates(square1) && isXYCoordinates(square2) && getDistanceBetweenSquares(square1, square2) === 1;
16
10
  /**
17
11
  * Get the distance between 2 squares in a square-grid, ie the minimum number of steps you need to take to go from square 1 to square 2 following
18
12
  * orthogonally adjacent squares
@@ -20,24 +14,21 @@ exports.areAdjacentSquares = areAdjacentSquares;
20
14
  * @param square2 Coordinates of the second square
21
15
  * @returns the distance between square1 and square2
22
16
  */
23
- var getDistanceBetweenSquares = function (square1, square2) {
24
- return Math.abs(square1.x - square2.x) + Math.abs(square1.y - square2.y);
25
- };
26
- exports.getDistanceBetweenSquares = getDistanceBetweenSquares;
17
+ export const getDistanceBetweenSquares = (square1, square2) => Math.abs(square1.x - square2.x) + Math.abs(square1.y - square2.y);
27
18
  /**
28
19
  * The direction (cardinal points) you can orient in a square grid
29
20
  */
30
- var Direction;
21
+ export var Direction;
31
22
  (function (Direction) {
32
23
  Direction[Direction["North"] = 1] = "North";
33
24
  Direction[Direction["South"] = 2] = "South";
34
25
  Direction[Direction["East"] = 3] = "East";
35
26
  Direction[Direction["West"] = 4] = "West";
36
- })(Direction || (exports.Direction = Direction = {}));
27
+ })(Direction || (Direction = {}));
37
28
  /**
38
29
  * List of the 4 {@link Direction}s
39
30
  */
40
- exports.directions = (0, enum_util_1.getEnumValues)(Direction);
31
+ export const directions = getEnumValues(Direction);
41
32
  /**
42
33
  * Get the coordinates of the next square if you move in a square grid following a direction
43
34
  * @param origin The coordinates of the square you start from
@@ -45,8 +36,7 @@ exports.directions = (0, enum_util_1.getEnumValues)(Direction);
45
36
  * @param distance The number of steps you move (A by default)
46
37
  * @returns the coordinates of the destination square
47
38
  */
48
- var getSquareInDirection = function (origin, direction, distance) {
49
- if (distance === void 0) { distance = 1; }
39
+ export const getSquareInDirection = (origin, direction, distance = 1) => {
50
40
  if (origin.x === undefined || origin.y === undefined)
51
41
  throw new Error('Missing x or y to getSquareInDirection');
52
42
  return {
@@ -54,5 +44,4 @@ var getSquareInDirection = function (origin, direction, distance) {
54
44
  y: direction === Direction.North ? origin.y - distance : direction === Direction.South ? origin.y + distance : origin.y
55
45
  };
56
46
  };
57
- exports.getSquareInDirection = getSquareInDirection;
58
47
  //# 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,yCAA2C;AAC3C,yCAA4D;AAE5D;;;;;GAKG;AACI,IAAM,kBAAkB,GAAG,UAAC,OAA+B,EAAE,OAA+B;IACjG,OAAA,IAAA,2BAAe,EAAC,OAAO,CAAC,IAAI,IAAA,2BAAe,EAAC,OAAO,CAAC,IAAI,IAAA,iCAAyB,EAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC;AAAzG,CAAyG,CAAA;AAD9F,QAAA,kBAAkB,sBAC4E;AAE3G;;;;;;GAMG;AACI,IAAM,yBAAyB,GAAG,UAAC,OAAsB,EAAE,OAAsB;IACtF,OAAA,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;AAAjE,CAAiE,CAAA;AADtD,QAAA,yBAAyB,6BAC6B;AAEnE;;GAEG;AACH,IAAY,SAEX;AAFD,WAAY,SAAS;IACnB,2CAAS,CAAA;IAAE,2CAAK,CAAA;IAAE,yCAAI,CAAA;IAAE,yCAAI,CAAA;AAC9B,CAAC,EAFW,SAAS,yBAAT,SAAS,QAEpB;AAED;;GAEG;AACU,QAAA,UAAU,GAAG,IAAA,yBAAa,EAAC,SAAS,CAAC,CAAA;AAElD;;;;;;GAMG;AACI,IAAM,oBAAoB,GAAG,UAAC,MAA8B,EAAE,SAAoB,EAAE,QAAY;IAAZ,yBAAA,EAAA,YAAY;IACrG,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;AANY,QAAA,oBAAoB,wBAMhC"}
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"}