@react-remote-state/client 1.1.5 → 1.1.7
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/index.d.mts +5 -4
- package/dist/index.d.ts +5 -4
- package/dist/index.js +35 -14
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +35 -14
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
@@ -8,10 +8,11 @@ declare function getPlayer<GameCustom, PlayerCustom>(playerId?: string, game?: G
|
|
8
8
|
} | undefined;
|
9
9
|
declare function isHost<GameCustom, PlayerCustom>(playerId?: string, game?: Game<GameCustom, PlayerCustom>): boolean | undefined;
|
10
10
|
type Reducer<GameCustom, PlayerCustom, Action> = (game: Game<GameCustom, PlayerCustom>, action: Action, playerId: string) => Game<GameCustom, PlayerCustom>;
|
11
|
-
declare function useRemoteReducer<GameCustom, PlayerCustom, Action>(uri: string, reducer: Reducer<GameCustom, PlayerCustom, Action>, gameId?: string | null, storage?: Storage): [
|
12
|
-
Game<GameCustom, PlayerCustom> | undefined,
|
13
|
-
string | undefined,
|
14
|
-
(action: Action) => void
|
11
|
+
declare function useRemoteReducer<GameCustom, PlayerCustom, Action>(uri: string, reducer: Reducer<GameCustom, PlayerCustom, Action>, gameId?: string | null, acceptPlayer?: (game: Game<GameCustom, PlayerCustom>) => boolean, storage?: Storage): [
|
12
|
+
game: Game<GameCustom, PlayerCustom> | undefined,
|
13
|
+
localPlayerId: string | undefined,
|
14
|
+
dispatch: (action: Action) => void,
|
15
|
+
declined: boolean
|
15
16
|
];
|
16
17
|
|
17
18
|
export { getPlayer, isHost, useRemoteReducer };
|
package/dist/index.d.ts
CHANGED
@@ -8,10 +8,11 @@ declare function getPlayer<GameCustom, PlayerCustom>(playerId?: string, game?: G
|
|
8
8
|
} | undefined;
|
9
9
|
declare function isHost<GameCustom, PlayerCustom>(playerId?: string, game?: Game<GameCustom, PlayerCustom>): boolean | undefined;
|
10
10
|
type Reducer<GameCustom, PlayerCustom, Action> = (game: Game<GameCustom, PlayerCustom>, action: Action, playerId: string) => Game<GameCustom, PlayerCustom>;
|
11
|
-
declare function useRemoteReducer<GameCustom, PlayerCustom, Action>(uri: string, reducer: Reducer<GameCustom, PlayerCustom, Action>, gameId?: string | null, storage?: Storage): [
|
12
|
-
Game<GameCustom, PlayerCustom> | undefined,
|
13
|
-
string | undefined,
|
14
|
-
(action: Action) => void
|
11
|
+
declare function useRemoteReducer<GameCustom, PlayerCustom, Action>(uri: string, reducer: Reducer<GameCustom, PlayerCustom, Action>, gameId?: string | null, acceptPlayer?: (game: Game<GameCustom, PlayerCustom>) => boolean, storage?: Storage): [
|
12
|
+
game: Game<GameCustom, PlayerCustom> | undefined,
|
13
|
+
localPlayerId: string | undefined,
|
14
|
+
dispatch: (action: Action) => void,
|
15
|
+
declined: boolean
|
15
16
|
];
|
16
17
|
|
17
18
|
export { getPlayer, isHost, useRemoteReducer };
|
package/dist/index.js
CHANGED
@@ -1829,7 +1829,7 @@ var require_lodash = __commonJS({
|
|
1829
1829
|
return defineProperty(func, "toString", {
|
1830
1830
|
"configurable": true,
|
1831
1831
|
"enumerable": false,
|
1832
|
-
"value":
|
1832
|
+
"value": constant2(string),
|
1833
1833
|
"writable": true
|
1834
1834
|
});
|
1835
1835
|
};
|
@@ -4380,7 +4380,7 @@ var require_lodash = __commonJS({
|
|
4380
4380
|
value = nativeObjectToString.call(value);
|
4381
4381
|
}
|
4382
4382
|
result2[value] = key;
|
4383
|
-
},
|
4383
|
+
}, constant2(identity));
|
4384
4384
|
var invertBy = createInverter(function(result2, value, key) {
|
4385
4385
|
if (value != null && typeof value.toString != "function") {
|
4386
4386
|
value = nativeObjectToString.call(value);
|
@@ -4873,7 +4873,7 @@ var require_lodash = __commonJS({
|
|
4873
4873
|
function conforms(source) {
|
4874
4874
|
return baseConforms(baseClone(source, CLONE_DEEP_FLAG));
|
4875
4875
|
}
|
4876
|
-
function
|
4876
|
+
function constant2(value) {
|
4877
4877
|
return function() {
|
4878
4878
|
return value;
|
4879
4879
|
};
|
@@ -5055,7 +5055,7 @@ var require_lodash = __commonJS({
|
|
5055
5055
|
lodash.concat = concat;
|
5056
5056
|
lodash.cond = cond;
|
5057
5057
|
lodash.conforms = conforms;
|
5058
|
-
lodash.constant =
|
5058
|
+
lodash.constant = constant2;
|
5059
5059
|
lodash.countBy = countBy;
|
5060
5060
|
lodash.create = create;
|
5061
5061
|
lodash.curry = curry;
|
@@ -5557,8 +5557,9 @@ function isHost(playerId, game) {
|
|
5557
5557
|
let player = getPlayer(playerId, game);
|
5558
5558
|
return player == null ? void 0 : player.host;
|
5559
5559
|
}
|
5560
|
-
function wrapReducer(reducer) {
|
5560
|
+
function wrapReducer(reducer, acceptPlayer) {
|
5561
5561
|
return (game, internalAction) => {
|
5562
|
+
var _a;
|
5562
5563
|
switch (internalAction.type) {
|
5563
5564
|
case 1 /* Update */:
|
5564
5565
|
return internalAction.game;
|
@@ -5569,15 +5570,32 @@ function wrapReducer(reducer) {
|
|
5569
5570
|
});
|
5570
5571
|
}
|
5571
5572
|
return game;
|
5573
|
+
case 2 /* Accept */:
|
5574
|
+
if (!!game) {
|
5575
|
+
(_a = internalAction.client) == null ? void 0 : _a.emit(
|
5576
|
+
acceptPlayer(game) ? "accept" : "decline",
|
5577
|
+
{
|
5578
|
+
gameId: game.id,
|
5579
|
+
playerId: internalAction.playerId
|
5580
|
+
}
|
5581
|
+
);
|
5582
|
+
}
|
5583
|
+
return game;
|
5572
5584
|
}
|
5573
5585
|
};
|
5574
5586
|
}
|
5575
|
-
function useRemoteReducer(uri, reducer, gameId,
|
5587
|
+
function useRemoteReducer(uri, reducer, gameId, acceptPlayer = (0, import_lodash.constant)(
|
5588
|
+
true
|
5589
|
+
), storage = sessionStorage) {
|
5576
5590
|
let [meta, setMeta] = (0, import_react.useState)({
|
5577
5591
|
isHostReady: false,
|
5578
|
-
isGuestReady: false
|
5592
|
+
isGuestReady: false,
|
5593
|
+
declined: false
|
5579
5594
|
});
|
5580
|
-
let [game, internalDispatch] = (0, import_react.useReducer)(
|
5595
|
+
let [game, internalDispatch] = (0, import_react.useReducer)(
|
5596
|
+
wrapReducer(reducer, acceptPlayer),
|
5597
|
+
void 0
|
5598
|
+
);
|
5581
5599
|
let dispatch = (action) => {
|
5582
5600
|
if (!!meta.client && !!game) {
|
5583
5601
|
meta.client.emit("notify", { gameId: game.id, action });
|
@@ -5631,15 +5649,18 @@ function useRemoteReducer(uri, reducer, gameId, storage = sessionStorage) {
|
|
5631
5649
|
game: update.game
|
5632
5650
|
})
|
5633
5651
|
);
|
5652
|
+
meta.client.on("decline", () => setMeta(__spreadProps(__spreadValues({}, meta), { declined: true })));
|
5634
5653
|
setMeta(__spreadProps(__spreadValues({}, meta), { isGuestReady: true }));
|
5635
5654
|
}
|
5636
5655
|
if (isHost(meta.localPlayerId, game) && !meta.isHostReady) {
|
5637
5656
|
meta.client.on("join", (join) => {
|
5638
|
-
|
5639
|
-
|
5640
|
-
|
5641
|
-
|
5642
|
-
|
5657
|
+
if (!!meta.client) {
|
5658
|
+
internalDispatch({
|
5659
|
+
type: 2 /* Accept */,
|
5660
|
+
playerId: join.playerId,
|
5661
|
+
client: meta.client
|
5662
|
+
});
|
5663
|
+
}
|
5643
5664
|
});
|
5644
5665
|
meta.client.on("notify", (notify) => {
|
5645
5666
|
if (!!game && !!meta.client) {
|
@@ -5655,7 +5676,7 @@ function useRemoteReducer(uri, reducer, gameId, storage = sessionStorage) {
|
|
5655
5676
|
}
|
5656
5677
|
}
|
5657
5678
|
});
|
5658
|
-
return [game, meta.localPlayerId, dispatch];
|
5679
|
+
return [game, meta.localPlayerId, dispatch, meta.declined];
|
5659
5680
|
}
|
5660
5681
|
// Annotate the CommonJS export names for ESM import in node:
|
5661
5682
|
0 && (module.exports = {
|