@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,32 +1,7 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __rest = (this && this.__rest) || function (s, e) {
14
- var t = {};
15
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
- t[p] = s[p];
17
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
- t[p[i]] = s[p[i]];
21
- }
22
- return t;
23
- };
24
- Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.MaterialMutator = void 0;
26
- var es_toolkit_1 = require("es-toolkit");
27
- var location_1 = require("../location");
28
- var moves_1 = require("../moves");
29
- var index_1 = require("./index");
1
+ import { isEqual, merge } from 'es-toolkit';
2
+ import { isSameLocationArea } from '../location';
3
+ import { isShuffleRandomized, ItemMoveType } from '../moves';
4
+ import { Material } from './index';
30
5
  /**
31
6
  * Helper class to change the state of any {@link MaterialItem} in a game implemented with {@link MaterialRules}.
32
7
  *
@@ -34,7 +9,12 @@ var index_1 = require("./index");
34
9
  * @typeparam M - Numeric enum of the types of material manipulated in the game
35
10
  * @typeparam L - Numeric enum of the types of location in the game where the material can be located
36
11
  */
37
- var MaterialMutator = /** @class */ (function () {
12
+ export class MaterialMutator {
13
+ type;
14
+ items;
15
+ locationsStrategies;
16
+ canMerge;
17
+ rulesClassName;
38
18
  /**
39
19
  * @param type Type of items this mutator will work on
40
20
  * @param items Items to work with
@@ -42,10 +22,7 @@ var MaterialMutator = /** @class */ (function () {
42
22
  * @param canMerge Whether to items at the exact same location can merge into one item with a quantity
43
23
  * @param rulesClassName Constructor name of the main rules class for logging
44
24
  */
45
- function MaterialMutator(type, items, locationsStrategies, canMerge, rulesClassName) {
46
- if (locationsStrategies === void 0) { locationsStrategies = {}; }
47
- if (canMerge === void 0) { canMerge = true; }
48
- if (rulesClassName === void 0) { rulesClassName = ''; }
25
+ constructor(type, items, locationsStrategies = {}, canMerge = true, rulesClassName = '') {
49
26
  this.type = type;
50
27
  this.items = items;
51
28
  this.locationsStrategies = locationsStrategies;
@@ -56,147 +33,138 @@ var MaterialMutator = /** @class */ (function () {
56
33
  * Executes a move on the game items
57
34
  * @param move
58
35
  */
59
- MaterialMutator.prototype.applyMove = function (move) {
36
+ applyMove(move) {
60
37
  switch (move.type) {
61
- case moves_1.ItemMoveType.Create:
38
+ case ItemMoveType.Create:
62
39
  this.create(move);
63
40
  break;
64
- case moves_1.ItemMoveType.CreateAtOnce:
65
- for (var _i = 0, _a = move.items; _i < _a.length; _i++) {
66
- var item = _a[_i];
67
- this.create(__assign(__assign({}, move), { type: moves_1.ItemMoveType.Create, item: item }));
41
+ case ItemMoveType.CreateAtOnce:
42
+ for (const item of move.items) {
43
+ this.create({ ...move, type: ItemMoveType.Create, item });
68
44
  }
69
45
  break;
70
- case moves_1.ItemMoveType.Move:
46
+ case ItemMoveType.Move:
71
47
  this.move(move);
72
48
  break;
73
- case moves_1.ItemMoveType.MoveAtOnce:
49
+ case ItemMoveType.MoveAtOnce:
74
50
  this.moveItemsAtOnce(move);
75
51
  break;
76
- case moves_1.ItemMoveType.Roll:
52
+ case ItemMoveType.Roll:
77
53
  this.roll(move);
78
54
  break;
79
- case moves_1.ItemMoveType.Delete:
55
+ case ItemMoveType.Delete:
80
56
  this.delete(move);
81
57
  break;
82
- case moves_1.ItemMoveType.DeleteAtOnce:
83
- for (var _b = 0, _c = move.indexes; _b < _c.length; _b++) {
84
- var index = _c[_b];
58
+ case ItemMoveType.DeleteAtOnce:
59
+ for (const index of move.indexes) {
85
60
  this.removeItem(this.items[index], Infinity);
86
61
  }
87
62
  break;
88
- case moves_1.ItemMoveType.Shuffle:
63
+ case ItemMoveType.Shuffle:
89
64
  this.shuffle(move);
90
65
  break;
91
- case moves_1.ItemMoveType.Select:
66
+ case ItemMoveType.Select:
92
67
  this.select(move);
93
68
  break;
94
69
  }
95
- };
70
+ }
96
71
  /**
97
72
  * Find the index of an existing item we could merge a new item with (create a single item with a quantity)
98
73
  *
99
74
  * @param newItem An item to compare with existing items
100
75
  * @returns {number} Index of the existing item we can merge with, or -1 if there is no possible merge
101
76
  */
102
- MaterialMutator.prototype.findMergeIndex = function (newItem) {
77
+ findMergeIndex(newItem) {
103
78
  if (!this.canMerge)
104
79
  return -1;
105
- var q1 = newItem.quantity, data1 = __rest(newItem, ["quantity"]);
106
- return this.items.findIndex(function (_a) {
107
- var q2 = _a.quantity, data2 = __rest(_a, ["quantity"]);
108
- return q1 !== 0 && q2 !== 0 && (0, es_toolkit_1.isEqual)(data1, data2);
109
- });
110
- };
111
- MaterialMutator.prototype.addItem = function (item) {
80
+ const { quantity: q1, ...data1 } = newItem;
81
+ return this.items.findIndex(({ quantity: q2, ...data2 }) => q1 !== 0 && q2 !== 0 && isEqual(data1, data2));
82
+ }
83
+ addItem(item) {
112
84
  this.applyAddItemStrategy(item);
113
- var availableIndex = this.items.findIndex(function (item) { return item.quantity === 0; });
85
+ const availableIndex = this.items.findIndex(item => item.quantity === 0);
114
86
  if (availableIndex !== -1) {
115
87
  this.items[availableIndex] = item;
116
88
  }
117
89
  else {
118
90
  this.items.push(item);
119
91
  }
120
- };
92
+ }
121
93
  /**
122
94
  * Provides the index that the new item will have
123
95
  * @param newItem An item that is going to be created
124
96
  * @returns {number} the future index of that item
125
97
  */
126
- MaterialMutator.prototype.getItemCreationIndex = function (newItem) {
127
- var mergeIndex = this.findMergeIndex(newItem);
98
+ getItemCreationIndex(newItem) {
99
+ const mergeIndex = this.findMergeIndex(newItem);
128
100
  if (mergeIndex !== -1)
129
101
  return mergeIndex;
130
- var availableIndex = this.items.findIndex(function (item) { return item.quantity === 0; });
102
+ const availableIndex = this.items.findIndex(item => item.quantity === 0);
131
103
  if (availableIndex !== -1)
132
104
  return availableIndex;
133
105
  return this.items.length;
134
- };
135
- MaterialMutator.prototype.applyAddItemStrategy = function (item) {
106
+ }
107
+ applyAddItemStrategy(item) {
136
108
  if (item.location.type in this.locationsStrategies) {
137
- var strategy = this.locationsStrategies[item.location.type];
109
+ const strategy = this.locationsStrategies[item.location.type];
138
110
  if (strategy.addItem) {
139
- var material = new index_1.Material(this.type, this.items)
111
+ const material = new Material(this.type, this.items)
140
112
  .location(item.location.type).player(item.location.player).locationId(item.location.id).parent(item.location.parent);
141
113
  strategy.addItem(material, item);
142
114
  }
143
115
  }
144
- };
145
- MaterialMutator.prototype.applyMoveItemStrategy = function (item, index) {
116
+ }
117
+ applyMoveItemStrategy(item, index) {
146
118
  if (item.location.type in this.locationsStrategies) {
147
- var strategy = this.locationsStrategies[item.location.type];
119
+ const strategy = this.locationsStrategies[item.location.type];
148
120
  if (strategy.moveItem) {
149
- var material = new index_1.Material(this.type, this.items)
121
+ const material = new Material(this.type, this.items)
150
122
  .location(item.location.type).player(item.location.player).locationId(item.location.id).parent(item.location.parent);
151
123
  strategy.moveItem(material, item, index);
152
124
  }
153
125
  }
154
- };
155
- MaterialMutator.prototype.removeItem = function (item, quantity) {
156
- var _a;
157
- if (quantity === void 0) { quantity = 1; }
158
- item.quantity = Math.max(0, ((_a = item.quantity) !== null && _a !== void 0 ? _a : 1) - quantity);
126
+ }
127
+ removeItem(item, quantity = 1) {
128
+ item.quantity = Math.max(0, (item.quantity ?? 1) - quantity);
159
129
  if (item.quantity === 0) {
160
130
  this.applyRemoveItemStrategy(item);
161
131
  }
162
- };
163
- MaterialMutator.prototype.applyRemoveItemStrategy = function (item) {
132
+ }
133
+ applyRemoveItemStrategy(item) {
164
134
  if (item.location.type in this.locationsStrategies) {
165
- var strategy = this.locationsStrategies[item.location.type];
135
+ const strategy = this.locationsStrategies[item.location.type];
166
136
  if (strategy.removeItem) {
167
- var material = new index_1.Material(this.type, this.items)
137
+ const material = new Material(this.type, this.items)
168
138
  .location(item.location.type).player(item.location.player).locationId(item.location.id).parent(item.location.parent);
169
139
  strategy.removeItem(material, item);
170
140
  }
171
141
  }
172
- };
173
- MaterialMutator.prototype.create = function (move) {
174
- var _a, _b;
175
- var mergeIndex = this.findMergeIndex(move.item);
142
+ }
143
+ create(move) {
144
+ const mergeIndex = this.findMergeIndex(move.item);
176
145
  if (mergeIndex !== -1) {
177
- var mergeItem = this.items[mergeIndex];
178
- mergeItem.quantity = ((_a = mergeItem.quantity) !== null && _a !== void 0 ? _a : 1) + ((_b = move.item.quantity) !== null && _b !== void 0 ? _b : 1);
146
+ const mergeItem = this.items[mergeIndex];
147
+ mergeItem.quantity = (mergeItem.quantity ?? 1) + (move.item.quantity ?? 1);
179
148
  }
180
149
  else {
181
150
  if (move.item.quantity && !this.canMerge) {
182
- console.error("".concat(this.rulesClassName, ": do not use quantity on items that cannot merge. Items that can be hidden cannot merge."));
151
+ console.error(`${this.rulesClassName}: do not use quantity on items that cannot merge. Items that can be hidden cannot merge.`);
183
152
  }
184
153
  this.addItem(JSON.parse(JSON.stringify(move.item)));
185
154
  }
186
- };
187
- MaterialMutator.prototype.move = function (move) {
188
- var _a, _b;
189
- var quantity = (_a = move.quantity) !== null && _a !== void 0 ? _a : 1;
190
- var sourceItem = this.items[move.itemIndex];
191
- var itemAfterMove = this.getItemAfterMove(move);
192
- var mergeIndex = this.findMergeIndex(itemAfterMove);
155
+ }
156
+ move(move) {
157
+ const quantity = move.quantity ?? 1;
158
+ const sourceItem = this.items[move.itemIndex];
159
+ const itemAfterMove = this.getItemAfterMove(move);
160
+ const mergeIndex = this.findMergeIndex(itemAfterMove);
193
161
  if (mergeIndex !== -1) {
194
162
  if (mergeIndex === move.itemIndex) {
195
- console.warn("".concat(this.rulesClassName, ": item is moved to the location he already has - ").concat(JSON.stringify(move)));
163
+ console.warn(`${this.rulesClassName}: item is moved to the location he already has - ${JSON.stringify(move)}`);
196
164
  }
197
165
  else {
198
- var mergeItem = this.items[mergeIndex];
199
- mergeItem.quantity = ((_b = mergeItem.quantity) !== null && _b !== void 0 ? _b : 1) + quantity;
166
+ const mergeItem = this.items[mergeIndex];
167
+ mergeItem.quantity = (mergeItem.quantity ?? 1) + quantity;
200
168
  this.removeItem(sourceItem, quantity);
201
169
  }
202
170
  }
@@ -207,50 +175,49 @@ var MaterialMutator = /** @class */ (function () {
207
175
  else {
208
176
  this.moveItem(sourceItem, itemAfterMove, move.itemIndex);
209
177
  }
210
- };
211
- MaterialMutator.prototype.roll = function (move) {
212
- var sourceItem = this.items[move.itemIndex];
213
- var itemAfterMove = __assign(__assign({}, sourceItem), { location: JSON.parse(JSON.stringify(move.location)) });
178
+ }
179
+ roll(move) {
180
+ const sourceItem = this.items[move.itemIndex];
181
+ const itemAfterMove = { ...sourceItem, location: JSON.parse(JSON.stringify(move.location)) };
214
182
  this.moveItem(sourceItem, itemAfterMove, move.itemIndex);
215
- };
216
- MaterialMutator.prototype.moveItem = function (item, newItem, index) {
217
- if (!(0, location_1.isSameLocationArea)(newItem.location, item.location)) {
183
+ }
184
+ moveItem(item, newItem, index) {
185
+ if (!isSameLocationArea(newItem.location, item.location)) {
218
186
  this.applyAddItemStrategy(newItem);
219
187
  }
220
188
  else {
221
189
  this.applyMoveItemStrategy(newItem, index);
222
190
  }
223
191
  this.items[index] = newItem;
224
- if (!(0, location_1.isSameLocationArea)(newItem.location, item.location)) {
192
+ if (!isSameLocationArea(newItem.location, item.location)) {
225
193
  this.applyRemoveItemStrategy(item);
226
194
  }
227
- };
228
- MaterialMutator.prototype.moveItemsAtOnce = function (move) {
229
- for (var _i = 0, _a = move.indexes; _i < _a.length; _i++) {
230
- var index = _a[_i];
231
- var sourceItem = this.items[index];
232
- var itemAfterMove = this.getItemAfterMoveAtOnce(move, index);
233
- if (!(0, location_1.isSameLocationArea)(itemAfterMove.location, sourceItem.location)) {
195
+ }
196
+ moveItemsAtOnce(move) {
197
+ for (const index of move.indexes) {
198
+ const sourceItem = this.items[index];
199
+ const itemAfterMove = this.getItemAfterMoveAtOnce(move, index);
200
+ if (!isSameLocationArea(itemAfterMove.location, sourceItem.location)) {
234
201
  this.applyAddItemStrategy(itemAfterMove);
235
202
  }
236
203
  else {
237
204
  this.applyMoveItemStrategy(itemAfterMove, index);
238
205
  }
239
206
  this.items[index] = itemAfterMove;
240
- if (!(0, location_1.isSameLocationArea)(itemAfterMove.location, sourceItem.location)) {
207
+ if (!isSameLocationArea(itemAfterMove.location, sourceItem.location)) {
241
208
  this.applyRemoveItemStrategy(sourceItem);
242
209
  }
243
210
  }
244
- };
211
+ }
245
212
  /**
246
213
  * Provides the state of an item after it is moved
247
214
  * @param move The move that is going to happen
248
215
  * @return {MaterialItem} state of the item after the move is executed
249
216
  */
250
- MaterialMutator.prototype.getItemAfterMove = function (move) {
251
- var item = this.getItemWithLocation(move.location, move.itemIndex);
217
+ getItemAfterMove(move) {
218
+ const item = JSON.parse(JSON.stringify(this.getItemWithLocation(move.location, move.itemIndex)));
252
219
  if (move.reveal) {
253
- (0, es_toolkit_1.merge)(item, move.reveal);
220
+ merge(item, move.reveal);
254
221
  }
255
222
  if (move.quantity) {
256
223
  item.quantity = move.quantity;
@@ -259,49 +226,45 @@ var MaterialMutator = /** @class */ (function () {
259
226
  delete item.quantity;
260
227
  }
261
228
  return item;
262
- };
229
+ }
263
230
  /**
264
231
  * Provides the state of an item after it is moved
265
232
  * @param move The move that is going to happen
266
233
  * @param index Index of the item to consider
267
234
  * @return {MaterialItem} state of the item after the move is executed
268
235
  */
269
- MaterialMutator.prototype.getItemAfterMoveAtOnce = function (move, index) {
270
- var item = this.getItemWithLocation(move.location, index);
236
+ getItemAfterMoveAtOnce(move, index) {
237
+ const item = JSON.parse(JSON.stringify(this.getItemWithLocation(move.location, index)));
271
238
  if (move.reveal && move.reveal[index]) {
272
- (0, es_toolkit_1.merge)(item, move.reveal[index]);
239
+ merge(item, move.reveal[index]);
273
240
  }
274
241
  return item;
275
- };
276
- MaterialMutator.prototype.getItemWithLocation = function (location, index) {
277
- var moveLocation = JSON.parse(JSON.stringify(location));
278
- var actualItem = this.items[index];
279
- var newLocation = location.type === undefined ? __assign(__assign({}, actualItem.location), moveLocation) : moveLocation;
280
- return __assign(__assign({}, actualItem), { location: newLocation });
281
- };
282
- MaterialMutator.prototype.delete = function (move) {
242
+ }
243
+ getItemWithLocation(location, index) {
244
+ const moveLocation = JSON.parse(JSON.stringify(location));
245
+ const actualItem = this.items[index];
246
+ const newLocation = location.type === undefined ? { ...actualItem.location, ...moveLocation } : moveLocation;
247
+ return { ...actualItem, location: newLocation };
248
+ }
249
+ delete(move) {
283
250
  return this.removeItem(this.items[move.itemIndex], move.quantity);
284
- };
285
- MaterialMutator.prototype.shuffle = function (move) {
286
- var _this = this;
287
- if (!(0, moves_1.isShuffleRandomized)(move))
251
+ }
252
+ shuffle(move) {
253
+ if (!isShuffleRandomized(move))
288
254
  return; // Nothing to do on front-end side for a shuffle. The index swap is only required on the backend.
289
- var shuffledItems = move.indexes.map(function (index) { return _this.items[index]; });
290
- move.newIndexes.forEach(function (newIndex, i) {
291
- _this.items[newIndex] = __assign(__assign({}, shuffledItems[i]), { location: _this.items[newIndex].location });
255
+ const shuffledItems = move.indexes.map((index) => this.items[index]);
256
+ move.newIndexes.forEach((newIndex, i) => {
257
+ this.items[newIndex] = { ...shuffledItems[i], location: this.items[newIndex].location };
292
258
  });
293
- };
294
- MaterialMutator.prototype.select = function (move) {
295
- var _a;
296
- var item = this.items[move.itemIndex];
259
+ }
260
+ select(move) {
261
+ const item = this.items[move.itemIndex];
297
262
  if (move.selected === false) {
298
263
  delete item.selected;
299
264
  }
300
265
  else {
301
- item.selected = (_a = move.quantity) !== null && _a !== void 0 ? _a : true;
266
+ item.selected = move.quantity ?? true;
302
267
  }
303
- };
304
- return MaterialMutator;
305
- }());
306
- exports.MaterialMutator = MaterialMutator;
268
+ }
269
+ }
307
270
  //# 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,23 +1,7 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
1
  // Important: Material export must come first to prevent a circular file dependency issue (see https://stackoverflow.com/a/67261675/1581466)
18
- __exportStar(require("./Material"), exports);
19
- __exportStar(require("./MaterialDeck"), exports);
20
- __exportStar(require("./MaterialItem"), exports);
21
- __exportStar(require("./MaterialMoney"), exports);
22
- __exportStar(require("./MaterialMutator"), exports);
2
+ export * from './Material';
3
+ export * from './MaterialDeck';
4
+ export * from './MaterialItem';
5
+ export * from './MaterialMoney';
6
+ export * from './MaterialMutator';
23
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/material/items/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4IAA4I;AAC5I,6CAA0B;AAC1B,iDAA8B;AAC9B,iDAA8B;AAC9B,kDAA+B;AAC/B,oDAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/material/items/index.ts"],"names":[],"mappings":"AAAA,4IAA4I;AAC5I,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA"}
@@ -1,20 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isSameLocationArea = void 0;
4
1
  /**
5
2
  * Utility function to know whether some locations share the same type, id, player and parent.
6
3
  * @param locations Locations to test
7
4
  * @returns true if all the locations belongs to the same "area" (only varies in coordinates or rotation)
8
5
  */
9
- var isSameLocationArea = function () {
10
- var locations = [];
11
- for (var _i = 0; _i < arguments.length; _i++) {
12
- locations[_i] = arguments[_i];
13
- }
14
- return locations.every(function (l, _, _a) {
15
- var l0 = _a[0];
16
- return l.type === l0.type && l.id === l0.id && l.player === l0.player && l.parent === l0.parent;
17
- });
18
- };
19
- exports.isSameLocationArea = isSameLocationArea;
6
+ export const isSameLocationArea = (...locations) => locations.every((l, _, [l0]) => l.type === l0.type && l.id === l0.id && l.player === l0.player && l.parent === l0.parent);
20
7
  //# sourceMappingURL=Location.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Location.js","sourceRoot":"","sources":["../../../src/material/location/Location.ts"],"names":[],"mappings":";;;AAmCA;;;;GAIG;AACI,IAAM,kBAAkB,GAAG;IAAC,mBAAiC;SAAjC,UAAiC,EAAjC,qBAAiC,EAAjC,IAAiC;QAAjC,8BAAiC;;IAAc,OAAA,SAAS,CAAC,KAAK,CAAC,UAAC,CAAC,EAAE,CAAC,EAAE,EAAI;YAAH,EAAE,QAAA;QAC1G,OAAA,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM;IAAxF,CAAwF,CACzF;AAFiF,CAEjF,CAAA;AAFY,QAAA,kBAAkB,sBAE9B"}
1
+ {"version":3,"file":"Location.js","sourceRoot":"","sources":["../../../src/material/location/Location.ts"],"names":[],"mappings":"AAmCA;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAG,SAA8B,EAAW,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAC/G,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,CACzF,CAAA"}
@@ -1,44 +1,29 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.LocationBuilder = void 0;
15
- var LocationBuilder = /** @class */ (function () {
16
- function LocationBuilder(location) {
1
+ export class LocationBuilder {
2
+ location;
3
+ constructor(location) {
17
4
  this.location = location;
18
5
  }
19
- LocationBuilder.prototype.id = function (id) {
20
- return new LocationBuilder(__assign(__assign({}, this.location), { id: id }));
21
- };
22
- LocationBuilder.prototype.player = function (player) {
23
- return new LocationBuilder(__assign(__assign({}, this.location), { player: player }));
24
- };
25
- LocationBuilder.prototype.parent = function (arg) {
26
- var parent = typeof arg === 'number' ? arg : arg.entries[0][0];
27
- return new LocationBuilder(__assign(__assign({}, this.location), { parent: parent }));
28
- };
29
- LocationBuilder.prototype.x = function (x) {
30
- return new LocationBuilder(__assign(__assign({}, this.location), { x: x }));
31
- };
32
- LocationBuilder.prototype.y = function (y) {
33
- return new LocationBuilder(__assign(__assign({}, this.location), { y: y }));
34
- };
35
- LocationBuilder.prototype.z = function (z) {
36
- return new LocationBuilder(__assign(__assign({}, this.location), { z: z }));
37
- };
38
- LocationBuilder.prototype.rotation = function (rotation) {
39
- return new LocationBuilder(__assign(__assign({}, this.location), { rotation: rotation }));
40
- };
41
- return LocationBuilder;
42
- }());
43
- exports.LocationBuilder = LocationBuilder;
6
+ id(id) {
7
+ return new LocationBuilder({ ...this.location, id });
8
+ }
9
+ player(player) {
10
+ return new LocationBuilder({ ...this.location, player });
11
+ }
12
+ parent(arg) {
13
+ const parent = typeof arg === 'number' ? arg : arg.entries[0][0];
14
+ return new LocationBuilder({ ...this.location, parent });
15
+ }
16
+ x(x) {
17
+ return new LocationBuilder({ ...this.location, x });
18
+ }
19
+ y(y) {
20
+ return new LocationBuilder({ ...this.location, y });
21
+ }
22
+ z(z) {
23
+ return new LocationBuilder({ ...this.location, z });
24
+ }
25
+ rotation(rotation) {
26
+ return new LocationBuilder({ ...this.location, rotation });
27
+ }
28
+ }
44
29
  //# sourceMappingURL=LocationBuilder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LocationBuilder.js","sourceRoot":"","sources":["../../../src/material/location/LocationBuilder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAGA;IAGE,yBAAY,QAAsC;QAChD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;IAED,4BAAE,GAAF,UAAG,EAAM;QACP,OAAO,IAAI,eAAe,uBAA0B,IAAI,CAAC,QAAQ,KAAE,EAAE,IAAA,IAAG,CAAA;IAC1E,CAAC;IAED,gCAAM,GAAN,UAAO,MAAS;QACd,OAAO,IAAI,eAAe,uBAA0B,IAAI,CAAC,QAAQ,KAAE,MAAM,QAAA,IAAG,CAAA;IAC9E,CAAC;IAED,gCAAM,GAAN,UAAO,GAAoC;QACzC,IAAM,MAAM,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAChE,OAAO,IAAI,eAAe,uBAA0B,IAAI,CAAC,QAAQ,KAAE,MAAM,QAAA,IAAG,CAAA;IAC9E,CAAC;IAED,2BAAC,GAAD,UAAE,CAAS;QACT,OAAO,IAAI,eAAe,uBAA0B,IAAI,CAAC,QAAQ,KAAE,CAAC,GAAA,IAAG,CAAA;IACzE,CAAC;IAED,2BAAC,GAAD,UAAE,CAAS;QACT,OAAO,IAAI,eAAe,uBAA0B,IAAI,CAAC,QAAQ,KAAE,CAAC,GAAA,IAAG,CAAA;IACzE,CAAC;IAED,2BAAC,GAAD,UAAE,CAAS;QACT,OAAO,IAAI,eAAe,uBAA0B,IAAI,CAAC,QAAQ,KAAE,CAAC,GAAA,IAAG,CAAA;IACzE,CAAC;IAED,kCAAQ,GAAR,UAAS,QAAkB;QACzB,OAAO,IAAI,eAAe,uBAA0B,IAAI,CAAC,QAAQ,KAAE,QAAQ,UAAA,IAAG,CAAA;IAChF,CAAC;IACH,sBAAC;AAAD,CAAC,AAnCD,IAmCC;AAnCY,0CAAe"}
1
+ {"version":3,"file":"LocationBuilder.js","sourceRoot":"","sources":["../../../src/material/location/LocationBuilder.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,eAAe;IACjB,QAAQ,CAA8B;IAE/C,YAAY,QAAsC;QAChD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;IAED,EAAE,CAAC,EAAM;QACP,OAAO,IAAI,eAAe,CAAqB,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAA;IAC1E,CAAC;IAED,MAAM,CAAC,MAAS;QACd,OAAO,IAAI,eAAe,CAAqB,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;IAC9E,CAAC;IAED,MAAM,CAAC,GAAoC;QACzC,MAAM,MAAM,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAChE,OAAO,IAAI,eAAe,CAAqB,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;IAC9E,CAAC;IAED,CAAC,CAAC,CAAS;QACT,OAAO,IAAI,eAAe,CAAqB,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAA;IACzE,CAAC;IAED,CAAC,CAAC,CAAS;QACT,OAAO,IAAI,eAAe,CAAqB,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAA;IACzE,CAAC;IAED,CAAC,CAAC,CAAS;QACT,OAAO,IAAI,eAAe,CAAqB,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAA;IACzE,CAAC;IAED,QAAQ,CAAC,QAAkB;QACzB,OAAO,IAAI,eAAe,CAAqB,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAA;IAChF,CAAC;CACF"}
@@ -1,20 +1,4 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./strategy"), exports);
18
- __exportStar(require("./Location"), exports);
19
- __exportStar(require("./LocationBuilder"), exports);
1
+ export * from './strategy';
2
+ export * from './Location';
3
+ export * from './LocationBuilder';
20
4
  //# sourceMappingURL=index.js.map