@gamepark/react-client 6.0.10-alpha.0 → 6.1.0

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.
@@ -5,5 +5,9 @@ import { Animations } from '../animations';
5
5
  import { GiveUp } from '../GiveUp';
6
6
  import { MuteSounds, UnmuteSounds } from '../Sound';
7
7
  import { GamePageState } from './GamePageState';
8
+ export declare type GameReducerContext<Game = any, Move = any, PlayerId = any> = {
9
+ Rules: RulesCreator<Game, Move, PlayerId>;
10
+ animations?: Animations<Game, Move, PlayerId>;
11
+ };
8
12
  export declare type GameActions<Game = any, Move = any, PlayerId = any> = GameStateLoaded<Game, PlayerId> | GameNotificationsReceived<PlayerId> | MovePlayed<Move> | MoveUndone | AnimationStart | AnimationComplete | AnimationPaused | ActionFailed | ClearFailures | SetAnimationsSpeed | GiveUp | MuteSounds | UnmuteSounds | GameOver<PlayerId>;
9
- export declare function gameReducer<Game, Move, PlayerId>(GameRules: RulesCreator<Game, Move, PlayerId>, animations?: Animations): Reducer<GamePageState<Game, Move, PlayerId>, GameActions<Game, Move, PlayerId>>;
13
+ export declare function gameReducer<Game, Move, PlayerId>(context: GameReducerContext<Game, Move, PlayerId>): Reducer<GamePageState<Game, Move, PlayerId>, GameActions<Game, Move, PlayerId>>;
@@ -27,10 +27,13 @@ var Types_1 = require("../Types");
27
27
  var ArrayUtil_1 = require("../util/ArrayUtil");
28
28
  var DisplayedAction_1 = require("./DisplayedAction");
29
29
  var Failure_1 = require("../Failure");
30
- function gameReducer(GameRules, animations) {
31
- if (animations === void 0) { animations = new animations_1.Animations(); }
30
+ function gameReducer(context) {
31
+ var _a;
32
+ var GameRules = context.Rules;
33
+ var animations = (_a = context.animations) !== null && _a !== void 0 ? _a : new animations_1.Animations();
32
34
  var initialState = {
33
- players: [], pendingNotifications: [], nextNotificationIndex: 0, failures: [], animationIncrement: 0, animationsSpeed: 1, animationPaused: false,
35
+ players: [], pendingNotifications: [], nextNotificationIndex: 0, failures: [],
36
+ animationIncrement: 0, animationsSpeed: 1, animationPaused: false,
34
37
  soundsMuted: (0, Sound_1.soundsMuted)(), clientTimeDelta: 0
35
38
  };
36
39
  return function (state, event) {
@@ -78,8 +81,8 @@ function gameReducer(GameRules, animations) {
78
81
  if (!draft.state)
79
82
  throw new Error('Cannot play move before game state is loaded');
80
83
  if (event.local) {
81
- var rules = new GameRules(draft.state);
82
- rules.play(JSON.parse(JSON.stringify(event.move)));
84
+ var rules_1 = new GameRules(draft.state);
85
+ rules_1.play(JSON.parse(JSON.stringify(event.move)));
83
86
  return;
84
87
  }
85
88
  if (!draft.actions)
@@ -93,18 +96,27 @@ function gameReducer(GameRules, animations) {
93
96
  played: 0,
94
97
  pending: true
95
98
  };
96
- if (event.delayed) {
99
+ var rules = getGameAfterAnimations(draft);
100
+ var isUnpredictable = function (move) { return (0, rules_api_1.hasUnpredictableMoves)(rules) && rules.isUnpredictableMove(move, action.playerId); };
101
+ if (event.delayed || isUnpredictable(event.move)) {
97
102
  action.delayed = true;
98
103
  }
99
104
  else {
100
- var rules = getGameAfterAnimations(draft);
101
- if ((0, rules_api_1.hasUnpredictableMoves)(rules)) {
102
- rules = new rules_api_1.UnpredictableMoveFilter(rules, state.playerId);
103
- }
104
- action.consequences = (0, rules_api_1.playAction)(rules, event.move, state.playerId).consequences;
105
+ action.consequences = [];
106
+ var pendingMoves_1 = rules.play(event.move);
107
+ (0, rules_api_1.loopWithFuse)(function () {
108
+ if (pendingMoves_1.length === 0 && rules.getAutomaticMoves) {
109
+ pendingMoves_1.push.apply(pendingMoves_1, rules.getAutomaticMoves());
110
+ }
111
+ var move = pendingMoves_1.shift();
112
+ if (!move || isUnpredictable(move))
113
+ return false;
114
+ action.consequences.push(move);
115
+ pendingMoves_1.unshift.apply(pendingMoves_1, rules.play(JSON.parse(JSON.stringify(move))));
116
+ return true;
117
+ }, { errorFn: function () { return new Error("Infinite loop detected while applying move consequences: ".concat(JSON.stringify(action), ")")); } });
105
118
  if (event.skipAnimation) {
106
- rules.play(JSON.parse(JSON.stringify(event.move)));
107
- action.played++;
119
+ playNextMove(action, draft);
108
120
  }
109
121
  else {
110
122
  animatePlayedAction(action, draft);
@@ -385,12 +397,7 @@ function gameReducer(GameRules, animations) {
385
397
  }
386
398
  }
387
399
  function getAnimationContext(action, draft, step) {
388
- return {
389
- action: action,
390
- state: draft.state,
391
- playerId: draft.playerId,
392
- step: step
393
- };
400
+ return __assign(__assign({}, context), { action: action, game: draft.state, playerId: draft.playerId, step: step });
394
401
  }
395
402
  }
396
403
  exports.gameReducer = gameReducer;
@@ -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":"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"}
@@ -1,6 +1,4 @@
1
- import { AvatarProps } from '@gamepark/avataaars';
2
1
  export interface TutorialDescription<Game, Move = string, PlayerId = number> {
3
2
  setupTutorial(): [Game, PlayerId[]];
4
3
  expectedMoves(): (Move | Move[])[];
5
- avatar?(playerId: PlayerId): AvatarProps;
6
4
  }
@@ -4,23 +4,20 @@ exports.useTutorial = void 0;
4
4
  var react_redux_1 = require("react-redux");
5
5
  var Types_1 = require("../Types");
6
6
  var PlayTutorialMoves_1 = require("./PlayTutorialMoves");
7
+ var react_1 = require("react");
7
8
  function useTutorial() {
8
- var gameMode = (0, react_redux_1.useSelector)(function (state) { return ({ gameMode: state.gameMode }); }).gameMode;
9
+ var gameMode = (0, react_redux_1.useSelector)(function (state) { return state.gameMode; });
9
10
  var dispatch = (0, react_redux_1.useDispatch)();
10
- if (gameMode !== Types_1.GameMode.TUTORIAL)
11
- return;
12
- var playTutorialMoves = function (quantity) {
11
+ var playNextMoves = (0, react_1.useCallback)(function (quantity) {
13
12
  if (quantity === void 0) { quantity = 1; }
14
13
  return dispatch((0, PlayTutorialMoves_1.playTutorialMovesAction)(quantity));
15
- };
16
- return {
17
- playNextMoves: playTutorialMoves,
18
- playNextMove: function () { return playTutorialMoves(); },
19
- setOpponentsPlayAutomatically: function (value) {
20
- if (value === void 0) { value = true; }
21
- return value ? playTutorialMoves(Infinity) : playTutorialMoves(0);
22
- }
23
- };
14
+ }, [dispatch]);
15
+ var playNextMove = (0, react_1.useCallback)(function () { return playNextMoves(); }, [playNextMoves]);
16
+ var setOpponentsPlayAutomatically = (0, react_1.useCallback)(function (value) {
17
+ if (value === void 0) { value = true; }
18
+ return value ? playNextMoves(Infinity) : playNextMoves(0);
19
+ }, [playNextMoves]);
20
+ return gameMode === Types_1.GameMode.TUTORIAL ? { playNextMoves: playNextMoves, playNextMove: playNextMove, setOpponentsPlayAutomatically: setOpponentsPlayAutomatically } : undefined;
24
21
  }
25
22
  exports.useTutorial = useTutorial;
26
23
  //# sourceMappingURL=useTutorial.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTutorial.js","sourceRoot":"","sources":["../../src/Tutorial/useTutorial.ts"],"names":[],"mappings":";;;AAAA,2CAAsD;AAEtD,kCAAmC;AACnC,yDAA6D;AAG7D,SAAgB,WAAW;IACjB,IAAA,QAAQ,GAAK,IAAA,yBAAW,EAAC,UAAC,KAAoB,IAAK,OAAA,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,EAA9B,CAA8B,CAAC,SAA1E,CAA0E;IAC1F,IAAM,QAAQ,GAAG,IAAA,yBAAW,GAAE,CAAA;IAC9B,IAAI,QAAQ,KAAK,gBAAQ,CAAC,QAAQ;QAAE,OAAM;IAC1C,IAAM,iBAAiB,GAAG,UAAC,QAAY;QAAZ,yBAAA,EAAA,YAAY;QAAK,OAAA,QAAQ,CAAC,IAAA,2CAAuB,EAAC,QAAQ,CAAC,CAAC;IAA3C,CAA2C,CAAA;IACvF,OAAO;QACL,aAAa,EAAE,iBAAiB;QAChC,YAAY,EAAE,cAAM,OAAA,iBAAiB,EAAE,EAAnB,CAAmB;QACvC,6BAA6B,EAAE,UAAC,KAAY;YAAZ,sBAAA,EAAA,YAAY;YAAK,OAAA,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAA1D,CAA0D;KAC5G,CAAA;AACH,CAAC;AAVD,kCAUC"}
1
+ {"version":3,"file":"useTutorial.js","sourceRoot":"","sources":["../../src/Tutorial/useTutorial.ts"],"names":[],"mappings":";;;AAAA,2CAAsD;AAEtD,kCAAmC;AACnC,yDAA6D;AAE7D,+BAAmC;AAEnC,SAAgB,WAAW;IACzB,IAAM,QAAQ,GAAG,IAAA,yBAAW,EAAC,UAAC,KAAoB,IAAK,OAAA,KAAK,CAAC,QAAQ,EAAd,CAAc,CAAC,CAAA;IACtE,IAAM,QAAQ,GAAG,IAAA,yBAAW,GAAE,CAAA;IAC9B,IAAM,aAAa,GAAG,IAAA,mBAAW,EAAC,UAAC,QAAY;QAAZ,yBAAA,EAAA,YAAY;QAAK,OAAA,QAAQ,CAAC,IAAA,2CAAuB,EAAC,QAAQ,CAAC,CAAC;IAA3C,CAA2C,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC5G,IAAM,YAAY,GAAG,IAAA,mBAAW,EAAC,cAAM,OAAA,aAAa,EAAE,EAAf,CAAe,EAAE,CAAC,aAAa,CAAC,CAAC,CAAA;IACxE,IAAM,6BAA6B,GAAG,IAAA,mBAAW,EAAC,UAAC,KAAY;QAAZ,sBAAA,EAAA,YAAY;QAAK,OAAA,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;IAAlD,CAAkD,EAAE,CAAC,aAAa,CAAC,CAAC,CAAA;IACxI,OAAO,QAAQ,KAAK,gBAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,aAAa,eAAA,EAAE,YAAY,cAAA,EAAE,6BAA6B,+BAAA,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;AACpH,CAAC;AAPD,kCAOC"}
@@ -2,7 +2,7 @@ import { AnimationStep } from './AnimationStep';
2
2
  import { DisplayedAction } from '../Store';
3
3
  export declare type AnimationContext<Game, Move, PlayerId> = {
4
4
  action: DisplayedAction<Move, PlayerId>;
5
- state: Game;
5
+ game: Game;
6
6
  step: AnimationStep;
7
7
  playerId?: PlayerId;
8
8
  };
@@ -1,10 +1,7 @@
1
1
  import { PropsWithChildren } from 'react';
2
- import { Animations } from '../../animations';
3
- import { RulesCreator } from '@gamepark/rules-api';
2
+ import { GameReducerContext } from '../../Store/gameReducer';
4
3
  declare type RemoveGameProviderProps<Game = any, Move = any, PlayerId = any> = {
5
- Rules: RulesCreator<Game, Move, PlayerId>;
6
4
  gameId: string;
7
- animations?: Animations<Game, Move, PlayerId>;
8
- };
9
- export declare function RemoteGameProvider<Game = any, Move = any, PlayerId = any>({ Rules, gameId, animations, children }: PropsWithChildren<RemoveGameProviderProps<Game, Move, PlayerId>>): JSX.Element;
5
+ } & GameReducerContext<Game, Move, PlayerId>;
6
+ export declare function RemoteGameProvider<Game = any, Move = any, PlayerId = any>({ gameId, children, ...context }: PropsWithChildren<RemoveGameProviderProps<Game, Move, PlayerId>>): JSX.Element;
10
7
  export {};
@@ -10,6 +10,17 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
+ var __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
23
+ };
13
24
  var __importDefault = (this && this.__importDefault) || function (mod) {
14
25
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
26
  };
@@ -38,15 +49,15 @@ var authEndpoint = index_1.PLATFORM_URI + ((_a = process.env.REACT_APP_PUSHER_EN
38
49
  var clientKey = (_b = process.env.REACT_APP_PUSHER_KEY) !== null && _b !== void 0 ? _b : '747557f1e8edf7fc2816';
39
50
  var cluster = (_c = process.env.REACT_APP_PUSHER_CLUSTER) !== null && _c !== void 0 ? _c : 'eu';
40
51
  function RemoteGameProvider(_a) {
41
- var Rules = _a.Rules, gameId = _a.gameId, animations = _a.animations, children = _a.children;
42
- var store = (0, react_1.useMemo)(function () { return createRemoteApiStore(Rules, gameId, animations); }, []);
52
+ var gameId = _a.gameId, children = _a.children, context = __rest(_a, ["gameId", "children"]);
53
+ var store = (0, react_1.useMemo)(function () { return createRemoteApiStore(gameId, context); }, []);
43
54
  return ((0, jsx_runtime_1.jsx)(use_pusher_1.PusherProvider, __assign({ authEndpoint: authEndpoint, clientKey: clientKey, cluster: cluster }, { children: (0, jsx_runtime_1.jsxs)(react_redux_1.Provider, __assign({ store: store }, { children: [(0, jsx_runtime_1.jsx)(RemoteGameLoader_1.RemoteGameLoader, { gameId: gameId }), children] })) })));
44
55
  }
45
56
  exports.RemoteGameProvider = RemoteGameProvider;
46
- function createRemoteApiStore(Rules, gameId, animations) {
57
+ function createRemoteApiStore(gameId, context) {
47
58
  var api = new GameClientAPI_1.GameClientAPI(gameId);
48
- var reducer = (0, gameReducer_1.gameReducer)(Rules, animations);
49
- var store = (0, redux_1.createStore)(reducer, (0, redux_1.applyMiddleware)((0, gameMiddleware_1.gameMiddleware)(api, Rules)));
59
+ var reducer = (0, gameReducer_1.gameReducer)(context);
60
+ var store = (0, redux_1.createStore)(reducer, (0, redux_1.applyMiddleware)((0, gameMiddleware_1.gameMiddleware)(api, context.Rules)));
50
61
  store.subscribe((0, animations_1.createAnimationsListener)(store));
51
62
  api.init(store.dispatch);
52
63
  return store;
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteGameProvider.js","sourceRoot":"","sources":["../../../src/api/Client/RemoteGameProvider.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,mDAAqD;AACrD,wDAA8B;AAE9B,+BAAkD;AAClD,2CAAsC;AACtC,+BAAoD;AACpD,+CAAuE;AACvE,qCAA0C;AAC1C,6DAA2D;AAC3D,uDAAqD;AACrD,iDAA+C;AAC/C,uDAAqD;AAGrD,mBAAM,CAAC,YAAY,GAAG,IAAI,CAAA;AAE1B,mBAAM,CAAC,OAAO,CAAC,SAAS,GAAG;IACzB,IAAM,GAAG,GAAG,IAAI,cAAc,EAAU,CAAA;IACxC,GAAG,CAAC,eAAe,GAAG,IAAI,CAAA;IAC1B,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,IAAM,YAAY,GAAG,oBAAY,GAAG,CAAC,MAAA,OAAO,CAAC,GAAG,CAAC,yBAAyB,mCAAI,kBAAkB,CAAC,CAAA;AACjG,IAAM,SAAS,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,oBAAoB,mCAAI,sBAAsB,CAAA;AAC5E,IAAM,OAAO,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,wBAAwB,mCAAI,IAAI,CAAA;AAQ5D,SAAgB,kBAAkB,CAChC,EAAyG;QAAvG,KAAK,WAAA,EAAE,MAAM,YAAA,EAAE,UAAU,gBAAA,EAAE,QAAQ,cAAA;IAErC,IAAM,KAAK,GAAG,IAAA,eAAO,EAAC,cAAM,OAAA,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAA/C,CAA+C,EAAE,EAAE,CAAC,CAAA;IAChF,OAAO,CACL,uBAAC,2BAAc,aAAC,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,gBAChF,wBAAC,sBAAQ,aAAC,KAAK,EAAE,KAAK,iBACpB,uBAAC,mCAAgB,IAAC,MAAM,EAAE,MAAM,GAAG,EAClC,QAAQ,KACA,IACI,CAClB,CAAA;AACH,CAAC;AAZD,gDAYC;AAED,SAAS,oBAAoB,CAC3B,KAAyC,EAAE,MAAc,EAAE,UAA6C;IAExG,IAAM,GAAG,GAAG,IAAI,6BAAa,CAAC,MAAM,CAAC,CAAA;IACrC,IAAM,OAAO,GAAG,IAAA,yBAAW,EAAC,KAAK,EAAE,UAAU,CAAC,CAAA;IAC9C,IAAM,KAAK,GAAG,IAAA,mBAAW,EAAC,OAAO,EAAE,IAAA,uBAAe,EAAC,IAAA,+BAAc,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;IAC/E,KAAK,CAAC,SAAS,CAAC,IAAA,qCAAwB,EAAC,KAAK,CAAC,CAAC,CAAA;IAChD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IACxB,OAAO,KAAK,CAAA;AACd,CAAC"}
1
+ {"version":3,"file":"RemoteGameProvider.js","sourceRoot":"","sources":["../../../src/api/Client/RemoteGameProvider.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAqD;AACrD,wDAA8B;AAE9B,+BAAkD;AAClD,2CAAsC;AACtC,+BAAoD;AACpD,+CAA2D;AAC3D,qCAA0C;AAC1C,6DAA2D;AAC3D,uDAAyE;AACzE,iDAA+C;AAC/C,uDAAqD;AAErD,mBAAM,CAAC,YAAY,GAAG,IAAI,CAAA;AAE1B,mBAAM,CAAC,OAAO,CAAC,SAAS,GAAG;IACzB,IAAM,GAAG,GAAG,IAAI,cAAc,EAAU,CAAA;IACxC,GAAG,CAAC,eAAe,GAAG,IAAI,CAAA;IAC1B,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,IAAM,YAAY,GAAG,oBAAY,GAAG,CAAC,MAAA,OAAO,CAAC,GAAG,CAAC,yBAAyB,mCAAI,kBAAkB,CAAC,CAAA;AACjG,IAAM,SAAS,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,oBAAoB,mCAAI,sBAAsB,CAAA;AAC5E,IAAM,OAAO,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,wBAAwB,mCAAI,IAAI,CAAA;AAM5D,SAAgB,kBAAkB,CAChC,EAAkG;IAAhG,IAAA,MAAM,YAAA,EAAE,QAAQ,cAAA,EAAK,OAAO,cAA9B,sBAAgC,CAAF;IAE9B,IAAM,KAAK,GAAG,IAAA,eAAO,EAAC,cAAM,OAAA,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,EAArC,CAAqC,EAAE,EAAE,CAAC,CAAA;IACtE,OAAO,CACL,uBAAC,2BAAc,aAAC,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,gBAChF,wBAAC,sBAAQ,aAAC,KAAK,EAAE,KAAK,iBACpB,uBAAC,mCAAgB,IAAC,MAAM,EAAE,MAAM,GAAG,EAClC,QAAQ,KACA,IACI,CAClB,CAAA;AACH,CAAC;AAZD,gDAYC;AAED,SAAS,oBAAoB,CAC3B,MAAc,EAAE,OAAiD;IAEjE,IAAM,GAAG,GAAG,IAAI,6BAAa,CAAC,MAAM,CAAC,CAAA;IACrC,IAAM,OAAO,GAAG,IAAA,yBAAW,EAAC,OAAO,CAAC,CAAA;IACpC,IAAM,KAAK,GAAG,IAAA,mBAAW,EAAC,OAAO,EAAE,IAAA,uBAAe,EAAC,IAAA,+BAAc,EAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACvF,KAAK,CAAC,SAAS,CAAC,IAAA,qCAAwB,EAAC,KAAK,CAAC,CAAC,CAAA;IAChD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IACxB,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -9,7 +9,7 @@ export declare class GameLocalAPI<Game, Move = string, PlayerId = number, GameVi
9
9
  game: string;
10
10
  gameSetup: GameSetup<Game, Options>;
11
11
  Rules: RulesCreator<Game, Move, PlayerId, Options>;
12
- RulesView: RulesCreator<GameView, MoveView, PlayerId, Options>;
12
+ ClientRules: RulesCreator<GameView, MoveView, PlayerId, Options>;
13
13
  dummy: Robot<Game, Move, PlayerId>;
14
14
  optionsSpec?: OptionsSpec<Options>;
15
15
  private readonly ai;
@@ -20,7 +20,7 @@ export declare class GameLocalAPI<Game, Move = string, PlayerId = number, GameVi
20
20
  private autoPlayersCounter;
21
21
  private aiProcessing;
22
22
  private tutorialMovesToPlay;
23
- constructor({ Rules, RulesView, GameSetup, ai, dummy, game, optionsSpec, tutorial }: LocalGameProviderProps<Game, GameView, Move, MoveView, PlayerId>);
23
+ constructor({ Rules, ServerRules, GameSetup, ai, dummy, game, optionsSpec, tutorial }: LocalGameProviderProps<Game, GameView, Move, MoveView, PlayerId>);
24
24
  createDummy<Game, Move, PlayerId>(Rules: RulesCreator<Game, Move, PlayerId>): Robot<Game, Move, PlayerId>;
25
25
  init(dispatch: Dispatch): void;
26
26
  initLocalStore(): ProxyGameData<any, any, any>;
@@ -60,17 +60,17 @@ var ArrayUtil_1 = require("../../util/ArrayUtil");
60
60
  var Failure_1 = require("../../Failure");
61
61
  var GameLocalAPI = /** @class */ (function () {
62
62
  function GameLocalAPI(_a) {
63
- var Rules = _a.Rules, RulesView = _a.RulesView, GameSetup = _a.GameSetup, ai = _a.ai, dummy = _a.dummy, game = _a.game, optionsSpec = _a.optionsSpec, tutorial = _a.tutorial;
63
+ var Rules = _a.Rules, ServerRules = _a.ServerRules, GameSetup = _a.GameSetup, ai = _a.ai, dummy = _a.dummy, game = _a.game, optionsSpec = _a.optionsSpec, tutorial = _a.tutorial;
64
64
  this.lastActionId = 0;
65
65
  this.notificationsCount = 0;
66
66
  this.autoPlayersCounter = 0;
67
67
  this.aiProcessing = false;
68
68
  this.tutorialMovesToPlay = 0;
69
69
  this.game = game;
70
- this.gameSetup = GameSetup ? new GameSetup() : new rules_api_1.DefaultGameSetup(Rules);
71
- this.Rules = Rules;
72
- this.RulesView = RulesView !== null && RulesView !== void 0 ? RulesView : Rules;
73
- this.dummy = dummy !== null && dummy !== void 0 ? dummy : this.createDummy(Rules);
70
+ this.Rules = ServerRules !== null && ServerRules !== void 0 ? ServerRules : Rules;
71
+ this.gameSetup = GameSetup ? new GameSetup() : new rules_api_1.DefaultGameSetup(this.Rules);
72
+ this.ClientRules = Rules;
73
+ this.dummy = dummy !== null && dummy !== void 0 ? dummy : this.createDummy(this.Rules);
74
74
  this.optionsSpec = optionsSpec;
75
75
  this.ai = ai || this.dummy;
76
76
  this.tutorial = tutorial;
@@ -116,6 +116,9 @@ var GameLocalAPI = /** @class */ (function () {
116
116
  var localStore = localStorage.getItem(this.game);
117
117
  if (localStore) {
118
118
  var data = JSON.parse(localStore);
119
+ if (process.env.NODE_ENV !== 'development' && this.tutorial && !data.tutorial) {
120
+ return this.newTutorial();
121
+ }
119
122
  if (data.actions.length > 0 && !data.actions[0].id) {
120
123
  data.actions.forEach(function (action, index) {
121
124
  if (!action.id)
@@ -139,7 +142,7 @@ var GameLocalAPI = /** @class */ (function () {
139
142
  var rules = new this.Rules(data.setup);
140
143
  var actions = data.actions.filter(function (action) { return !(0, rules_api_1.isSecretAction)(action) || !action.secrets.some(function (secret) { return secret.recipient === data.playerId; }); });
141
144
  if ((0, rules_api_1.hasIncompleteInformation)(rules)) {
142
- var clientGame = new this.RulesView(JSON.parse(JSON.stringify((0, rules_api_1.getGameView)(rules, data.playerId))));
145
+ var clientGame = new this.ClientRules(JSON.parse(JSON.stringify((0, rules_api_1.getGameView)(rules, data.playerId))));
143
146
  var notifications = [];
144
147
  var _loop_1 = function (action) {
145
148
  var moveView = verifyNonMutation(function () { return (0, rules_api_1.getMoveView)(rules, JSON.parse(JSON.stringify(action.move)), data.playerId); }, function () { return rules.game; }, 'getMoveView must not change the state of the game');
@@ -381,10 +384,11 @@ var GameLocalAPI = /** @class */ (function () {
381
384
  localStorage.setItem(this.game, JSON.stringify(localStore));
382
385
  };
383
386
  GameLocalAPI.prototype.runAutoPlayers = function () {
387
+ var _a;
384
388
  return __awaiter(this, void 0, void 0, function () {
385
389
  var localStore, rules, nextExpectedMove, expectedMoves, expectedMove_1, player, player, moves;
386
- return __generator(this, function (_a) {
387
- switch (_a.label) {
390
+ return __generator(this, function (_b) {
391
+ switch (_b.label) {
388
392
  case 0:
389
393
  if (this.autoPlayersCounter > 100) {
390
394
  console.warn('The automatic players played 100 times. There might be an infinite loop, stopping now.');
@@ -394,6 +398,7 @@ var GameLocalAPI = /** @class */ (function () {
394
398
  rules = new this.Rules(localStore.state);
395
399
  if (rules.isOver(localStore.players.map(function (player) { return player.id; }))) {
396
400
  console.info('Game is over');
401
+ (_a = this.dispatch) === null || _a === void 0 ? void 0 : _a.call(this, (0, Actions_1.gameOver)([]));
397
402
  return [2 /*return*/];
398
403
  }
399
404
  if (localStore.tutorial && this.tutorial) {
@@ -425,7 +430,7 @@ var GameLocalAPI = /** @class */ (function () {
425
430
  this.aiProcessing = true;
426
431
  return [4 /*yield*/, this.ai(rules.game, player.id, localStore.actions)];
427
432
  case 1:
428
- moves = _a.sent();
433
+ moves = _b.sent();
429
434
  this.aiProcessing = false;
430
435
  if (moves.length) {
431
436
  this.playActions(player.id, moves);
@@ -439,7 +444,7 @@ var GameLocalAPI = /** @class */ (function () {
439
444
  if (localStore.playerId === undefined || !rules.isTurnToPlay(localStore.playerId)) {
440
445
  console.error('Game is not over but there is no active player!');
441
446
  }
442
- _a.label = 3;
447
+ _b.label = 3;
443
448
  case 3: return [2 /*return*/];
444
449
  }
445
450
  });
@@ -1 +1 @@
1
- {"version":3,"file":"GameLocalAPI.js","sourceRoot":"","sources":["../../../src/api/Local/GameLocalAPI.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAuB4B;AAC5B,kDAA2B;AAC3B,oEAAmC;AAEnC,yCAA4G;AAE5G,qCAUoB;AACpB,kDAAoD;AAEpD,yCAAuC;AAGvC;IAgBE,sBAAY,EAAyI;YAAvI,KAAK,WAAA,EAAE,SAAS,eAAA,EAAE,SAAS,eAAA,EAAE,EAAE,QAAA,EAAE,KAAK,WAAA,EAAE,IAAI,UAAA,EAAE,WAAW,iBAAA,EAAE,QAAQ,cAAA;QANzE,iBAAY,GAAW,CAAC,CAAA;QACxB,uBAAkB,GAAW,CAAC,CAAA;QAC9B,uBAAkB,GAAW,CAAC,CAAA;QAC9B,iBAAY,GAAY,KAAK,CAAA;QAC7B,wBAAmB,GAAW,CAAC,CAAA;QAGrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,4BAAgB,CAAC,KAAK,CAAC,CAAA;QAC1E,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,SAAS,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,KAA0G,CAAA;QACxI,IAAI,CAAC,KAAK,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QAC7C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,IAAI,CAAC,KAAK,CAAA;QAC1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;IAED,kCAAW,GAAX,UAAkC,KAAyC;QACzE,IAAM,KAAK,GAAG,IAAI,iBAAK,CAAC,KAAK,CAAC,CAAA;QAC9B,OAAO,UAAC,KAAW,EAAE,QAAkB,IAAK,OAAA,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,EAApC,CAAoC,CAAA;IAClF,CAAC;IAED,2BAAI,GAAJ,UAAK,QAAkB;QAAvB,iBA8BC;QA7BC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAM,eAAe,GAAG,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC,CAAA;QAClF,IAAI,CAAC,QAAQ,CAAC,IAAA,4BAAkB,EAAC,eAAe,CAAC,CAAC,CAAA;QAClD,IAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;QAClC,IAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAA,MAAM,IAAI,OAAA,CAAC,IAAA,0BAAc,EAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC,QAAQ,EAAlC,CAAkC,CAAC,EAA7F,CAA6F,CAAC,CAAA;QACnJ,IAAI,CAAC,kBAAkB,GAAG,cAAc,CAAC,MAAM,CAAA;QAC/C,IAAM,cAAc,GAAwC;YAC1D,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC5G,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,qBAAS,CAAC,QAAQ,EAAE,YAAY,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE;YAChG,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAQ,CAAC,QAAQ,EAAE,oBAAoB,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI;SACvH,CAAA;QACD,IAAM,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAC1E,IAAI,IAAA,oCAAwB,EAA2B,WAAW,CAAC,EAAE;YACnE,cAAc,CAAC,KAAK,GAAG,iBAAiB,CAAC,cAAM,OAAA,IAAA,uBAAW,EAA2B,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAjE,CAAiE,EAAE,cAAM,OAAA,WAAW,CAAC,IAAI,EAAhB,CAAgB,EAAE,wCAAwC,CAAC,CAAA;YACnL,IAAI,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBAC/C,cAAc,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAA;gBACvE,IAAA,yBAAa,EAAC,WAAW,EAAE,cAAc,CAAC,CAAA;gBAC1C,cAAc,CAAC,KAAK,GAAG,iBAAiB,CAAC,cAAM,OAAA,IAAA,uBAAW,EAA2B,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAjE,CAAiE,EAAE,cAAM,OAAA,WAAW,CAAC,IAAI,EAAhB,CAAgB,EAAE,wCAAwC,CAAC,CAAA;aACpL;iBAAM;gBACL,IAAM,OAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACxC,IAAI,IAAA,oCAAwB,EAA2B,OAAK,CAAC,EAAE;oBAC7D,cAAc,CAAC,KAAK,GAAG,iBAAiB,CAAC,cAAM,OAAA,IAAA,uBAAW,EAA2B,OAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,EAA3D,CAA2D,EAAE,cAAM,OAAA,OAAK,CAAC,IAAI,EAAV,CAAU,EAAE,wCAAwC,CAAC,CAAA;iBACxK;aACF;SACF;QACD,iBAAiB,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,UAAA,QAAQ;YAC7C,QAAQ,CAAC,IAAA,yBAAe,EAAC,QAAQ,CAAC,CAAC,CAAA;YACnC,iBAAiB,CAAC,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAA,aAAa,IAAI,OAAA,QAAQ,CAAC,IAAA,mCAAyB,EAAC,aAAa,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,EAAnE,CAAmE,CAAC,CAAA;QAC3I,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,qCAAc,GAAd;QACE,IAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClD,IAAI,UAAU,EAAE;YACd,IAAM,IAAI,GAA4C,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;YAC5E,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;gBAClD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,MAAM,EAAE,KAAK;oBACjC,IAAI,CAAC,MAAM,CAAC,EAAE;wBAAE,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAA;gBAC9C,CAAC,CAAC,CAAA;gBACF,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;aACtD;YACD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC3B,IAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAG,CAAC,CAAA;gBACxE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE;oBACxB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;iBACjC;aACF;YACD,OAAO,IAAI,CAAA;SACZ;aAAM;YACL,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAA;SAC3D;IACH,CAAC;IAED,uCAAgB,GAAhB,UAAiB,IAA6C;QAC5D,IAAM,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACxC,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAA,MAAM,IAAI,OAAA,CAAC,IAAA,0BAAc,EAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC,QAAQ,EAAlC,CAAkC,CAAC,EAA7F,CAA6F,CAAC,CAAA;QAC5I,IAAI,IAAA,oCAAwB,EAAC,KAAK,CAAC,EAAE;YACnC,IAAM,UAAU,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAA,uBAAW,EAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;YACpG,IAAM,aAAa,GAAiC,EAAE,CAAA;oCAC3C,MAAM;gBACf,IAAM,QAAQ,GAAG,iBAAiB,CAAC,cAAM,OAAA,IAAA,uBAAW,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAA1E,CAA0E,EACjH,cAAM,OAAA,KAAK,CAAC,IAAI,EAAV,CAAU,EAAE,mDAAmD,CAAC,CAAA;gBACxE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;gBACrD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACnD,IAAM,YAAY,GAAU,EAAE,CAAA;wCACnB,IAAI;oBACb,IAAM,UAAQ,GAAG,iBAAiB,CAAC,cAAM,OAAA,IAAA,uBAAW,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAnE,CAAmE,EAC1G,cAAM,OAAA,KAAK,CAAC,IAAI,EAAV,CAAU,EAAE,mDAAmD,CAAC,CAAA;oBACxE,YAAY,CAAC,IAAI,CAAC,UAAQ,CAAC,CAAA;oBAC3B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAQ,CAAC,CAAC,CAAC,CAAA;oBACrD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;;gBAL9C,KAAmB,UAAmB,EAAnB,KAAA,MAAM,CAAC,YAAY,EAAnB,cAAmB,EAAnB,IAAmB;oBAAjC,IAAM,IAAI,SAAA;4BAAJ,IAAI;iBAMd;gBACD,aAAa,CAAC,IAAI,CAAC,IAAA,8BAAsB,wBAAM,MAAM,KAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,cAAA,IAAG,CAAC,CAAA;;YAbzF,KAAqB,UAAO,EAAP,mBAAO,EAAP,qBAAO,EAAP,IAAO;gBAAvB,IAAM,MAAM,gBAAA;wBAAN,MAAM;aAchB;YACD,IAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAA,uBAAW,EAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,UAAC,CAAC,EAAE,KAAK,IAAK,OAAA,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAA7C,CAA6C,CAAC,CAAA;YACjJ,IAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,UAAC,CAAC,EAAE,KAAK,IAAK,OAAA,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAA7C,CAA6C,CAAC,CAAA;YAC/H,IAAI;gBACF,gBAAM,CAAC,eAAe,CAAC,cAAc,EAAE,cAAc,CAAC,CAAA;aACvD;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,gIAAgI,CAAC,CAAA;gBAC/I,OAAO,CAAC,KAAK,CAAC,4DAA4D,EAAE,cAAc,CAAC,CAAA;gBAC3F,OAAO,CAAC,KAAK,CAAC,8DAA8D,EAAE,cAAc,CAAC,CAAA;gBAC7F,OAAO,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAA;aACpF;YACD,OAAO,aAAa,CAAA;SACrB;aAAM;YACL,OAAO,OAAO,CAAC,GAAG,CAAC,UAAA,MAAM,IAAI,OAAA,IAAA,8BAAsB,EAAC,MAAM,CAAC,EAA9B,CAA8B,CAAC,CAAA;SAC7D;IACH,CAAC;IAED,kCAAW,GAAX;QACE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAA;SAC3E;QACK,IAAA,KAAqB,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAjD,KAAK,QAAA,EAAE,SAAS,QAAiC,CAAA;QACxD,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA,CAAC,gCAAgC;IACpF,CAAC;IAED,8BAAO,GAAP,UAAQ,GAAyB;QAAzB,oBAAA,EAAA,OAAyB;QAC/B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAC3B,IAAM,SAAS,GAAG,IAAA,4BAAgB,EAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAA0B,CAAA;YAClF,IAAM,OAAO,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,IAAA,iCAAqB,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,UAAA,EAAE,IAAI,OAAA,CAAC,EAAE,EAAE,IAAA,EAAE,CAAC,EAAR,CAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAmB,CAAA;YAC/J,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAA;SACpE;aAAM;YACL,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;gBAChB,GAAG,CAAC,OAAO,GAAG,CAAC,CAAA;aAChB;YACD,IAAM,SAAS,GAAG,IAAA,4BAAgB,EAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAA0B,CAAA;YAC1F,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;gBAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC3C,IAAI,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;wBACtC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;qBACjC;yBAAM;wBACL,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAA;qBACtC;iBACF;aACF;iBAAM,IAAI,IAAI,CAAC,WAAW,IAAI,IAAA,iCAAqB,EAAC,IAAI,CAAC,WAAW,CAAC,EAAE;gBACtE,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,UAAA,EAAE,IAAI,OAAA,CAAC,EAAE,EAAE,IAAA,EAAE,CAAC,EAAR,CAAQ,CAAC,CAAA;aAC5C;YACD,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAA;SAChE;IACH,CAAC;IAED,oCAAa,GAAb,UAAc,IAAU,EAAE,SAAqB,EAAE,QAAgB;QAAhB,yBAAA,EAAA,gBAAgB;QAC/D,IAAM,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAClC,IAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;QAC7B,IAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAmB,UAAA,EAAE,IAAI,OAAA,CAAC,EAAE,EAAE,IAAA,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAArB,CAAqB,CAAC,CAAA;QAC5E,IAAA,+BAAmB,EAAC,KAAK,CAAC,CAAA;QAC1B,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;QACpD,IAAM,UAAU,GAAwC,EAAE,OAAO,SAAA,EAAE,KAAK,OAAA,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,UAAA,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,UAAA,EAAE,CAAA;QACzJ,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAA;QAC3D,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,oCAAa,GAAb;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAE,CAAwC,CAAA;IAC5F,CAAC;IAED,2BAAI,GAAJ,UAAK,IAAU;QAAf,iBA2BC;QA1BC,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAA,IAAI;YACtC,IAAM,UAAU,GAAG,KAAI,CAAC,aAAa,EAAE,CAAA;YACvC,IAAM,KAAK,GAAG,IAAI,KAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA,CAAC,uBAAuB;YACtE,IAAI,CAAC,iBAAiB,CAAC,cAAM,OAAA,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,QAAS,EAAE,IAAI,CAAC,EAA7C,CAA6C,EAAE,cAAM,OAAA,KAAK,CAAC,IAAI,EAAV,CAAU,EAAE,8DAA8D,CAAC,EAAE;gBAC7J,OAAO,CAAC,KAAK,CAAC,yCAAyC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;gBAC/E,IAAI,KAAK,CAAC,aAAa,EAAE;oBACvB,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,QAAS,CAAC,CAAC,CAAA;iBAC5E;gBACD,OAAM;aACP;YACD,IAAI,UAAU,CAAC,QAAQ,IAAI,KAAI,CAAC,QAAQ,EAAE;gBACxC,IAAM,YAAY,GAAG,KAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;gBAC7E,IAAI,YAAY,EAAE;oBAChB,IAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;oBACjF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAA,YAAY,IAAI,OAAA,IAAA,yBAAK,EAAC,IAAI,EAAE,YAAY,CAAC,EAAzB,CAAyB,CAAC,EAAE;wBAClE,KAAI,CAAC,QAAS,CAAC,IAAA,sBAAY,EAAC,iBAAO,CAAC,sBAAsB,CAAC,CAAC,CAAA;wBAC5D,OAAM;qBACP;iBACF;aACF;YACD,KAAI,CAAC,kBAAkB,GAAG,CAAC,CAAA;YAC3B,KAAI,CAAC,WAAW,CAAC,UAAU,CAAC,QAAS,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;QAChD,CAAC,CAAC,CAAC,KAAK,CAAC,UAAA,KAAK;YACZ,OAAO,CAAC,KAAK,CAAC,kDAAkD,EAAE,KAAK,CAAC,CAAA;YACxE,MAAM,KAAK,CAAA;QACb,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,kCAAW,GAAX,UAAY,QAAkB,EAAE,KAAa;;QAA7C,iBAyDC;;QAxDC,IAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QACvC,IAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA,CAAC,uBAAuB;QACrE,IAAM,OAAO,GAA6B,EAAE,CAAA;QAC5C,IAAM,aAAa,GAA4C,EAAE,CAAA;QACjE,IAAM,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAA;QAC3C,IAAI,IAAA,oCAAwB,EAAC,IAAI,CAAC,EAAE;YAClC,KAAmB,UAAK,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK,EAAE;gBAArB,IAAM,IAAI,cAAA;gBACb,IAAM,UAAU,GAAG,IAAA,gCAAoB,EAAC,IAAI,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,EAAE,EAAT,CAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;gBACpH,IAAA,KAAoB,IAAA,+BAAmB,EAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,CAAC,EAA3E,MAAM,YAAA,EAAE,KAAK,WAA8D,CAAA;gBACnF,IAAI,IAAA,gCAAoB,EAAC,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE;4CAE1C,YAAY;wBACrB,IAAM,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,SAAS,KAAK,UAAU,CAAC,QAAQ,EAAxC,CAAwC,CAAC,CAAA;wBACpG,IAAI,cAAc,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE;4BAClF,aAAa,CAAC,IAAI,CAAC,IAAA,8BAAsB,EAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAA;yBAClE;wBACD,YAAY,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,cAAe,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,EAA3F,CAA2F,CAAC,CAAA;wBACzJ,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,EAAE,6CAA6C;4BACpF,OAAQ,YAAoB,CAAC,OAAO,CAAA;yBACrC;;oBATH,gCAAgC;oBAChC,KAA2B,UAA4E,EAA5E,KAAA,UAAU,CAAC,OAAO,CAAC,MAAM,CAAoC,0BAAc,CAAC,EAA5E,cAA4E,EAA5E,IAA4E;wBAAlG,IAAM,YAAY,SAAA;gCAAZ,YAAY;qBAStB;oBAED,gCAAgC;oBAChC,IAAM,OAAO,GAAgC,EAAE,CAAA;4CACpC,MAAM;wBACf,IAAM,IAAI,GAAG,MAAA,KAAK,CAAC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC,EAAE,EAA5B,CAA4B,CAAC,mCAAI,KAAK,CAAC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,CAAC,IAAI,CAAC,SAAS,EAAf,CAAe,CAAE,CAAA;wBACrG,IAAI,MAAM,CAAC,EAAE,KAAK,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE;4BAClE,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;yBAC5D;6BAAM,IAAI,MAAM,CAAC,EAAE,KAAK,UAAU,CAAC,QAAQ,EAAE;4BAC5C,aAAa,CAAC,IAAI,CAAC,IAAA,8BAAsB,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA,CAAC,wCAAwC;yBACjG;;oBANH,KAAqB,UAAkB,EAAlB,KAAA,UAAU,CAAC,OAAO,EAAlB,cAAkB,EAAlB,IAAkB;wBAAlC,IAAM,MAAM,SAAA;gCAAN,MAAM;qBAOhB;oBACD,IAAI,OAAO,CAAC,MAAM,EAAE;wBAClB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,SAAS,KAAK,SAAS,EAA5B,CAA4B,CAAE,CAAC,CAAC;wBAC/D,MAA4C,CAAC,OAAO,GAAG,OAAO,CAAA;qBAChE;iBACF;qBAAM;oBACL,IAAM,IAAI,GAAG,MAAA,KAAK,CAAC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,SAAS,KAAK,UAAU,CAAC,QAAQ,EAAtC,CAAsC,CAAC,mCAAI,KAAK,CAAC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,CAAC,IAAI,CAAC,SAAS,EAAf,CAAe,CAAE,CAAA;oBAC/G,aAAa,CAAC,IAAI,CAAC,IAAA,8BAAsB,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA,CAAC,wCAAwC;iBACjG;gBACD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;aACrB;SACF;aAAM;YACL,KAAmB,UAAK,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK,EAAE;gBAArB,IAAM,IAAI,cAAA;gBACb,IAAM,MAAM,GAAG,IAAA,sBAAU,EAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;gBAC/C,MAAM,CAAC,EAAE,GAAG,EAAE,CAAA;gBACd,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBACpB,aAAa,CAAC,IAAI,CAAC,IAAA,8BAAsB,EAAC,MAAM,CAAC,CAAC,CAAA;aACnD;SACF;QACD,iBAAiB,CAAC,EAAE,aAAa,eAAA,EAAE,KAAK,EAAE,IAAI,CAAC,2BAA2B,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAA,IAAI;YAC3G,OAAA,KAAI,CAAC,QAAS,CAAC,IAAA,mCAAyB,EAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;QAA7F,CAA6F,CAC9F,CAAA;QACD,CAAA,KAAA,UAAU,CAAC,OAAO,CAAA,CAAC,IAAI,WAAI,OAAO,EAAC;QACnC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAA;QAC3D,UAAU,CAAC,cAAM,OAAA,KAAI,CAAC,cAAc,EAAE,EAArB,CAAqB,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAA;IACpE,CAAC;IAEO,kDAA2B,GAAnC,UAAoC,QAAY;QAAZ,yBAAA,EAAA,YAAY;QAC9C,IAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAA;QAC7C,IAAI,CAAC,kBAAkB,IAAI,QAAQ,CAAA;QACnC,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,2BAAI,GAAJ,UAAK,GAAwB,EAAE,WAAqB;QAApD,iBAyBC;QAzBI,oBAAA,EAAA,OAAwB;QAC3B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAC3B,IAAM,YAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;YACvC,IAAM,KAAK,GAAG,IAAA,yBAAa,EAAC,YAAU,CAAC,OAAO,EAAE,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,EAAE,KAAK,GAAG,EAAjB,CAAiB,CAAC,CAAA;YAC5E,IAAM,MAAM,GAAG,YAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YACxC,IAAI,CAAC,WAAW,EAAE;gBAChB,IAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,YAAU,CAAC,KAAK,CAAC,CAAA;gBAC7C,IAAI,CAAC,IAAA,mBAAO,EAAC,IAAI,CAAC;oBAAE,OAAO,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAA;gBAChF,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,YAAU,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;oBAAE,OAAO,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAA;aACpI;YACD,YAAU,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;YACnC,IAAM,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,YAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAC1E,IAAA,yBAAa,EAAC,KAAK,EAAE,YAAU,CAAC,OAAO,CAAC,CAAA;YACxC,YAAU,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAA;YAC7B,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,YAAU,CAAC,CAAC,CAAA;YAC3D,IAAI,CAAC,IAAA,0BAAc,EAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,SAAS,KAAK,YAAU,CAAC,QAAQ,EAAxC,CAAwC,CAAC,EAAE;gBACvG,iBAAiB,CAAC,EAAE,YAAY,EAAE,IAAA,8BAAsB,EAAC,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAA,IAAI;oBAC7H,OAAA,KAAI,CAAC,QAAS,CAAC,IAAA,mCAAyB,EAAC,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,YAAU,CAAC,OAAO,CAAC,CAAC;gBAA9F,CAA8F,CAC/F,CAAA;aACF;SACF;aAAM,IAAI,GAAG,GAAG,CAAC,EAAE;YAClB,IAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,OAAO,CAAA;YAC5C,IAAI,CAAC,OAAO,CAAC,MAAM;gBAAE,OAAO,OAAO,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAA;YACnF,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;SAChD;IACH,CAAC;IAED,2CAAoB,GAApB;QACE,IAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QACvC,UAAU,CAAC,eAAe,GAAG,IAAI,CAAA;QACjC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAA;QAC3D,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAA;QAC3B,IAAI,CAAC,cAAc,EAAE,CAAA;IACvB,CAAC;IAED,0CAAmB,GAAnB;QACE,IAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QACvC,UAAU,CAAC,eAAe,GAAG,KAAK,CAAA;QAClC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAA;IAC7D,CAAC;IAEa,qCAAc,GAA5B;;;;;;wBACE,IAAI,IAAI,CAAC,kBAAkB,GAAG,GAAG,EAAE;4BACjC,OAAO,CAAC,IAAI,CAAC,wFAAwF,CAAC,CAAA;4BACtG,sBAAM;yBACP;wBACK,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;wBACjC,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;wBAC9C,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,EAAE,EAAT,CAAS,CAAC,CAAC,EAAE;4BAC7D,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;4BAC5B,sBAAM;yBACP;wBACD,IAAI,UAAU,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE;4BACxC,IAAI,CAAC,IAAI,CAAC,mBAAmB;gCAAE,sBAAM;4BAC/B,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;4BACjF,IAAI,gBAAgB,EAAE;gCACd,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAA;gCAC7F,IAAI,aAAa,CAAC,IAAI,CAAC,UAAA,YAAY,IAAI,OAAA,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,QAAS,EAAE,YAAY,CAAC,EAArD,CAAqD,CAAC,EAAE;oCAC7F,IAAI,IAAI,CAAC,mBAAmB,KAAK,QAAQ,EAAE;wCACzC,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAA;qCAC7B;oCACD,sBAAM,CAAC,cAAc;iCACtB;gCACK,iBAAe,aAAa,CAAC,CAAC,CAAC,CAAA;gCAC/B,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,UAAA,MAAM,IAAI,OAAA,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,cAAY,CAAC,EAA1C,CAA0C,CAAC,CAAA;gCAC5F,IAAI,MAAM,EAAE;oCACV,IAAI,CAAC,mBAAmB,EAAE,CAAA;oCAC1B,sBAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,cAAY,CAAC,CAAC,EAAA;iCACnD;qCAAM;oCACL,OAAO,CAAC,KAAK,CAAC,mDAAmD,EAAE,cAAY,CAAC,CAAA;iCACjF;6BACF;yBACF;6BACG,CAAA,UAAU,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,YAAY,CAAA,EAAhD,wBAAgD;wBAC5C,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,EAAE,KAAK,UAAU,CAAC,QAAQ,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,EAAlE,CAAkE,CAAC,CAAA;6BAChH,MAAM,EAAN,wBAAM;wBACR,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;wBACV,qBAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC,OAAO,CAAC,EAAA;;wBAAhE,KAAK,GAAG,SAAwD;wBACtE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;wBACzB,IAAI,KAAK,CAAC,MAAM,EAAE;4BAChB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;4BAClC,IAAI,CAAC,kBAAkB,EAAE,CAAA;yBAC1B;6BAAM;4BACL,OAAO,CAAC,KAAK,CAAC,iBAAU,MAAM,CAAC,EAAE,oDAAiD,CAAC,CAAA;yBACpF;;;wBACI,IAAI,UAAU,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;4BACxF,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAA;yBACjE;;;;;;KAEJ;IAED,oCAAa,GAAb,UAAc,IAAY,EAAE,QAAmB;QAC7C,IAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QACvC,IAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,EAAE,KAAK,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ,CAAC,EAA/C,CAA+C,CAAC,CAAA;QACjG,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;SACpC;QACD,MAAM,CAAC,IAAI,GAAG,IAAI,CAAA;QAClB,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAA;IAC7D,CAAC;IAED,yCAAkB,GAAlB,UAAmB,KAAS;QAAT,sBAAA,EAAA,SAAS;QAC1B,IAAI,CAAC,QAAS,CAAC,IAAA,4BAAkB,EAAC,KAAK,CAAC,CAAC,CAAA;QACzC,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC3D,CAAC;IAED,4BAAK,GAAL;QACE,8FAA8F;IAChG,CAAC;IAED,6BAAM,GAAN;QACE,wFAAwF;IAC1F,CAAC;IAED,wCAAiB,GAAjB,UAAkB,QAAgB;QAAlC,iBAQC;QAPC,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,mBAAmB,IAAI,QAAQ,CAAA;YACpC,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAA;YAC3B,UAAU,CAAC,cAAM,OAAA,KAAI,CAAC,cAAc,EAAE,EAArB,CAAqB,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAA;SACnE;aAAM;YACL,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAA;SAC7B;IACH,CAAC;IACH,mBAAC;AAAD,CAAC,AApYD,IAoYC;AApYY,oCAAY;AAsYzB,SAAS,iBAAiB,CAAI,IAAQ,EAAE,QAAc;IAAd,yBAAA,EAAA,cAAc;IACpD,OAAO,IAAI,OAAO,CAAC,UAAA,OAAO,IAAI,OAAA,UAAU,CAAC,cAAM,OAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAA5D,CAA4D,EAAE,QAAQ,CAAC,EAAxF,CAAwF,CAAC,CAAA;AACzH,CAAC;AAED,SAAS,iBAAiB,CAAI,SAAkB,EAAE,QAAmB,EAAE,OAAgB;IACrF,IAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC/C,IAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,IAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC7C,IAAA,gBAAM,EAAC,YAAY,KAAK,UAAU,EAAE,OAAO,CAAC,CAAA;IAC5C,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"GameLocalAPI.js","sourceRoot":"","sources":["../../../src/api/Local/GameLocalAPI.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,15 @@
1
1
  import { PropsWithChildren } from 'react';
2
- import { Animations } from '../../animations';
2
+ import { GameReducerContext } from '../../Store/gameReducer';
3
3
  import { GameSetupCreator, Robot, RulesCreator } from '@gamepark/rules-api';
4
4
  import { TutorialDescription } from '../../Tutorial';
5
5
  import { GameAI } from '../../Types';
6
6
  export declare type LocalGameProviderProps<Game = any, GameView = any, Move = any, MoveView = any, PlayerId = any> = {
7
7
  game: string;
8
- Rules: RulesCreator<Game, Move, PlayerId>;
9
- RulesView?: RulesCreator<GameView, MoveView, PlayerId>;
8
+ ServerRules?: RulesCreator<Game, Move, PlayerId>;
10
9
  GameSetup?: GameSetupCreator<Game>;
11
10
  optionsSpec?: any;
12
11
  dummy?: Robot<Game, Move, PlayerId>;
13
- animations?: Animations;
14
12
  tutorial?: TutorialDescription<Game, Move, PlayerId>;
15
13
  ai?: GameAI<Game, Move, PlayerId>;
16
- };
14
+ } & GameReducerContext<GameView, MoveView, PlayerId>;
17
15
  export declare function LocalGameProvider<Game = any, GameView = any, Move = any, MoveView = any, PlayerId = any>({ children, ...props }: PropsWithChildren<LocalGameProviderProps<Game, GameView, Move, MoveView, PlayerId>>): JSX.Element;
@@ -38,12 +38,10 @@ function LocalGameProvider(_a) {
38
38
  return ((0, jsx_runtime_1.jsx)(react_redux_1.Provider, __assign({ store: store }, { children: children })));
39
39
  }
40
40
  exports.LocalGameProvider = LocalGameProvider;
41
- function createLocalApiStore(props) {
42
- var _a;
43
- var api = new GameLocalAPI_1.GameLocalAPI(props);
44
- var Rules = (_a = props.RulesView) !== null && _a !== void 0 ? _a : props.Rules;
45
- var reducer = (0, gameReducer_1.gameReducer)(Rules, props.animations);
46
- var store = (0, redux_1.createStore)(reducer, (0, redux_1.applyMiddleware)((0, gameMiddleware_1.gameMiddleware)(api, Rules)));
41
+ function createLocalApiStore(context) {
42
+ var api = new GameLocalAPI_1.GameLocalAPI(context);
43
+ var reducer = (0, gameReducer_1.gameReducer)(context);
44
+ var store = (0, redux_1.createStore)(reducer, (0, redux_1.applyMiddleware)((0, gameMiddleware_1.gameMiddleware)(api, context.Rules)));
47
45
  store.subscribe((0, animations_1.createAnimationsListener)(store));
48
46
  if (process.env.NODE_ENV === 'development') {
49
47
  window.game = (0, ConsoleTools_1.consoleTools)(api, store);
@@ -1 +1 @@
1
- {"version":3,"file":"LocalGameProvider.js","sourceRoot":"","sources":["../../../src/api/Local/LocalGameProvider.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAkD;AAClD,2CAAsC;AACtC,+BAAoD;AACpD,+CAAuE;AACvE,6DAA2D;AAC3D,uDAAqD;AACrD,+CAA6C;AAC7C,+CAA6C;AAiB7C,SAAgB,iBAAiB,CAC/B,EAA2G;IAAzG,IAAA,QAAQ,cAAA,EAAK,KAAK,cAApB,YAAsB,CAAF;IAEpB,IAAM,KAAK,GAAG,IAAA,eAAO,EAAC,cAAM,OAAA,mBAAmB,CAAC,KAAK,CAAC,EAA1B,CAA0B,EAAE,EAAE,CAAC,CAAA;IAC3D,OAAO,CACL,uBAAC,sBAAQ,aAAC,KAAK,EAAE,KAAK,gBACnB,QAAQ,IACA,CACZ,CAAA;AACH,CAAC;AATD,8CASC;AAED,SAAS,mBAAmB,CAAC,KAA6B;;IACxD,IAAM,GAAG,GAAG,IAAI,2BAAY,CAAC,KAAK,CAAC,CAAA;IACnC,IAAM,KAAK,GAAG,MAAA,KAAK,CAAC,SAAS,mCAAI,KAAK,CAAC,KAAK,CAAA;IAC5C,IAAM,OAAO,GAAG,IAAA,yBAAW,EAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;IACpD,IAAM,KAAK,GAAG,IAAA,mBAAW,EAAC,OAAO,EAAE,IAAA,uBAAe,EAAC,IAAA,+BAAc,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;IAC/E,KAAK,CAAC,SAAS,CAAC,IAAA,qCAAwB,EAAC,KAAK,CAAC,CAAC,CAAA;IAChD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE;QAC1C,MAAM,CAAC,IAAI,GAAG,IAAA,2BAAY,EAAC,GAAG,EAAE,KAAK,CAAC,CAAA;KACvC;IACD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IACxB,OAAO,KAAK,CAAA;AACd,CAAC"}
1
+ {"version":3,"file":"LocalGameProvider.js","sourceRoot":"","sources":["../../../src/api/Local/LocalGameProvider.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAkD;AAClD,2CAAsC;AACtC,+BAAoD;AACpD,+CAA2D;AAC3D,6DAA2D;AAC3D,uDAAyE;AACzE,+CAA6C;AAC7C,+CAA6C;AAe7C,SAAgB,iBAAiB,CAC/B,EAA2G;IAAzG,IAAA,QAAQ,cAAA,EAAK,KAAK,cAApB,YAAsB,CAAF;IAEpB,IAAM,KAAK,GAAG,IAAA,eAAO,EAAC,cAAM,OAAA,mBAAmB,CAAC,KAAK,CAAC,EAA1B,CAA0B,EAAE,EAAE,CAAC,CAAA;IAC3D,OAAO,CACL,uBAAC,sBAAQ,aAAC,KAAK,EAAE,KAAK,gBACnB,QAAQ,IACA,CACZ,CAAA;AACH,CAAC;AATD,8CASC;AAED,SAAS,mBAAmB,CAAC,OAA+B;IAC1D,IAAM,GAAG,GAAG,IAAI,2BAAY,CAAC,OAAO,CAAC,CAAA;IACrC,IAAM,OAAO,GAAG,IAAA,yBAAW,EAAC,OAAO,CAAC,CAAA;IACpC,IAAM,KAAK,GAAG,IAAA,mBAAW,EAAC,OAAO,EAAE,IAAA,uBAAe,EAAC,IAAA,+BAAc,EAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACvF,KAAK,CAAC,SAAS,CAAC,IAAA,qCAAwB,EAAC,KAAK,CAAC,CAAC,CAAA;IAChD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE;QAC1C,MAAM,CAAC,IAAI,GAAG,IAAA,2BAAY,EAAC,GAAG,EAAE,KAAK,CAAC,CAAA;KACvC;IACD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IACxB,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -4,7 +4,7 @@ exports.updatePlayersTime = void 0;
4
4
  function updatePlayersTime(players, now) {
5
5
  var activePlayers = players.filter(function (player) { return player.time.playing; });
6
6
  if (activePlayers.length) {
7
- var durationSinceLastChange = players.reduce(function (minDuration, player) { return Math.min(now - Date.parse(player.time.lastChange), minDuration); }, Infinity);
7
+ var durationSinceLastChange = Math.min.apply(Math, players.map(function (player) { return Date.parse(player.time.lastChange); }));
8
8
  var cumulatedDownTime_1 = durationSinceLastChange * (players.length - activePlayers.length);
9
9
  var weightedDownTime_1 = durationSinceLastChange * (players.length - activePlayers.length) / activePlayers.length;
10
10
  players.forEach(function (player) {
@@ -1 +1 @@
1
- {"version":3,"file":"TimeUtil.js","sourceRoot":"","sources":["../../src/util/TimeUtil.ts"],"names":[],"mappings":";;;AAEA,SAAgB,iBAAiB,CAAW,OAA2B,EAAE,GAAW;IAClF,IAAM,aAAa,GAAuB,OAAO,CAAC,MAAM,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,IAAK,CAAC,OAAO,EAApB,CAAoB,CAAC,CAAA;IACxF,IAAI,aAAa,CAAC,MAAM,EAAE;QACxB,IAAM,uBAAuB,GAAW,OAAO,CAAC,MAAM,CAAC,UAAC,WAAW,EAAE,MAAM,IAAK,OAAA,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAK,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,EAAhE,CAAgE,EAAE,QAAQ,CAAC,CAAA;QAC3J,IAAM,mBAAiB,GAAG,uBAAuB,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;QAC3F,IAAM,kBAAgB,GAAG,uBAAuB,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,MAAM,CAAA;QACjH,OAAO,CAAC,OAAO,CAAC,UAAA,MAAM;YACpB,IAAM,6BAA6B,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAK,CAAC,UAAU,CAAC,CAAA;YAC/E,IAAI,MAAM,CAAC,IAAK,CAAC,OAAO,EAAE;gBACxB,MAAM,CAAC,IAAK,CAAC,aAAa,IAAI,6BAA6B,CAAA;gBAC3D,MAAM,CAAC,IAAK,CAAC,iBAAiB,IAAI,6BAA6B,CAAA;gBAC/D,MAAM,CAAC,IAAK,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAK,CAAC,eAAe,EAAE,6BAA6B,CAAC,CAAA;gBACpG,MAAM,CAAC,IAAK,CAAC,sBAAsB,IAAI,mBAAiB,CAAA;gBACxD,MAAM,CAAC,IAAK,CAAC,qBAAqB,IAAI,kBAAgB,CAAA;aACvD;iBAAM;gBACL,MAAM,CAAC,IAAK,CAAC,iBAAiB,IAAI,6BAA6B,CAAA;gBAC/D,MAAM,CAAC,IAAK,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAK,CAAC,eAAe,EAAE,6BAA6B,CAAC,CAAA;aACrG;QACH,CAAC,CAAC,CAAA;KACH;AACH,CAAC;AApBD,8CAoBC"}
1
+ {"version":3,"file":"TimeUtil.js","sourceRoot":"","sources":["../../src/util/TimeUtil.ts"],"names":[],"mappings":";;;AAEA,SAAgB,iBAAiB,CAAW,OAA2B,EAAE,GAAW;IAClF,IAAM,aAAa,GAAuB,OAAO,CAAC,MAAM,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,IAAK,CAAC,OAAO,EAApB,CAAoB,CAAC,CAAA;IACxF,IAAI,aAAa,CAAC,MAAM,EAAE;QACxB,IAAM,uBAAuB,GAAW,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,OAAO,CAAC,GAAG,CAAC,UAAA,MAAM,IAAI,OAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAK,CAAC,UAAU,CAAC,EAAnC,CAAmC,CAAC,CAAC,CAAA;QAC/G,IAAM,mBAAiB,GAAG,uBAAuB,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;QAC3F,IAAM,kBAAgB,GAAG,uBAAuB,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,MAAM,CAAA;QACjH,OAAO,CAAC,OAAO,CAAC,UAAA,MAAM;YACpB,IAAM,6BAA6B,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAK,CAAC,UAAU,CAAC,CAAA;YAC/E,IAAI,MAAM,CAAC,IAAK,CAAC,OAAO,EAAE;gBACxB,MAAM,CAAC,IAAK,CAAC,aAAa,IAAI,6BAA6B,CAAA;gBAC3D,MAAM,CAAC,IAAK,CAAC,iBAAiB,IAAI,6BAA6B,CAAA;gBAC/D,MAAM,CAAC,IAAK,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAK,CAAC,eAAe,EAAE,6BAA6B,CAAC,CAAA;gBACpG,MAAM,CAAC,IAAK,CAAC,sBAAsB,IAAI,mBAAiB,CAAA;gBACxD,MAAM,CAAC,IAAK,CAAC,qBAAqB,IAAI,kBAAgB,CAAA;aACvD;iBAAM;gBACL,MAAM,CAAC,IAAK,CAAC,iBAAiB,IAAI,6BAA6B,CAAA;gBAC/D,MAAM,CAAC,IAAK,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAK,CAAC,eAAe,EAAE,6BAA6B,CAAC,CAAA;aACrG;QACH,CAAC,CAAC,CAAA;KACH;AACH,CAAC;AApBD,8CAoBC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gamepark/react-client",
3
- "version": "6.0.10-alpha.0",
3
+ "version": "6.1.0",
4
4
  "description": "Library to interact with Game Park server in a React application for a board game",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -28,8 +28,7 @@
28
28
  },
29
29
  "devDependencies": {
30
30
  "@apollo/client": "^3.5.0",
31
- "@gamepark/avataaars": "^2.2.0",
32
- "@gamepark/rules-api": "^6.0.10-alpha.0",
31
+ "@gamepark/rules-api": "^6.1.0",
33
32
  "@types/assert": "^1.5.4",
34
33
  "@types/react": "^17.0.3",
35
34
  "@types/react-redux": "^7.1.16",
@@ -50,5 +49,5 @@
50
49
  "publishConfig": {
51
50
  "access": "public"
52
51
  },
53
- "gitHead": "ec9c89201700ea4b2f7f6eee1ff86e36387d37c6"
52
+ "gitHead": "ff2b373e72e0c77625925b3b61281a008cc0656e"
54
53
  }