@gamepark/odin 0.0.2 → 0.0.4

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.
@@ -1,5 +1,4 @@
1
- import { CustomMove, MaterialGame, MaterialMove, PlayMoveContext, PositiveSequenceStrategy, SecretMaterialRules, TimeLimit } from '@gamepark/rules-api';
2
- import { CompetitiveScore } from '../../../rules-api';
1
+ import { CompetitiveScore, CustomMove, FillGapStrategy, MaterialGame, MaterialMove, PlayMoveContext, PositiveSequenceStrategy, SecretMaterialRules, TimeLimit } from '@gamepark/rules-api';
3
2
  import { LocationType } from './material/LocationType';
4
3
  import { MaterialType } from './material/MaterialType';
5
4
  import { PlayerId } from './PlayerId';
@@ -24,7 +23,7 @@ export declare class OdinRules extends SecretMaterialRules<PlayerId, MaterialTyp
24
23
  1: {
25
24
  2: PositiveSequenceStrategy<number, number, number>;
26
25
  1: PositiveSequenceStrategy<number, number, number>;
27
- 3: PositiveSequenceStrategy<number, number, number>;
26
+ 3: FillGapStrategy<number, number, number>;
28
27
  4: PositiveSequenceStrategy<number, number, number>;
29
28
  };
30
29
  };
package/dist/OdinRules.js CHANGED
@@ -48,7 +48,7 @@ var OdinRules = (function (_super) {
48
48
  _d[MaterialType_1.MaterialType.Card] = (_e = {},
49
49
  _e[LocationType_1.LocationType.Hand] = new rules_api_1.PositiveSequenceStrategy(),
50
50
  _e[LocationType_1.LocationType.Deck] = new rules_api_1.PositiveSequenceStrategy(),
51
- _e[LocationType_1.LocationType.MiddleOfTable] = new rules_api_1.PositiveSequenceStrategy(),
51
+ _e[LocationType_1.LocationType.MiddleOfTable] = new rules_api_1.FillGapStrategy(),
52
52
  _e[LocationType_1.LocationType.Discard] = new rules_api_1.PositiveSequenceStrategy(),
53
53
  _e),
54
54
  _d);
@@ -1,5 +1,6 @@
1
1
  export declare enum CustomMoveType {
2
2
  Pass = 1,
3
3
  TurnTempo = 2,
4
- SortHand = 3
4
+ SortHand = 3,
5
+ PlaceAllCards = 4
5
6
  }
@@ -6,4 +6,5 @@ var CustomMoveType;
6
6
  CustomMoveType[CustomMoveType["Pass"] = 1] = "Pass";
7
7
  CustomMoveType[CustomMoveType["TurnTempo"] = 2] = "TurnTempo";
8
8
  CustomMoveType[CustomMoveType["SortHand"] = 3] = "SortHand";
9
+ CustomMoveType[CustomMoveType["PlaceAllCards"] = 4] = "PlaceAllCards";
9
10
  })(CustomMoveType = exports.CustomMoveType || (exports.CustomMoveType = {}));
@@ -1,8 +1,10 @@
1
1
  import { ItemMove, MaterialMove, MaterialRulesPart } from '@gamepark/rules-api';
2
+ import { PlayerId } from '../PlayerId';
2
3
  export declare class DealCardsRule extends MaterialRulesPart {
3
4
  onRuleStart(): MaterialMove<number, number, number, number>[];
4
5
  afterItemMove(move: ItemMove): MaterialMove[];
5
6
  dealToPlayersAndGo(): MaterialMove[];
7
+ getPlayerHand(player: PlayerId): import("@gamepark/rules-api").Material<number, number, number>;
6
8
  get deck(): import("@gamepark/rules-api").MaterialDeck<number, number, number>;
7
9
  get discard(): import("@gamepark/rules-api").Material<number, number, number>;
8
10
  }
@@ -88,6 +88,9 @@ var DealCardsRule = (function (_super) {
88
88
  try {
89
89
  for (var _b = (e_1 = void 0, __values(this.game.players)), _c = _b.next(); !_c.done; _c = _b.next()) {
90
90
  var player = _c.value;
91
+ var hand = this.getPlayerHand(player);
92
+ if (hand.length + i >= 9)
93
+ continue;
91
94
  moves.push.apply(moves, __spreadArray([], __read(deck.deal({
92
95
  type: LocationType_1.LocationType.Hand,
93
96
  player: player
@@ -105,6 +108,9 @@ var DealCardsRule = (function (_super) {
105
108
  moves.push(this.startPlayerTurn(RuleId_1.RuleId.PlayCards, this.remind(Memory_1.Memory.FirstPlayer)));
106
109
  return moves;
107
110
  };
111
+ DealCardsRule.prototype.getPlayerHand = function (player) {
112
+ return this.material(MaterialType_1.MaterialType.Card).location(LocationType_1.LocationType.Hand).player(player);
113
+ };
108
114
  Object.defineProperty(DealCardsRule.prototype, "deck", {
109
115
  get: function () {
110
116
  return this.material(MaterialType_1.MaterialType.Card).location(LocationType_1.LocationType.Deck).deck();
@@ -2,6 +2,7 @@ import { MaterialMove, MoveItem } from '@gamepark/rules-api';
2
2
  import { BasePlayerTurn } from './BasePlayerTurn';
3
3
  export declare class PickCardRule extends BasePlayerTurn {
4
4
  onRuleStart(): MaterialMove<number, number, number, number>[];
5
+ get isEndOfRound(): boolean;
5
6
  getPlayerMoves(): MaterialMove[];
6
7
  afterItemMove(move: MoveItem): MaterialMove<number, number, number, number>[];
7
8
  goToNextRule(): MaterialMove<number, number, number, number>[];
@@ -14,12 +14,38 @@ var __extends = (this && this.__extends) || (function () {
14
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
15
  };
16
16
  })();
17
+ var __read = (this && this.__read) || function (o, n) {
18
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
19
+ if (!m) return o;
20
+ var i = m.call(o), r, ar = [], e;
21
+ try {
22
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
23
+ }
24
+ catch (error) { e = { error: error }; }
25
+ finally {
26
+ try {
27
+ if (r && !r.done && (m = i["return"])) m.call(i);
28
+ }
29
+ finally { if (e) throw e.error; }
30
+ }
31
+ return ar;
32
+ };
33
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
34
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
35
+ if (ar || !(i in from)) {
36
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
37
+ ar[i] = from[i];
38
+ }
39
+ }
40
+ return to.concat(ar || Array.prototype.slice.call(from));
41
+ };
17
42
  Object.defineProperty(exports, "__esModule", { value: true });
18
43
  exports.PickCardRule = void 0;
19
44
  var rules_api_1 = require("@gamepark/rules-api");
20
45
  var LocationType_1 = require("../material/LocationType");
21
46
  var MaterialType_1 = require("../material/MaterialType");
22
47
  var BasePlayerTurn_1 = require("./BasePlayerTurn");
48
+ var CustomMoveType_1 = require("./CustomMoveType");
23
49
  var RuleId_1 = require("./RuleId");
24
50
  var PickCardRule = (function (_super) {
25
51
  __extends(PickCardRule, _super);
@@ -27,10 +53,22 @@ var PickCardRule = (function (_super) {
27
53
  return _super !== null && _super.apply(this, arguments) || this;
28
54
  }
29
55
  PickCardRule.prototype.onRuleStart = function () {
56
+ if (this.isEndOfRound) {
57
+ return [this.customMove(CustomMoveType_1.CustomMoveType.TurnTempo, true), this.startRule(RuleId_1.RuleId.EndOfRound)];
58
+ }
59
+ var moves = [this.customMove(CustomMoveType_1.CustomMoveType.TurnTempo)];
30
60
  if (this.getPlayerMoves().length)
31
- return [];
32
- return this.goToNextRule();
61
+ return moves;
62
+ moves.push.apply(moves, __spreadArray([], __read(this.goToNextRule()), false));
63
+ return moves;
33
64
  };
65
+ Object.defineProperty(PickCardRule.prototype, "isEndOfRound", {
66
+ get: function () {
67
+ return this.material(MaterialType_1.MaterialType.Card).location(LocationType_1.LocationType.Hand).player(this.player).length === 0;
68
+ },
69
+ enumerable: false,
70
+ configurable: true
71
+ });
34
72
  PickCardRule.prototype.getPlayerMoves = function () {
35
73
  return this.currentTable.moveItems({
36
74
  type: LocationType_1.LocationType.Hand,
@@ -52,7 +90,8 @@ var PickCardRule = (function (_super) {
52
90
  }
53
91
  var nextTable = this.nextTable;
54
92
  if (nextTable.length) {
55
- moves.push(this.nextTable.moveItemsAtOnce({
93
+ moves.push(nextTable.moveItemsAtOnce({
94
+ type: LocationType_1.LocationType.MiddleOfTable,
56
95
  id: LocationType_1.MiddleOfTable.Current
57
96
  }));
58
97
  }
@@ -1,16 +1,15 @@
1
- import { CustomMove, ItemMove, MaterialItem, MaterialMove } from '@gamepark/rules-api';
1
+ import { CustomMove, ItemMove, MaterialMove } from '@gamepark/rules-api';
2
2
  import { Card } from '../material/Card';
3
3
  import { BasePlayerTurn } from './BasePlayerTurn';
4
4
  export declare class PlayCardsRule extends BasePlayerTurn {
5
5
  getPlayerMoves(): MaterialMove<number, number, number, number>[];
6
- get sort(): ((item: MaterialItem) => number)[];
7
6
  get tableValue(): number;
8
7
  onCustomMove(move: CustomMove): MaterialMove<number, number, number, number>[];
9
8
  afterItemMove(move: ItemMove): MaterialMove<number, number, number, number>[];
10
9
  goToNextPlayer(): MaterialMove<number, number, number, number>[];
11
- afterPlaceCards(): MaterialMove<number, number, number, number>[];
12
10
  get firstPlayer(): number;
13
11
  get table(): import("@gamepark/rules-api").Material<number, number, number>;
12
+ get nextTable(): import("@gamepark/rules-api").Material<number, number, number>;
14
13
  get playableCards(): import("@gamepark/rules-api").Material<number, number, number>;
15
14
  get hand(): import("@gamepark/rules-api").Material<number, number, number>;
16
15
  kCombinations<T>(arr: T[], k: number): T[][];
@@ -65,6 +65,7 @@ var LocationType_1 = require("../material/LocationType");
65
65
  var MaterialType_1 = require("../material/MaterialType");
66
66
  var BasePlayerTurn_1 = require("./BasePlayerTurn");
67
67
  var CustomMoveType_1 = require("./CustomMoveType");
68
+ var SortHelper_1 = require("./helper/SortHelper");
68
69
  var Memory_1 = require("./Memory");
69
70
  var RuleId_1 = require("./RuleId");
70
71
  var PlayCardsRule = (function (_super) {
@@ -73,19 +74,19 @@ var PlayCardsRule = (function (_super) {
73
74
  return _super !== null && _super.apply(this, arguments) || this;
74
75
  }
75
76
  PlayCardsRule.prototype.getPlayerMoves = function () {
76
- var _this = this;
77
77
  var playableCards = this.playableCards;
78
78
  var table = this.table;
79
79
  var tableSize = table.length;
80
80
  var moves = [];
81
81
  var combinations = this.getPlayableCombinations(playableCards.getItems().map(function (item) { return item.id; }), tableSize, this.tableValue);
82
82
  var allHandCombination = this.getPlayableCombinations(playableCards.getItems().map(function (item) { return item.id; }), playableCards.length, this.tableValue);
83
+ var sortHelper = new SortHelper_1.SortHelper(this.game);
83
84
  if (allHandCombination.length) {
84
85
  moves.push.apply(moves, __spreadArray([], __read(allHandCombination.map(function (c) {
85
86
  var _a;
86
- return (_a = _this.hand
87
+ return (_a = playableCards
87
88
  .id(function (id) { return c.includes(id); }))
88
- .sort.apply(_a, __spreadArray([], __read(_this.sort), false)).moveItemsAtOnce({
89
+ .sort.apply(_a, __spreadArray([], __read(sortHelper.sortByValue), false)).moveItemsAtOnce({
89
90
  type: LocationType_1.LocationType.MiddleOfTable,
90
91
  id: LocationType_1.MiddleOfTable.Next
91
92
  });
@@ -93,9 +94,9 @@ var PlayCardsRule = (function (_super) {
93
94
  }
94
95
  moves.push.apply(moves, __spreadArray([], __read(combinations.map(function (c) {
95
96
  var _a;
96
- return (_a = _this.hand
97
+ return (_a = playableCards
97
98
  .id(function (id) { return c.includes(id); }))
98
- .sort.apply(_a, __spreadArray([], __read(_this.sort), false)).moveItemsAtOnce({
99
+ .sort.apply(_a, __spreadArray([], __read(sortHelper.sortByValue), false)).moveItemsAtOnce({
99
100
  type: LocationType_1.LocationType.MiddleOfTable,
100
101
  id: LocationType_1.MiddleOfTable.Next
101
102
  });
@@ -105,13 +106,6 @@ var PlayCardsRule = (function (_super) {
105
106
  }
106
107
  return moves;
107
108
  };
108
- Object.defineProperty(PlayCardsRule.prototype, "sort", {
109
- get: function () {
110
- return [function (item) { return -(0, Card_1.getCardValue)(item.id); }, function (item) { return (0, Card_1.getCardColor)(item.id); }];
111
- },
112
- enumerable: false,
113
- configurable: true
114
- });
115
109
  Object.defineProperty(PlayCardsRule.prototype, "tableValue", {
116
110
  get: function () {
117
111
  var table = this.table;
@@ -123,23 +117,16 @@ var PlayCardsRule = (function (_super) {
123
117
  PlayCardsRule.prototype.onCustomMove = function (move) {
124
118
  if (!(0, rules_api_1.isCustomMoveType)(CustomMoveType_1.CustomMoveType.Pass)(move))
125
119
  return [];
126
- var moves = this.afterPlaceCards();
120
+ var moves = [];
127
121
  moves.push.apply(moves, __spreadArray([], __read(this.goToNextPlayer()), false));
128
122
  return moves;
129
123
  };
130
124
  PlayCardsRule.prototype.afterItemMove = function (move) {
131
125
  if (!(0, rules_api_1.isMoveItemTypeAtOnce)(MaterialType_1.MaterialType.Card)(move) || move.location.type !== LocationType_1.LocationType.MiddleOfTable)
132
126
  return [];
133
- var moves = this.afterPlaceCards();
127
+ var moves = [];
134
128
  this.memorize(Memory_1.Memory.LastPlayerThatPlay, this.player);
135
- var isEndOfRound = this.hand.length === 0;
136
- moves.push(this.customMove(CustomMoveType_1.CustomMoveType.TurnTempo, isEndOfRound));
137
- if (this.hand.length === 0) {
138
- moves.push(this.startRule(RuleId_1.RuleId.EndOfRound));
139
- }
140
- else {
141
- moves.push(this.startRule(RuleId_1.RuleId.PickCard));
142
- }
129
+ moves.push(this.startRule(RuleId_1.RuleId.PickCard));
143
130
  return moves;
144
131
  };
145
132
  PlayCardsRule.prototype.goToNextPlayer = function () {
@@ -162,25 +149,6 @@ var PlayCardsRule = (function (_super) {
162
149
  }
163
150
  return moves;
164
151
  };
165
- PlayCardsRule.prototype.afterPlaceCards = function () {
166
- var e_1, _a;
167
- var moves = [];
168
- var selected = this.material(MaterialType_1.MaterialType.Card).selected().getItems();
169
- try {
170
- for (var selected_1 = __values(selected), selected_1_1 = selected_1.next(); !selected_1_1.done; selected_1_1 = selected_1.next()) {
171
- var item = selected_1_1.value;
172
- delete item.selected;
173
- }
174
- }
175
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
176
- finally {
177
- try {
178
- if (selected_1_1 && !selected_1_1.done && (_a = selected_1.return)) _a.call(selected_1);
179
- }
180
- finally { if (e_1) throw e_1.error; }
181
- }
182
- return moves;
183
- };
184
152
  Object.defineProperty(PlayCardsRule.prototype, "firstPlayer", {
185
153
  get: function () {
186
154
  return this.remind(Memory_1.Memory.FirstPlayer);
@@ -195,9 +163,17 @@ var PlayCardsRule = (function (_super) {
195
163
  enumerable: false,
196
164
  configurable: true
197
165
  });
166
+ Object.defineProperty(PlayCardsRule.prototype, "nextTable", {
167
+ get: function () {
168
+ return this.material(MaterialType_1.MaterialType.Card).location(LocationType_1.LocationType.MiddleOfTable).locationId(LocationType_1.MiddleOfTable.Next);
169
+ },
170
+ enumerable: false,
171
+ configurable: true
172
+ });
198
173
  Object.defineProperty(PlayCardsRule.prototype, "playableCards", {
199
174
  get: function () {
200
- return this.material(MaterialType_1.MaterialType.Card).location(LocationType_1.LocationType.Hand).player(this.player);
175
+ var _this = this;
176
+ return this.material(MaterialType_1.MaterialType.Card).location(function (l) { return (l.type === LocationType_1.LocationType.Hand && l.player === _this.player) || (l.type === LocationType_1.LocationType.MiddleOfTable && l.id === LocationType_1.MiddleOfTable.Next); });
201
177
  },
202
178
  enumerable: false,
203
179
  configurable: true
@@ -224,7 +200,7 @@ var PlayCardsRule = (function (_super) {
224
200
  return parseInt(values.join(''), 10);
225
201
  };
226
202
  PlayCardsRule.prototype.getPlayableCombinations = function (hand, tableCount, tableValue) {
227
- var e_2, _a, e_3, _b, e_4, _c, e_5, _d;
203
+ var e_1, _a, e_2, _b, e_3, _c, e_4, _d;
228
204
  var results = [];
229
205
  var byColor = (0, groupBy_1.default)(hand, function (card) { return card % 10; });
230
206
  var byValue = (0, groupBy_1.default)(hand, function (card) { return Math.floor(card / 10); });
@@ -232,54 +208,54 @@ var PlayCardsRule = (function (_super) {
232
208
  for (var _e = __values([byColor, byValue]), _f = _e.next(); !_f.done; _f = _e.next()) {
233
209
  var group = _f.value;
234
210
  try {
235
- for (var _g = (e_3 = void 0, __values(Object.values(group))), _h = _g.next(); !_h.done; _h = _g.next()) {
211
+ for (var _g = (e_2 = void 0, __values(Object.values(group))), _h = _g.next(); !_h.done; _h = _g.next()) {
236
212
  var cards = _h.value;
237
213
  try {
238
- for (var _j = (e_4 = void 0, __values([tableCount, tableCount + 1])), _k = _j.next(); !_k.done; _k = _j.next()) {
214
+ for (var _j = (e_3 = void 0, __values([tableCount, tableCount + 1])), _k = _j.next(); !_k.done; _k = _j.next()) {
239
215
  var count = _k.value;
240
216
  if (cards.length >= count) {
241
217
  try {
242
- for (var _l = (e_5 = void 0, __values(this.kCombinations(cards, count))), _m = _l.next(); !_m.done; _m = _l.next()) {
218
+ for (var _l = (e_4 = void 0, __values(this.kCombinations(cards, count))), _m = _l.next(); !_m.done; _m = _l.next()) {
243
219
  var comb = _m.value;
244
220
  if (this.concatCardValue(comb) > tableValue) {
245
221
  results.push(comb);
246
222
  }
247
223
  }
248
224
  }
249
- catch (e_5_1) { e_5 = { error: e_5_1 }; }
225
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
250
226
  finally {
251
227
  try {
252
228
  if (_m && !_m.done && (_d = _l.return)) _d.call(_l);
253
229
  }
254
- finally { if (e_5) throw e_5.error; }
230
+ finally { if (e_4) throw e_4.error; }
255
231
  }
256
232
  }
257
233
  }
258
234
  }
259
- catch (e_4_1) { e_4 = { error: e_4_1 }; }
235
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
260
236
  finally {
261
237
  try {
262
238
  if (_k && !_k.done && (_c = _j.return)) _c.call(_j);
263
239
  }
264
- finally { if (e_4) throw e_4.error; }
240
+ finally { if (e_3) throw e_3.error; }
265
241
  }
266
242
  }
267
243
  }
268
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
244
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
269
245
  finally {
270
246
  try {
271
247
  if (_h && !_h.done && (_b = _g.return)) _b.call(_g);
272
248
  }
273
- finally { if (e_3) throw e_3.error; }
249
+ finally { if (e_2) throw e_2.error; }
274
250
  }
275
251
  }
276
252
  }
277
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
253
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
278
254
  finally {
279
255
  try {
280
256
  if (_f && !_f.done && (_a = _e.return)) _a.call(_e);
281
257
  }
282
- finally { if (e_2) throw e_2.error; }
258
+ finally { if (e_1) throw e_1.error; }
283
259
  }
284
260
  var unique = (0, uniqWith_1.default)(results, function (a, b) { return (0, isEqual_1.default)((0, orderBy_1.default)(a), (0, orderBy_1.default)(b)); });
285
261
  return unique;
@@ -5,6 +5,6 @@ export declare class ScoreHelper extends MaterialRulesPart {
5
5
  constructor(game: MaterialGame, player: PlayerId);
6
6
  isWinningRound(round: number): boolean;
7
7
  get score(): number;
8
- getRoundScore(round: number): number;
8
+ getRoundScore(round: number): number | undefined;
9
9
  get isWinning(): boolean;
10
10
  }
@@ -42,7 +42,8 @@ var ScoreHelper = (function (_super) {
42
42
  configurable: true
43
43
  });
44
44
  ScoreHelper.prototype.getRoundScore = function (round) {
45
- return this.remind(Memory_1.Memory.PlayerScore, this.player)[round];
45
+ var _a;
46
+ return (_a = this.remind(Memory_1.Memory.PlayerScore, this.player)) === null || _a === void 0 ? void 0 : _a[round - 1];
46
47
  };
47
48
  Object.defineProperty(ScoreHelper.prototype, "isWinning", {
48
49
  get: function () {
@@ -0,0 +1,4 @@
1
+ import { MaterialItem, MaterialRulesPart } from '@gamepark/rules-api';
2
+ export declare class SortHelper extends MaterialRulesPart {
3
+ get sortByValue(): ((item: MaterialItem) => number)[];
4
+ }
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.SortHelper = void 0;
19
+ var rules_api_1 = require("@gamepark/rules-api");
20
+ var Card_1 = require("../../material/Card");
21
+ var SortHelper = (function (_super) {
22
+ __extends(SortHelper, _super);
23
+ function SortHelper() {
24
+ return _super !== null && _super.apply(this, arguments) || this;
25
+ }
26
+ Object.defineProperty(SortHelper.prototype, "sortByValue", {
27
+ get: function () {
28
+ return [function (item) { return -(0, Card_1.getCardValue)(item.id); }, function (item) { return (0, Card_1.getCardColor)(item.id); }];
29
+ },
30
+ enumerable: false,
31
+ configurable: true
32
+ });
33
+ return SortHelper;
34
+ }(rules_api_1.MaterialRulesPart));
35
+ exports.SortHelper = SortHelper;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gamepark/odin",
3
- "version": "0.0.2",
3
+ "version": "0.0.4",
4
4
  "description": "The rules of Odin adapted for Game Park",
5
5
  "sideEffects": false,
6
6
  "main": "dist/index.js",
@@ -24,10 +24,10 @@
24
24
  "lodash": ">=4.17"
25
25
  },
26
26
  "devDependencies": {
27
- "@gamepark/rules-api": "~6.37.1",
27
+ "@gamepark/rules-api": "~6.37.8",
28
28
  "@types/lodash": "^4.17.7",
29
29
  "i18next": "^22.0.3",
30
30
  "lodash": "^4.17.21"
31
31
  },
32
- "gitHead": "c5272c1052e76fc49097aa007043479a237ac668"
32
+ "gitHead": "38007d787728748628e3c465b642d2792a852587"
33
33
  }