@gamepark/rules-api 5.2.1 → 5.8.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.
- package/dist/Action.d.ts +3 -2
- package/dist/Action.js +11 -11
- package/dist/Action.js.map +1 -1
- package/dist/Game.js +1 -1
- package/dist/Game.js.map +1 -1
- package/dist/RulesCreator.d.ts +1 -1
- package/dist/SequentialGame.js +3 -3
- package/dist/SequentialGame.js.map +1 -1
- package/dist/SimultaneousGame.js +3 -3
- package/dist/SimultaneousGame.js.map +1 -1
- package/dist/options/OptionsSpec.d.ts +1 -1
- package/dist/options/getFallbackPlayerName.js +1 -1
- package/dist/options/getFallbackPlayerName.js.map +1 -1
- package/dist/options/providePlayerIds.js +11 -7
- package/dist/options/providePlayerIds.js.map +1 -1
- package/package.json +3 -3
package/dist/Action.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import Game from './Game';
|
|
2
2
|
import { IncompleteInformation } from './index';
|
|
3
3
|
declare type Action<Move = any, PlayerId = any> = {
|
|
4
|
+
id?: string;
|
|
4
5
|
playerId: PlayerId;
|
|
5
6
|
move: Move;
|
|
6
7
|
consequences: Move[];
|
|
7
8
|
};
|
|
8
9
|
export default Action;
|
|
9
|
-
export declare function playAction<State, Move, PlayerId>(game: Game<State, Move>, move: Move, playerId: PlayerId): Action<Move, PlayerId>;
|
|
10
|
+
export declare function playAction<State, Move, PlayerId>(game: Game<State, Move>, move: Move, playerId: PlayerId, id?: string): Action<Move, PlayerId>;
|
|
10
11
|
export declare type ActionWithViews<Move, MoveView, PlayerId> = {
|
|
11
12
|
action: Action<Move, PlayerId>;
|
|
12
13
|
views: {
|
|
@@ -14,6 +15,6 @@ export declare type ActionWithViews<Move, MoveView, PlayerId> = {
|
|
|
14
15
|
action: Action<MoveView, PlayerId>;
|
|
15
16
|
}[];
|
|
16
17
|
};
|
|
17
|
-
export declare function playActionWithViews<State, View, Move, MoveView, PlayerId>(game: IncompleteInformation<State, View, Move, MoveView, PlayerId>, move: Move, playerId: PlayerId, recipients: PlayerId[]): ActionWithViews<Move, MoveView, PlayerId>;
|
|
18
|
+
export declare function playActionWithViews<State, View, Move, MoveView, PlayerId>(game: IncompleteInformation<State, View, Move, MoveView, PlayerId>, move: Move, playerId: PlayerId, recipients: PlayerId[], id?: string): ActionWithViews<Move, MoveView, PlayerId>;
|
|
18
19
|
export declare function replayAction<State, Move, PlayerId>(game: Game<State, Move>, action: Action<Move, PlayerId>): void;
|
|
19
20
|
export declare function replayActions<State, Move, PlayerId>(game: Game<State, Move>, actions: Action<Move, PlayerId>[]): void;
|
package/dist/Action.js
CHANGED
|
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.replayActions = exports.replayAction = exports.playActionWithViews = exports.playAction = void 0;
|
|
4
4
|
var Game_1 = require("./Game");
|
|
5
5
|
var index_1 = require("./index");
|
|
6
|
-
function playAction(game, move, playerId) {
|
|
7
|
-
var action = { playerId: playerId, move: move, consequences: [] };
|
|
6
|
+
function playAction(game, move, playerId, id) {
|
|
7
|
+
var action = { id: id, playerId: playerId, move: move, consequences: [] };
|
|
8
8
|
game.play(JSON.parse(JSON.stringify(move)));
|
|
9
|
-
Game_1.loopWithFuse(function () {
|
|
9
|
+
(0, Game_1.loopWithFuse)(function () {
|
|
10
10
|
var consequence = game.getAutomaticMove ? game.getAutomaticMove() : undefined;
|
|
11
11
|
var consequences = consequence ? Array.isArray(consequence) ? consequence : [consequence] : [];
|
|
12
12
|
for (var _i = 0, consequences_1 = consequences; _i < consequences_1.length; _i++) {
|
|
@@ -14,25 +14,25 @@ function playAction(game, move, playerId) {
|
|
|
14
14
|
game.play(JSON.parse(JSON.stringify(move_1)));
|
|
15
15
|
action.consequences.push(move_1);
|
|
16
16
|
}
|
|
17
|
-
return
|
|
17
|
+
return consequences.length > 0;
|
|
18
18
|
}, { errorFn: function () { return new Error("Infinite loop detected while applying automatic moves after " + JSON.stringify(move) + " in " + JSON.stringify(game.state)); } });
|
|
19
19
|
return action;
|
|
20
20
|
}
|
|
21
21
|
exports.playAction = playAction;
|
|
22
|
-
function playActionWithViews(game, move, playerId, recipients) {
|
|
22
|
+
function playActionWithViews(game, move, playerId, recipients, id) {
|
|
23
23
|
var actionWithView = {
|
|
24
|
-
action: { playerId: playerId, move: move, consequences: [] },
|
|
24
|
+
action: { id: id, playerId: playerId, move: move, consequences: [] },
|
|
25
25
|
views: []
|
|
26
26
|
};
|
|
27
27
|
// Prepare action view for each player
|
|
28
28
|
for (var _i = 0, recipients_1 = recipients; _i < recipients_1.length; _i++) {
|
|
29
29
|
var recipient = recipients_1[_i];
|
|
30
|
-
actionWithView.views.push({ recipient: recipient, action: { playerId: playerId, move: index_1.getMoveView(game, move, recipient), consequences: [] } });
|
|
30
|
+
actionWithView.views.push({ recipient: recipient, action: { id: id, playerId: playerId, move: (0, index_1.getMoveView)(game, move, recipient), consequences: [] } });
|
|
31
31
|
}
|
|
32
32
|
// Prepare action view for spectators
|
|
33
|
-
actionWithView.views.push({ action: { playerId: playerId, move: index_1.getMoveView(game, move), consequences: [] } });
|
|
33
|
+
actionWithView.views.push({ action: { id: id, playerId: playerId, move: (0, index_1.getMoveView)(game, move), consequences: [] } });
|
|
34
34
|
game.play(JSON.parse(JSON.stringify(move)));
|
|
35
|
-
Game_1.loopWithFuse(function () {
|
|
35
|
+
(0, Game_1.loopWithFuse)(function () {
|
|
36
36
|
var consequence = game.getAutomaticMove ? game.getAutomaticMove() : undefined;
|
|
37
37
|
var consequences = consequence ? Array.isArray(consequence) ? consequence : [consequence] : [];
|
|
38
38
|
for (var _i = 0, consequences_2 = consequences; _i < consequences_2.length; _i++) {
|
|
@@ -40,11 +40,11 @@ function playActionWithViews(game, move, playerId, recipients) {
|
|
|
40
40
|
actionWithView.action.consequences.push(move_2);
|
|
41
41
|
for (var _a = 0, _b = actionWithView.views; _a < _b.length; _a++) {
|
|
42
42
|
var view = _b[_a];
|
|
43
|
-
view.action.consequences.push(index_1.getMoveView(game, move_2, view.recipient));
|
|
43
|
+
view.action.consequences.push((0, index_1.getMoveView)(game, move_2, view.recipient));
|
|
44
44
|
}
|
|
45
45
|
game.play(JSON.parse(JSON.stringify(move_2)));
|
|
46
46
|
}
|
|
47
|
-
return
|
|
47
|
+
return consequences.length > 0;
|
|
48
48
|
}, { errorFn: function () { return new Error("Infinite loop detected while applying automatic moves after " + JSON.stringify(move) + " in " + JSON.stringify(game.state)); } });
|
|
49
49
|
return actionWithView;
|
|
50
50
|
}
|
package/dist/Action.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Action.js","sourceRoot":"","sources":["../src/Action.ts"],"names":[],"mappings":";;;AAAA,+BAAyC;AACzC,iCAA0D;
|
|
1
|
+
{"version":3,"file":"Action.js","sourceRoot":"","sources":["../src/Action.ts"],"names":[],"mappings":"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"}
|
package/dist/Game.js
CHANGED
|
@@ -9,7 +9,7 @@ function applyAutomaticMoves(game) {
|
|
|
9
9
|
var move = consequences_1[_i];
|
|
10
10
|
game.play(JSON.parse(JSON.stringify(move)));
|
|
11
11
|
}
|
|
12
|
-
return
|
|
12
|
+
return consequences.length > 0;
|
|
13
13
|
}, { errorFn: function () { return new Error("Infinite loop detected while applying automatic moves in " + JSON.stringify(game.state)); } });
|
|
14
14
|
}
|
|
15
15
|
exports.applyAutomaticMoves = applyAutomaticMoves;
|
package/dist/Game.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Game.js","sourceRoot":"","sources":["../src/Game.ts"],"names":[],"mappings":";;;AAQA,SAAgB,mBAAmB,CAAc,IAAuB;IACtE,YAAY,CAAC;QACX,IAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAC/E,IAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QAChG,KAAmB,UAAY,EAAZ,6BAAY,EAAZ,0BAAY,EAAZ,IAAY,EAAE;YAA5B,IAAM,IAAI,qBAAA;YACb,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;SAC5C;QACD,OAAO,
|
|
1
|
+
{"version":3,"file":"Game.js","sourceRoot":"","sources":["../src/Game.ts"],"names":[],"mappings":";;;AAQA,SAAgB,mBAAmB,CAAc,IAAuB;IACtE,YAAY,CAAC;QACX,IAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAC/E,IAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QAChG,KAAmB,UAAY,EAAZ,6BAAY,EAAZ,0BAAY,EAAZ,IAAY,EAAE;YAA5B,IAAM,IAAI,qBAAA;YACb,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;SAC5C;QACD,OAAO,YAAY,CAAC,MAAM,GAAG,CAAC,CAAA;IAChC,CAAC,EAAE,EAAC,OAAO,EAAE,cAAM,OAAA,IAAI,KAAK,CAAC,8DAA4D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAG,CAAC,EAAnG,CAAmG,EAAC,CAAC,CAAA;AAC1H,CAAC;AATD,kDASC;AAED,SAAgB,YAAY,CAAC,MAAqB,EAAE,OAAsD;IACxG,IAAI,QAAQ,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACzF,IAAM,OAAO,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,KAAI,CAAC,cAAM,OAAA,IAAI,KAAK,CAAC,wBAAwB,CAAC,EAAnC,CAAmC,CAAC,CAAA;IAC/E,OAAO,MAAM,EAAE,EAAE;QACf,IAAI,QAAQ,IAAI,CAAC,EAAE;YACjB,MAAM,OAAO,EAAE,CAAA;SAChB;QACD,QAAQ,EAAE,CAAA;KACX;AACH,CAAC;AATD,oCASC"}
|
package/dist/RulesCreator.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Rules from './Rules';
|
|
2
|
-
export default interface RulesCreator<State, Move =
|
|
2
|
+
export default interface RulesCreator<State = any, Move = any, PlayerId = number, Options = any> {
|
|
3
3
|
new (state: State): Rules<State, Move, PlayerId>;
|
|
4
4
|
new (options: Options): Rules<State, Move, PlayerId>;
|
|
5
5
|
}
|
package/dist/SequentialGame.js
CHANGED
|
@@ -16,11 +16,11 @@ var SequentialGame = /** @class */ (function () {
|
|
|
16
16
|
if (playerId !== this.getActivePlayer()) {
|
|
17
17
|
return false;
|
|
18
18
|
}
|
|
19
|
-
if (this.getLegalMoves().some(function (legalMove) { return fast_deep_equal_1.default(move, legalMove); })) {
|
|
19
|
+
if (this.getLegalMoves().some(function (legalMove) { return (0, fast_deep_equal_1.default)(move, legalMove); })) {
|
|
20
20
|
return true;
|
|
21
21
|
}
|
|
22
|
-
if (Eliminations_1.hasEliminations(this) && this.giveUpMove) {
|
|
23
|
-
return fast_deep_equal_1.default(move, this.giveUpMove(playerId));
|
|
22
|
+
if ((0, Eliminations_1.hasEliminations)(this) && this.giveUpMove) {
|
|
23
|
+
return (0, fast_deep_equal_1.default)(move, this.giveUpMove(playerId));
|
|
24
24
|
}
|
|
25
25
|
return false;
|
|
26
26
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SequentialGame.js","sourceRoot":"","sources":["../src/SequentialGame.ts"],"names":[],"mappings":";;;;;AAAA,oEAAmC;AACnC,+CAA8C;AAG9C;IAGE,wBAAsB,IAAW;QAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;IACnB,CAAC;IAID,oCAAW,GAAX,UAAY,QAAkB,EAAE,IAAU;QACxC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YAChD,MAAM,IAAI,KAAK,CAAC,oFAAoF,CAAC,CAAA;SACtG;QACD,IAAI,QAAQ,KAAK,IAAI,CAAC,eAAe,EAAE,EAAE;YACvC,OAAO,KAAK,CAAA;SACb;QACD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,UAAA,SAAS,IAAI,OAAA,yBAAK,
|
|
1
|
+
{"version":3,"file":"SequentialGame.js","sourceRoot":"","sources":["../src/SequentialGame.ts"],"names":[],"mappings":";;;;;AAAA,oEAAmC;AACnC,+CAA8C;AAG9C;IAGE,wBAAsB,IAAW;QAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;IACnB,CAAC;IAID,oCAAW,GAAX,UAAY,QAAkB,EAAE,IAAU;QACxC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YAChD,MAAM,IAAI,KAAK,CAAC,oFAAoF,CAAC,CAAA;SACtG;QACD,IAAI,QAAQ,KAAK,IAAI,CAAC,eAAe,EAAE,EAAE;YACvC,OAAO,KAAK,CAAA;SACb;QACD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,UAAA,SAAS,IAAI,OAAA,IAAA,yBAAK,EAAC,IAAI,EAAE,SAAS,CAAC,EAAtB,CAAsB,CAAC,EAAE;YAClE,OAAO,IAAI,CAAA;SACZ;QACD,IAAI,IAAA,8BAAe,EAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE;YAC5C,OAAO,IAAA,yBAAK,EAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAA;SAC9C;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAID,iCAAQ,GAAR,UAAS,QAAkB;QACzB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;SAC7E;QACD,OAAO,QAAQ,KAAK,IAAI,CAAC,eAAe,EAAE,CAAA;IAC5C,CAAC;IAID,+BAAM,GAAN;QACE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAA;SAC3E;QACD,OAAO,IAAI,CAAC,eAAe,EAAE,KAAK,SAAS,CAAA;IAC7C,CAAC;IACH,qBAAC;AAAD,CAAC,AA1CD,IA0CC"}
|
package/dist/SimultaneousGame.js
CHANGED
|
@@ -13,11 +13,11 @@ var SimultaneousGame = /** @class */ (function () {
|
|
|
13
13
|
if (typeof this.getLegalMoves === 'undefined') {
|
|
14
14
|
throw new Error('You must either implement "isLegalMove" or "getLegalMoves');
|
|
15
15
|
}
|
|
16
|
-
if (this.getLegalMoves(playerId).some(function (legalMove) { return fast_deep_equal_1.default(move, legalMove); })) {
|
|
16
|
+
if (this.getLegalMoves(playerId).some(function (legalMove) { return (0, fast_deep_equal_1.default)(move, legalMove); })) {
|
|
17
17
|
return true;
|
|
18
18
|
}
|
|
19
|
-
if (Eliminations_1.hasEliminations(this) && this.giveUpMove) {
|
|
20
|
-
return fast_deep_equal_1.default(move, this.giveUpMove(playerId));
|
|
19
|
+
if ((0, Eliminations_1.hasEliminations)(this) && this.giveUpMove) {
|
|
20
|
+
return (0, fast_deep_equal_1.default)(move, this.giveUpMove(playerId));
|
|
21
21
|
}
|
|
22
22
|
return false;
|
|
23
23
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimultaneousGame.js","sourceRoot":"","sources":["../src/SimultaneousGame.ts"],"names":[],"mappings":";;;;;AAAA,oEAAmC;AACnC,+CAA8C;AAG9C;IAGE,0BAAsB,IAAW;QAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;IACnB,CAAC;IAID,sCAAW,GAAX,UAAY,QAAkB,EAAE,IAAU;QACxC,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;YAC7C,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;SAC7E;QACD,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAA,SAAS,IAAI,OAAA,yBAAK,
|
|
1
|
+
{"version":3,"file":"SimultaneousGame.js","sourceRoot":"","sources":["../src/SimultaneousGame.ts"],"names":[],"mappings":";;;;;AAAA,oEAAmC;AACnC,+CAA8C;AAG9C;IAGE,0BAAsB,IAAW;QAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;IACnB,CAAC;IAID,sCAAW,GAAX,UAAY,QAAkB,EAAE,IAAU;QACxC,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;YAC7C,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;SAC7E;QACD,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAA,SAAS,IAAI,OAAA,IAAA,yBAAK,EAAC,IAAI,EAAE,SAAS,CAAC,EAAtB,CAAsB,CAAC,EAAE;YAC1E,OAAO,IAAI,CAAA;SACZ;QACD,IAAI,IAAA,8BAAe,EAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE;YAC5C,OAAO,IAAA,yBAAK,EAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAA;SAC9C;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAKH,uBAAC;AAAD,CAAC,AAzBD,IAyBC"}
|
|
@@ -5,6 +5,6 @@ import WithPlayersOptions from './WithPlayersOptions';
|
|
|
5
5
|
declare type OptionsSpec<Options> = (Options extends WithPlayersOptions<infer P> ? WithPlayerOptionsSpec<P> : {}) & {
|
|
6
6
|
[key in keyof Omit<Options, 'players'>]: OptionSpecOf<Options[key]>;
|
|
7
7
|
} & {
|
|
8
|
-
validate?: (options: Options
|
|
8
|
+
validate?: (options: Partial<Options>, t: TFunction) => void;
|
|
9
9
|
};
|
|
10
10
|
export default OptionsSpec;
|
|
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
var isWithPlayerIdOptions_1 = __importDefault(require("./isWithPlayerIdOptions"));
|
|
7
7
|
function getFallbackPlayerName(id, t, optionsSpec) {
|
|
8
|
-
if (optionsSpec && isWithPlayerIdOptions_1.default(optionsSpec)) {
|
|
8
|
+
if (optionsSpec && (0, isWithPlayerIdOptions_1.default)(optionsSpec)) {
|
|
9
9
|
return optionsSpec.players.id.valueSpec(id).label(t);
|
|
10
10
|
}
|
|
11
11
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFallbackPlayerName.js","sourceRoot":"","sources":["../../src/options/getFallbackPlayerName.ts"],"names":[],"mappings":";;;;;AACA,kFAA2D;AAI3D,SAAwB,qBAAqB,CAA0C,EAAM,EAAE,CAAY,EAAE,WAAkC;IAC7I,IAAI,WAAW,IAAI,+BAAqB,
|
|
1
|
+
{"version":3,"file":"getFallbackPlayerName.js","sourceRoot":"","sources":["../../src/options/getFallbackPlayerName.ts"],"names":[],"mappings":";;;;;AACA,kFAA2D;AAI3D,SAAwB,qBAAqB,CAA0C,EAAM,EAAE,CAAY,EAAE,WAAkC;IAC7I,IAAI,WAAW,IAAI,IAAA,+BAAqB,EAAiB,WAAW,CAAC,EAAE;QACrE,OAAO,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;KACrD;SAAM;QACL,OAAO,CAAC,CAAC,iBAAiB,EAAE,EAAC,MAAM,EAAE,EAAE,EAAC,CAAC,CAAA;KAC1C;AACH,CAAC;AAND,wCAMC"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
3
|
-
for (var i = 0,
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
3
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
4
|
+
if (ar || !(i in from)) {
|
|
5
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
6
|
+
ar[i] = from[i];
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
6
10
|
};
|
|
7
11
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
8
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
@@ -11,11 +15,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
11
15
|
var isWithPlayerIdOptions_1 = __importDefault(require("./isWithPlayerIdOptions"));
|
|
12
16
|
function providePlayerIds(players, optionsSpec) {
|
|
13
17
|
var _a, _b;
|
|
14
|
-
var potentialIds = (isWithPlayerIdOptions_1.default(optionsSpec) ? optionsSpec.players.id.values
|
|
18
|
+
var potentialIds = ((0, isWithPlayerIdOptions_1.default)(optionsSpec) ? optionsSpec.players.id.values
|
|
15
19
|
: Array.from(Array(typeof players === 'number' ? players : players.length).keys()).map(function (id) { return id + 1; }));
|
|
16
20
|
var mandatory = (_b = (_a = optionsSpec === null || optionsSpec === void 0 ? void 0 : optionsSpec.players) === null || _a === void 0 ? void 0 : _a.id) === null || _b === void 0 ? void 0 : _b.mandatory;
|
|
17
|
-
var mandatoryIds = (mandatory ? Array.isArray(mandatory) ? __spreadArray([], mandatory) : [mandatory] : []);
|
|
18
|
-
var result = typeof players === 'number' ? Array(players).fill(null) : __spreadArray([], players);
|
|
21
|
+
var mandatoryIds = (mandatory ? Array.isArray(mandatory) ? __spreadArray([], mandatory, true) : [mandatory] : []);
|
|
22
|
+
var result = typeof players === 'number' ? Array(players).fill(null) : __spreadArray([], players, true);
|
|
19
23
|
while (mandatoryIds.some(function (id) { return !result.includes(id); })) {
|
|
20
24
|
var mandatoryId = mandatoryIds.find(function (id) { return !result.includes(id); });
|
|
21
25
|
var potentialIndexes = result.map(function (id, index) { return ({ id: id, index: index }); }).filter(function (r) { return !mandatoryIds.includes(r.id); }).map(function (r) { return r.index; });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providePlayerIds.js","sourceRoot":"","sources":["../../src/options/providePlayerIds.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"providePlayerIds.js","sourceRoot":"","sources":["../../src/options/providePlayerIds.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kFAA2D;AAS3D,SAAwB,gBAAgB,CAAc,OAA+B,EAAE,WAAiB;;IACtG,IAAM,YAAY,GAAG,CAAC,IAAA,+BAAqB,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM;QACtF,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,UAAA,EAAE,IAAI,OAAA,EAAE,GAAG,CAAC,EAAN,CAAM,CAAC,CAAS,CAAA;IAC/G,IAAI,SAAS,GAAG,MAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,0CAAE,EAAE,0CAAE,SAAS,CAAA;IACnD,IAAM,YAAY,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,mBAAK,SAAS,QAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAS,CAAA;IACvG,IAAM,MAAM,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAK,OAAO,OAAC,CAAA;IAErF,OAAO,YAAY,CAAC,IAAI,CAAC,UAAA,EAAE,IAAI,OAAA,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAApB,CAAoB,CAAC,EAAE;QACpD,IAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,UAAA,EAAE,IAAI,OAAA,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAApB,CAAoB,CAAE,CAAA;QAClE,IAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,UAAC,EAAE,EAAE,KAAK,IAAK,OAAA,CAAC,EAAC,EAAE,IAAA,EAAE,KAAK,OAAA,EAAC,CAAC,EAAb,CAAa,CAAC,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAA5B,CAA4B,CAAC,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,KAAK,EAAP,CAAO,CAAC,CAAA;QAC7H,IAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAA;QACnF,MAAM,CAAC,KAAK,CAAC,GAAG,WAAW,CAAA;KAC5B;IAED,IAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,UAAA,EAAE,IAAI,OAAA,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAApB,CAAoB,CAAC,CAAA;IACpE,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QAC5B,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;QAC/D,IAAM,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;QAC1C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;KACrC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAtBD,mCAsBC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gamepark/rules-api",
|
|
3
|
-
"version": "5.2
|
|
3
|
+
"version": "5.8.2",
|
|
4
4
|
"description": "API to implement the rules of a board game",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"access": "public"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"i18next": "
|
|
28
|
+
"i18next": ">=21.3.0"
|
|
29
29
|
},
|
|
30
|
-
"gitHead": "
|
|
30
|
+
"gitHead": "07dd48dbccda5dfa14d54bcb8cfb541de639834c"
|
|
31
31
|
}
|