@gamepark/react-client 5.7.2 → 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.
Files changed (43) hide show
  1. package/dist/Actions/MoveLegacyUndone.d.ts +7 -0
  2. package/dist/Actions/MoveLegacyUndone.js +10 -0
  3. package/dist/Actions/MoveLegacyUndone.js.map +1 -0
  4. package/dist/Actions/MoveUndone.d.ts +2 -2
  5. package/dist/Actions/MoveUndone.js +2 -2
  6. package/dist/Actions/MoveUndone.js.map +1 -1
  7. package/dist/EjectPlayer/EjectPlayer.d.ts +1 -1
  8. package/dist/Store/gameMiddleware.js +4 -0
  9. package/dist/Store/gameMiddleware.js.map +1 -1
  10. package/dist/Store/gameReducer.d.ts +2 -2
  11. package/dist/Store/gameReducer.js +39 -13
  12. package/dist/Store/gameReducer.js.map +1 -1
  13. package/dist/Types/GameData.d.ts +2 -2
  14. package/dist/Types/MovePlayedNotification.d.ts +3 -1
  15. package/dist/Types/MovePlayedNotification.js +3 -2
  16. package/dist/Types/MovePlayedNotification.js.map +1 -1
  17. package/dist/Types/MoveUndoneNotification.d.ts +3 -4
  18. package/dist/Types/MoveUndoneNotification.js +3 -2
  19. package/dist/Types/MoveUndoneNotification.js.map +1 -1
  20. package/dist/Undo/index.d.ts +1 -0
  21. package/dist/Undo/index.js +11 -0
  22. package/dist/Undo/index.js.map +1 -1
  23. package/dist/Undo/useUndo.d.ts +5 -4
  24. package/dist/Undo/useUndo.js +39 -46
  25. package/dist/Undo/useUndo.js.map +1 -1
  26. package/dist/api/Client/GameClientAPI.d.ts +4 -3
  27. package/dist/api/Client/GameClientAPI.js +59 -56
  28. package/dist/api/Client/GameClientAPI.js.map +1 -1
  29. package/dist/api/Client/GameNotificationsListener.d.ts +1 -1
  30. package/dist/api/Client/GameNotificationsListener.js +3 -3
  31. package/dist/api/Client/GameNotificationsListener.js.map +1 -1
  32. package/dist/api/Client/RemoteGameLoader.js +3 -2
  33. package/dist/api/Client/RemoteGameLoader.js.map +1 -1
  34. package/dist/api/Client/apollo-client.js +6 -1
  35. package/dist/api/Client/apollo-client.js.map +1 -1
  36. package/dist/api/GameAPI.d.ts +1 -0
  37. package/dist/api/Local/ConsoleTools.d.ts +1 -1
  38. package/dist/api/Local/ConsoleTools.js +3 -8
  39. package/dist/api/Local/ConsoleTools.js.map +1 -1
  40. package/dist/api/Local/GameLocalAPI.d.ts +2 -8
  41. package/dist/api/Local/GameLocalAPI.js +62 -51
  42. package/dist/api/Local/GameLocalAPI.js.map +1 -1
  43. package/package.json +3 -3
@@ -0,0 +1,7 @@
1
+ export declare const MOVE_UNDONE_LEGACY = "MOVE_UNDONE_LEGACY";
2
+ export default interface MoveUndoneLegacy {
3
+ type: typeof MOVE_UNDONE_LEGACY;
4
+ playerActionIndex: number;
5
+ delayed: boolean;
6
+ }
7
+ export declare function moveUndoneLegacy(playerActionIndex: number, delayed?: boolean): MoveUndoneLegacy;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.moveUndoneLegacy = exports.MOVE_UNDONE_LEGACY = void 0;
4
+ exports.MOVE_UNDONE_LEGACY = 'MOVE_UNDONE_LEGACY';
5
+ function moveUndoneLegacy(playerActionIndex, delayed) {
6
+ if (delayed === void 0) { delayed = false; }
7
+ return { type: exports.MOVE_UNDONE_LEGACY, playerActionIndex: playerActionIndex, delayed: delayed };
8
+ }
9
+ exports.moveUndoneLegacy = moveUndoneLegacy;
10
+ //# sourceMappingURL=MoveLegacyUndone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MoveLegacyUndone.js","sourceRoot":"","sources":["../../src/Actions/MoveLegacyUndone.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG,oBAAoB,CAAA;AAQtD,SAAgB,gBAAgB,CAAC,iBAAyB,EAAE,OAAwB;IAAxB,wBAAA,EAAA,eAAwB;IAClF,OAAO,EAAC,IAAI,EAAE,0BAAkB,EAAE,iBAAiB,mBAAA,EAAE,OAAO,SAAA,EAAC,CAAA;AAC/D,CAAC;AAFD,4CAEC"}
@@ -1,7 +1,7 @@
1
1
  export declare const MOVE_UNDONE = "MOVE_UNDONE";
2
2
  export default interface MoveUndone {
3
3
  type: typeof MOVE_UNDONE;
4
- playerActionIndex: number;
4
+ actionId: string;
5
5
  delayed: boolean;
6
6
  }
7
- export declare function moveUndone(playerActionIndex: number, delayed?: boolean): MoveUndone;
7
+ export declare function moveUndone(actionId: string, delayed?: boolean): MoveUndone;
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.moveUndone = exports.MOVE_UNDONE = void 0;
4
4
  exports.MOVE_UNDONE = 'MOVE_UNDONE';
5
- function moveUndone(playerActionIndex, delayed) {
5
+ function moveUndone(actionId, delayed) {
6
6
  if (delayed === void 0) { delayed = false; }
7
- return { type: exports.MOVE_UNDONE, playerActionIndex: playerActionIndex, delayed: delayed };
7
+ return { type: exports.MOVE_UNDONE, actionId: actionId, delayed: delayed };
8
8
  }
9
9
  exports.moveUndone = moveUndone;
10
10
  //# sourceMappingURL=MoveUndone.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MoveUndone.js","sourceRoot":"","sources":["../../src/Actions/MoveUndone.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG,aAAa,CAAA;AAQxC,SAAgB,UAAU,CAAC,iBAAyB,EAAE,OAAwB;IAAxB,wBAAA,EAAA,eAAwB;IAC5E,OAAO,EAAC,IAAI,EAAE,mBAAW,EAAE,iBAAiB,mBAAA,EAAE,OAAO,SAAA,EAAC,CAAA;AACxD,CAAC;AAFD,gCAEC"}
1
+ {"version":3,"file":"MoveUndone.js","sourceRoot":"","sources":["../../src/Actions/MoveUndone.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG,aAAa,CAAA;AAQxC,SAAgB,UAAU,CAAC,QAAgB,EAAE,OAAwB;IAAxB,wBAAA,EAAA,eAAwB;IACnE,OAAO,EAAC,IAAI,EAAE,mBAAW,EAAE,QAAQ,UAAA,EAAE,OAAO,SAAA,EAAC,CAAA;AAC/C,CAAC;AAFD,gCAEC"}
@@ -1,5 +1,5 @@
1
1
  export declare const EJECT_PLAYER = "EJECT_PLAYER";
2
- export default interface EjectPlayer<PlayerId> {
2
+ export default interface EjectPlayer<PlayerId = any> {
3
3
  type: typeof EJECT_PLAYER;
4
4
  playerId: PlayerId;
5
5
  }
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ var MoveLegacyUndone_1 = require("../Actions/MoveLegacyUndone");
3
4
  var MovePlayed_1 = require("../Actions/MovePlayed");
4
5
  var MoveUndone_1 = require("../Actions/MoveUndone");
5
6
  var StartRematch_1 = require("../Actions/StartRematch");
@@ -15,6 +16,9 @@ function gameMiddleware(api) {
15
16
  }
16
17
  break;
17
18
  case MoveUndone_1.MOVE_UNDONE:
19
+ api.undo(action.actionId);
20
+ break;
21
+ case MoveLegacyUndone_1.MOVE_UNDONE_LEGACY:
18
22
  api.undo(action.playerActionIndex);
19
23
  break;
20
24
  case StartRematch_1.START_REMATCH:
@@ -1 +1 @@
1
- {"version":3,"file":"gameMiddleware.js","sourceRoot":"","sources":["../../src/Store/gameMiddleware.ts"],"names":[],"mappings":";;AACA,oDAAiD;AACjD,oDAAiD;AACjD,wDAAmE;AAEnE,8CAA2C;AAC3C,oCAAiC;AACjC,mEAAiE;AAGjE,SAAwB,cAAc,CAAwB,GAA4B;IACxF,OAAO,UAAA,KAAK,IAAI,OAAA,UAAA,IAAI,IAAI,OAAA,UAAA,MAAM;QAC5B,QAAQ,MAAM,CAAC,IAAI,EAAE;YACnB,KAAK,wBAAW;gBACd,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;oBACjB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;iBACtB;gBACD,MAAK;YACP,KAAK,wBAAW;gBACd,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAA;gBAClC,MAAK;YACP,KAAK,4BAAa;gBAChB,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE;oBAC/B,GAAG,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,UAAA,YAAY,IAAI,OAAA,KAAK,CAAC,QAAQ,CAAC,IAAA,2BAAY,EAAC,YAAY,CAAC,CAAC,EAA1C,CAA0C,CAAC,CAAA;iBAC/E;gBACD,MAAK;YACP,KAAK,0BAAY;gBACf,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;gBAC1B,MAAK;YACP,KAAK,gBAAO;gBACV,GAAG,CAAC,MAAM,EAAE,CAAA;gBACZ,MAAK;YACP,KAAK,uCAAmB;gBACtB,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;gBACtC,MAAK;SACR;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAA;IACrB,CAAC,EA1BuB,CA0BvB,EA1Be,CA0Bf,CAAA;AACH,CAAC;AA5BD,iCA4BC"}
1
+ {"version":3,"file":"gameMiddleware.js","sourceRoot":"","sources":["../../src/Store/gameMiddleware.ts"],"names":[],"mappings":";;AACA,gEAA8D;AAC9D,oDAAiD;AACjD,oDAAiD;AACjD,wDAAmE;AAEnE,8CAAwD;AACxD,oCAAiC;AACjC,mEAAoF;AAIpF,SAAwB,cAAc,CAAwB,GAA4B;IACxF,OAAO,UAAA,KAAK,IAAI,OAAA,UAAA,IAAI,IAAI,OAAA,UAAC,MAAqD;QAC5E,QAAQ,MAAM,CAAC,IAAI,EAAE;YACnB,KAAK,wBAAW;gBACd,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;oBACjB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;iBACtB;gBACD,MAAK;YACP,KAAK,wBAAW;gBACd,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;gBACzB,MAAK;YACP,KAAK,qCAAkB;gBACrB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAA;gBAClC,MAAK;YACP,KAAK,4BAAa;gBAChB,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE;oBAC/B,GAAG,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,UAAA,YAAY,IAAI,OAAA,KAAK,CAAC,QAAQ,CAAC,IAAA,2BAAY,EAAC,YAAY,CAAC,CAAC,EAA1C,CAA0C,CAAC,CAAA;iBAC/E;gBACD,MAAK;YACP,KAAK,0BAAY;gBACf,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;gBAC1B,MAAK;YACP,KAAK,gBAAO;gBACV,GAAG,CAAC,MAAM,EAAE,CAAA;gBACZ,MAAK;YACP,KAAK,uCAAmB;gBACtB,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;gBACtC,MAAK;SACR;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAA;IACrB,CAAC,EA7BuB,CA6BvB,EA7Be,CA6Bf,CAAA;AACH,CAAC;AA/BD,iCA+BC"}
@@ -8,6 +8,7 @@ import GameNotificationsReceived from '../Actions/GameNotificationsReceived';
8
8
  import GameOver from '../Actions/GameOver';
9
9
  import GameStateLoaded from '../Actions/GameStateLoaded';
10
10
  import IgnoreRematch from '../Actions/IgnoreRematch';
11
+ import MoveUndoneLegacy from '../Actions/MoveLegacyUndone';
11
12
  import MovePlayed from '../Actions/MovePlayed';
12
13
  import MoveUndone from '../Actions/MoveUndone';
13
14
  import SetAnimationsSpeed from '../Actions/SetAnimationsSpeed';
@@ -16,6 +17,5 @@ import Animations from '../animations/Animations';
16
17
  import GiveUp from '../GiveUp/GiveUp';
17
18
  import { MuteSounds, UnmuteSounds } from '../Sound';
18
19
  import GamePageState from './GamePageState';
19
- declare type GameActions<G, M, P> = GameStateLoaded<G, P> | GameNotificationsReceived<P> | MovePlayed<M> | MoveUndone | AnimationComplete | AnimationBreakComplete | ActionFailed | ClearFailures | SetAnimationsSpeed | StartRematch<P> | IgnoreRematch | GiveUp | MuteSounds | UnmuteSounds | GameOver<P>;
20
+ export declare type GameActions<G = any, M = any, P = any> = GameStateLoaded<G, P> | GameNotificationsReceived<P> | MovePlayed<M> | MoveUndone | MoveUndoneLegacy | AnimationComplete | AnimationBreakComplete | ActionFailed | ClearFailures | SetAnimationsSpeed | StartRematch<P> | IgnoreRematch | GiveUp | MuteSounds | UnmuteSounds | GameOver<P>;
20
21
  export default function gameReducer<State, Move, PlayerId>(gameName: string, GameCreator: GameCreator<State, Move>, animations?: Animations): Reducer<GamePageState<State, Move, PlayerId>, GameActions<State, Move, PlayerId>>;
21
- export {};
@@ -26,6 +26,7 @@ var GameNotificationsReceived_1 = require("../Actions/GameNotificationsReceived"
26
26
  var GameOver_1 = require("../Actions/GameOver");
27
27
  var GameStateLoaded_1 = require("../Actions/GameStateLoaded");
28
28
  var IgnoreRematch_1 = require("../Actions/IgnoreRematch");
29
+ var MoveLegacyUndone_1 = require("../Actions/MoveLegacyUndone");
29
30
  var MovePlayed_1 = require("../Actions/MovePlayed");
30
31
  var MoveUndone_1 = require("../Actions/MoveUndone");
31
32
  var SetAnimationsSpeed_1 = require("../Actions/SetAnimationsSpeed");
@@ -109,6 +110,20 @@ function gameReducer(gameName, GameCreator, animations) {
109
110
  animateAction(displayedAction, draft);
110
111
  });
111
112
  case MoveUndone_1.MOVE_UNDONE:
113
+ return (0, immer_1.default)(state, function (draft) {
114
+ if (!state.actions || !draft.actions || !state.setup)
115
+ return console.error('Cannot undo before actions history is loaded');
116
+ var action = draft.actions.find(function (action) { return action.id === event.actionId; });
117
+ if (!action)
118
+ return console.error("Could not find action to undo with this id: " + event.actionId);
119
+ action.cancelled = true;
120
+ action.cancelPending = true;
121
+ if (state.playerId !== undefined && !event.delayed && !action.animation && !action.delayed) {
122
+ // Assume that if it is our turn to play, the UNDO will not fail so it can be applied immediately
123
+ animateAction(action, draft);
124
+ }
125
+ });
126
+ case MoveLegacyUndone_1.MOVE_UNDONE_LEGACY:
112
127
  return (0, immer_1.default)(state, function (draft) {
113
128
  if (!state.actions || !draft.actions || !state.setup) {
114
129
  return console.error('Cannot undo before actions history is loaded');
@@ -207,25 +222,31 @@ function gameReducer(gameName, GameCreator, animations) {
207
222
  return state;
208
223
  };
209
224
  function setActionsFromPastNotifications(draft, notifications) {
225
+ var _a;
210
226
  draft.actions = [];
211
- for (var i = 0; i < draft.nextNotificationIndex; i++) {
227
+ var _loop_1 = function (i) {
212
228
  var notification = notifications[i];
213
229
  if ((0, MovePlayedNotification_1.isMovePlayedNotification)(notification)) {
214
230
  draft.actions.push({
231
+ id: (_a = notification.actionId) !== null && _a !== void 0 ? _a : undefined,
215
232
  playerId: notification.playerId, move: notification.moveView,
216
233
  consequences: notification.consequences
217
234
  });
218
235
  }
219
236
  else if ((0, MoveUndoneNotification_1.isMoveUndoneNotification)(notification)) {
220
- draft.actions.splice(notification.moveUndone, 1);
237
+ var index = notification.actionId ? (0, ArrayUtil_1.findLastIndex)(draft.actions, function (action) { return action.id === notification.actionId; }) : notification.moveUndone;
238
+ draft.actions.splice(index, 1);
221
239
  }
240
+ };
241
+ for (var i = 0; i < draft.nextNotificationIndex; i++) {
242
+ _loop_1(i);
222
243
  }
223
244
  }
224
245
  function getGameAfterAnimations(state) {
225
246
  if (!state.actions || !state.setup) {
226
247
  throw new Error('Cannot play move before game history is loaded');
227
248
  }
228
- if (state.actions.some(function (action) { return !action.delayed && !action.cancelled; })) {
249
+ if (state.actions.some(function (action) { return action.animation || action.cancelled; })) {
229
250
  // We need to avoid side effects of other actions that we might currently be animating => let's get the game state as if every animation is over
230
251
  var game = new GameCreator(JSON.parse(JSON.stringify(state.setup)));
231
252
  (0, rules_api_1.replayActions)(game, state.actions.filter(function (action) { return !action.delayed && !action.cancelled; }));
@@ -265,13 +286,14 @@ function gameReducer(gameName, GameCreator, animations) {
265
286
  }
266
287
  }
267
288
  function applyMovePlayedNotification(draft, notification) {
268
- var _a;
289
+ var _a, _b, _c;
269
290
  (0, assert_1.default)(draft.actions !== undefined, 'Cannot apply a notification before action history is loaded');
270
291
  var action;
271
292
  if (notification.playerId == draft.playerId) {
272
293
  action = draft.actions.find(function (action) { return action.pending && action.playerId == notification.playerId; });
273
294
  }
274
295
  if (action) {
296
+ action.id = (_a = notification.actionId) !== null && _a !== void 0 ? _a : undefined;
275
297
  action.pending = false;
276
298
  if (action.delayed) {
277
299
  action.move = notification.moveView;
@@ -297,7 +319,7 @@ function gameReducer(gameName, GameCreator, animations) {
297
319
  else if (!(0, fast_deep_equal_1.default)(JSON.parse(JSON.stringify(action.consequences[i])), JSON.parse(JSON.stringify(notification.consequences[i])))) {
298
320
  console.error('A consequence of an action was played and executed immediately:', JSON.parse(JSON.stringify(action.consequences[i])), ', but the notifications does not contain the same data:', JSON.parse(JSON.stringify(notification.consequences[i])), '(the problem is inside function "getAutomaticMoves": when it is executed on the client side, it must return null if the next consequence cannot be predicted by the client).');
299
321
  }
300
- if (((_a = action.animation) === null || _a === void 0 ? void 0 : _a.duration) === 0) {
322
+ if (((_b = action.animation) === null || _b === void 0 ? void 0 : _b.duration) === 0) {
301
323
  animateAction(action, draft);
302
324
  }
303
325
  }
@@ -305,25 +327,29 @@ function gameReducer(gameName, GameCreator, animations) {
305
327
  }
306
328
  else {
307
329
  draft.actions.splice((0, ArrayUtil_1.findLastIndex)(draft.actions, function (action) { return !action.pending; }) + 1, 0, {
330
+ id: (_c = notification.actionId) !== null && _c !== void 0 ? _c : undefined,
308
331
  playerId: notification.playerId, move: notification.moveView,
309
332
  consequences: notification.consequences,
310
333
  delayed: true
311
334
  });
312
335
  }
313
336
  }
314
- function applyMoveUndoneNotification(draft, notification) {
315
- (0, assert_1.default)(draft.actions !== undefined, 'Cannot apply a notification before action history is loaded');
316
- // draft.actions! <--- ! can be removed bellow once this issue is resolved: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/44117
317
- var actionIndex = notification.moveUndone;
318
- for (var i = 0; i < notification.moveUndone; i++) {
319
- if (draft.actions[i].cancelled && !draft.actions[i].cancelPending) {
337
+ function getLegacyMoveUndoIndex(actions, moveUndone) {
338
+ var actionIndex = moveUndone;
339
+ for (var i = 0; i < moveUndone; i++) {
340
+ if (actions[i].cancelled && !actions[i].cancelPending) {
320
341
  actionIndex++; // Server sends the index considering that previously cancelled actions are no longer in the list. We may still be animating them on client side.
321
342
  }
322
343
  }
323
- var cancelledAction = draft.actions[actionIndex];
344
+ return actionIndex;
345
+ }
346
+ function applyMoveUndoneNotification(draft, notification) {
347
+ (0, assert_1.default)(draft.actions !== undefined, 'Cannot apply a notification before action history is loaded');
348
+ var index = notification.actionId ? (0, ArrayUtil_1.findLastIndex)(draft.actions, function (action) { return action.id === notification.actionId; }) : getLegacyMoveUndoIndex(draft.actions, notification.moveUndone);
349
+ var cancelledAction = draft.actions[index];
324
350
  if (cancelledAction.delayed) {
325
351
  // We can immediately remove it
326
- draft.actions.splice(actionIndex, 1);
352
+ draft.actions.splice(index, 1);
327
353
  }
328
354
  else {
329
355
  cancelledAction.cancelled = true;
@@ -1 +1 @@
1
- {"version":3,"file":"gameReducer.js","sourceRoot":"","sources":["../../src/Store/gameReducer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gameReducer.js","sourceRoot":"","sources":["../../src/Store/gameReducer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAAiG;AACjG,kDAA2B;AAC3B,oEAAmC;AACnC,gDAAoC;AAEpC,wDAAmE;AACnE,4EAAkG;AAClG,kEAAkF;AAClF,0DAAsE;AACtE,kFAA2G;AAC3G,gDAAuD;AACvD,8DAA6E;AAC7E,0DAAsE;AACtE,gEAAgF;AAChF,oDAA6D;AAC7D,oDAA6D;AAC7D,oEAAsF;AACtF,wDAAmE;AAGnE,2CAAwD;AACxD,kCAAqC;AAErC,kDAA4D;AAC5D,sDAAmD;AAEnD,0EAAgG;AAChG,0EAAgG;AAEhG,oEAAkE;AAClE,+CAA+C;AAQ/C,SAAwB,WAAW,CAAwB,QAAgB,EAAE,WAAqC,EAAE,UAAuB;IACzI,IAAM,YAAY,GAAyC;QACzD,OAAO,EAAE,EAAE,EAAE,oBAAoB,EAAE,EAAE,EAAE,qBAAqB,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC;QACxH,WAAW,EAAE,IAAA,wBAAW,GAAE,EAAE,eAAe,EAAE,CAAC;KAC/C,CAAA;IACD,OAAO,UAAC,KAAoB,EAAE,KAAK;QAA3B,sBAAA,EAAA,oBAAoB;QAC1B,QAAQ,KAAK,CAAC,IAAI,EAAE;YAClB,KAAK,mCAAiB;gBACpB,OAAO,IAAA,eAAO,EAAC,KAAK,EAAE,UAAA,KAAK;oBACzB,IAAI,KAAK,CAAC,UAAU,EAAE;wBACpB,KAAK,CAAC,eAAe,GAAG,oBAAoB,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,eAAe,CAAC,CAAA;qBACtF;oBACD,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAoC,CAAA;oBAC1D,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;oBAC7B,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAA2B,CAAA;oBAClD,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAqB,CAAA;oBACzC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAqB,CAAA;oBACzC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAA;oBAChC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAA;oBAC3B,KAAK,CAAC,qBAAqB,GAAG,KAAK,CAAC,kBAAkB,CAAA;oBACtD,KAAK,CAAC,oBAAoB,GAAG,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,UAAA,YAAY,IAAI,OAAA,YAAY,CAAC,KAAK,IAAI,KAAK,CAAC,qBAAqB,EAAjD,CAAiD,CAAC,CAAA;gBACnI,CAAC,CAAC,CAAA;YACJ,KAAK,uDAA2B;gBAC9B,OAAO,IAAA,eAAO,EAAC,KAAK,EAAE,UAAA,KAAK;oBACzB,IAAI,KAAK,CAAC,UAAU,EAAE;wBACpB,KAAK,CAAC,eAAe,GAAG,oBAAoB,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,eAAe,CAAC,CAAA;qBACtF;oBACD,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,UAAA,MAAM;;wBAC1B,IAAM,aAAa,GAAG,MAAA,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,EAAlB,CAAkB,CAAC,0CAAE,IAAI,CAAA;wBACvE,MAAM,CAAC,IAAI,GAAG,aAAa,IAAI,MAAM,CAAC,IAAI,CAAA;oBAC5C,CAAC,CAAC,CAAA;oBACF,IAAI,KAAK,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;wBACnD,+BAA+B,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,CAAA;qBAC5D;oBACD,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,qBAAqB,GAAG,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACrH,KAAK,CAAC,oBAAoB,CAAC,IAAI,uBAAK,KAAK,CAAC,aAAa,CAAC,CAAC,CAAsC,KAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,kBAAkB,IAAE,CAAA;qBACvI;oBACD,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAC,EAAE,EAAE,EAAE,IAAK,OAAA,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,EAAnB,CAAmB,CAAC,CAAA;oBAChE,IAAI,KAAK,CAAC,KAAK,EAAE;wBACf,yBAAyB,CAAC,KAAK,CAAC,CAAA;qBACjC;gBACH,CAAC,CAAC,CAAA;YACJ,KAAK,wBAAW;gBACd,OAAO,IAAA,eAAO,EAAC,KAAK,EAAE,UAAA,KAAK;oBACzB,IAAI,CAAC,KAAK,CAAC,KAAK;wBAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;oBACjF,IAAI,KAAK,CAAC,KAAK,EAAE;wBACf,IAAM,MAAI,GAAG,IAAI,WAAW,CAAC,KAAK,CAAC,KAAc,CAAC,CAAA;wBAClD,MAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;wBACjD,OAAM;qBACP;oBACD,IAAI,CAAC,KAAK,CAAC,OAAO;wBAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;oBACrF,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;wBAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;oBAC3E,IAAI,KAAK,CAAC,OAAO,EAAE;wBACjB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,IAAmB,EAAE,YAAY,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC,CAAA;wBAC/H,OAAM;qBACP;oBACD,IAAM,IAAI,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAA;oBAC1C,IAAM,MAAM,GAAG,IAAA,sBAAU,EAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;oBAC3D,IAAM,eAAe,GAAG,sBAAI,MAAM,KAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,GAAkD,CAAA;oBACnH,IAAI,KAAK,CAAC,aAAa,EAAE;wBACvB,eAAe,CAAC,SAAS,GAAG,EAAC,EAAE,EAAE,KAAK,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAC,CAAA;qBAC1E;oBACD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;oBACnC,aAAa,CAAC,eAAe,EAAE,KAAK,CAAC,CAAA;gBACvC,CAAC,CAAC,CAAA;YACJ,KAAK,wBAAW;gBACd,OAAO,IAAA,eAAO,EAAC,KAAK,EAAE,UAAA,KAAK;oBACzB,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK;wBAAE,OAAO,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAA;oBAC1H,IAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,EAAE,KAAK,KAAK,CAAC,QAAQ,EAA5B,CAA4B,CAAC,CAAA;oBACzE,IAAI,CAAC,MAAM;wBAAE,OAAO,OAAO,CAAC,KAAK,CAAC,iDAA+C,KAAK,CAAC,QAAU,CAAC,CAAA;oBAClG,MAAM,CAAC,SAAS,GAAG,IAAI,CAAA;oBACvB,MAAM,CAAC,aAAa,GAAG,IAAI,CAAA;oBAC3B,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;wBAC1F,iGAAiG;wBACjG,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;qBAC7B;gBACH,CAAC,CAAC,CAAA;YACJ,KAAK,qCAAkB;gBACrB,OAAO,IAAA,eAAO,EAAC,KAAK,EAAE,UAAA,KAAK;oBACzB,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;wBACpD,OAAO,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAA;qBACrE;oBACD,IAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,EAAvD,CAAuD,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;oBAC/H,IAAI,CAAC,MAAM,EAAE;wBACX,OAAO,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAA;qBACtD;oBACD,IAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;oBACvC,IAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,UAAA,MAAM,IAAI,OAAA,CAAC,MAAM,CAAC,SAAS,EAAjB,CAAiB,CAAC,CAAA;oBACzF,IAAM,IAAI,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;oBACrE,IAAA,yBAAa,EAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAA,MAAM,IAAI,OAAA,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAApC,CAAoC,CAAC,CAAC,CAAA;oBACzF,IAAI,CAAC,IAAA,mBAAO,EAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAgC,EAAE,kBAA8C,CAAC,EAAE;wBACrH,OAAO,OAAO,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAA;qBAC3E;oBACD,MAAM,CAAC,SAAS,GAAG,IAAI,CAAA;oBACvB,MAAM,CAAC,aAAa,GAAG,IAAI,CAAA;oBAC3B,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;wBAC1F,iGAAiG;wBACjG,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;qBAC7B;gBACH,CAAC,CAAC,CAAA;YACJ,KAAK,4BAAa;gBAChB,OAAO,IAAA,eAAO,EAAC,KAAK,EAAE,UAAA,KAAK;oBACzB,IAAI,KAAK,CAAC,OAAO,EAAE;wBACjB,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAA,MAAM,IAAI,OAAA,CAAC,MAAM,CAAC,OAAO,EAAf,CAAe,CAAC,CAAA;wBAC/D,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,UAAA,MAAM;4BAC1B,IAAI,MAAM,CAAC,aAAa,EAAE;gCACxB,MAAM,CAAC,SAAS,GAAG,KAAK,CAAA;gCACxB,MAAM,CAAC,aAAa,GAAG,KAAK,CAAA;6BAC7B;4BACD,MAAM,CAAC,SAAS,GAAG,SAAS,CAAA;wBAC9B,CAAC,CAAC,CAAA;wBACF,IAAM,IAAI,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;wBACrE,IAAA,yBAAa,EAAC,IAAI,EAAE,KAAK,CAAC,OAAmC,CAAC,CAAA;wBAC9D,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAqB,CAAA;qBACzC;oBACD,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;gBACnC,CAAC,CAAC,CAAA;YACJ,KAAK,8BAAc;gBACjB,OAAO,IAAA,eAAO,EAAC,KAAK,EAAE,UAAA,KAAK;oBACzB,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAA;gBACrB,CAAC,CAAC,CAAA;YACJ,KAAK,sCAAkB;gBACrB,OAAO,IAAA,eAAO,EAAC,KAAK,EAAE,UAAA,KAAK;oBACzB,IAAI,KAAK,CAAC,OAAO,EAAE;wBACjB,IAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAA,MAAM,YAAI,OAAA,CAAA,MAAA,MAAM,CAAC,SAAS,0CAAE,EAAE,MAAK,KAAK,CAAC,WAAW,CAAA,EAAA,CAAC,CAAA;wBACvF,IAAI,CAAC,MAAM,EAAE;4BACX,OAAO,OAAO,CAAC,KAAK,CAAC,4EAA4E,CAAC,CAAA;yBACnG;wBACD,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;wBAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,SAAS,EAAhB,CAAgB,CAAC,EAAE;4BACnD,KAAK,CAAC,eAAe,GAAG,IAAI,CAAA;yBAC7B;qBACF;gBACH,CAAC,CAAC,CAAA;YACJ,KAAK,iDAAwB;gBAC3B,OAAO,IAAA,eAAO,EAAC,KAAK,EAAE,UAAA,KAAK;oBACzB,OAAO,KAAK,CAAC,eAAe,CAAA;oBAC5B,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,SAAS,EAAhB,CAAgB,CAAC,EAAE;wBACpE,iBAAiB,CAAC,KAAK,CAAC,CAAA;qBACzB;gBACH,CAAC,CAAC,CAAA;YACJ,KAAK,yCAAoB;gBACvB,6BAAW,KAAK,KAAE,eAAe,EAAE,KAAK,CAAC,KAAK,IAAC;YACjD,KAAK,4BAAa;gBAChB,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE;oBAChC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;iBACrD;gBACD,IAAI,KAAK,CAAC,mBAAmB,EAAE;oBAC7B,6BACK,KAAK,KAAE,YAAY,EAAE;4BACtB,QAAQ,EAAE,KAAK,CAAC,mBAAmB,CAAC,QAAQ;4BAC5C,IAAI,EAAE,oBAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC,mBAAmB,CAAC,SAAS;yBACzF,IACF;iBACF;qBAAM;oBACL,6BAAW,KAAK,KAAE,YAAY,EAAE,EAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAC,IAAC;iBAC5D;YACH,KAAK,8BAAc;gBACjB,6BAAW,KAAK,KAAE,YAAY,EAAE,SAAS,IAAC;YAC5C,KAAK,gBAAO;gBACV,OAAO,IAAA,eAAM,EAAC,KAAK,CAAC,CAAA;YACtB,KAAK,wBAAW;gBACd,6BAAW,KAAK,KAAE,WAAW,EAAE,IAAI,IAAC;YACtC,KAAK,4BAAa;gBAChB,6BAAW,KAAK,KAAE,WAAW,EAAE,KAAK,IAAC;YACvC,KAAK,oBAAS;gBACZ,6BACK,KAAK,KAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAA,MAAM;wBACzD,IAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,EAAlB,CAAkB,CAAC,CAAA;wBACrD,IAAI,CAAC,CAAC;4BAAE,OAAO,MAAM,CAAA;;4BAChB,OAAO,uBAAK,MAAM,KAAE,eAAe,EAAE,CAAC,CAAC,eAAe,IAAE,CAAA;oBAC/D,CAAC,CAAC,IACH;SACJ;QACD,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;IAED,SAAS,+BAA+B,CAAC,KAAkD,EAAE,aAA2C;;QACtI,KAAK,CAAC,OAAO,GAAG,EAAE,CAAA;gCACT,CAAC;YACR,IAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;YACrC,IAAI,IAAA,iDAAwB,EAAC,YAAY,CAAC,EAAE;gBAC1C,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;oBACjB,EAAE,EAAE,MAAA,YAAY,CAAC,QAAQ,mCAAI,SAAS;oBACtC,QAAQ,EAAE,YAAY,CAAC,QAA2B,EAAE,IAAI,EAAE,YAAY,CAAC,QAAuB;oBAC9F,YAAY,EAAE,YAAY,CAAC,YAA6B;iBACzD,CAAC,CAAA;aACH;iBAAM,IAAI,IAAA,iDAAwB,EAAC,YAAY,CAAC,EAAE;gBACjD,IAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAA,yBAAa,EAAC,KAAK,CAAC,OAAO,EAAE,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,EAAE,KAAK,YAAY,CAAC,QAAQ,EAAnC,CAAmC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAA;gBAC3I,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;aAC/B;;QAXH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,qBAAqB,EAAE,CAAC,EAAE;oBAA3C,CAAC;SAYT;IACH,CAAC;IAED,SAAS,sBAAsB,CAAC,KAA2C;QACzE,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;SAClE;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,EAApC,CAAoC,CAAC,EAAE;YACtE,gJAAgJ;YAChJ,IAAM,IAAI,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YACrE,IAAA,yBAAa,EAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAA,MAAM,IAAI,OAAA,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAApC,CAAoC,CAAC,CAAC,CAAA;YACzF,OAAO,IAAI,CAAA;SACZ;aAAM;YACL,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;SAChE;IACH,CAAC;IAED,SAAS,yBAAyB,CAAC,KAAkD;QACnF,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;YAClB,OAAM;SACP;QACD,OAAO,KAAK,CAAC,oBAAoB,CAAC,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,qBAAqB,EAAE;YAC9G,IAAM,YAAY,GAAG,KAAK,CAAC,oBAAoB,CAAC,KAAK,EAAG,CAAA;YACxD,IAAI,YAAY,CAAC,KAAK,GAAG,KAAK,CAAC,qBAAqB,EAAE;gBACpD,OAAO,CAAC,IAAI,CAAC,qCAAqC,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAA;aACnF;iBAAM;gBACL,KAAK,CAAC,qBAAqB,EAAE,CAAA;gBAC7B,iBAAiB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;aACvC;SACF;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,SAAS,EAAhB,CAAgB,CAAC,EAAE;YACnD,iBAAiB,CAAC,KAAK,CAAC,CAAA;SACzB;IACH,CAAC;IAED,SAAS,iBAAiB,CAAC,KAAkD,EAAE,YAA+C;QAC5H,IAAI,IAAA,iDAAwB,EAA+B,YAAY,CAAC,EAAE;YACxE,2BAA2B,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;SACjD;aAAM,IAAI,IAAA,iDAAwB,EAAC,YAAY,CAAC,EAAE;YACjD,2BAA2B,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;SACjD;aAAM,IAAI,IAAA,2CAAqB,EAAC,YAAY,CAAC,EAAE;YAC9C,KAAK,CAAC,YAAY,GAAG,EAAC,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,oBAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,YAAY,CAAC,SAAS,EAAC,CAAA;SACpI;IACH,CAAC;IAED,SAAS,2BAA2B,CAAC,KAAkD,EAAE,YAAkE;;QACzJ,IAAA,gBAAM,EAAC,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,6DAA6D,CAAC,CAAA;QAClG,IAAI,MAAM,CAAA;QACV,IAAI,YAAY,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,EAAE;YAC3C,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,QAAQ,IAAI,YAAY,CAAC,QAAQ,EAA1D,CAA0D,CAAC,CAAA;SAClG;QACD,IAAI,MAAM,EAAE;YACV,MAAM,CAAC,EAAE,GAAG,MAAA,YAAY,CAAC,QAAQ,mCAAI,SAAS,CAAA;YAC9C,MAAM,CAAC,OAAO,GAAG,KAAK,CAAA;YACtB,IAAI,MAAM,CAAC,OAAO,EAAE;gBAClB,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC,QAAuB,CAAA;gBAClD,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC,YAA6B,CAAA;aACjE;iBAAM;gBACL,kGAAkG;gBAClG,IAAI,CAAC,IAAA,yBAAK,EAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;oBACtG,OAAO,CAAC,KAAK,CAAC,+CAA+C,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,yDAAyD,EAC/J,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,EAAE,2FAA2F,CAAC,CAAA;iBAClJ;gBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC3F,IAAI,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE;wBAC5C,OAAO,CAAC,KAAK,CAAC,0EAA0E,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;qBAC9I;yBAAM,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE;wBAC7C,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;wBACtD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;4BACrB,kDAAkD;4BAClD,IAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,eAAe,CAAA;4BACpG,MAAM,CAAC,SAAS,GAAG,EAAC,EAAE,EAAE,KAAK,CAAC,kBAAkB,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,QAAQ,UAAA,EAAC,CAAA;yBAC9E;qBACF;yBAAM,IAAI,CAAC,IAAA,yBAAK,EAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;wBAC/H,OAAO,CAAC,KAAK,CAAC,iEAAiE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EACjI,yDAAyD,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EACnH,8KAA8K,CAAC,CAAA;qBAClL;oBACD,IAAI,CAAA,MAAA,MAAM,CAAC,SAAS,0CAAE,QAAQ,MAAK,CAAC,EAAE;wBACpC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;qBAC7B;iBACF;aACF;SACF;aAAM;YACL,KAAK,CAAC,OAAQ,CAAC,MAAM,CAAC,IAAA,yBAAa,EAAC,KAAK,CAAC,OAAQ,EAAE,UAAA,MAAM,IAAI,OAAA,CAAC,MAAM,CAAC,OAAO,EAAf,CAAe,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBACrF,EAAE,EAAE,MAAA,YAAY,CAAC,QAAQ,mCAAI,SAAS;gBACtC,QAAQ,EAAE,YAAY,CAAC,QAA2B,EAAE,IAAI,EAAE,YAAY,CAAC,QAAuB;gBAC9F,YAAY,EAAE,YAAY,CAAC,YAA6B;gBACxD,OAAO,EAAE,IAAI;aACd,CAAC,CAAA;SACH;IACH,CAAC;IAED,SAAS,sBAAsB,CAAC,OAA0B,EAAE,UAAkB;QAC5E,IAAI,WAAW,GAAG,UAAU,CAAA;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE;gBACrD,WAAW,EAAE,CAAA,CAAC,iJAAiJ;aAChK;SACF;QACD,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,SAAS,2BAA2B,CAAC,KAAkD,EAAE,YAAqD;QAC5I,IAAA,gBAAM,EAAC,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,6DAA6D,CAAC,CAAA;QAClG,IAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAA,yBAAa,EAAC,KAAK,CAAC,OAAO,EAAE,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,EAAE,KAAK,YAAY,CAAC,QAAQ,EAAnC,CAAmC,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC,CAAA;QAClL,IAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC5C,IAAI,eAAe,CAAC,OAAO,EAAE;YAC3B,+BAA+B;YAC/B,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;SAC/B;aAAM;YACL,eAAe,CAAC,SAAS,GAAG,IAAI,CAAA;YAChC,eAAe,CAAC,aAAa,GAAG,KAAK,CAAA;SACtC;IACH,CAAC;IAED,SAAS,iBAAiB,CAAC,KAAkD;QAC3E,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,eAAe,EAAE;YAC3C,OAAM;SACP;QACD,IAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAA,MAAM,IAAI,OAAA,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAA1H,CAA0H,CAAC,CAAA;QACvK,IAAI,MAAM,EAAE;YACV,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;YAC5B,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;gBACrB,iBAAiB,CAAC,KAAK,CAAC,CAAA;aACzB;SACF;aAAM;YACL,0CAA0C;YAC1C,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAA,MAAM,IAAI,OAAA,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,aAAa,EAA5D,CAA4D,CAAC,CAAA;SAC7G;IACH,CAAC;IAED,SAAS,aAAa,CAAC,MAAqD,EAAE,KAAkD;QAC9H,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;YACrB,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;SACnC;aAAM;YACL,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;SACnC;QACD,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,KAAK,CAAC,EAAE;YACvD,iDAAiD;YACjD,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;SAC7B;IACH,CAAC;IAED,SAAS,mBAAmB,CAAC,MAAqD,EAAE,KAAkD;QACpI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;YACrB,MAAM,CAAC,OAAO,GAAG,KAAK,CAAA;YACtB,IAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,eAAe,CAAA;YACzF,MAAM,CAAC,SAAS,GAAG,EAAC,EAAE,EAAE,KAAK,CAAC,kBAAkB,EAAE,EAAE,QAAQ,UAAA,EAAC,CAAA;SAC9D;aAAM;YACL,IAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;YACzH,IAAM,IAAI,GAAG,IAAI,WAAW,CAAC,KAAK,CAAC,KAAc,CAAC,CAAA;YAClD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAC3C,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;gBACnJ,IAAM,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,GAAG,CAAC,CAAA;gBACzG,IAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,eAAe,CAAA;gBAClH,MAAM,CAAC,SAAS,GAAG,EAAC,EAAE,EAAE,KAAK,CAAC,kBAAkB,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,UAAA,EAAC,CAAA;aAC5F;iBAAM;gBACL,OAAO,MAAM,CAAC,SAAS,CAAA;aACxB;SACF;IACH,CAAC;IAED,SAAS,mBAAmB,CAAC,MAAqD,EAAE,KAAkD;QACpI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;YACrB,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClC,sDAAsD;gBACtD,IAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;gBAChE,IAAM,QAAQ,GAAG,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,eAAe,CAAA;gBACtF,MAAM,CAAC,SAAS,GAAG,EAAC,EAAE,EAAE,KAAK,CAAC,kBAAkB,EAAE,EAAE,QAAQ,UAAA,EAAE,WAAW,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAC,CAAA;aAC3G;iBAAM;gBACL,IAAM,QAAQ,GAAG,wBAAwB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,eAAe,CAAA;gBAC7F,MAAM,CAAC,SAAS,GAAG,EAAC,EAAE,EAAE,KAAK,CAAC,kBAAkB,EAAE,EAAE,QAAQ,UAAA,EAAC,CAAA;aAC9D;SACF;aAAM,IAAI,MAAM,CAAC,SAAS,CAAC,WAAW,KAAK,SAAS,EAAE;YACrD,IAAI,MAAM,CAAC,SAAS,CAAC,WAAW,GAAG,CAAC,EAAE;gBACpC,IAAM,mBAAmB,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW,GAAG,CAAC,CAAA;gBAC5D,IAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAA;gBACrD,IAAM,QAAQ,GAAG,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,eAAe,CAAA;gBACtF,MAAM,CAAC,SAAS,GAAG,EAAC,EAAE,EAAE,KAAK,CAAC,kBAAkB,EAAE,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,UAAA,EAAC,CAAA;aAChG;iBAAM;gBACL,IAAM,QAAQ,GAAG,wBAAwB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,eAAe,CAAA;gBAC7F,MAAM,CAAC,SAAS,GAAG,EAAC,EAAE,EAAE,KAAK,CAAC,kBAAkB,EAAE,EAAE,QAAQ,UAAA,EAAC,CAAA;aAC9D;SACF;aAAM;YACL,OAAO,MAAM,CAAC,SAAS,CAAA;YACvB,MAAM,CAAC,OAAO,GAAG,IAAI,CAAA,CAAC,qGAAqG;SAC5H;QACD,IAAM,IAAI,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAoC,CAAA;QACxG,IAAM,aAAa,GAAG,KAAK,CAAC,OAAQ,CAAC,MAAM,CAAC,UAAA,MAAM,IAAI,OAAA,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,WAAW,KAAK,SAAS,CAAC,EAAzG,CAAyG,CAAC;aAC7J,GAAG,CAAC,UAAA,MAAM,IAAI,OAAA,CAAC;YACd,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,YAAY,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,KAAK,IAAK,OAAA,KAAK,GAAG,MAAM,CAAC,SAAU,CAAC,WAAY,EAAtC,CAAsC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;SAC1I,CAAC,EAJa,CAIb,CAAC,CAAA;QACL,IAAA,yBAAa,EAAC,IAAI,EAAE,aAAa,CAAC,CAAA;QAClC,IAAI,IAAA,mBAAO,EAAC,IAAI,CAAC,IAAI,IAAI,CAAC,iBAAiB,IAAI,KAAK,CAAC,KAAK,EAAE;YAC1D,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;SACpC;QACD,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;IAC1B,CAAC;IAED,SAAS,mBAAmB,CAAC,MAAqD,EAAE,KAAkD;QACpI,OAAO;YACL,MAAM,EAAE,MAAyC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAc,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAoB;SACrH,CAAA;IACH,CAAC;IAED,SAAS,oBAAoB,CAAC,IAAwB,EAAE,MAAqD,EAAE,KAAkD;QAC/J,IAAI,CAAC,UAAU,EAAE;YACf,OAAO,CAAC,CAAA;SACT;QACD,OAAO,UAAU,CAAC,oBAAoB,CAAC,IAAY,EAAE,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;IAC1F,CAAC;IAED,SAAS,wBAAwB,CAAC,IAAwB,EAAE,MAAqD,EAAE,KAAkD;QACnK,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,wBAAwB,EAAE;YACvD,OAAO,CAAC,CAAA;SACT;QACD,OAAO,UAAU,CAAC,wBAAwB,CAAC,IAAY,EAAE,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;IAC9F,CAAC;AAEH,CAAC;AA7ZD,8BA6ZC;AAED,IAAM,gBAAgB,GAAG,GAAG,CAAA;AAE5B,SAAS,oBAAoB,CAAC,UAAkB,EAAE,eAAwB;IACxE,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,gBAAgB,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,eAAe,IAAI,QAAQ,CAAC,CAAA;AACpG,CAAC"}
@@ -8,8 +8,8 @@ declare type GameData<State = any, PlayerId = any> = {
8
8
  mode: GameMode;
9
9
  setup: State;
10
10
  state: State;
11
- notificationsChannel?: string;
11
+ notificationsChannel: string | null;
12
12
  notificationsCount: number;
13
- endDate?: Date;
13
+ endDate: Date | null;
14
14
  };
15
15
  export default GameData;
@@ -1,8 +1,10 @@
1
+ import { Action } from '@gamepark/rules-api';
1
2
  import GameNotification from './GameNotification';
2
3
  declare type MovePlayedNotification<Move, PlayerId> = GameNotification<PlayerId> & {
4
+ actionId: string | null;
3
5
  moveView: Move;
4
6
  consequences: Move[];
5
7
  };
6
- export declare function movePlayedNotification<Move, PlayerId>(playerId: PlayerId, moveView: Move, consequences: Move[]): MovePlayedNotification<Move, PlayerId>;
8
+ export declare function movePlayedNotification<Move, PlayerId>(action: Action): MovePlayedNotification<Move, PlayerId>;
7
9
  export default MovePlayedNotification;
8
10
  export declare function isMovePlayedNotification<Move, PlayerId>(notification: GameNotification<PlayerId>): notification is MovePlayedNotification<Move, PlayerId>;
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isMovePlayedNotification = exports.movePlayedNotification = void 0;
4
- function movePlayedNotification(playerId, moveView, consequences) {
5
- return { playerId: playerId, moveView: moveView, consequences: consequences };
4
+ function movePlayedNotification(action) {
5
+ var _a;
6
+ return { actionId: (_a = action.id) !== null && _a !== void 0 ? _a : null, playerId: action.playerId, moveView: action.move, consequences: action.consequences };
6
7
  }
7
8
  exports.movePlayedNotification = movePlayedNotification;
8
9
  function isMovePlayedNotification(notification) {
@@ -1 +1 @@
1
- {"version":3,"file":"MovePlayedNotification.js","sourceRoot":"","sources":["../../src/Types/MovePlayedNotification.ts"],"names":[],"mappings":";;;AAOA,SAAgB,sBAAsB,CAAiB,QAAkB,EAAE,QAAc,EAAE,YAAoB;IAC7G,OAAO,EAAC,QAAQ,UAAA,EAAE,QAAQ,UAAA,EAAE,YAAY,cAAA,EAAC,CAAA;AAC3C,CAAC;AAFD,wDAEC;AAID,SAAgB,wBAAwB,CAAiB,YAAwC;IAC/F,OAAQ,YAAuD,CAAC,QAAQ,IAAI,SAAS,CAAA;AACvF,CAAC;AAFD,4DAEC"}
1
+ {"version":3,"file":"MovePlayedNotification.js","sourceRoot":"","sources":["../../src/Types/MovePlayedNotification.ts"],"names":[],"mappings":";;;AASA,SAAgB,sBAAsB,CAAiB,MAAc;;IACnE,OAAO,EAAC,QAAQ,EAAE,MAAA,MAAM,CAAC,EAAE,mCAAI,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAC,CAAA;AAC3H,CAAC;AAFD,wDAEC;AAID,SAAgB,wBAAwB,CAAiB,YAAwC;IAC/F,OAAQ,YAAuD,CAAC,QAAQ,IAAI,SAAS,CAAA;AACvF,CAAC;AAFD,4DAEC"}
@@ -1,10 +1,9 @@
1
+ import { Action } from '@gamepark/rules-api';
1
2
  import GameNotification from './GameNotification';
2
3
  declare type MoveUndoneNotification<PlayerId> = GameNotification<PlayerId> & {
4
+ actionId: string | null;
3
5
  moveUndone: number;
4
6
  };
5
7
  export default MoveUndoneNotification;
6
- export declare function moveUndoneNotification<PlayerId>(playerId: PlayerId, moveUndone: number): {
7
- playerId: PlayerId;
8
- moveUndone: number;
9
- };
8
+ export declare function moveUndoneNotification<PlayerId>(action: Action<any, PlayerId>, moveUndone: number): MoveUndoneNotification<PlayerId>;
10
9
  export declare function isMoveUndoneNotification<PlayerId>(notification: GameNotification<PlayerId>): notification is MoveUndoneNotification<PlayerId>;
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isMoveUndoneNotification = exports.moveUndoneNotification = void 0;
4
- function moveUndoneNotification(playerId, moveUndone) {
5
- return { playerId: playerId, moveUndone: moveUndone };
4
+ function moveUndoneNotification(action, moveUndone) {
5
+ var _a;
6
+ return { playerId: action.playerId, actionId: (_a = action.id) !== null && _a !== void 0 ? _a : null, moveUndone: moveUndone };
6
7
  }
7
8
  exports.moveUndoneNotification = moveUndoneNotification;
8
9
  function isMoveUndoneNotification(notification) {
@@ -1 +1 @@
1
- {"version":3,"file":"MoveUndoneNotification.js","sourceRoot":"","sources":["../../src/Types/MoveUndoneNotification.ts"],"names":[],"mappings":";;;AAQA,SAAgB,sBAAsB,CAAW,QAAkB,EAAE,UAAkB;IACrF,OAAO,EAAC,QAAQ,UAAA,EAAE,UAAU,YAAA,EAAC,CAAA;AAC/B,CAAC;AAFD,wDAEC;AAED,SAAgB,wBAAwB,CAAW,YAAwC;IACzF,OAAQ,YAAiD,CAAC,UAAU,IAAI,SAAS,CAAA;AACnF,CAAC;AAFD,4DAEC"}
1
+ {"version":3,"file":"MoveUndoneNotification.js","sourceRoot":"","sources":["../../src/Types/MoveUndoneNotification.ts"],"names":[],"mappings":";;;AAUA,SAAgB,sBAAsB,CAAW,MAA6B,EAAE,UAAkB;;IAChG,OAAO,EAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAA,MAAM,CAAC,EAAE,mCAAI,IAAI,EAAE,UAAU,YAAA,EAAC,CAAA;AAC7E,CAAC;AAFD,wDAEC;AAED,SAAgB,wBAAwB,CAAW,YAAwC;IACzF,OAAQ,YAAiD,CAAC,UAAU,IAAI,SAAS,CAAA;AACnF,CAAC;AAFD,4DAEC"}
@@ -1,3 +1,4 @@
1
1
  export { default as UndoButton } from './UndoButton';
2
2
  export { default as UndoPopButton } from './UndoPopButton';
3
3
  export { default as useUndo } from './useUndo';
4
+ export * from './useUndo';
@@ -1,4 +1,14 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
2
12
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
13
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
14
  };
@@ -10,4 +20,5 @@ var UndoPopButton_1 = require("./UndoPopButton");
10
20
  Object.defineProperty(exports, "UndoPopButton", { enumerable: true, get: function () { return __importDefault(UndoPopButton_1).default; } });
11
21
  var useUndo_1 = require("./useUndo");
12
22
  Object.defineProperty(exports, "useUndo", { enumerable: true, get: function () { return __importDefault(useUndo_1).default; } });
23
+ __exportStar(require("./useUndo"), exports);
13
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Undo/index.ts"],"names":[],"mappings":";;;;;;AAAA,2CAAkD;AAA1C,yHAAA,OAAO,OAAc;AAC7B,iDAAwD;AAAhD,+HAAA,OAAO,OAAiB;AAChC,qCAA4C;AAApC,mHAAA,OAAO,OAAW"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Undo/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAkD;AAA1C,yHAAA,OAAO,OAAc;AAC7B,iDAAwD;AAAhD,+HAAA,OAAO,OAAiB;AAChC,qCAA4C;AAApC,mHAAA,OAAO,OAAW;AAC1B,4CAAyB"}
@@ -1,6 +1,7 @@
1
- declare type UndoOptions = {
1
+ export declare type UndoOptions = {
2
2
  delayed?: boolean;
3
3
  };
4
- declare type UndoFunction<Move> = (arg?: Move | UndoOptions, options?: UndoOptions) => void;
5
- export default function useUndo<State, Move, PlayerId>(): [UndoFunction<Move>, (move?: Move) => boolean];
6
- export {};
4
+ export declare type MovePredicate<Move> = (move: Move) => boolean;
5
+ export declare type CanUndo<Move> = (movePredicate?: MovePredicate<Move>) => boolean;
6
+ export declare type UndoFunction<Move> = ((arg?: string | MovePredicate<Move> | UndoOptions, options?: UndoOptions) => void);
7
+ export default function useUndo<Move = any, PlayerId = any, State = any>(): [UndoFunction<Move>, CanUndo<Move>];
@@ -1,63 +1,56 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  var rules_api_1 = require("@gamepark/rules-api");
7
- var fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
8
4
  var react_1 = require("react");
9
5
  var react_redux_1 = require("react-redux");
6
+ var MoveLegacyUndone_1 = require("../Actions/MoveLegacyUndone");
10
7
  var MoveUndone_1 = require("../Actions/MoveUndone");
11
8
  var GameContext_1 = require("../GameProvider/GameContext");
12
9
  var ArrayUtil_1 = require("../util/ArrayUtil");
13
- function isUndoOptions(arg) {
14
- if (typeof arg !== 'object')
15
- return false;
16
- var ownPropertyNames = Object.getOwnPropertyNames(arg);
17
- return ownPropertyNames.length === 1 && ownPropertyNames[0] === 'delayed';
18
- }
19
10
  function useUndo() {
20
11
  var _a;
21
- var state = (0, react_redux_1.useSelector)(function (state) { return state; });
22
- var Game = (_a = (0, react_1.useContext)(GameContext_1.gameContext)) === null || _a === void 0 ? void 0 : _a.RulesView;
23
- if (!Game)
24
- throw new Error('Cannot useUndo outside a GameProvider');
12
+ var actions = (0, react_redux_1.useSelector)(function (state) { return state.actions; });
13
+ var setup = (0, react_redux_1.useSelector)(function (state) { return state.setup; });
14
+ var playerId = (0, react_redux_1.useSelector)(function (state) { return state.playerId; });
25
15
  var dispatch = (0, react_redux_1.useDispatch)();
26
- return [function (arg, options) {
27
- if (isUndoOptions(arg)) {
28
- dispatch(undo(state, undefined, arg.delayed));
16
+ var RulesView = (_a = (0, react_1.useContext)(GameContext_1.gameContext)) === null || _a === void 0 ? void 0 : _a.RulesView;
17
+ if (!RulesView)
18
+ throw new Error('Cannot useUndo outside a GameProvider');
19
+ var undo = (0, react_1.useCallback)(function (arg, options) {
20
+ if (typeof arg === 'string') {
21
+ dispatch((0, MoveUndone_1.moveUndone)(arg, options === null || options === void 0 ? void 0 : options.delayed));
22
+ }
23
+ else {
24
+ if (!actions)
25
+ return console.error('Cannot undo before actions history is loaded');
26
+ var action = (0, ArrayUtil_1.findLastItem)(actions, function (action) { return action.playerId === playerId && !action.cancelled && (typeof arg !== 'function' || arg(action.move)); });
27
+ if (!action)
28
+ return console.error('This action does not exists, it cannot be undone');
29
+ var delayed = typeof arg !== 'function' ? arg === null || arg === void 0 ? void 0 : arg.delayed : options === null || options === void 0 ? void 0 : options.delayed;
30
+ if (action.id) {
31
+ dispatch((0, MoveUndone_1.moveUndone)(action.id, delayed));
29
32
  }
30
33
  else {
31
- dispatch(undo(state, arg, options === null || options === void 0 ? void 0 : options.delayed));
34
+ var playerActions = actions.filter(function (action) { return action.playerId === playerId && !action.cancelled; });
35
+ var index = playerActions.lastIndexOf(action);
36
+ dispatch((0, MoveLegacyUndone_1.moveUndoneLegacy)(index, delayed));
32
37
  }
33
- }, function (move) {
34
- if (!Game) {
35
- console.error('A GameContext is required to use canUndo function in useUndo hook');
36
- }
37
- return canUndo(Game, state, move);
38
- }];
38
+ }
39
+ }, [actions, playerId, dispatch]);
40
+ var canUndo = (0, react_1.useCallback)(function (movePredicate) {
41
+ if (!setup || !actions)
42
+ return false;
43
+ var index = (0, ArrayUtil_1.findLastIndex)(actions, function (action) { return action.playerId === playerId && !action.cancelled && (!movePredicate || movePredicate(action.move)); });
44
+ if (index === -1)
45
+ return false;
46
+ var consecutiveActions = actions.slice(index + 1).filter(function (action) { return !action.cancelled; });
47
+ var game = new RulesView(JSON.parse(JSON.stringify(setup)));
48
+ if (!(0, rules_api_1.hasUndo)(game))
49
+ return false;
50
+ (0, rules_api_1.replayActions)(game, actions.filter(function (action) { return !action.delayed && !action.cancelled; }));
51
+ return game.canUndo(actions[index], consecutiveActions);
52
+ }, [setup, actions, playerId, RulesView]);
53
+ return [undo, canUndo];
39
54
  }
40
55
  exports.default = useUndo;
41
- function undo(state, move, delayed) {
42
- if (!state.actions) {
43
- return console.error('Cannot undo before actions history is loaded');
44
- }
45
- var playerActions = state.actions.filter(function (action) { return action.playerId === state.playerId && !action.cancelled; });
46
- var actionIndex = move ? playerActions.findIndex(function (action) { return (0, fast_deep_equal_1.default)(action.move, move); }) : playerActions.length - 1;
47
- if (actionIndex === -1) {
48
- return move ? console.error('Cannot undo: player action history does not contain this move', move)
49
- : console.error('Cannot undo: player did not play any move yet');
50
- }
51
- return (0, MoveUndone_1.moveUndone)(actionIndex, delayed);
52
- }
53
- function canUndo(Game, state, move) {
54
- if (!state.setup || !state.actions) {
55
- return false;
56
- }
57
- var i = (0, ArrayUtil_1.findLastIndex)(state.actions, function (action) { return action.playerId === state.playerId && !action.cancelled && (!move || (0, fast_deep_equal_1.default)(action.move, move)); });
58
- var consecutiveActions = state.actions.slice(i + 1).filter(function (action) { return !action.cancelled; });
59
- var game = new Game(JSON.parse(JSON.stringify(state.setup)));
60
- (0, rules_api_1.replayActions)(game, state.actions.filter(function (action) { return !action.delayed && !action.cancelled; }));
61
- return i !== -1 && (0, rules_api_1.hasUndo)(game) && game.canUndo(state.actions[i], consecutiveActions);
62
- }
63
56
  //# sourceMappingURL=useUndo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useUndo.js","sourceRoot":"","sources":["../../src/Undo/useUndo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useUndo.js","sourceRoot":"","sources":["../../src/Undo/useUndo.ts"],"names":[],"mappings":";;AAAA,iDAA0D;AAC1D,+BAA6C;AAC7C,2CAAoD;AACpD,gEAA4D;AAC5D,oDAAgD;AAChD,2DAAuD;AAGvD,+CAA6D;AAO7D,SAAwB,OAAO;;IAC7B,IAAM,OAAO,GAAG,IAAA,yBAAW,EAAsF,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,OAAO,EAAb,CAAa,CAAC,CAAA;IACxI,IAAM,KAAK,GAAG,IAAA,yBAAW,EAA0D,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,KAAK,EAAX,CAAW,CAAC,CAAA;IACxG,IAAM,QAAQ,GAAG,IAAA,yBAAW,EAA6D,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,QAAQ,EAAd,CAAc,CAAC,CAAA;IACjH,IAAM,QAAQ,GAAG,IAAA,yBAAW,GAAE,CAAA;IAC9B,IAAM,SAAS,GAAG,MAAA,IAAA,kBAAU,EAAC,yBAAW,CAAC,0CAAE,SAAS,CAAA;IACpD,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;IAExE,IAAM,IAAI,GAAuB,IAAA,mBAAW,EAAC,UAAC,GAAgD,EAAE,OAAqB;QACnH,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAC3B,QAAQ,CAAC,IAAA,uBAAU,EAAC,GAAG,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,CAAC,CAAA;SAC5C;aAAM;YACL,IAAI,CAAC,OAAO;gBAAE,OAAO,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAA;YAClF,IAAM,MAAM,GAAG,IAAA,wBAAY,EAAC,OAAO,EAAE,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,OAAO,GAAG,KAAK,UAAU,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAApG,CAAoG,CAAC,CAAA;YACpJ,IAAI,CAAC,MAAM;gBAAE,OAAO,OAAO,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAA;YACrF,IAAM,OAAO,GAAG,OAAO,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,CAAC,CAAC,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAA;YAC3E,IAAI,MAAM,CAAC,EAAE,EAAE;gBACb,QAAQ,CAAC,IAAA,uBAAU,EAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;aACzC;iBAAM;gBACL,IAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,EAAjD,CAAiD,CAAC,CAAA;gBACjG,IAAM,KAAK,GAAG,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;gBAC/C,QAAQ,CAAC,IAAA,mCAAgB,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;aAC3C;SACF;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;IAEjC,IAAM,OAAO,GAAkB,IAAA,mBAAW,EAAC,UAAC,aAAmC;QAC7E,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAA;QACpC,IAAM,KAAK,GAAG,IAAA,yBAAa,EAAC,OAAO,EAAE,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAnG,CAAmG,CAAC,CAAA;QACnJ,IAAI,KAAK,KAAK,CAAC,CAAC;YAAE,OAAO,KAAK,CAAA;QAC9B,IAAM,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,UAAA,MAAM,IAAI,OAAA,CAAC,MAAM,CAAC,SAAS,EAAjB,CAAiB,CAAC,CAAA;QACvF,IAAM,IAAI,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAC7D,IAAI,CAAC,IAAA,mBAAO,EAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAA;QAChC,IAAA,yBAAa,EAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,UAAA,MAAM,IAAI,OAAA,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAApC,CAAoC,CAAC,CAAC,CAAA;QACnF,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,kBAAkB,CAAC,CAAA;IACzD,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAA;IAEzC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AACxB,CAAC;AAtCD,0BAsCC"}
@@ -1,3 +1,4 @@
1
+ import { ApolloError } from '@apollo/client';
1
2
  import { Dispatch } from 'redux';
2
3
  import RematchNotification from '../../Types/RematchNotification';
3
4
  import GameAPI from '../GameAPI';
@@ -10,16 +11,16 @@ export default class GameClientAPI<Move = any, PlayerId = any> implements GameAP
10
11
  private readonly gameId;
11
12
  private ongoingAction?;
12
13
  private pendingActions;
13
- private readonly apolloClient;
14
14
  constructor(gameId: string);
15
15
  init(dispatch: Dispatch): Promise<void>;
16
16
  play(move: Move): void;
17
- undo(playerActionIndex: number): void;
17
+ undo(action: number | string): void;
18
+ legacyUndo(playerActionIndex: number): void;
18
19
  private executePendingActions;
19
20
  private handleGameMessageResult;
20
21
  rematch(): Promise<RematchNotification<PlayerId>>;
21
22
  eject(playerId: PlayerId): void;
22
23
  giveUp(): void;
23
- private errorLink;
24
+ onError({ graphQLErrors, networkError }: ApolloError): void;
24
25
  playTutorialMoves(): void;
25
26
  }