Skip to content

Commit ee230c1

Browse files
committed
fix(types): Always allow player ID array as active players argument
Fixes #1041
1 parent 059a1cc commit ee230c1

3 files changed

Lines changed: 16 additions & 17 deletions

File tree

src/core/flow.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -748,7 +748,7 @@ export function Flow({
748748
function SetActivePlayersEvent(
749749
state: State,
750750
_playerID: PlayerID,
751-
arg: ActivePlayersArg | PlayerID[]
751+
arg: ActivePlayersArg
752752
): State {
753753
return Process(state, [{ fn: UpdateActivePlayers, arg }]);
754754
}

src/core/turn-order.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,7 @@ import type {
1818
} from '../types';
1919
import { supportDeprecatedMoveLimit } from './backwards-compatibility';
2020

21-
export function SetActivePlayers(
22-
ctx: Ctx,
23-
arg: ActivePlayersArg | PlayerID[]
24-
): Ctx {
21+
export function SetActivePlayers(ctx: Ctx, arg: ActivePlayersArg): Ctx {
2522
let activePlayers: typeof ctx.activePlayers = {};
2623
let _prevActivePlayers: typeof ctx._prevActivePlayers = [];
2724
let _nextActivePlayers: ActivePlayersArg | null = null;

src/types.ts

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -69,18 +69,20 @@ export type StageArg =
6969
maxMoves?: number;
7070
};
7171

72-
export interface ActivePlayersArg {
73-
currentPlayer?: StageArg;
74-
others?: StageArg;
75-
all?: StageArg;
76-
value?: Record<PlayerID, StageArg>;
77-
minMoves?: number;
78-
maxMoves?: number;
79-
/** @deprecated Use `minMoves` and `maxMoves` instead. */
80-
moveLimit?: number;
81-
revert?: boolean;
82-
next?: ActivePlayersArg;
83-
}
72+
export type ActivePlayersArg =
73+
| PlayerID[]
74+
| {
75+
currentPlayer?: StageArg;
76+
others?: StageArg;
77+
all?: StageArg;
78+
value?: Record<PlayerID, StageArg>;
79+
minMoves?: number;
80+
maxMoves?: number;
81+
/** @deprecated Use `minMoves` and `maxMoves` instead. */
82+
moveLimit?: number;
83+
revert?: boolean;
84+
next?: ActivePlayersArg;
85+
};
8486

8587
export interface ActivePlayers {
8688
[playerID: string]: StageName;

0 commit comments

Comments
 (0)