@streamlayer/sdk-web-core 0.4.8 → 0.10.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.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # core
2
2
 
3
- This library was generatedwith [Nx](https://nx.dev).
3
+ This library was generated with [Nx](https://nx.dev).
4
4
 
5
5
  ## Building
6
6
  Run `nx build core` to build the library.
@@ -46,4 +46,3 @@ export class BypassAuth extends AbstractAuthenticationProvider {
46
46
  });
47
47
  };
48
48
  }
49
- //# sourceMappingURL=index.js.map
@@ -1,8 +1,10 @@
1
+ import { UserStorage } from '../storage';
1
2
  import { BypassAuth } from './bypass';
2
3
  export const bypass = async (instance, opts, done) => {
3
4
  instance.auth = new BypassAuth(instance.store, instance.transport);
4
- const prevUserSchema = localStorage.getItem('sl-user-schema');
5
- const prevUserToken = localStorage.getItem('sl-user-token');
5
+ const storage = new UserStorage();
6
+ const prevUserSchema = storage.getSchema();
7
+ const prevUserToken = storage.getToken();
6
8
  if (prevUserSchema && prevUserToken) {
7
9
  console.log('try to login prev user');
8
10
  await instance.auth.login(prevUserSchema, prevUserToken);
@@ -10,7 +12,7 @@ export const bypass = async (instance, opts, done) => {
10
12
  instance.sdk.authorizationBypass = async (schema, userKey) => {
11
13
  await instance.auth.login(schema, userKey);
12
14
  // ToDo: implement right cache user keys
13
- localStorage.setItem('sl-user-schema', 'streamlayer:streamlayer');
15
+ storage.setSchema('streamlayer:streamlayer');
14
16
  };
15
17
  instance.sdk.logout = () => {
16
18
  instance.auth.logout();
@@ -23,4 +25,3 @@ export const bypass = async (instance, opts, done) => {
23
25
  };
24
26
  done();
25
27
  };
26
- //# sourceMappingURL=index.js.map
@@ -3,4 +3,3 @@
3
3
  export const environment = {
4
4
  production: false,
5
5
  };
6
- //# sourceMappingURL=environment.js.map
@@ -1,4 +1,3 @@
1
1
  export const environment = {
2
2
  production: true,
3
3
  };
4
- //# sourceMappingURL=environment.prod.js.map
@@ -1,4 +1,8 @@
1
1
  import { StreamLayerContext } from '@streamlayer/sdk-web-interfaces';
2
+ export { bypass } from './auth';
3
+ export { store } from './store';
4
+ import './store';
5
+ import './auth';
2
6
  declare module '@streamlayer/sdk-web-interfaces' {
3
7
  interface StreamLayerSDK {
4
8
  initializeApp: () => Promise<{
@@ -13,7 +17,7 @@ declare module '@streamlayer/sdk-web-interfaces' {
13
17
  * The main application instance is the core of a application. It includes:
14
18
  * Store: Manages data storage.
15
19
  * Public Methods: Provides a way to interact with the application.
16
- * Connect Features: Handles communication between components throught store.
20
+ * Connect Features: Handles communication between components through store.
17
21
  * Connect Transport: Handles communication with api.
18
22
  * Dependency Injection: Incorporates other necessary instances.
19
23
  * Error Handling: Manages errors and logs them.
@@ -1,15 +1,20 @@
1
1
  import { CoreStatus } from './store/store';
2
+ export { bypass } from './auth';
3
+ export { store } from './store';
4
+ import './store';
5
+ import './auth';
2
6
  /**
3
7
  * The main application instance is the core of a application. It includes:
4
8
  * Store: Manages data storage.
5
9
  * Public Methods: Provides a way to interact with the application.
6
- * Connect Features: Handles communication between components throught store.
10
+ * Connect Features: Handles communication between components through store.
7
11
  * Connect Transport: Handles communication with api.
8
12
  * Dependency Injection: Incorporates other necessary instances.
9
13
  * Error Handling: Manages errors and logs them.
10
14
  * Security: Implements authentication and authorization.
11
15
  */
12
16
  export const core = (instance, opts, done) => {
17
+ console.log('core connected');
13
18
  instance.sdk = Object.create(null);
14
19
  /**
15
20
  * On initialize we subscribe to store and launch listeners
@@ -34,6 +39,7 @@ export const core = (instance, opts, done) => {
34
39
  return { err: `${err}` };
35
40
  }
36
41
  };
42
+ console.log('sdk.initializeApp added');
37
43
  instance.sdk.disableApp = () => {
38
44
  instance.stores.enabled.setValue();
39
45
  instance.stores.status.setValue(CoreStatus.DISABLED);
@@ -49,4 +55,3 @@ export const core = (instance, opts, done) => {
49
55
  };
50
56
  done();
51
57
  };
52
- //# sourceMappingURL=index.js.map
@@ -0,0 +1,10 @@
1
+ import { Storage } from '@streamlayer/sdk-web-storage';
2
+ export declare class UserStorage extends Storage {
3
+ constructor();
4
+ setSchema: (value: string) => void;
5
+ getSchema: () => string | undefined;
6
+ setToken: (value: string) => void;
7
+ getToken: () => string | undefined;
8
+ removeToken: () => void;
9
+ clearNotification: () => void;
10
+ }
package/lib/storage.js ADDED
@@ -0,0 +1,31 @@
1
+ import { Storage } from '@streamlayer/sdk-web-storage';
2
+ var KEY_PREFIX;
3
+ (function (KEY_PREFIX) {
4
+ KEY_PREFIX["SCHEMA"] = "schema";
5
+ KEY_PREFIX["TOKEN"] = "token";
6
+ })(KEY_PREFIX || (KEY_PREFIX = {}));
7
+ export class UserStorage extends Storage {
8
+ constructor() {
9
+ super('user');
10
+ }
11
+ // Schema
12
+ setSchema = (value) => {
13
+ this.write(KEY_PREFIX.SCHEMA, value);
14
+ };
15
+ getSchema = () => {
16
+ return this.read(KEY_PREFIX.SCHEMA);
17
+ };
18
+ // Token
19
+ setToken = (value) => {
20
+ this.write(KEY_PREFIX.TOKEN, value);
21
+ };
22
+ getToken = () => {
23
+ return this.read(KEY_PREFIX.TOKEN);
24
+ };
25
+ removeToken = () => {
26
+ this.remove(KEY_PREFIX.TOKEN);
27
+ };
28
+ clearNotification = () => {
29
+ this.clear();
30
+ };
31
+ }
@@ -0,0 +1,14 @@
1
+ import { CoreStore } from './store';
2
+ /**
3
+ * store plugin, connect store to sdk
4
+ */
5
+ export const store = (instance, opts, done) => {
6
+ instance.store = new CoreStore(instance.transport);
7
+ instance.stores = instance.store.getValues();
8
+ instance.sdk.sdkStore = instance.store.getStore();
9
+ instance.sdk.organizationStore = () => instance.stores.organizationSettings.getStore();
10
+ instance.storeUnsubscribe = () => {
11
+ instance.store.unsubscribe();
12
+ };
13
+ done();
14
+ };
@@ -29,12 +29,12 @@ declare const initializeStore: (transport: Transport) => {
29
29
  readonly enabled: SingleStore<unknown, import("nanostores").WritableAtom<"on" | undefined>>;
30
30
  readonly status: SingleStore<unknown, import("nanostores").WritableAtom<CoreStatus | undefined>>;
31
31
  readonly providerStreamId: SingleStore<unknown, import("nanostores").WritableAtom<string | undefined>>;
32
- readonly slStreamId: ApiStore<string | undefined, import("@nanostores/query").FetcherStore<string | undefined>>;
33
- readonly streamSettings: ApiStore<import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").StreamSettings | undefined, import("@nanostores/query").FetcherStore<import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").StreamSettings | undefined>>;
34
- readonly user: ApiStore<import("@streamlayer/sl-eslib/users/users_pb").MeResponse | undefined, import("@nanostores/query").FetcherStore<import("@streamlayer/sl-eslib/users/users_pb").MeResponse | undefined>>;
32
+ readonly slStreamId: ApiStore<string | undefined, import("@nanostores/query").FetcherStore<string | undefined, any>>;
33
+ readonly streamSettings: ApiStore<import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").StreamSettings | undefined, import("@nanostores/query").FetcherStore<import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").StreamSettings | undefined, any>>;
34
+ readonly user: ApiStore<import("@streamlayer/sl-eslib/users/users_pb").MeResponse | undefined, import("@nanostores/query").FetcherStore<import("@streamlayer/sl-eslib/users/users_pb").MeResponse | undefined, any>>;
35
35
  readonly userKey: SingleStore<unknown, import("nanostores").WritableAtom<string | undefined>>;
36
36
  readonly userToken: SingleStore<unknown, import("nanostores").WritableAtom<string | undefined>>;
37
- readonly userSettings: ApiStore<import("@streamlayer/sl-eslib/sdkSettings/client/client_pb").ClientSettings | undefined, import("@nanostores/query").FetcherStore<import("@streamlayer/sl-eslib/sdkSettings/client/client_pb").ClientSettings | undefined>>;
37
+ readonly userSettings: ApiStore<import("@streamlayer/sl-eslib/sdkSettings/client/client_pb").ClientSettings | undefined, import("@nanostores/query").FetcherStore<import("@streamlayer/sl-eslib/sdkSettings/client/client_pb").ClientSettings | undefined, any>>;
38
38
  readonly organizationSettings: ApiStore<{
39
39
  id: string;
40
40
  overlays?: import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").SdkOverlay[] | undefined;
@@ -67,8 +67,8 @@ declare const initializeStore: (transport: Transport) => {
67
67
  brandDefaults?: import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").BrandDefaults | undefined;
68
68
  pub?: import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").JWK | undefined;
69
69
  getstream?: import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").GetStreamSettingsClient | undefined;
70
- } | undefined>>;
71
- readonly organizationAdvertising: ApiStore<import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").Advertising | undefined, import("@nanostores/query").FetcherStore<import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").Advertising | undefined>>;
70
+ } | undefined, any>>;
71
+ readonly organizationAdvertising: ApiStore<import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").Advertising | undefined, import("@nanostores/query").FetcherStore<import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").Advertising | undefined, any>>;
72
72
  };
73
73
  export type StoreObj = ReturnType<typeof initializeStore>;
74
74
  export type CoreStores = {
@@ -89,12 +89,12 @@ export declare class CoreStore extends AbstractStore<CoreStoreInstance> {
89
89
  readonly enabled: SingleStore<unknown, import("nanostores").WritableAtom<"on" | undefined>>;
90
90
  readonly status: SingleStore<unknown, import("nanostores").WritableAtom<CoreStatus | undefined>>;
91
91
  readonly providerStreamId: SingleStore<unknown, import("nanostores").WritableAtom<string | undefined>>;
92
- readonly slStreamId: ApiStore<string | undefined, import("@nanostores/query").FetcherStore<string | undefined>>;
93
- readonly streamSettings: ApiStore<import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").StreamSettings | undefined, import("@nanostores/query").FetcherStore<import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").StreamSettings | undefined>>;
94
- readonly user: ApiStore<import("@streamlayer/sl-eslib/users/users_pb").MeResponse | undefined, import("@nanostores/query").FetcherStore<import("@streamlayer/sl-eslib/users/users_pb").MeResponse | undefined>>;
92
+ readonly slStreamId: ApiStore<string | undefined, import("@nanostores/query").FetcherStore<string | undefined, any>>;
93
+ readonly streamSettings: ApiStore<import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").StreamSettings | undefined, import("@nanostores/query").FetcherStore<import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").StreamSettings | undefined, any>>;
94
+ readonly user: ApiStore<import("@streamlayer/sl-eslib/users/users_pb").MeResponse | undefined, import("@nanostores/query").FetcherStore<import("@streamlayer/sl-eslib/users/users_pb").MeResponse | undefined, any>>;
95
95
  readonly userKey: SingleStore<unknown, import("nanostores").WritableAtom<string | undefined>>;
96
96
  readonly userToken: SingleStore<unknown, import("nanostores").WritableAtom<string | undefined>>;
97
- readonly userSettings: ApiStore<import("@streamlayer/sl-eslib/sdkSettings/client/client_pb").ClientSettings | undefined, import("@nanostores/query").FetcherStore<import("@streamlayer/sl-eslib/sdkSettings/client/client_pb").ClientSettings | undefined>>;
97
+ readonly userSettings: ApiStore<import("@streamlayer/sl-eslib/sdkSettings/client/client_pb").ClientSettings | undefined, import("@nanostores/query").FetcherStore<import("@streamlayer/sl-eslib/sdkSettings/client/client_pb").ClientSettings | undefined, any>>;
98
98
  readonly organizationSettings: ApiStore<{
99
99
  id: string;
100
100
  overlays?: import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").SdkOverlay[] | undefined;
@@ -127,8 +127,8 @@ export declare class CoreStore extends AbstractStore<CoreStoreInstance> {
127
127
  brandDefaults?: import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").BrandDefaults | undefined;
128
128
  pub?: import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").JWK | undefined;
129
129
  getstream?: import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").GetStreamSettingsClient | undefined;
130
- } | undefined>>;
131
- readonly organizationAdvertising: ApiStore<import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").Advertising | undefined, import("@nanostores/query").FetcherStore<import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").Advertising | undefined>>;
130
+ } | undefined, any>>;
131
+ readonly organizationAdvertising: ApiStore<import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").Advertising | undefined, import("@nanostores/query").FetcherStore<import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").Advertising | undefined, any>>;
132
132
  };
133
133
  setValue(): void;
134
134
  subscribe: (subscribes: Partial<StoreListeners>) => void;
@@ -1,5 +1,6 @@
1
1
  import { AbstractStore, createSingleStore, SingleStore, mergeStores, ApiStore } from '@streamlayer/sdk-web-interfaces';
2
2
  import { queries } from '@streamlayer/sdk-web-api';
3
+ import { UserStorage } from '../storage';
3
4
  export var CoreStatus;
4
5
  (function (CoreStatus) {
5
6
  CoreStatus["DISABLED"] = "disabled";
@@ -17,12 +18,13 @@ const initializeStore = (transport) => {
17
18
  const userKey = new SingleStore(createSingleStore(), 'userKey');
18
19
  // sl user key
19
20
  const userToken = new SingleStore(createSingleStore(), 'userToken');
21
+ const storage = new UserStorage();
20
22
  userToken.listen((token) => {
21
23
  if (token) {
22
- localStorage.setItem('sl-user-token', token);
24
+ storage.setToken(token);
23
25
  }
24
26
  else {
25
- localStorage.removeItem('sl-user-token');
27
+ storage.removeToken();
26
28
  }
27
29
  });
28
30
  // host event id
@@ -94,4 +96,3 @@ export class CoreStore extends AbstractStore {
94
96
  return store.off();
95
97
  };
96
98
  }
97
- //# sourceMappingURL=store.js.map
package/package.json CHANGED
@@ -1,42 +1,51 @@
1
1
  {
2
2
  "name": "@streamlayer/sdk-web-core",
3
- "dependencies": {
4
- "@streamlayer/sdk-web-api": "*",
5
- "@streamlayer/sdk-web-features": "*",
6
- "@nanostores/query": "^0.2.4",
7
- "nanostores": "^0.9.4",
3
+ "devDependencies": {
8
4
  "tslib": "^2.6.2"
9
5
  },
10
6
  "peerDependencies": {
11
- "@streamlayer/sdk-web-interfaces": "*",
12
- "@streamlayer/sdk-web-types": "*"
7
+ "@nanostores/query": "*",
8
+ "nanostores": "*",
9
+ "@streamlayer/sl-eslib": "*",
10
+ "@streamlayer/sdk-web-interfaces": "^0.1.0",
11
+ "@streamlayer/sdk-web-storage": "^0.2.0",
12
+ "@streamlayer/sdk-web-api": "^0.18.0",
13
+ "@streamlayer/sdk-web-types": "^0.1.0"
13
14
  },
14
- "version": "0.4.8",
15
- "type": "module",
16
- "main": "./src/index.js",
17
- "module": "./src/index.js",
18
- "typings": "./src/index.d.ts",
19
- "files": [
20
- "src/"
21
- ],
22
15
  "exports": {
23
- "./package.json": "./package.json",
24
- ".": "./src/index.js",
16
+ ".": {
17
+ "types": "./lib/index.d.ts",
18
+ "import": "./lib/index.js",
19
+ "default": "./lib/index.js"
20
+ },
25
21
  "./store": {
26
- "types": "./src/store/index.js",
27
- "import": "./src/store/index.js"
22
+ "types": "./lib/store/index.d.ts",
23
+ "import": "./lib/store/index.js",
24
+ "default": "./lib/store/index.js"
28
25
  },
29
- "./auth": {
30
- "types": "./src/auth/index.js",
31
- "import": "./src/auth/index.js"
26
+ "./store/store": {
27
+ "types": "./lib/store/store.d.ts",
28
+ "import": "./lib/store/store.js",
29
+ "default": "./lib/store/store.js"
32
30
  },
33
31
  "./notifications": {
34
- "types": "./src/notifications/index.js",
35
- "import": "./src/notifications/index.js"
32
+ "types": "./lib/notifications/index.d.ts",
33
+ "import": "./lib/notifications/index.js",
34
+ "default": "./lib/notifications/index.js"
35
+ },
36
+ "./auth": {
37
+ "types": "./lib/auth/index.d.ts",
38
+ "import": "./lib/auth/index.js",
39
+ "default": "./lib/auth/index.js"
36
40
  }
37
41
  },
38
- "devDependencies": {
39
- "@swc/helpers": "^0.5.2",
40
- "tslib": "^2.6.2"
41
- }
42
- }
42
+ "version": "0.10.0",
43
+ "type": "module",
44
+ "main": "./lib/index.js",
45
+ "module": "./lib/index.js",
46
+ "typings": "./lib/index.d.ts",
47
+ "files": [
48
+ "lib/",
49
+ "package.json"
50
+ ]
51
+ }
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/sdk-web-core/src/auth/bypass/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,iCAAiC,CAAA;AAChF,OAAO,EAAE,OAAO,EAAa,MAAM,0BAA0B,CAAA;AAI7D;;;;GAIG;AACH,MAAM,OAAO,UAAW,SAAQ,8BAA8B;IAC3C,UAAU,CAAW;IACrB,SAAS,CAAW;IACpB,YAAY,CAAyC;IAEtE,YAAY,KAAgB,EAAE,SAAoB;QAChD,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,UAAU,GAAG,KAAK,CAAA;QACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAExD,IAAI,CAAC,SAAS,EAAE,CAAA;IAClB,CAAC;IAEM,EAAE,GAAG,KAAK,IAAI,EAAE;QACrB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAA;QAE7D,OAAO,GAAG,EAAE,IAAI,CAAA;IAClB,CAAC,CAAA;IAEM,KAAK,GAAG,KAAK,EAAE,MAAc,EAAE,OAAe,EAAE,EAAE;QACvD,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAErD,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QAEhE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAA;IAClB,CAAC,CAAA;IAEM,eAAe,GAAG,GAAG,EAAE;QAC5B,OAAO,IAAI,CAAC,EAAE,EAAE,CAAA;IAClB,CAAC,CAAA;IAEM,MAAM,GAAG,GAAG,EAAE;QACnB,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAA;QAC3C,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAA;QAC9C,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAA;QAChD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAC5B,CAAC,CAAA;IAED;;OAEG;IACK,SAAS,GAAG,GAAG,EAAE;QACvB,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YACxC,IAAI,GAAG,KAAK,MAAM,EAAE;gBAClB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;gBAC7C,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;aACtE;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/sdk-web-core/src/auth/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAerC,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,EAAE,QAA4B,EAAE,IAAa,EAAE,IAAgB,EAAE,EAAE;IAC5F,QAAQ,CAAC,IAAI,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAA;IAElE,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAC7D,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;IAE3D,IAAI,cAAc,IAAI,aAAa,EAAE;QACnC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;QACrC,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,aAAa,CAAC,CAAA;KACzD;IAED,QAAQ,CAAC,GAAG,CAAC,mBAAmB,GAAG,KAAK,EAAE,MAAc,EAAE,OAAe,EAAE,EAAE;QAC3E,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC1C,wCAAwC;QACxC,YAAY,CAAC,OAAO,CAAC,gBAAgB,EAAE,yBAAyB,CAAC,CAAA;IACnE,CAAC,CAAA;IAED,QAAQ,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE;QACzB,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAA;IACxB,CAAC,CAAA;IAED,QAAQ,CAAC,GAAG,CAAC,YAAY,GAAG,GAAG,EAAE;QAC/B,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAA;IACxC,CAAC,CAAA;IAED,QAAQ,CAAC,GAAG,CAAC,gBAAgB,GAAG,GAAG,EAAE;QACnC,OAAO,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,CAAA;IACxC,CAAC,CAAA;IAED,IAAI,EAAE,CAAA;AACR,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"environment.js","sourceRoot":"","sources":["../../../../../packages/sdk-web-core/src/environments/environment.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,kFAAkF;AAElF,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,UAAU,EAAE,KAAK;CAClB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"environment.prod.js","sourceRoot":"","sources":["../../../../../packages/sdk-web-core/src/environments/environment.prod.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,UAAU,EAAE,IAAI;CACjB,CAAA"}
package/src/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/sdk-web-core/src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAU1C;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,QAA4B,EAAE,IAAa,EAAE,IAAgB,EAAE,EAAE;IACpF,QAAQ,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAElC;;;OAGG;IACH,QAAQ,CAAC,GAAG,CAAC,aAAa,GAAG,KAAK,IAAI,EAAE;QACtC,QAAQ,CAAC,cAAc,EAAE,CAAA;QACzB,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QACtC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC,CAAA;QAE1D,IAAI;YACF,MAAM,oBAAoB,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAA;YAElF,IAAI,oBAAoB,EAAE;gBACxB,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;gBAEjD,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,oBAAoB,EAAE,CAAA;aAC3C;YAED,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;YAElD,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAA;SACzB;QAAC,OAAO,GAAG,EAAE;YACZ,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAA;YAClC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;YAElD,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,CAAA;SACzB;IACH,CAAC,CAAA;IAED,QAAQ,CAAC,GAAG,CAAC,UAAU,GAAG,GAAG,EAAE;QAC7B,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAA;QAClC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;QACpD,QAAQ,CAAC,gBAAgB,EAAE,CAAA;IAC7B,CAAC,CAAA;IAED;;;OAGG;IACH,QAAQ,CAAC,GAAG,CAAC,kBAAkB,GAAG,CAAC,gBAAwB,EAAE,EAAE;QAC7D,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QAC7C,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAA;IAC7D,CAAC,CAAA;IAED,IAAI,EAAE,CAAA;AACR,CAAC,CAAA"}
@@ -1,17 +0,0 @@
1
- import { StreamLayerContext } from '@streamlayer/sdk-web-interfaces';
2
- import { Notifications } from './notifications';
3
- export type { Nofitication } from './notifications';
4
- export type NotificationsStore = ReturnType<Notifications['getQueueStore']>;
5
- declare module '@streamlayer/sdk-web-interfaces' {
6
- interface StreamLayerContext {
7
- notifications: Notifications;
8
- addNotification: Notifications['add'];
9
- }
10
- interface StreamLayerSDK {
11
- getNotificationsStore: Notifications['getQueueStore'];
12
- }
13
- }
14
- /**
15
- * notifications plugin, connect notifications to sdk
16
- */
17
- export declare const notifications: (instance: StreamLayerContext, opts: unknown, done: () => void) => void;
@@ -1,11 +0,0 @@
1
- import { Notifications } from './notifications';
2
- /**
3
- * notifications plugin, connect notifications to sdk
4
- */
5
- export const notifications = (instance, opts, done) => {
6
- instance.notifications = new Notifications();
7
- instance.addNotification = instance.notifications.add;
8
- instance.sdk.getNotificationsStore = () => instance.notifications.getQueueStore();
9
- done();
10
- };
11
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/sdk-web-core/src/notifications/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAgB/C;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAA4B,EAAE,IAAa,EAAE,IAAgB,EAAE,EAAE;IAC7F,QAAQ,CAAC,aAAa,GAAG,IAAI,aAAa,EAAE,CAAA;IAC5C,QAAQ,CAAC,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAA;IACrD,QAAQ,CAAC,GAAG,CAAC,qBAAqB,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,aAAa,EAAE,CAAA;IAEjF,IAAI,EAAE,CAAA;AACR,CAAC,CAAA"}
@@ -1,19 +0,0 @@
1
- import { SingleStore } from '@streamlayer/sdk-web-interfaces';
2
- export type Nofitication<T extends Record<string, unknown> = any> = {
3
- variant?: 'default' | 'error' | 'success' | 'warning' | 'info';
4
- autoHideDuration?: number;
5
- delay?: number;
6
- data?: T;
7
- id: string;
8
- };
9
- /**
10
- * @description app notifications (inapp)
11
- */
12
- export declare class Notifications {
13
- queue: SingleStore<Nofitication[]>;
14
- constructor();
15
- add: (notification: Nofitication) => void;
16
- getQueueStore: () => import("nanostores").WritableAtom<Nofitication<any>[] | undefined>;
17
- isNewNotify: (id: string) => boolean;
18
- markAsViewed: (id: string) => void;
19
- }
@@ -1,29 +0,0 @@
1
- import { SingleStore, createSingleStore } from '@streamlayer/sdk-web-interfaces';
2
- /**
3
- * @description app notifications (inapp)
4
- */
5
- export class Notifications {
6
- queue;
7
- constructor() {
8
- this.queue = new SingleStore(createSingleStore([]), 'notifications');
9
- }
10
- add = (notification) => {
11
- if (this.isNewNotify(notification.id)) {
12
- this.queue.getStore().set([...(this.queue.getValue() || []), notification]);
13
- }
14
- else {
15
- console.log('skip notification:', notification);
16
- }
17
- };
18
- getQueueStore = () => {
19
- return this.queue.getStore();
20
- };
21
- isNewNotify = (id) => {
22
- const exist = localStorage.getItem(`opened:${id}`);
23
- return !exist;
24
- };
25
- markAsViewed = (id) => {
26
- localStorage.setItem(`opened:${id}`, id);
27
- };
28
- }
29
- //# sourceMappingURL=notifications.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../../../../packages/sdk-web-core/src/notifications/notifications.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAWhF;;GAEG;AACH,MAAM,OAAO,aAAa;IACxB,KAAK,CAA6B;IAElC;QACE,IAAI,CAAC,KAAK,GAAG,IAAI,WAAW,CAAC,iBAAiB,CAAiB,EAAE,CAAC,EAAE,eAAe,CAAC,CAAA;IACtF,CAAC;IAED,GAAG,GAAG,CAAC,YAA0B,EAAE,EAAE;QACnC,IAAI,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE;YACrC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAA;SAC5E;aAAM;YACL,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAA;SAChD;IACH,CAAC,CAAA;IAED,aAAa,GAAG,GAAG,EAAE;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAA;IAC9B,CAAC,CAAA;IAED,WAAW,GAAG,CAAC,EAAU,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;QAElD,OAAO,CAAC,KAAK,CAAA;IACf,CAAC,CAAA;IAED,YAAY,GAAG,CAAC,EAAU,EAAE,EAAE;QAC5B,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;IAC1C,CAAC,CAAA;CACF"}
@@ -1,71 +0,0 @@
1
- import { FeatureSource } from '@streamlayer/sdk-web-interfaces';
2
- import { CoreStore } from './store';
3
- /**
4
- * store plugin, connect store to sdk
5
- */
6
- export const store = (instance, opts, done) => {
7
- instance.store = new CoreStore(instance.transport);
8
- instance.stores = instance.store.getValues();
9
- instance.sdk.sdkStore = instance.store.getStore();
10
- instance.sdk.organizationStore = () => instance.stores.organizationSettings.getStore();
11
- /**
12
- * Essentially, features and stores establish subscriptions to other stores
13
- * based on their dependencies. In certain cases, specific logic is
14
- * directly invoked in response to changes in the store.
15
- */
16
- instance.storeSubscribe = () => {
17
- const processSettings = (source, settings) => {
18
- if (!settings?.overlays)
19
- return;
20
- if (source === FeatureSource.STREAM) {
21
- instance.features.clear();
22
- }
23
- for (const overlay of settings.overlays) {
24
- const featureName = overlay.name;
25
- if (!instance.features.has(featureName)) {
26
- instance.initFeature(overlay, source);
27
- }
28
- else {
29
- instance.updateFeature(overlay, source);
30
- }
31
- }
32
- };
33
- const subscribes = {
34
- /**
35
- * During the initial SDK initialization, it's imperative to initialize features first,
36
- * followed by their direct subscriptions to store fields.
37
- * This section is currently in development, and it's
38
- * essential to implement checks to determine whether a feature
39
- * has already been initialized. If it has, events related to
40
- * that feature should be skipped. Conversely, if a feature is
41
- * missing in the new settings, it should be deinitialized.
42
- */
43
- organizationSettings: (orgSettings) => {
44
- if (orgSettings.data) {
45
- try {
46
- processSettings(FeatureSource.ORGANIZATION, orgSettings.data);
47
- }
48
- catch (err) {
49
- console.log(err);
50
- }
51
- }
52
- },
53
- streamSettings: (streamSettings) => {
54
- if (streamSettings.data) {
55
- try {
56
- processSettings(FeatureSource.STREAM, streamSettings.data);
57
- }
58
- catch (err) {
59
- console.log(err);
60
- }
61
- }
62
- },
63
- };
64
- instance.store.subscribe(subscribes);
65
- };
66
- instance.storeUnsubscribe = () => {
67
- instance.store.unsubscribe();
68
- };
69
- done();
70
- };
71
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/sdk-web-core/src/store/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAsB,MAAM,iCAAiC,CAAA;AAGnF,OAAO,EAAE,SAAS,EAA+E,MAAM,SAAS,CAAA;AAgBhH;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,QAA4B,EAAE,IAAa,EAAE,IAAgB,EAAE,EAAE;IACrF,QAAQ,CAAC,KAAK,GAAG,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;IAClD,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,CAAA;IAE5C,QAAQ,CAAC,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAA;IACjD,QAAQ,CAAC,GAAG,CAAC,iBAAiB,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAA;IAEtF;;;;OAIG;IACH,QAAQ,CAAC,cAAc,GAAG,GAAG,EAAE;QAC7B,MAAM,eAAe,GAAG,CACtB,MAAqB,EACrB,QAA2F,EAC3F,EAAE;YACF,IAAI,CAAC,QAAQ,EAAE,QAAQ;gBAAE,OAAM;YAE/B,IAAI,MAAM,KAAK,aAAa,CAAC,MAAM,EAAE;gBACnC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;aAC1B;YAED,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,QAAQ,EAAE;gBACvC,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAA;gBAEhC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;oBACvC,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;iBACtC;qBAAM;oBACL,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;iBACxC;aACF;QACH,CAAC,CAAA;QAED,MAAM,UAAU,GAA4B;YAC1C;;;;;;;;eAQG;YACH,oBAAoB,EAAE,CAAC,WAAW,EAAE,EAAE;gBACpC,IAAI,WAAW,CAAC,IAAI,EAAE;oBACpB,IAAI;wBACF,eAAe,CAAC,aAAa,CAAC,YAAY,EAAE,WAAW,CAAC,IAAI,CAAC,CAAA;qBAC9D;oBAAC,OAAO,GAAG,EAAE;wBACZ,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;qBACjB;iBACF;YACH,CAAC;YACD,cAAc,EAAE,CAAC,cAAc,EAAE,EAAE;gBACjC,IAAI,cAAc,CAAC,IAAI,EAAE;oBACvB,IAAI;wBACF,eAAe,CAAC,aAAa,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,CAAA;qBAC3D;oBAAC,OAAO,GAAG,EAAE;wBACZ,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;qBACjB;iBACF;YACH,CAAC;SACF,CAAA;QAED,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;IACtC,CAAC,CAAA;IAED,QAAQ,CAAC,gBAAgB,GAAG,GAAG,EAAE;QAC/B,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAA;IAC9B,CAAC,CAAA;IAED,IAAI,EAAE,CAAA;AACR,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../../../packages/sdk-web-core/src/store/store.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAA;AACtH,OAAO,EAAE,OAAO,EAAiC,MAAM,0BAA0B,CAAA;AAKjF,MAAM,CAAN,IAAY,UAMX;AAND,WAAY,UAAU;IACpB,mCAAqB,CAAA;IACrB,+CAAiC,CAAA;IACjC,6BAAe,CAAA;IACf,+BAAiB,CAAA;IACjB,qCAAuB,CAAA;AACzB,CAAC,EANW,UAAU,KAAV,UAAU,QAMrB;AAgBD,MAAM,eAAe,GAAG,CAAC,SAAoB,EAAE,EAAE;IAC/C,aAAa;IACb,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,iBAAiB,EAAQ,EAAE,SAAS,CAAC,CAAA;IACrE,aAAa;IACb,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,iBAAiB,CAAa,UAAU,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAA;IAC5F,gBAAgB;IAChB,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,iBAAiB,EAAU,EAAE,SAAS,CAAC,CAAA;IACvE,cAAc;IACd,MAAM,SAAS,GAAG,IAAI,WAAW,CAAC,iBAAiB,EAAU,EAAE,WAAW,CAAC,CAAA;IAE3E,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QACzB,IAAI,KAAK,EAAE;YACT,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,CAAA;SAC7C;aAAM;YACL,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,CAAA;SACzC;IACH,CAAC,CAAC,CAAA;IAEF,gBAAgB;IAChB,MAAM,gBAAgB,GAAG,IAAI,WAAW,CAAC,iBAAiB,EAAU,EAAE,kBAAkB,CAAC,CAAA;IACzF,cAAc;IACd,MAAM,UAAU,GAAG,IAAI,QAAQ,CAC7B,OAAO,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,EAChE,YAAY,EACZ,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,CACrB,CAAA;IACD,eAAe;IACf,MAAM,IAAI,GAAG,IAAI,QAAQ,CACvB,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,EAC9C,MAAM,EACN,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAC/B,CAAA;IACD,mBAAmB;IACnB,MAAM,YAAY,GAAG,IAAI,QAAQ,CAC/B,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,EACtD,cAAc,CACf,CAAA;IACD,qBAAqB;IACrB,MAAM,cAAc,GAAG,IAAI,QAAQ,CACjC,OAAO,CAAC,eAAe,CAAC,UAAU,CAAC,YAAY,EAAE,EAAE,SAAS,CAAC,EAC7D,gBAAgB,CACjB,CAAA;IAED,UAAU,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3C,IAAI,OAAO,KAAK,EAAE,IAAI,OAAO,KAAK,SAAS,EAAE;YAC3C,cAAc,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;SAC5C;IACH,CAAC,CAAC,CAAA;IAEF,2BAA2B;IAC3B,MAAM,oBAAoB,GAAG,IAAI,QAAQ,CACvC,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,EAC5D,sBAAsB,EACtB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CACzB,CAAA;IACD,8BAA8B;IAC9B,MAAM,uBAAuB,GAAG,IAAI,QAAQ,CAC1C,OAAO,CAAC,wBAAwB,CAAC,oBAAoB,CAAC,YAAY,EAAE,EAAE,SAAS,CAAC,EAChF,yBAAyB,CAC1B,CAAA;IAED,OAAO;QACL,OAAO;QACP,MAAM;QACN,gBAAgB;QAChB,UAAU;QACV,cAAc;QACd,IAAI;QACJ,OAAO;QACP,SAAS;QACT,YAAY;QACZ,oBAAoB;QACpB,uBAAuB;KACf,CAAA;AACZ,CAAC,CAAA;AAYD;;GAEG;AACH,MAAM,OAAO,SAAU,SAAQ,aAAgC;IACrD,MAAM,CAAU;IAExB,YAAY,SAAoB;QAC9B,MAAM,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC,CAAA;QAC5C,MAAM,KAAK,GAAG,WAAW,CAAmB,SAAS,CAA8C,CAAA;QAEnG,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAEpB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;IACzB,CAAC;IAED,QAAQ;QACN,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;IACpC,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,QAAQ;QACN,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;IACpC,CAAC;IAED,SAAS,GAAG,CAAC,UAAmC,EAAE,EAAE;QAClD,IAAI,QAAwB,CAAA;QAE5B,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE;YAC5B,MAAM,EAAE,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;YAE/B,IAAI,QAAQ,IAAI,UAAU,IAAI,EAAE,KAAK,SAAS,EAAE;gBAC9C,6DAA6D;gBAC7D,aAAa;gBACb,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAA;aACtD;SACF;IACH,CAAC,CAAA;IAED,WAAW,GAAG,GAAG,EAAE;QACjB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;QAE7B,OAAO,KAAK,CAAC,GAAG,EAAE,CAAA;IACpB,CAAC,CAAA;CACF"}
File without changes
File without changes
File without changes
File without changes
File without changes