@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.mjs
CHANGED
@@ -1823,7 +1823,7 @@ var require_lodash = __commonJS({
|
|
1823
1823
|
return defineProperty(func, "toString", {
|
1824
1824
|
"configurable": true,
|
1825
1825
|
"enumerable": false,
|
1826
|
-
"value":
|
1826
|
+
"value": constant2(string),
|
1827
1827
|
"writable": true
|
1828
1828
|
});
|
1829
1829
|
};
|
@@ -4374,7 +4374,7 @@ var require_lodash = __commonJS({
|
|
4374
4374
|
value = nativeObjectToString.call(value);
|
4375
4375
|
}
|
4376
4376
|
result2[value] = key;
|
4377
|
-
},
|
4377
|
+
}, constant2(identity));
|
4378
4378
|
var invertBy = createInverter(function(result2, value, key) {
|
4379
4379
|
if (value != null && typeof value.toString != "function") {
|
4380
4380
|
value = nativeObjectToString.call(value);
|
@@ -4867,7 +4867,7 @@ var require_lodash = __commonJS({
|
|
4867
4867
|
function conforms(source) {
|
4868
4868
|
return baseConforms(baseClone(source, CLONE_DEEP_FLAG));
|
4869
4869
|
}
|
4870
|
-
function
|
4870
|
+
function constant2(value) {
|
4871
4871
|
return function() {
|
4872
4872
|
return value;
|
4873
4873
|
};
|
@@ -5049,7 +5049,7 @@ var require_lodash = __commonJS({
|
|
5049
5049
|
lodash.concat = concat;
|
5050
5050
|
lodash.cond = cond;
|
5051
5051
|
lodash.conforms = conforms;
|
5052
|
-
lodash.constant =
|
5052
|
+
lodash.constant = constant2;
|
5053
5053
|
lodash.countBy = countBy;
|
5054
5054
|
lodash.create = create;
|
5055
5055
|
lodash.curry = curry;
|
@@ -5544,8 +5544,9 @@ function isHost(playerId, game) {
|
|
5544
5544
|
let player = getPlayer(playerId, game);
|
5545
5545
|
return player == null ? void 0 : player.host;
|
5546
5546
|
}
|
5547
|
-
function wrapReducer(reducer) {
|
5547
|
+
function wrapReducer(reducer, acceptPlayer) {
|
5548
5548
|
return (game, internalAction) => {
|
5549
|
+
var _a;
|
5549
5550
|
switch (internalAction.type) {
|
5550
5551
|
case 1 /* Update */:
|
5551
5552
|
return internalAction.game;
|
@@ -5556,15 +5557,32 @@ function wrapReducer(reducer) {
|
|
5556
5557
|
});
|
5557
5558
|
}
|
5558
5559
|
return game;
|
5560
|
+
case 2 /* Accept */:
|
5561
|
+
if (!!game) {
|
5562
|
+
(_a = internalAction.client) == null ? void 0 : _a.emit(
|
5563
|
+
acceptPlayer(game) ? "accept" : "decline",
|
5564
|
+
{
|
5565
|
+
gameId: game.id,
|
5566
|
+
playerId: internalAction.playerId
|
5567
|
+
}
|
5568
|
+
);
|
5569
|
+
}
|
5570
|
+
return game;
|
5559
5571
|
}
|
5560
5572
|
};
|
5561
5573
|
}
|
5562
|
-
function useRemoteReducer(uri, reducer, gameId,
|
5574
|
+
function useRemoteReducer(uri, reducer, gameId, acceptPlayer = (0, import_lodash.constant)(
|
5575
|
+
true
|
5576
|
+
), storage = sessionStorage) {
|
5563
5577
|
let [meta, setMeta] = useState({
|
5564
5578
|
isHostReady: false,
|
5565
|
-
isGuestReady: false
|
5579
|
+
isGuestReady: false,
|
5580
|
+
declined: false
|
5566
5581
|
});
|
5567
|
-
let [game, internalDispatch] = useReducer(
|
5582
|
+
let [game, internalDispatch] = useReducer(
|
5583
|
+
wrapReducer(reducer, acceptPlayer),
|
5584
|
+
void 0
|
5585
|
+
);
|
5568
5586
|
let dispatch = (action) => {
|
5569
5587
|
if (!!meta.client && !!game) {
|
5570
5588
|
meta.client.emit("notify", { gameId: game.id, action });
|
@@ -5618,15 +5636,18 @@ function useRemoteReducer(uri, reducer, gameId, storage = sessionStorage) {
|
|
5618
5636
|
game: update.game
|
5619
5637
|
})
|
5620
5638
|
);
|
5639
|
+
meta.client.on("decline", () => setMeta(__spreadProps(__spreadValues({}, meta), { declined: true })));
|
5621
5640
|
setMeta(__spreadProps(__spreadValues({}, meta), { isGuestReady: true }));
|
5622
5641
|
}
|
5623
5642
|
if (isHost(meta.localPlayerId, game) && !meta.isHostReady) {
|
5624
5643
|
meta.client.on("join", (join) => {
|
5625
|
-
|
5626
|
-
|
5627
|
-
|
5628
|
-
|
5629
|
-
|
5644
|
+
if (!!meta.client) {
|
5645
|
+
internalDispatch({
|
5646
|
+
type: 2 /* Accept */,
|
5647
|
+
playerId: join.playerId,
|
5648
|
+
client: meta.client
|
5649
|
+
});
|
5650
|
+
}
|
5630
5651
|
});
|
5631
5652
|
meta.client.on("notify", (notify) => {
|
5632
5653
|
if (!!game && !!meta.client) {
|
@@ -5642,7 +5663,7 @@ function useRemoteReducer(uri, reducer, gameId, storage = sessionStorage) {
|
|
5642
5663
|
}
|
5643
5664
|
}
|
5644
5665
|
});
|
5645
|
-
return [game, meta.localPlayerId, dispatch];
|
5666
|
+
return [game, meta.localPlayerId, dispatch, meta.declined];
|
5646
5667
|
}
|
5647
5668
|
export {
|
5648
5669
|
getPlayer,
|