@webex/cc-store 1.28.0-ccwidgets.6 → 1.28.0-ccwidgets.61

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.
@@ -1,3 +1,3 @@
1
- import store from './store';
1
+ import store from './storeEventsWrapper';
2
2
  export * from './store.types';
3
3
  export default store;
@@ -1,15 +1,43 @@
1
- import { IContactCenter, Team, WithWebex, IdleCode, InitParams, IStore } from './store.types';
1
+ import { IContactCenter, Team, WithWebex, IdleCode, InitParams, IStore, ILogger, IWrapupCode, ICustomState, TaskMetaData, AgentLoginProfile } from './store.types';
2
+ import { ITask } from '@webex/plugin-cc';
2
3
  declare class Store implements IStore {
4
+ private static instance;
3
5
  teams: Team[];
4
6
  loginOptions: string[];
5
7
  cc: IContactCenter;
8
+ logger: ILogger;
6
9
  idleCodes: IdleCode[];
7
10
  agentId: string;
8
- selectedLoginOption: string;
11
+ currentTheme: string;
12
+ wrapupCodes: IWrapupCode[];
13
+ currentTask: ITask;
14
+ isAgentLoggedIn: boolean;
15
+ deviceType: string;
16
+ taskList: Record<string, ITask>;
17
+ dialNumber: string;
18
+ currentState: string;
19
+ customState: ICustomState;
20
+ consultCompleted: boolean;
21
+ consultInitiated: boolean;
22
+ consultAccepted: boolean;
23
+ isQueueConsultInProgress: boolean;
24
+ currentConsultQueueId: string;
25
+ consultStartTimeStamp: any;
26
+ lastStateChangeTimestamp?: number;
27
+ lastIdleCodeChangeTimestamp?: number;
28
+ showMultipleLoginAlert: boolean;
29
+ callControlAudio: MediaStream | null;
30
+ consultOfferReceived: boolean;
31
+ featureFlags: {
32
+ [key: string]: boolean;
33
+ };
34
+ isEndConsultEnabled: boolean;
35
+ allowConsultToQueue: boolean;
36
+ agentProfile: AgentLoginProfile;
37
+ taskMetaData: Record<string, TaskMetaData>;
9
38
  constructor();
10
- setSelectedLoginOption(option: string): void;
11
- registerCC(webex: WithWebex['webex']): Promise<void>;
12
- init(options: InitParams): Promise<void>;
39
+ static getInstance(): Store;
40
+ registerCC(webex?: WithWebex['webex']): Promise<void>;
41
+ init(options: InitParams, setupEventListeners: any): Promise<void>;
13
42
  }
14
- declare const store: Store;
15
- export default store;
43
+ export default Store;
@@ -1,7 +1,15 @@
1
- import { AgentLogin, IContactCenter, Profile, Team } from '@webex/plugin-cc';
1
+ import { AgentLogin, IContactCenter, Profile, Team, LogContext, BuddyDetails, DestinationType, ContactServiceQueue, ITask } from '@webex/plugin-cc';
2
+ type ILogger = {
3
+ log: (message: string, context?: LogContext) => void;
4
+ info: (message: string, context?: LogContext) => void;
5
+ warn: (message: string, context?: LogContext) => void;
6
+ trace: (message: string, context?: LogContext) => void;
7
+ error: (message: string, context?: LogContext) => void;
8
+ };
2
9
  interface WithWebex {
3
10
  webex: {
4
11
  cc: IContactCenter;
12
+ logger: ILogger;
5
13
  };
6
14
  }
7
15
  interface WithWebexConfig {
@@ -15,13 +23,131 @@ type IdleCode = {
15
23
  isSystem: boolean;
16
24
  isDefault: boolean;
17
25
  };
26
+ type TaskMetaData = {
27
+ consultCompleted: boolean;
28
+ consultInitiated: boolean;
29
+ consultAccepted: boolean;
30
+ isQueueConsultInProgress: boolean;
31
+ currentConsultQueueId: string;
32
+ consultStartTimeStamp: number;
33
+ consultOfferReceived: boolean;
34
+ };
18
35
  interface IStore {
36
+ featureFlags: {
37
+ [key: string]: boolean;
38
+ };
19
39
  teams: Team[];
20
40
  loginOptions: string[];
21
41
  cc: IContactCenter;
22
42
  idleCodes: IdleCode[];
23
43
  agentId: string;
24
- registerCC(webex: WithWebex['webex']): Promise<Profile>;
25
- init(params: InitParams): Promise<void>;
44
+ logger: ILogger;
45
+ wrapupCodes: IWrapupCode[];
46
+ currentTask: ITask;
47
+ taskList: Record<string, ITask>;
48
+ taskMetaData: Record<string, TaskMetaData>;
49
+ isAgentLoggedIn: boolean;
50
+ deviceType: string;
51
+ dialNumber: string;
52
+ currentState: string;
53
+ lastStateChangeTimestamp?: number;
54
+ lastIdleCodeChangeTimestamp?: number;
55
+ showMultipleLoginAlert: boolean;
56
+ currentTheme: string;
57
+ customState: ICustomState;
58
+ consultCompleted: boolean;
59
+ consultInitiated: boolean;
60
+ consultAccepted: boolean;
61
+ isQueueConsultInProgress: boolean;
62
+ currentConsultQueueId: string;
63
+ consultStartTimeStamp?: number;
64
+ callControlAudio: MediaStream | null;
65
+ consultOfferReceived: boolean;
66
+ isEndConsultEnabled: boolean;
67
+ allowConsultToQueue: boolean;
68
+ agentProfile: AgentLoginProfile;
69
+ init(params: InitParams, callback: (ccSDK: IContactCenter) => void): Promise<void>;
70
+ registerCC(webex?: WithWebex['webex']): Promise<void>;
71
+ }
72
+ interface IStoreWrapper extends IStore {
73
+ store: IStore;
74
+ setCurrentTask(task: ITask): void;
75
+ refreshTaskList(): void;
76
+ setDeviceType(option: string): void;
77
+ setDialNumber(input: string): void;
78
+ setCurrentState(state: string): void;
79
+ setLastStateChangeTimestamp(timestamp: number): void;
80
+ setLastIdleCodeChangeTimestamp(timestamp: number): void;
81
+ setShowMultipleLoginAlert(value: boolean): void;
82
+ setCurrentTheme(theme: string): void;
83
+ setIsAgentLoggedIn(value: boolean): void;
84
+ setWrapupCodes(wrapupCodes: IWrapupCode[]): void;
85
+ setState(state: IdleCode | ICustomState): void;
86
+ setConsultCompleted(value: boolean): void;
87
+ setConsultInitiated(value: boolean): void;
88
+ setConsultAccepted(value: boolean): void;
89
+ setConsultStartTimeStamp(timestamp: number): void;
90
+ setAgentProfile(profile: Profile): void;
91
+ }
92
+ interface IWrapupCode {
93
+ id: string;
94
+ name: string;
26
95
  }
27
- export type { IContactCenter, Profile, Team, AgentLogin, WithWebex, IdleCode, InitParams, IStore };
96
+ declare enum TASK_EVENTS {
97
+ TASK_INCOMING = "task:incoming",
98
+ TASK_ASSIGNED = "task:assigned",
99
+ TASK_MEDIA = "task:media",
100
+ TASK_HOLD = "task:hold",
101
+ TASK_UNHOLD = "task:unhold",
102
+ TASK_CONSULT = "task:consult",
103
+ TASK_CONSULT_END = "task:consultEnd",
104
+ TASK_CONSULT_ACCEPTED = "task:consultAccepted",
105
+ TASK_PAUSE = "task:pause",
106
+ TASK_RESUME = "task:resume",
107
+ TASK_END = "task:end",
108
+ TASK_WRAPUP = "task:wrapup",
109
+ TASK_REJECT = "task:rejected",
110
+ TASK_HYDRATE = "task:hydrate",
111
+ TASK_CONSULTING = "task:consulting",
112
+ TASK_CONSULT_QUEUE_CANCELLED = "task:consultQueueCancelled",
113
+ AGENT_CONTACT_ASSIGNED = "AgentContactAssigned",
114
+ CONTACT_RECORDING_PAUSED = "ContactRecordingPaused",
115
+ CONTACT_RECORDING_RESUMED = "ContactRecordingResumed",
116
+ AGENT_WRAPPEDUP = "AgentWrappedUp",
117
+ AGENT_OFFER_CONTACT = "AgentOfferContact",
118
+ AGENT_CONSULT_CREATED = "AgentConsultCreated"
119
+ }
120
+ declare enum CC_EVENTS {
121
+ AGENT_DN_REGISTERED = "agent:dnRegistered",
122
+ AGENT_LOGOUT_SUCCESS = "agent:logoutSuccess",
123
+ AGENT_STATION_LOGIN_SUCCESS = "agent:stationLoginSuccess",
124
+ AGENT_MULTI_LOGIN = "agent:multiLogin",
125
+ AGENT_STATE_CHANGE = "agent:stateChange",
126
+ AGENT_RELOGIN_SUCCESS = "agent:reloginSuccess",
127
+ AGENT_OFFER_CONSULT = "AgentOfferConsult"
128
+ }
129
+ interface ICustomStateSet {
130
+ name: string;
131
+ developerName: string;
132
+ }
133
+ interface ICustomStateReset {
134
+ reset: boolean;
135
+ }
136
+ type ICustomState = ICustomStateSet | ICustomStateReset;
137
+ declare const ENGAGED_LABEL = "ENGAGED";
138
+ declare const ENGAGED_USERNAME = "Engaged";
139
+ type AgentLoginProfile = {
140
+ agentName?: string;
141
+ orgId?: string;
142
+ profileType?: string;
143
+ deviceType?: string;
144
+ roles?: Array<string>;
145
+ mmProfile?: {
146
+ chat: number;
147
+ email: number;
148
+ social: number;
149
+ telephony: number;
150
+ };
151
+ };
152
+ export type { IContactCenter, ITask, Profile, Team, AgentLogin, WithWebex, IdleCode, InitParams, IStore, ILogger, IWrapupCode, IStoreWrapper, ICustomState, DestinationType, BuddyDetails, ContactServiceQueue, TaskMetaData, AgentLoginProfile, };
153
+ export { CC_EVENTS, TASK_EVENTS, ENGAGED_LABEL, ENGAGED_USERNAME };
@@ -0,0 +1,96 @@
1
+ import { IStoreWrapper, IStore, InitParams, TASK_EVENTS, CC_EVENTS, IWrapupCode, WithWebex, ICustomState, IdleCode, IContactCenter, ITask, BuddyDetails, ContactServiceQueue, TaskMetaData, AgentLoginProfile } from './store.types';
2
+ declare class StoreWrapper implements IStoreWrapper {
3
+ store: IStore;
4
+ onIncomingTask: ({ task }: {
5
+ task: ITask;
6
+ }) => void;
7
+ onTaskRejected?: (task: ITask, reason: string) => void;
8
+ onTaskAssigned?: (task: ITask) => void;
9
+ constructor();
10
+ get featureFlags(): {
11
+ [key: string]: boolean;
12
+ };
13
+ get teams(): Team[];
14
+ get loginOptions(): string[];
15
+ get cc(): IContactCenter;
16
+ get logger(): import("./store.types").ILogger;
17
+ get idleCodes(): IdleCode[];
18
+ get agentId(): string;
19
+ get deviceType(): string;
20
+ get dialNumber(): string;
21
+ get wrapupCodes(): IWrapupCode[];
22
+ get currentTask(): ITask;
23
+ get isAgentLoggedIn(): boolean;
24
+ get taskList(): Record<string, ITask>;
25
+ get currentState(): string;
26
+ get lastStateChangeTimestamp(): number;
27
+ get lastIdleCodeChangeTimestamp(): number;
28
+ get showMultipleLoginAlert(): boolean;
29
+ get currentTheme(): string;
30
+ get customState(): ICustomState;
31
+ get consultCompleted(): boolean;
32
+ get consultInitiated(): boolean;
33
+ get consultAccepted(): boolean;
34
+ get consultStartTimeStamp(): number;
35
+ get callControlAudio(): MediaStream;
36
+ get consultOfferReceived(): boolean;
37
+ get isQueueConsultInProgress(): boolean;
38
+ get currentConsultQueueId(): string;
39
+ get isEndConsultEnabled(): boolean;
40
+ get allowConsultToQueue(): boolean;
41
+ get taskMetaData(): Record<string, TaskMetaData>;
42
+ get agentProfile(): AgentLoginProfile;
43
+ setTaskMetaData: (taskId: string, data: TaskMetaData) => void;
44
+ setCurrentTheme: (theme: string) => void;
45
+ setShowMultipleLoginAlert: (value: boolean) => void;
46
+ setDeviceType: (option: string) => void;
47
+ setDialNumber: (input: string) => void;
48
+ setCurrentState: (state: string) => void;
49
+ setLastStateChangeTimestamp: (timestamp: number) => void;
50
+ setLastIdleCodeChangeTimestamp: (timestamp: number) => void;
51
+ setIsAgentLoggedIn: (value: boolean) => void;
52
+ setCurrentTask: (task: ITask) => void;
53
+ refreshTaskList: () => void;
54
+ setWrapupCodes: (wrapupCodes: IWrapupCode[]) => void;
55
+ setConsultCompleted: (value: boolean) => void;
56
+ setConsultInitiated: (value: boolean) => void;
57
+ setConsultAccepted: (value: boolean) => void;
58
+ setConsultOfferReceived: (value: boolean) => void;
59
+ setConsultStartTimeStamp: (timestamp: number) => void;
60
+ setCallControlAudio: (audio: MediaStream | null) => void;
61
+ setIsQueueConsultInProgress: (value: boolean) => void;
62
+ setCurrentConsultQueueId: (queueId: string | null) => void;
63
+ setState: (state: ICustomState | IdleCode) => void;
64
+ setIncomingTaskCb: (callback: (task: ITask) => void) => void;
65
+ setTaskRejected: (callback: ((task: ITask, reason: string) => void) | undefined) => void;
66
+ setTaskAssigned: (callback: ((task: ITask) => void) | undefined) => void;
67
+ setCCCallback: (event: CC_EVENTS | TASK_EVENTS, callback: any) => void;
68
+ setTaskCallback: (event: TASK_EVENTS, callback: any, taskId: string) => void;
69
+ setAgentProfile: (profile: AgentLoginProfile) => void;
70
+ removeCCCallback: (event: CC_EVENTS) => void;
71
+ removeTaskCallback: (event: TASK_EVENTS, callback: any, taskId: string) => void;
72
+ init(options: InitParams): Promise<void>;
73
+ registerCC: (webex?: WithWebex["webex"]) => Promise<void>;
74
+ handleTaskRemove: (taskId: any) => void;
75
+ handleTaskEnd: () => void;
76
+ handleTaskAssigned: (event: any) => void;
77
+ handleTaskWrapUp: (task: any) => void;
78
+ handleTaskMedia: (track: any) => void;
79
+ handleConsultCreated: () => void;
80
+ handleConsulting: (event: any) => void;
81
+ handleConsultEnd: (event: any) => void;
82
+ handleConsultOffer: () => void;
83
+ handleConsultAccepted: (event: any) => void;
84
+ handleConsultQueueCancelled: () => void;
85
+ handleIncomingTask: (event: any) => void;
86
+ handleStateChange: (data: any) => void;
87
+ handleMultiLoginCloseSession: (data: any) => void;
88
+ handleTaskHydrate: (event: any) => void;
89
+ handleTaskReject: (task: ITask, reason: string) => void;
90
+ getBuddyAgents: (mediaType?: string) => Promise<Array<BuddyDetails>>;
91
+ getQueues: (mediaType?: string) => Promise<Array<ContactServiceQueue>>;
92
+ cleanUpStore: () => void;
93
+ setupIncomingTaskHandler: (ccSDK: IContactCenter) => void;
94
+ }
95
+ declare const storeWrapper: StoreWrapper;
96
+ export default storeWrapper;
@@ -0,0 +1,2 @@
1
+ import { Profile } from './store.types';
2
+ export declare function getFeatureFlags(agentProfile: Profile): {};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@webex/cc-store",
3
3
  "description": "Webex Contact Center Widgets: Widgets Store",
4
- "version": "1.28.0-ccwidgets.6",
4
+ "version": "1.28.0-ccwidgets.61",
5
5
  "main": "dist/index.js",
6
6
  "license": "MIT",
7
7
  "publishConfig": {
@@ -12,23 +12,25 @@
12
12
  "package.json"
13
13
  ],
14
14
  "scripts": {
15
+ "clean": "rm -rf dist && rm -rf node_modules",
16
+ "clean:dist": "rm -rf dist",
15
17
  "build": "yarn run -T tsc",
16
- "build:src": "webpack && yarn run build",
18
+ "build:src": "yarn run clean:dist && webpack",
17
19
  "build:watch": "webpack --watch",
18
- "test:unit": "jest"
20
+ "test:unit": "jest --coverage",
21
+ "test:styles": "eslint"
19
22
  },
20
23
  "dependencies": {
24
+ "@webex/plugin-cc": "3.8.0-next.48",
21
25
  "mobx": "6.13.5",
22
- "react": "18.3.1",
23
- "react-dom": "18.3.1",
24
- "typescript": "5.6.3",
25
- "webex": "3.7.0-wxcc.4"
26
+ "typescript": "5.6.3"
26
27
  },
27
28
  "devDependencies": {
28
29
  "@babel/core": "7.25.2",
29
30
  "@babel/preset-env": "7.25.4",
30
31
  "@babel/preset-react": "7.24.7",
31
32
  "@babel/preset-typescript": "7.25.9",
33
+ "@eslint/js": "^9.20.0",
32
34
  "@testing-library/dom": "10.4.0",
33
35
  "@testing-library/jest-dom": "6.6.2",
34
36
  "@testing-library/react": "16.0.1",
@@ -36,10 +38,21 @@
36
38
  "@types/react-test-renderer": "18",
37
39
  "babel-jest": "29.7.0",
38
40
  "babel-loader": "9.2.1",
41
+ "eslint": "^9.20.1",
42
+ "eslint-config-prettier": "^10.0.1",
43
+ "eslint-config-standard": "^17.1.0",
44
+ "eslint-plugin-import": "^2.25.2",
45
+ "eslint-plugin-n": "^15.0.0 || ^16.0.0 ",
46
+ "eslint-plugin-prettier": "^5.2.3",
47
+ "eslint-plugin-promise": "^6.0.0",
48
+ "eslint-plugin-react": "^7.37.4",
39
49
  "file-loader": "6.2.0",
50
+ "globals": "^16.0.0",
40
51
  "jest": "29.7.0",
41
52
  "jest-environment-jsdom": "29.7.0",
53
+ "prettier": "^3.5.1",
42
54
  "ts-loader": "9.5.1",
55
+ "typescript-eslint": "^8.24.1",
43
56
  "webpack": "5.94.0",
44
57
  "webpack-cli": "5.1.4",
45
58
  "webpack-merge": "6.0.1"
@@ -50,6 +63,5 @@
50
63
  "**/tests/**/*.ts",
51
64
  "**/tests/**/*.tsx"
52
65
  ]
53
- },
54
- "stableVersion": "1.28.0-ccwidgets.5"
66
+ }
55
67
  }
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,oDAA4B;AAC5B,gDAA8B;AAC9B,kBAAe,eAAK,CAAC"}
package/dist/store.js DELETED
@@ -1,66 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const mobx_1 = require("mobx");
7
- const webex_1 = __importDefault(require("webex"));
8
- class Store {
9
- constructor() {
10
- this.teams = [];
11
- this.loginOptions = [];
12
- this.idleCodes = [];
13
- this.agentId = '';
14
- this.selectedLoginOption = '';
15
- (0, mobx_1.makeAutoObservable)(this, { cc: mobx_1.observable.ref });
16
- }
17
- setSelectedLoginOption(option) {
18
- this.selectedLoginOption = option;
19
- }
20
- registerCC(webex) {
21
- this.cc = webex.cc;
22
- return this.cc
23
- .register()
24
- .then((response) => {
25
- this.teams = response.teams;
26
- this.loginOptions = response.loginVoiceOptions;
27
- this.idleCodes = response.idleCodes;
28
- this.agentId = response.agentId;
29
- })
30
- .catch((error) => {
31
- console.error('Error registering contact center', error);
32
- return Promise.reject(error);
33
- });
34
- }
35
- init(options) {
36
- if ('webex' in options) {
37
- // If devs decide to go with webex, they will have to listen to the ready event before calling init
38
- // This has to be documented
39
- return this.registerCC(options.webex);
40
- }
41
- return new Promise((resolve, reject) => {
42
- const timer = setTimeout(() => {
43
- reject(new Error('Webex SDK failed to initialize'));
44
- }, 6000);
45
- const webex = webex_1.default.init({
46
- config: options.webexConfig,
47
- credentials: {
48
- access_token: options.access_token,
49
- },
50
- });
51
- webex.once('ready', () => {
52
- clearTimeout(timer);
53
- this.registerCC(webex)
54
- .then(() => {
55
- resolve();
56
- })
57
- .catch((error) => {
58
- reject(error);
59
- });
60
- });
61
- });
62
- }
63
- }
64
- const store = new Store();
65
- exports.default = store;
66
- //# sourceMappingURL=store.js.map
package/dist/store.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":";;;;;AAAA,+BAAoD;AACpD,kDAA0B;AAG1B,MAAM,KAAK;IAQT;QAPA,UAAK,GAAW,EAAE,CAAC;QACnB,iBAAY,GAAa,EAAE,CAAC;QAE5B,cAAS,GAAe,EAAE,CAAC;QAC3B,YAAO,GAAW,EAAE,CAAC;QACrB,wBAAmB,GAAW,EAAE,CAAC;QAG/B,IAAA,yBAAkB,EAAC,IAAI,EAAE,EAAC,EAAE,EAAE,iBAAU,CAAC,GAAG,EAAC,CAAC,CAAC;IACjD,CAAC;IAED,sBAAsB,CAAC,MAAc;QACnC,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC;IACpC,CAAC;IAED,UAAU,CAAC,KAAyB;QAClC,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,EAAE;aACX,QAAQ,EAAE;aACV,IAAI,CAAC,CAAC,QAAiB,EAAE,EAAE;YAC1B,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;YAC5B,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,iBAAiB,CAAC;YAC/C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;YACpC,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;QAClC,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;YACzD,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI,CAAC,OAAmB;QACtB,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;YACvB,mGAAmG;YACnG,4BAA4B;YAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,MAAM,CAAC,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;YACtD,CAAC,EAAE,IAAI,CAAC,CAAC;YAET,MAAM,KAAK,GAAG,eAAK,CAAC,IAAI,CAAC;gBACvB,MAAM,EAAE,OAAO,CAAC,WAAW;gBAC3B,WAAW,EAAE;oBACX,YAAY,EAAE,OAAO,CAAC,YAAY;iBACnC;aACF,CAAC,CAAC;YAEH,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;gBACvB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;qBACnB,IAAI,CAAC,GAAG,EAAE;oBACT,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;oBACf,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;AAC1B,kBAAe,KAAK,CAAC"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=store.types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"store.types.js","sourceRoot":"","sources":["../src/store.types.ts"],"names":[],"mappings":""}