@clairejs/client 3.0.16 → 3.0.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/.browserslistrc +3 -3
  2. package/README.md +409 -404
  3. package/dist/api/AbstractHttpClient.d.ts +10 -19
  4. package/dist/api/AbstractHttpClient.d.ts.map +1 -1
  5. package/dist/api/AbstractTokenManager.d.ts +5 -5
  6. package/dist/api/CrudApi.d.ts +15 -15
  7. package/dist/api/DefaultHttpClient.d.ts +8 -0
  8. package/dist/api/DefaultHttpClient.d.ts.map +1 -0
  9. package/dist/api/DefaultTokenManager.d.ts +11 -11
  10. package/dist/api/{AxiosApiClient.d.ts → RefreshHttpClient.d.ts} +20 -15
  11. package/dist/api/RefreshHttpClient.d.ts.map +1 -0
  12. package/dist/constants.d.ts +2 -2
  13. package/dist/index.d.ts +19 -18
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +1 -1
  16. package/dist/index.js.map +1 -1
  17. package/dist/routing/AbstractErrorHandler.d.ts +3 -3
  18. package/dist/routing/AbstractViewMiddleware.d.ts +4 -4
  19. package/dist/routing/ComponentInfo.d.ts +4 -4
  20. package/dist/routing/RouterConfig.d.ts +13 -13
  21. package/dist/routing/UrlInfo.d.ts +10 -10
  22. package/dist/socket/AbstractClientSocketManager.d.ts +6 -6
  23. package/dist/socket/ClientSocket.d.ts +21 -21
  24. package/dist/socket/DefaultClientSocketManager.d.ts +33 -33
  25. package/dist/socket/DefaultClientSocketManager.d.ts.map +1 -1
  26. package/dist/socket/IClientSocket.d.ts +9 -9
  27. package/dist/socket/IWebSocket.d.ts +7 -7
  28. package/dist/socket/SocketConfig.d.ts +7 -7
  29. package/dist/system/AbstractStorage.d.ts +5 -5
  30. package/dist/system/ClaireClient.d.ts +3 -3
  31. package/dist/translation/Translator.d.ts +17 -17
  32. package/dist/translation/types.d.ts +6 -6
  33. package/package.json +30 -30
  34. package/tsconfig-build.json +8 -8
  35. package/webpack.config.js +46 -46
  36. package/dist/api/AxiosApiClient.d.ts.map +0 -1
@@ -1,20 +1,11 @@
1
- import { AbstractLogger, AccessToken } from "@clairejs/core";
2
- import { AbstractTokenManager } from "./AbstractTokenManager";
3
- export declare abstract class AbstractHttpClient {
4
- readonly apiServerUrl: string;
5
- readonly logger: AbstractLogger;
6
- readonly tokenManager: AbstractTokenManager;
7
- private refreshing;
8
- private refreshQueue;
9
- constructor(apiServerUrl: string, logger: AbstractLogger, tokenManager: AbstractTokenManager);
10
- protected abstract getRefreshedAccessToken(): Promise<AccessToken>;
11
- protected resolveUrl(url: string): string;
12
- protected resolveResult(apiCall: (headers?: object) => Promise<any>, headers?: object): Promise<any>;
13
- private resolveHeaders;
14
- refreshToken(oldToken?: AccessToken): Promise<void>;
15
- abstract get<T = any>(url: string, headers?: any): Promise<T>;
16
- abstract post<T = any, R = any>(url: string, body: R, headers?: any): Promise<T>;
17
- abstract put<T = any, R = any>(url: string, body: R, headers?: any): Promise<T>;
18
- abstract delete<T = any>(url: string, headers?: any): Promise<T>;
19
- }
1
+ export declare abstract class AbstractHttpClient {
2
+ readonly apiServerUrl: string;
3
+ constructor(apiServerUrl: string);
4
+ protected resolveHeaders(headers?: object): Promise<object | undefined>;
5
+ protected resolveUrl(url: string): Promise<string>;
6
+ abstract get<T = any>(url: string, headers?: object): Promise<T>;
7
+ abstract post<T = any, R = any>(url: string, body: R, headers?: object): Promise<T>;
8
+ abstract put<T = any, R = any>(url: string, body: R, headers?: object): Promise<T>;
9
+ abstract delete<T = any>(url: string, headers?: object): Promise<T>;
10
+ }
20
11
  //# sourceMappingURL=AbstractHttpClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractHttpClient.d.ts","sourceRoot":"","sources":["../../src/api/AbstractHttpClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,8BAAsB,kBAAkB;IAOhC,QAAQ,CAAC,YAAY,EAAE,MAAM;IAC7B,QAAQ,CAAC,MAAM,EAAE,cAAc;IAC/B,QAAQ,CAAC,YAAY,EAAE,oBAAoB;IAR/C,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAEX;gBAGI,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,cAAc,EACtB,YAAY,EAAE,oBAAoB;IAG/C,SAAS,CAAC,QAAQ,CAAC,uBAAuB,IAAI,OAAO,CAAC,WAAW,CAAC;IAElE,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;cAIzB,aAAa,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;YAa5F,cAAc;IAatB,YAAY,CAAC,QAAQ,CAAC,EAAE,WAAW;IAkCzC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;IAC7D,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;IAChF,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;IAC/E,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;CACnE"}
1
+ {"version":3,"file":"AbstractHttpClient.d.ts","sourceRoot":"","sources":["../../src/api/AbstractHttpClient.ts"],"names":[],"mappings":"AAAA,8BAAsB,kBAAkB;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM;gBAApB,YAAY,EAAE,MAAM;cAEzB,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;cAI7D,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIxD,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAChE,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IACnF,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAClF,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;CACtE"}
@@ -1,6 +1,6 @@
1
- import { AccessToken } from "@clairejs/core";
2
- export declare abstract class AbstractTokenManager {
3
- abstract getAccessToken(): Promise<AccessToken | undefined>;
4
- abstract setAccessToken(token?: AccessToken): Promise<void>;
5
- }
1
+ import { AccessToken } from "@clairejs/core";
2
+ export declare abstract class AbstractTokenManager {
3
+ abstract getAccessToken(): Promise<AccessToken | undefined>;
4
+ abstract setAccessToken(token?: AccessToken): Promise<void>;
5
+ }
6
6
  //# sourceMappingURL=AbstractTokenManager.d.ts.map
@@ -1,16 +1,16 @@
1
- import { AbstractModel, Constructor, CreateManyRequestBody, CreateManyResponseBody, GetManyQueries, GetManyResponseBody, UpdateManyBody, UpdateManyQueries, UpdateManyResponse } from "@clairejs/core";
2
- import { AbstractHttpClient } from "./AbstractHttpClient";
3
- export declare const stringifyQueries: (queries: Record<string, any>) => string;
4
- export declare const removeInstances: <T extends AbstractModel>(target: T[], source: T[]) => T[];
5
- export declare const mergeInstances: <T extends AbstractModel>(model: Constructor<T>, target: T[], source: Partial<T>[]) => T[];
6
- export declare class CrudApi<T extends AbstractModel> {
7
- readonly model: Constructor<T>;
8
- readonly httpClient: AbstractHttpClient;
9
- constructor(model: Constructor<T>, httpClient: AbstractHttpClient);
10
- protected getEndpointBaseUrl(): string;
11
- getMany(queries?: GetManyQueries<T>): Promise<GetManyResponseBody<T>>;
12
- updateMany(body: UpdateManyBody<T>, queries?: UpdateManyQueries<T>): Promise<UpdateManyResponse<T>>;
13
- deleteMany(queries?: UpdateManyQueries<T>): Promise<UpdateManyResponse<T>>;
14
- createMany(body: CreateManyRequestBody<T>): Promise<CreateManyResponseBody<T>>;
15
- }
1
+ import { AbstractModel, Constructor, CreateManyRequestBody, CreateManyResponseBody, GetManyQueries, GetManyResponseBody, UpdateManyBody, UpdateManyQueries, UpdateManyResponse } from "@clairejs/core";
2
+ import { AbstractHttpClient } from "./AbstractHttpClient";
3
+ export declare const stringifyQueries: (queries: Record<string, any>) => string;
4
+ export declare const removeInstances: <T extends AbstractModel>(target: T[], source: T[]) => T[];
5
+ export declare const mergeInstances: <T extends AbstractModel>(model: Constructor<T>, target: T[], source: Partial<T>[]) => T[];
6
+ export declare class CrudApi<T extends AbstractModel> {
7
+ readonly model: Constructor<T>;
8
+ readonly httpClient: AbstractHttpClient;
9
+ constructor(model: Constructor<T>, httpClient: AbstractHttpClient);
10
+ protected getEndpointBaseUrl(): string;
11
+ getMany(queries?: GetManyQueries<T>): Promise<GetManyResponseBody<T>>;
12
+ updateMany(body: UpdateManyBody<T>, queries?: UpdateManyQueries<T>): Promise<UpdateManyResponse<T>>;
13
+ deleteMany(queries?: UpdateManyQueries<T>): Promise<UpdateManyResponse<T>>;
14
+ createMany(body: CreateManyRequestBody<T>): Promise<CreateManyResponseBody<T>>;
15
+ }
16
16
  //# sourceMappingURL=CrudApi.d.ts.map
@@ -0,0 +1,8 @@
1
+ import { AbstractHttpClient } from "./AbstractHttpClient";
2
+ export declare class DefaultHttpClient extends AbstractHttpClient {
3
+ get<T = any>(url: string, headers?: object): Promise<T>;
4
+ post<T = any, R = any>(url: string, body: R, headers?: object): Promise<T>;
5
+ put<T = any, R = any>(url: string, body: R, headers?: object): Promise<T>;
6
+ delete<T = any>(url: string, headers?: object): Promise<T>;
7
+ }
8
+ //# sourceMappingURL=DefaultHttpClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultHttpClient.d.ts","sourceRoot":"","sources":["../../src/api/DefaultHttpClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,qBAAa,iBAAkB,SAAQ,kBAAkB;IAC/C,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAOvD,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAO1E,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAOzE,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;CAMnE"}
@@ -1,12 +1,12 @@
1
- import { AccessToken } from "@clairejs/core";
2
- import { AbstractStorage } from "../system/AbstractStorage";
3
- import { AbstractTokenManager } from "./AbstractTokenManager";
4
- export declare class DefaultTokenManager extends AbstractTokenManager {
5
- readonly storage: AbstractStorage;
6
- readonly storageKey: string;
7
- private accessToken?;
8
- constructor(storage: AbstractStorage, storageKey?: string);
9
- getAccessToken(): Promise<AccessToken | undefined>;
10
- setAccessToken(token?: AccessToken): Promise<void>;
11
- }
1
+ import { AccessToken } from "@clairejs/core";
2
+ import { AbstractStorage } from "../system/AbstractStorage";
3
+ import { AbstractTokenManager } from "./AbstractTokenManager";
4
+ export declare class DefaultTokenManager extends AbstractTokenManager {
5
+ readonly storage: AbstractStorage;
6
+ readonly storageKey: string;
7
+ private accessToken?;
8
+ constructor(storage: AbstractStorage, storageKey?: string);
9
+ getAccessToken(): Promise<AccessToken | undefined>;
10
+ setAccessToken(token?: AccessToken): Promise<void>;
11
+ }
12
12
  //# sourceMappingURL=DefaultTokenManager.d.ts.map
@@ -1,15 +1,20 @@
1
- import { AbstractLogger, AccessToken } from "@clairejs/core";
2
- import { AbstractHttpClient } from "./AbstractHttpClient";
3
- import { AbstractTokenManager } from "./AbstractTokenManager";
4
- export declare class AxiosApiClient extends AbstractHttpClient {
5
- readonly apiServerUrl: string;
6
- readonly logger: AbstractLogger;
7
- readonly tokenManager: AbstractTokenManager;
8
- constructor(apiServerUrl: string, logger: AbstractLogger, tokenManager: AbstractTokenManager);
9
- protected getRefreshedAccessToken(): Promise<AccessToken>;
10
- get<R>(url: string, headers?: any): Promise<R>;
11
- post<T, R>(url: string, body: T, headers?: any): Promise<R>;
12
- put<T, R>(url: string, body: T, headers?: any): Promise<R>;
13
- delete<R>(url: string, headers?: any): Promise<R>;
14
- }
15
- //# sourceMappingURL=AxiosApiClient.d.ts.map
1
+ import { AbstractLogger, AccessToken } from "@clairejs/core";
2
+ import { AbstractHttpClient } from "./AbstractHttpClient";
3
+ import { AbstractTokenManager } from "./AbstractTokenManager";
4
+ export declare class RefreshHttpClient extends AbstractHttpClient {
5
+ readonly apiServerUrl: string;
6
+ readonly logger: AbstractLogger;
7
+ readonly tokenManager: AbstractTokenManager;
8
+ private refreshing;
9
+ private refreshQueue;
10
+ constructor(apiServerUrl: string, logger: AbstractLogger, tokenManager: AbstractTokenManager);
11
+ protected getRefreshedAccessToken(): Promise<AccessToken | undefined>;
12
+ protected resolveResult(apiCall: (headers?: any) => Promise<any>, headers?: any): Promise<any>;
13
+ private finalHeaders;
14
+ refreshToken(oldToken?: AccessToken): Promise<void>;
15
+ get<R>(url: string, headers?: any): Promise<R>;
16
+ post<T, R>(url: string, body: T, headers?: any): Promise<R>;
17
+ put<T, R>(url: string, body: T, headers?: any): Promise<R>;
18
+ delete<R>(url: string, headers?: any): Promise<R>;
19
+ }
20
+ //# sourceMappingURL=RefreshHttpClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RefreshHttpClient.d.ts","sourceRoot":"","sources":["../../src/api/RefreshHttpClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,qBAAa,iBAAkB,SAAQ,kBAAkB;IAOjD,QAAQ,CAAC,YAAY,EAAE,MAAM;IAC7B,QAAQ,CAAC,MAAM,EAAE,cAAc;IAC/B,QAAQ,CAAC,YAAY,EAAE,oBAAoB;IAR/C,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAEX;gBAGI,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,cAAc,EACtB,YAAY,EAAE,oBAAoB;cAK/B,uBAAuB,IAAI,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;cAI3D,aAAa,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;YAatF,YAAY;IAKpB,YAAY,CAAC,QAAQ,CAAC,EAAE,WAAW;IAkC5B,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;IAK9C,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;IAK3D,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;IAM1D,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;CAKjE"}
@@ -1,3 +1,3 @@
1
- export declare const SYSTEM_LANGUAGES = "SYSTEM_LANGUAGES";
2
- export declare const CURRENT_LANGUAGE = "CURRENT_LANGUAGE";
1
+ export declare const SYSTEM_LANGUAGES = "SYSTEM_LANGUAGES";
2
+ export declare const CURRENT_LANGUAGE = "CURRENT_LANGUAGE";
3
3
  //# sourceMappingURL=constants.d.ts.map
package/dist/index.d.ts CHANGED
@@ -1,19 +1,20 @@
1
- export * from "./system/ClaireClient";
2
- export * from "./api/AxiosApiClient";
3
- export * from "./api/AbstractHttpClient";
4
- export * from "./socket/AbstractClientSocketManager";
5
- export * from "./socket/IClientSocket";
6
- export * from "./socket/DefaultClientSocketManager";
7
- export * from "./system/AbstractStorage";
8
- export * from "./translation/Translator";
9
- export * from "./routing/AbstractErrorHandler";
10
- export * from "./routing/AbstractViewMiddleware";
11
- export * from "./routing/UrlInfo";
12
- export * from "./routing/RouterConfig";
13
- export * from "./routing/ComponentInfo";
14
- export * from "./api/AbstractTokenManager";
15
- export * from "./socket/IWebSocket";
16
- export * from "./translation/types";
17
- export * from "./api/DefaultTokenManager";
18
- export * from "./api/CrudApi";
1
+ export * from "./system/ClaireClient";
2
+ export * from "./api/RefreshHttpClient";
3
+ export * from "./api/DefaultHttpClient";
4
+ export * from "./api/AbstractHttpClient";
5
+ export * from "./socket/AbstractClientSocketManager";
6
+ export * from "./socket/IClientSocket";
7
+ export * from "./socket/DefaultClientSocketManager";
8
+ export * from "./system/AbstractStorage";
9
+ export * from "./translation/Translator";
10
+ export * from "./routing/AbstractErrorHandler";
11
+ export * from "./routing/AbstractViewMiddleware";
12
+ export * from "./routing/UrlInfo";
13
+ export * from "./routing/RouterConfig";
14
+ export * from "./routing/ComponentInfo";
15
+ export * from "./api/AbstractTokenManager";
16
+ export * from "./socket/IWebSocket";
17
+ export * from "./translation/types";
18
+ export * from "./api/DefaultTokenManager";
19
+ export * from "./api/CrudApi";
19
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sCAAsC,CAAC;AACrD,cAAc,wBAAwB,CAAC;AACvC,cAAc,qCAAqC,CAAC;AACpD,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sCAAsC,CAAC;AACrD,cAAc,wBAAwB,CAAC;AACvC,cAAc,qCAAqC,CAAC;AACpD,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC"}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- !function(e,t){for(var n in t)e[n]=t[n]}(exports,function(e){var t={};function __webpack_require__(n){if(t[n])return t[n].exports;var s=t[n]={i:n,l:!1,exports:{}};return e[n].call(s.exports,s,s.exports,__webpack_require__),s.l=!0,s.exports}return __webpack_require__.m=e,__webpack_require__.c=t,__webpack_require__.d=function(e,t,n){__webpack_require__.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},__webpack_require__.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},__webpack_require__.t=function(e,t){if(1&t&&(e=__webpack_require__(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(__webpack_require__.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var s in e)__webpack_require__.d(n,s,function(t){return e[t]}.bind(null,s));return n},__webpack_require__.n=function(e){var t=e&&e.__esModule?function getDefault(){return e.default}:function getModuleExports(){return e};return __webpack_require__.d(t,"a",t),t},__webpack_require__.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},__webpack_require__.p="",__webpack_require__(__webpack_require__.s=5)}([function(e,t){e.exports=require("@clairejs/core")},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractStorage=void 0;t.AbstractStorage=class AbstractStorage{}},function(e,t,n){"use strict";var s=this&&this.__awaiter||function(e,t,n,s){return new(n||(n=Promise))((function(i,r){function fulfilled(e){try{step(s.next(e))}catch(e){r(e)}}function rejected(e){try{step(s.throw(e))}catch(e){r(e)}}function step(e){e.done?i(e.value):function adopt(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractHttpClient=void 0;t.AbstractHttpClient=class AbstractHttpClient{constructor(e,t,n){this.apiServerUrl=e,this.logger=t,this.tokenManager=n,this.refreshing=!1,this.refreshQueue=[]}resolveUrl(e){return this.apiServerUrl+e}resolveResult(e,t){return s(this,void 0,void 0,(function*(){if(!t||!Object.keys(t).map((e=>e.toLowerCase().includes("authorization")))){const e=yield this.tokenManager.getAccessToken();e&&e.expiration<Date.now()+3e4&&(yield this.refreshToken(e))}const n=yield this.resolveHeaders(t);return(yield e(n)).data}))}resolveHeaders(e){return s(this,void 0,void 0,(function*(){const t=yield this.tokenManager.getAccessToken();return{headers:Object.assign({authorization:(null==t?void 0:t.token)||""},Object.keys(e||{}).reduce(((t,n)=>Object.assign(t,{[n.toLowerCase()]:e[n]})),{}))}}))}refreshToken(e){return s(this,void 0,void 0,(function*(){if(this.refreshing)this.logger.debug("Awaiting refresh token, queued"),yield new Promise((e=>{this.refreshQueue.push({resolver:e})}));else{if(!(e=e||(yield this.tokenManager.getAccessToken()))||!e.refreshToken)return;try{this.refreshing=!0;const e=yield this.getRefreshedAccessToken();yield this.tokenManager.setAccessToken(e),this.logger.debug("Access token was refreshed")}catch(e){this.logger.debug("Cannot refresh access token, clear local token"),yield this.tokenManager.setAccessToken()}finally{this.refreshing=!1;for(const e of this.refreshQueue)e.resolver();this.refreshQueue=[]}}}))}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractClientSocketManager=void 0;t.AbstractClientSocketManager=class AbstractClientSocketManager{}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractTokenManager=void 0;t.AbstractTokenManager=class AbstractTokenManager{}},function(e,t,n){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,n,s){void 0===s&&(s=n);var i=Object.getOwnPropertyDescriptor(t,n);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,s,i)}:function(e,t,n,s){void 0===s&&(s=n),e[s]=t[n]}),i=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||s(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),i(n(6),t),i(n(7),t),i(n(2),t),i(n(3),t),i(n(9),t),i(n(10),t),i(n(1),t),i(n(13),t),i(n(15),t),i(n(16),t),i(n(17),t),i(n(18),t),i(n(19),t),i(n(4),t),i(n(20),t),i(n(21),t),i(n(22),t),i(n(23),t)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ClaireClient=void 0;const s=n(0);class ClaireClient extends s.ClaireApp{}t.ClaireClient=ClaireClient},function(e,t,n){"use strict";var s=this&&this.__awaiter||function(e,t,n,s){return new(n||(n=Promise))((function(i,r){function fulfilled(e){try{step(s.next(e))}catch(e){r(e)}}function rejected(e){try{step(s.throw(e))}catch(e){r(e)}}function step(e){e.done?i(e.value):function adopt(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())}))},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AxiosApiClient=void 0;const r=i(n(8)),o=n(2);class AxiosApiClient extends o.AbstractHttpClient{constructor(e,t,n){super(e,t,n),this.apiServerUrl=e,this.logger=t,this.tokenManager=n}getRefreshedAccessToken(){throw"Refresh token not supported in default implementation"}get(e,t){return s(this,void 0,void 0,(function*(){const n=this.resolveUrl(e);return this.logger.debug("[GET] ",n),this.resolveResult((e=>s(this,void 0,void 0,(function*(){return r.default.get(n,e)}))),t)}))}post(e,t,n){return s(this,void 0,void 0,(function*(){const i=this.resolveUrl(e);return this.logger.debug("[POST] ",i),this.resolveResult((n=>s(this,void 0,void 0,(function*(){return r.default.post(this.resolveUrl(e),t,n)}))),n)}))}put(e,t,n){return s(this,void 0,void 0,(function*(){const i=this.resolveUrl(e);return this.logger.debug("[PUT] ",i),this.resolveResult((n=>s(this,void 0,void 0,(function*(){return r.default.put(this.resolveUrl(e),t,n)}))),n)}))}delete(e,t){return s(this,void 0,void 0,(function*(){const n=this.resolveUrl(e);return this.logger.debug("[DEL] ",n),this.resolveResult((t=>s(this,void 0,void 0,(function*(){return r.default.delete(this.resolveUrl(e),t)}))),t)}))}}t.AxiosApiClient=AxiosApiClient},function(e,t){e.exports=require("axios")},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DefaultClientSocketManager=void 0;const s=n(0),i=n(11),r=n(3),o=n(12);class DefaultClientSocketManager extends r.AbstractClientSocketManager{constructor(e,t,n,s,i){super(),this.wsProvider=e,this.tokenManager=t,this.httpClient=n,this.logger=s,this.config=i,this.allSockets=[],this.allChannels=[],this.accumulatedPing=0,this.retryDelay=0}create(e){const t=new i.Observable((e=>{const t=this.getSocketInfo(a);if(!t)throw"Cannot resolve socket info in connectionObservable";t.connectionSubscriber=e})),n=new i.Observable((e=>{const t=this.getSocketInfo(a);if(!t)throw"Cannot resolve socket info in messageReceiveingObservable";t.messageReceivingSubscriber=e})),r=new i.Observable((e=>{const t=this.getSocketInfo(a);if(!t)throw"Cannot resolve socket info in messageSendingObservable";t.messageSendingSubscriber=e})),c=new i.Observable((e=>{const t=this.getSocketInfo(a);if(!t)throw"Cannot resolve socket info in channelsObservable";t.channelsSubscriber=e})),a=new o.ClientSocket(n,t,(e=>{const t=this.getSocketInfo(a);if(!t||!t.messageSendingSubscriber)throw"Cannot resolve socket info in messageSendingSubscriber resolver";return t.messageSendingSubscriber}),(e=>{const t=this.getSocketInfo(e);if(!t)throw"Cannot resolve socket info in connection request";if(t.connected)return;if(!t.channelsObservable)throw"Channels observer not available";if(!t.messageSendingObservable)throw"Message sending observable not available";const n=t.channelsObservable.subscribe({next:e=>{if(!t.connected&&t.channels.every((t=>e.includes(t)))){if(t.connected=!0,!t.connectionSubscriber)throw"Connection subscriber not available";t.connectionSubscriber.next(t.connected)}else if(t.connected&&t.channels.some((t=>!e.includes(t)))){if(t.connected=!1,!t.connectionSubscriber)throw"Disconnection subscriber not available";t.connectionSubscriber.next(t.connected)}}});t.subscriptions.push(n),t.messageSendingObservable.subscribe({next:e=>{if(!t.connected)throw"Socket not connected";this.sendToChannel(s.SocketChannels.MESSAGE_CHANNEL,e)}});for(const e of t.channels){let t=this.allChannels.find((t=>t.channel===e));t||(t={channel:e,requested:!1,connected:!1},this.allChannels.push(t)),t.requested=!0}this.checkChannelRequests()}),(e=>{const t=this.getSocketInfo(a);if(!t)throw"Cannot resolve socket info in disconnection request";t.subscriptions.forEach((e=>e.unsubscribe()));const n=this.allSockets.indexOf(t);n>=0&&this.allSockets.splice(n,1)}));return this.allSockets.push({socket:a,channels:e,messageSendingObservable:r,channelsObservable:c,subscriptions:[]}),a}forceDisconnect(){this.intendedDisconnection=!0,this.socket&&(this.socket.close(),this.socket=void 0),this.retryTimeoutId&&clearTimeout(this.retryTimeoutId)}forceReconnect(){var e;this.intendedDisconnection=!1,this.socketConnected?null===(e=this.socket)||void 0===e||e.close():(this.retryDelay=0,void 0===this.socket&&(this.retryTimeoutId&&(clearTimeout(this.retryTimeoutId),this.retryTimeoutId=void 0),this.connect()))}connect(){this.socket=this.wsProvider(),this.socket.onopen((()=>{this.pingIntervalId&&clearInterval(this.pingIntervalId),this.tokenManager.getAccessToken().then((e=>{this.sendToChannel(s.SocketChannels.AUTHENTICATION_CHANNEL,{authorizationData:null==e?void 0:e.token})})).catch((e=>{this.logger.error(e),this.forceReconnect()}))})),this.socket.onmessage((e=>{var t,n,i;if(!e)return;const{channel:r,message:o}=JSON.parse(e);switch(this.logger.debug("Receive",r,o),r){case s.SocketChannels.PING_PONG_CHANNEL:return void(this.accumulatedPing=0);case s.SocketChannels.AUTHENTICATION_CHANNEL:return this.logger.debug("Socket connection established",o),this.socketConnected=!0,this.pingIntervalId&&clearInterval(this.pingIntervalId),this.accumulatedPing=0,this.pingIntervalId=setInterval((()=>{var e,t,n;this.accumulatedPing+=1,this.accumulatedPing>((null===(t=null===(e=this.config)||void 0===e?void 0:e.keepAlive)||void 0===t?void 0:t.deadThreashold)||3)?(this.intendedDisconnection=!1,null===(n=this.socket)||void 0===n||n.close()):this.sendToChannel(s.SocketChannels.PING_PONG_CHANNEL)}),(null===(n=null===(t=this.config)||void 0===t?void 0:t.keepAlive)||void 0===n?void 0:n.pingIntervalMs)||1e4),this.intendedDisconnection=!1,this.retryTimeoutId&&(clearTimeout(this.retryTimeoutId),this.retryTimeoutId=void 0),void this.checkChannelRequests();case s.SocketChannels.CHANNEL_JOIN_REQUEST:{const e=o;if(!e.success)return void this.logger.error(e.error);e.channels.forEach((e=>{const t=this.allChannels.find((t=>t.channel===e));t&&(t.connected=!0,t.requested=!1)})),this.notifyCurrentChannels()}return;case s.SocketChannels.CHANNEL_LEAVE_REQUEST:{const e=o;if(!e.success)return void this.logger.error(e.error);e.channels.forEach((e=>{const t=this.allChannels.find((t=>t.channel===e));t&&(t.connected=!1)})),this.notifyCurrentChannels()}return;case s.SocketChannels.MESSAGE_CHANNEL:{const e=o;this.allSockets.forEach((t=>{var n;t.channels.includes(e.channel)&&(null===(n=t.messageReceivingSubscriber)||void 0===n||n.next(e))}))}return;case s.SocketChannels.DISCONNECTION_CHANNEL:return void(o?(this.intendedDisconnection=!0,null===(i=this.socket)||void 0===i||i.close()):this.httpClient.refreshToken().then((()=>{this.socket?(this.intendedDisconnection=!1,this.socket.close()):this.forceReconnect()})).catch((e=>{var t;this.logger.debug(e),this.intendedDisconnection=!0,null===(t=this.socket)||void 0===t||t.close()})));default:return}})),this.socket.onclose((()=>{this.pingIntervalId&&clearInterval(this.pingIntervalId),this.socket=void 0,this.socketConnected=!1;for(const e of this.allChannels)e.connected=!1,e.requested=!0;this.notifyCurrentChannels(),this.logger.debug("Socket connnection closed, intended ",this.intendedDisconnection),this.intendedDisconnection?this.logger.debug("Socket connection terminated"):this.retryTimeoutId||(this.retryDelay=0,this.retry())}))}retry(){var e;this.logger.debug(`Socket connection retrying in ${this.retryDelay}ms`),this.connect(),this.retryDelay+=(null===(e=this.config)||void 0===e?void 0:e.reconnectTimeDeltaMs)||3e3,this.retryTimeoutId=setTimeout((()=>{this.socketConnected||this.intendedDisconnection||this.retry()}),this.retryDelay)}checkChannelRequests(){if(!this.socketConnected)return;const e=this.allChannels.filter((e=>e.requested)).map((e=>e.channel));e.length&&this.sendToChannel(s.SocketChannels.CHANNEL_JOIN_REQUEST,{channels:e})}notifyCurrentChannels(){const e=this.allChannels.filter((e=>e.connected)).map((e=>e.channel));this.allSockets.forEach((t=>{var n;return null===(n=t.channelsSubscriber)||void 0===n?void 0:n.next(e)}))}getSocketInfo(e){return this.allSockets.find((t=>t.socket===e))}sendToChannel(e,t){if(this.logger.debug("Send",e,t),!this.socket)throw"Socket not available";let n=JSON.stringify({channel:e,message:t});this.socket.send(n)}}t.DefaultClientSocketManager=DefaultClientSocketManager},function(e,t){e.exports=require("rxjs")},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ClientSocket=void 0;t.ClientSocket=class ClientSocket{constructor(e,t,n,s,i){this.messageReceivingObservable=e,this.connectionObservable=t,this.messsageSendingSubscriberResolver=n,this.initFn=s,this.destructorFn=i}send(e){this.messsageSendingSubscriber||(this.messsageSendingSubscriber=this.messsageSendingSubscriberResolver(this)),this.messsageSendingSubscriber.next(e)}onMessage(e){this.messageHandler=e}onDisconnect(e){this.disconnectHandler=e}onReconnect(e){this.reconnectHandler=e}connect(){this.connectionObservable.subscribe({next:e=>{e?this.reconnectHandler&&this.reconnectHandler():this.disconnectHandler&&this.disconnectHandler()}}),this.messageReceivingObservable.subscribe({next:e=>this.messageHandler&&this.messageHandler(e)}),this.initFn(this)}disconnect(){this.destructorFn(this)}}},function(e,t,n){"use strict";var s=this&&this.__decorate||function(e,t,n,s){var i,r=arguments.length,o=r<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,n):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,s);else for(var c=e.length-1;c>=0;c--)(i=e[c])&&(o=(r<3?i(o):r>3?i(t,n,o):i(t,n))||o);return r>3&&o&&Object.defineProperty(t,n,o),o},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},r=this&&this.__awaiter||function(e,t,n,s){return new(n||(n=Promise))((function(i,r){function fulfilled(e){try{step(s.next(e))}catch(e){r(e)}}function rejected(e){try{step(s.throw(e))}catch(e){r(e)}}function step(e){e.done?i(e.value):function adopt(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.Translator=void 0;const o=n(0),c=n(14),a=n(1),keyResolver=e=>`__${e}__`;let l=class Translator{constructor(e){this.storage=e,this.currentLang=null,this.subscribers=[]}addLangSubscriber(e){this.subscribers.push(e)}removeLangSubscriber(e){this.subscribers=this.subscribers.filter((t=>t!==e))}getCurrentLanguage(){return r(this,void 0,void 0,(function*(){return null===this.currentLang&&(this.currentLang=(yield this.storage.getItem(c.CURRENT_LANGUAGE))||void 0),this.currentLang}))}setCurrentLanguage(e){return r(this,void 0,void 0,(function*(){this.currentLang=e,yield this.storage.setItem(c.CURRENT_LANGUAGE,e);for(const t of this.subscribers)t(e)}))}getLanguages(){return r(this,void 0,void 0,(function*(){return(yield this.storage.getItem(c.SYSTEM_LANGUAGES))||void 0}))}setLanguages(e){return r(this,void 0,void 0,(function*(){yield this.storage.setItem(c.SYSTEM_LANGUAGES,e)}))}getTranslationObject(e){const t=this,n=Object.keys(e),s={},resolveTranslation=(e,s)=>{const i=s.reduce(((e,t)=>(Object.keys(t).forEach((t=>{e.includes(t)||e.push(t)})),e)),[]);for(const r of i){if(s.every((e=>"object"==typeof e[r])))e[r]={},resolveTranslation(e[r],s.map((e=>e[r])));else{const i=keyResolver(r);e[i]=s.map((e=>e[r])),Object.defineProperty(e,r,{value:function(...e){const s=t.currentLang||n[0];if(!s)return"";let r=this[i][n.indexOf(s)];return"string"==typeof r?r:"function"==typeof r?r(...e):i},configurable:!1,writable:!1})}}};return resolveTranslation(s,Object.values(e)),s}};l=s([(0,o.Injectable)(),i("design:paramtypes",[a.AbstractStorage])],l),t.Translator=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CURRENT_LANGUAGE=t.SYSTEM_LANGUAGES=void 0,t.SYSTEM_LANGUAGES="SYSTEM_LANGUAGES",t.CURRENT_LANGUAGE="CURRENT_LANGUAGE"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractErrorHandler=void 0;t.AbstractErrorHandler=class AbstractErrorHandler{}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractViewMiddleware=void 0;t.AbstractViewMiddleware=class AbstractViewMiddleware{}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},function(e,t,n){"use strict";var s=this&&this.__decorate||function(e,t,n,s){var i,r=arguments.length,o=r<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,n):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,s);else for(var c=e.length-1;c>=0;c--)(i=e[c])&&(o=(r<3?i(o):r>3?i(t,n,o):i(t,n))||o);return r>3&&o&&Object.defineProperty(t,n,o),o},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},r=this&&this.__awaiter||function(e,t,n,s){return new(n||(n=Promise))((function(i,r){function fulfilled(e){try{step(s.next(e))}catch(e){r(e)}}function rejected(e){try{step(s.throw(e))}catch(e){r(e)}}function step(e){e.done?i(e.value):function adopt(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.DefaultTokenManager=void 0;const o=n(0),c=n(1),a=n(4);let l=class DefaultTokenManager extends a.AbstractTokenManager{constructor(e,t="ACCESS_TOKEN"){super(),this.storage=e,this.storageKey=t,this.accessToken=null}getAccessToken(){return r(this,void 0,void 0,(function*(){return null===this.accessToken&&(this.accessToken=yield this.storage.getItem(this.storageKey)),this.accessToken}))}setAccessToken(e){return r(this,void 0,void 0,(function*(){e?yield this.storage.setItem(this.storageKey,e):yield this.storage.deleteItem(this.storageKey),this.accessToken=e}))}};l=s([(0,o.Injectable)(),i("design:paramtypes",[c.AbstractStorage,String])],l),t.DefaultTokenManager=l},function(e,t,n){"use strict";var s=this&&this.__awaiter||function(e,t,n,s){return new(n||(n=Promise))((function(i,r){function fulfilled(e){try{step(s.next(e))}catch(e){r(e)}}function rejected(e){try{step(s.throw(e))}catch(e){r(e)}}function step(e){e.done?i(e.value):function adopt(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.CrudApi=t.mergeInstances=t.removeInstances=t.stringifyQueries=void 0;t.stringifyQueries=e=>Object.keys(e).reduce(((t,n)=>t+`${n}=${JSON.stringify(e[n])}&`),"");t.removeInstances=(e,t)=>{const n=e.slice();for(const e of t){const t=n.findIndex((t=>!!t.id&&!!e.id&&t.id===e.id));t>=0&&n.splice(t,1)}return n};t.mergeInstances=(e,t,n)=>{const s=t.slice();for(const t of n){const n=s.findIndex((e=>!!e.id&&!!t.id&&e.id===t.id));n<0?s.push(Object.assign(new e,t)):Object.assign(s[n],t)}return s};t.CrudApi=class CrudApi{constructor(e,t){this.model=e,this.httpClient=t}getEndpointBaseUrl(){return`/${this.model.name.toLowerCase()}`}getMany(e){return s(this,void 0,void 0,(function*(){return yield this.httpClient.get(`${this.getEndpointBaseUrl()}?${(0,t.stringifyQueries)(e||{})}`)}))}updateMany(e,n){return s(this,void 0,void 0,(function*(){return yield this.httpClient.put(`${this.getEndpointBaseUrl()}?${(0,t.stringifyQueries)(n||{})}`,e)}))}deleteMany(e){return s(this,void 0,void 0,(function*(){return yield this.httpClient.delete(`${this.getEndpointBaseUrl()}?${(0,t.stringifyQueries)(e||{})}`)}))}createMany(e){return s(this,void 0,void 0,(function*(){return yield this.httpClient.post(`${this.getEndpointBaseUrl()}`,e)}))}}}]));
1
+ !function(e,t){for(var n in t)e[n]=t[n]}(exports,function(e){var t={};function __webpack_require__(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,__webpack_require__),i.l=!0,i.exports}return __webpack_require__.m=e,__webpack_require__.c=t,__webpack_require__.d=function(e,t,n){__webpack_require__.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},__webpack_require__.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},__webpack_require__.t=function(e,t){if(1&t&&(e=__webpack_require__(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(__webpack_require__.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)__webpack_require__.d(n,i,function(t){return e[t]}.bind(null,i));return n},__webpack_require__.n=function(e){var t=e&&e.__esModule?function getDefault(){return e.default}:function getModuleExports(){return e};return __webpack_require__.d(t,"a",t),t},__webpack_require__.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},__webpack_require__.p="",__webpack_require__(__webpack_require__.s=6)}([function(e,t){e.exports=require("@clairejs/core")},function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(s,r){function fulfilled(e){try{step(i.next(e))}catch(e){r(e)}}function rejected(e){try{step(i.throw(e))}catch(e){r(e)}}function step(e){e.done?s(e.value):function adopt(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(fulfilled,rejected)}step((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractHttpClient=void 0;t.AbstractHttpClient=class AbstractHttpClient{constructor(e){this.apiServerUrl=e}resolveHeaders(e){return i(this,void 0,void 0,(function*(){return e}))}resolveUrl(e){return i(this,void 0,void 0,(function*(){return this.apiServerUrl+e}))}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractStorage=void 0;t.AbstractStorage=class AbstractStorage{}},function(e,t){e.exports=require("axios")},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractClientSocketManager=void 0;t.AbstractClientSocketManager=class AbstractClientSocketManager{}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractTokenManager=void 0;t.AbstractTokenManager=class AbstractTokenManager{}},function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var s=Object.getOwnPropertyDescriptor(t,n);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,s)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),s(n(7),t),s(n(8),t),s(n(9),t),s(n(1),t),s(n(4),t),s(n(10),t),s(n(11),t),s(n(2),t),s(n(14),t),s(n(16),t),s(n(17),t),s(n(18),t),s(n(19),t),s(n(20),t),s(n(5),t),s(n(21),t),s(n(22),t),s(n(23),t),s(n(24),t)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ClaireClient=void 0;const i=n(0);class ClaireClient extends i.ClaireApp{}t.ClaireClient=ClaireClient},function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(s,r){function fulfilled(e){try{step(i.next(e))}catch(e){r(e)}}function rejected(e){try{step(i.throw(e))}catch(e){r(e)}}function step(e){e.done?s(e.value):function adopt(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(fulfilled,rejected)}step((i=i.apply(e,t||[])).next())}))},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.RefreshHttpClient=void 0;const r=s(n(3)),o=n(1);class RefreshHttpClient extends o.AbstractHttpClient{constructor(e,t,n){super(e),this.apiServerUrl=e,this.logger=t,this.tokenManager=n,this.refreshing=!1,this.refreshQueue=[]}getRefreshedAccessToken(){return i(this,void 0,void 0,(function*(){}))}resolveResult(e,t){return i(this,void 0,void 0,(function*(){if(!t||!Object.keys(t).map((e=>e.toLowerCase().includes("authorization")))){const e=yield this.tokenManager.getAccessToken();e&&e.expiration<Date.now()+3e4&&(yield this.refreshToken(e))}const n=yield this.finalHeaders(t);return(yield e(n)).data}))}finalHeaders(e){return i(this,void 0,void 0,(function*(){const t=yield this.tokenManager.getAccessToken();return{headers:Object.assign({authorization:(null==t?void 0:t.token)||""},this.resolveHeaders(e))}}))}refreshToken(e){return i(this,void 0,void 0,(function*(){if(this.refreshing)this.logger.debug("Awaiting refresh token, queued"),yield new Promise((e=>{this.refreshQueue.push({resolver:e})}));else{if(!(e=e||(yield this.tokenManager.getAccessToken()))||!e.refreshToken)return;try{this.refreshing=!0;const e=yield this.getRefreshedAccessToken();yield this.tokenManager.setAccessToken(e),this.logger.debug("Access token was refreshed")}catch(e){this.logger.debug("Cannot refresh access token, clear local token"),yield this.tokenManager.setAccessToken()}finally{this.refreshing=!1;for(const e of this.refreshQueue)e.resolver();this.refreshQueue=[]}}}))}get(e,t){return i(this,void 0,void 0,(function*(){const n=yield this.resolveUrl(e);return this.logger.debug("[GET] ",n),this.resolveResult((e=>i(this,void 0,void 0,(function*(){return r.default.get(n,e)}))),t)}))}post(e,t,n){return i(this,void 0,void 0,(function*(){const s=yield this.resolveUrl(e);return this.logger.debug("[POST] ",s),this.resolveResult((e=>i(this,void 0,void 0,(function*(){return r.default.post(s,t,e)}))),n)}))}put(e,t,n){return i(this,void 0,void 0,(function*(){const s=yield this.resolveUrl(e);return this.logger.debug("[PUT] ",s),this.resolveResult((e=>i(this,void 0,void 0,(function*(){return r.default.put(s,t,e)}))),n)}))}delete(e,t){return i(this,void 0,void 0,(function*(){const n=yield this.resolveUrl(e);return this.logger.debug("[DEL] ",n),this.resolveResult((e=>i(this,void 0,void 0,(function*(){return r.default.delete(n,e)}))),t)}))}}t.RefreshHttpClient=RefreshHttpClient},function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(s,r){function fulfilled(e){try{step(i.next(e))}catch(e){r(e)}}function rejected(e){try{step(i.throw(e))}catch(e){r(e)}}function step(e){e.done?s(e.value):function adopt(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(fulfilled,rejected)}step((i=i.apply(e,t||[])).next())}))},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.DefaultHttpClient=void 0;const r=n(1),o=s(n(3));class DefaultHttpClient extends r.AbstractHttpClient{get(e,t){return i(this,void 0,void 0,(function*(){const n=yield this.resolveUrl(e),i=yield this.resolveHeaders(t);return(yield o.default.get(n,{headers:i})).data}))}post(e,t,n){return i(this,void 0,void 0,(function*(){const i=yield this.resolveUrl(e),s=yield this.resolveHeaders(n);return(yield o.default.post(i,t,{headers:s})).data}))}put(e,t,n){return i(this,void 0,void 0,(function*(){const i=yield this.resolveUrl(e),s=yield this.resolveHeaders(n);return(yield o.default.put(i,t,{headers:s})).data}))}delete(e,t){return i(this,void 0,void 0,(function*(){const n=yield this.resolveUrl(e),i=yield this.resolveHeaders(t);return(yield o.default.delete(n,{headers:i})).data}))}}t.DefaultHttpClient=DefaultHttpClient},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DefaultClientSocketManager=void 0;const i=n(0),s=n(12),r=n(4),o=n(13);class DefaultClientSocketManager extends r.AbstractClientSocketManager{constructor(e,t,n,i,s){super(),this.wsProvider=e,this.tokenManager=t,this.httpClient=n,this.logger=i,this.config=s,this.allSockets=[],this.allChannels=[],this.accumulatedPing=0,this.retryDelay=0}create(e){const t=new s.Observable((e=>{const t=this.getSocketInfo(a);if(!t)throw"Cannot resolve socket info in connectionObservable";t.connectionSubscriber=e})),n=new s.Observable((e=>{const t=this.getSocketInfo(a);if(!t)throw"Cannot resolve socket info in messageReceiveingObservable";t.messageReceivingSubscriber=e})),r=new s.Observable((e=>{const t=this.getSocketInfo(a);if(!t)throw"Cannot resolve socket info in messageSendingObservable";t.messageSendingSubscriber=e})),c=new s.Observable((e=>{const t=this.getSocketInfo(a);if(!t)throw"Cannot resolve socket info in channelsObservable";t.channelsSubscriber=e})),a=new o.ClientSocket(n,t,(e=>{const t=this.getSocketInfo(a);if(!t||!t.messageSendingSubscriber)throw"Cannot resolve socket info in messageSendingSubscriber resolver";return t.messageSendingSubscriber}),(e=>{const t=this.getSocketInfo(e);if(!t)throw"Cannot resolve socket info in connection request";if(t.connected)return;if(!t.channelsObservable)throw"Channels observer not available";if(!t.messageSendingObservable)throw"Message sending observable not available";const n=t.channelsObservable.subscribe({next:e=>{if(!t.connected&&t.channels.every((t=>e.includes(t)))){if(t.connected=!0,!t.connectionSubscriber)throw"Connection subscriber not available";t.connectionSubscriber.next(t.connected)}else if(t.connected&&t.channels.some((t=>!e.includes(t)))){if(t.connected=!1,!t.connectionSubscriber)throw"Disconnection subscriber not available";t.connectionSubscriber.next(t.connected)}}});t.subscriptions.push(n),t.messageSendingObservable.subscribe({next:e=>{if(!t.connected)throw"Socket not connected";this.sendToChannel(i.SocketChannels.MESSAGE_CHANNEL,e)}});for(const e of t.channels){let t=this.allChannels.find((t=>t.channel===e));t||(t={channel:e,requested:!1,connected:!1},this.allChannels.push(t)),t.requested=!0}this.checkChannelRequests()}),(e=>{const t=this.getSocketInfo(a);if(!t)throw"Cannot resolve socket info in disconnection request";t.subscriptions.forEach((e=>e.unsubscribe()));const n=this.allSockets.indexOf(t);n>=0&&this.allSockets.splice(n,1)}));return this.allSockets.push({socket:a,channels:e,messageSendingObservable:r,channelsObservable:c,subscriptions:[]}),a}forceDisconnect(){this.intendedDisconnection=!0,this.socket&&(this.socket.close(),this.socket=void 0),this.retryTimeoutId&&clearTimeout(this.retryTimeoutId)}forceReconnect(){var e;this.intendedDisconnection=!1,this.socketConnected?null===(e=this.socket)||void 0===e||e.close():(this.retryDelay=0,void 0===this.socket&&(this.retryTimeoutId&&(clearTimeout(this.retryTimeoutId),this.retryTimeoutId=void 0),this.connect()))}connect(){this.socket=this.wsProvider(),this.socket.onopen((()=>{this.pingIntervalId&&clearInterval(this.pingIntervalId),this.tokenManager.getAccessToken().then((e=>{this.sendToChannel(i.SocketChannels.AUTHENTICATION_CHANNEL,{authorizationData:null==e?void 0:e.token})})).catch((e=>{this.logger.error(e),this.forceReconnect()}))})),this.socket.onmessage((e=>{var t,n,s;if(!e)return;const{channel:r,message:o}=JSON.parse(e);switch(this.logger.debug("Receive",r,o),r){case i.SocketChannels.PING_PONG_CHANNEL:return void(this.accumulatedPing=0);case i.SocketChannels.AUTHENTICATION_CHANNEL:return this.logger.debug("Socket connection established",o),this.socketConnected=!0,this.pingIntervalId&&clearInterval(this.pingIntervalId),this.accumulatedPing=0,this.pingIntervalId=setInterval((()=>{var e,t,n;this.accumulatedPing+=1,this.accumulatedPing>((null===(t=null===(e=this.config)||void 0===e?void 0:e.keepAlive)||void 0===t?void 0:t.deadThreashold)||3)?(this.intendedDisconnection=!1,null===(n=this.socket)||void 0===n||n.close()):this.sendToChannel(i.SocketChannels.PING_PONG_CHANNEL)}),(null===(n=null===(t=this.config)||void 0===t?void 0:t.keepAlive)||void 0===n?void 0:n.pingIntervalMs)||1e4),this.intendedDisconnection=!1,this.retryTimeoutId&&(clearTimeout(this.retryTimeoutId),this.retryTimeoutId=void 0),void this.checkChannelRequests();case i.SocketChannels.CHANNEL_JOIN_REQUEST:{const e=o;if(!e.success)return void this.logger.error(e.error);e.channels.forEach((e=>{const t=this.allChannels.find((t=>t.channel===e));t&&(t.connected=!0,t.requested=!1)})),this.notifyCurrentChannels()}return;case i.SocketChannels.CHANNEL_LEAVE_REQUEST:{const e=o;if(!e.success)return void this.logger.error(e.error);e.channels.forEach((e=>{const t=this.allChannels.find((t=>t.channel===e));t&&(t.connected=!1)})),this.notifyCurrentChannels()}return;case i.SocketChannels.MESSAGE_CHANNEL:{const e=o;this.allSockets.forEach((t=>{var n;t.channels.includes(e.channel)&&(null===(n=t.messageReceivingSubscriber)||void 0===n||n.next(e))}))}return;case i.SocketChannels.DISCONNECTION_CHANNEL:return void(o?(this.intendedDisconnection=!0,null===(s=this.socket)||void 0===s||s.close()):this.socket?(this.intendedDisconnection=!1,this.socket.close()):this.forceReconnect());default:return}})),this.socket.onclose((()=>{this.pingIntervalId&&clearInterval(this.pingIntervalId),this.socket=void 0,this.socketConnected=!1;for(const e of this.allChannels)e.connected=!1,e.requested=!0;this.notifyCurrentChannels(),this.logger.debug("Socket connnection closed, intended ",this.intendedDisconnection),this.intendedDisconnection?this.logger.debug("Socket connection terminated"):this.retryTimeoutId||(this.retryDelay=0,this.retry())}))}retry(){var e;this.logger.debug(`Socket connection retrying in ${this.retryDelay}ms`),this.connect(),this.retryDelay+=(null===(e=this.config)||void 0===e?void 0:e.reconnectTimeDeltaMs)||3e3,this.retryTimeoutId=setTimeout((()=>{this.socketConnected||this.intendedDisconnection||this.retry()}),this.retryDelay)}checkChannelRequests(){if(!this.socketConnected)return;const e=this.allChannels.filter((e=>e.requested)).map((e=>e.channel));e.length&&this.sendToChannel(i.SocketChannels.CHANNEL_JOIN_REQUEST,{channels:e})}notifyCurrentChannels(){const e=this.allChannels.filter((e=>e.connected)).map((e=>e.channel));this.allSockets.forEach((t=>{var n;return null===(n=t.channelsSubscriber)||void 0===n?void 0:n.next(e)}))}getSocketInfo(e){return this.allSockets.find((t=>t.socket===e))}sendToChannel(e,t){if(this.logger.debug("Send",e,t),!this.socket)throw"Socket not available";let n=JSON.stringify({channel:e,message:t});this.socket.send(n)}}t.DefaultClientSocketManager=DefaultClientSocketManager},function(e,t){e.exports=require("rxjs")},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ClientSocket=void 0;t.ClientSocket=class ClientSocket{constructor(e,t,n,i,s){this.messageReceivingObservable=e,this.connectionObservable=t,this.messsageSendingSubscriberResolver=n,this.initFn=i,this.destructorFn=s}send(e){this.messsageSendingSubscriber||(this.messsageSendingSubscriber=this.messsageSendingSubscriberResolver(this)),this.messsageSendingSubscriber.next(e)}onMessage(e){this.messageHandler=e}onDisconnect(e){this.disconnectHandler=e}onReconnect(e){this.reconnectHandler=e}connect(){this.connectionObservable.subscribe({next:e=>{e?this.reconnectHandler&&this.reconnectHandler():this.disconnectHandler&&this.disconnectHandler()}}),this.messageReceivingObservable.subscribe({next:e=>this.messageHandler&&this.messageHandler(e)}),this.initFn(this)}disconnect(){this.destructorFn(this)}}},function(e,t,n){"use strict";var i=this&&this.__decorate||function(e,t,n,i){var s,r=arguments.length,o=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,i);else for(var c=e.length-1;c>=0;c--)(s=e[c])&&(o=(r<3?s(o):r>3?s(t,n,o):s(t,n))||o);return r>3&&o&&Object.defineProperty(t,n,o),o},s=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},r=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(s,r){function fulfilled(e){try{step(i.next(e))}catch(e){r(e)}}function rejected(e){try{step(i.throw(e))}catch(e){r(e)}}function step(e){e.done?s(e.value):function adopt(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(fulfilled,rejected)}step((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.Translator=void 0;const o=n(0),c=n(15),a=n(2),keyResolver=e=>`__${e}__`;let l=class Translator{constructor(e){this.storage=e,this.currentLang=null,this.subscribers=[]}addLangSubscriber(e){this.subscribers.push(e)}removeLangSubscriber(e){this.subscribers=this.subscribers.filter((t=>t!==e))}getCurrentLanguage(){return r(this,void 0,void 0,(function*(){return null===this.currentLang&&(this.currentLang=(yield this.storage.getItem(c.CURRENT_LANGUAGE))||void 0),this.currentLang}))}setCurrentLanguage(e){return r(this,void 0,void 0,(function*(){this.currentLang=e,yield this.storage.setItem(c.CURRENT_LANGUAGE,e);for(const t of this.subscribers)t(e)}))}getLanguages(){return r(this,void 0,void 0,(function*(){return(yield this.storage.getItem(c.SYSTEM_LANGUAGES))||void 0}))}setLanguages(e){return r(this,void 0,void 0,(function*(){yield this.storage.setItem(c.SYSTEM_LANGUAGES,e)}))}getTranslationObject(e){const t=this,n=Object.keys(e),i={},resolveTranslation=(e,i)=>{const s=i.reduce(((e,t)=>(Object.keys(t).forEach((t=>{e.includes(t)||e.push(t)})),e)),[]);for(const r of s){if(i.every((e=>"object"==typeof e[r])))e[r]={},resolveTranslation(e[r],i.map((e=>e[r])));else{const s=keyResolver(r);e[s]=i.map((e=>e[r])),Object.defineProperty(e,r,{value:function(...e){const i=t.currentLang||n[0];if(!i)return"";let r=this[s][n.indexOf(i)];return"string"==typeof r?r:"function"==typeof r?r(...e):s},configurable:!1,writable:!1})}}};return resolveTranslation(i,Object.values(e)),i}};l=i([(0,o.Injectable)(),s("design:paramtypes",[a.AbstractStorage])],l),t.Translator=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CURRENT_LANGUAGE=t.SYSTEM_LANGUAGES=void 0,t.SYSTEM_LANGUAGES="SYSTEM_LANGUAGES",t.CURRENT_LANGUAGE="CURRENT_LANGUAGE"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractErrorHandler=void 0;t.AbstractErrorHandler=class AbstractErrorHandler{}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractViewMiddleware=void 0;t.AbstractViewMiddleware=class AbstractViewMiddleware{}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},function(e,t,n){"use strict";var i=this&&this.__decorate||function(e,t,n,i){var s,r=arguments.length,o=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,i);else for(var c=e.length-1;c>=0;c--)(s=e[c])&&(o=(r<3?s(o):r>3?s(t,n,o):s(t,n))||o);return r>3&&o&&Object.defineProperty(t,n,o),o},s=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},r=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(s,r){function fulfilled(e){try{step(i.next(e))}catch(e){r(e)}}function rejected(e){try{step(i.throw(e))}catch(e){r(e)}}function step(e){e.done?s(e.value):function adopt(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(fulfilled,rejected)}step((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.DefaultTokenManager=void 0;const o=n(0),c=n(2),a=n(5);let l=class DefaultTokenManager extends a.AbstractTokenManager{constructor(e,t="ACCESS_TOKEN"){super(),this.storage=e,this.storageKey=t,this.accessToken=null}getAccessToken(){return r(this,void 0,void 0,(function*(){return null===this.accessToken&&(this.accessToken=yield this.storage.getItem(this.storageKey)),this.accessToken}))}setAccessToken(e){return r(this,void 0,void 0,(function*(){e?yield this.storage.setItem(this.storageKey,e):yield this.storage.deleteItem(this.storageKey),this.accessToken=e}))}};l=i([(0,o.Injectable)(),s("design:paramtypes",[c.AbstractStorage,String])],l),t.DefaultTokenManager=l},function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(s,r){function fulfilled(e){try{step(i.next(e))}catch(e){r(e)}}function rejected(e){try{step(i.throw(e))}catch(e){r(e)}}function step(e){e.done?s(e.value):function adopt(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(fulfilled,rejected)}step((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.CrudApi=t.mergeInstances=t.removeInstances=t.stringifyQueries=void 0;t.stringifyQueries=e=>Object.keys(e).reduce(((t,n)=>t+`${n}=${JSON.stringify(e[n])}&`),"");t.removeInstances=(e,t)=>{const n=e.slice();for(const e of t){const t=n.findIndex((t=>!!t.id&&!!e.id&&t.id===e.id));t>=0&&n.splice(t,1)}return n};t.mergeInstances=(e,t,n)=>{const i=t.slice();for(const t of n){const n=i.findIndex((e=>!!e.id&&!!t.id&&e.id===t.id));n<0?i.push(Object.assign(new e,t)):Object.assign(i[n],t)}return i};t.CrudApi=class CrudApi{constructor(e,t){this.model=e,this.httpClient=t}getEndpointBaseUrl(){return`/${this.model.name.toLowerCase()}`}getMany(e){return i(this,void 0,void 0,(function*(){return yield this.httpClient.get(`${this.getEndpointBaseUrl()}?${(0,t.stringifyQueries)(e||{})}`)}))}updateMany(e,n){return i(this,void 0,void 0,(function*(){return yield this.httpClient.put(`${this.getEndpointBaseUrl()}?${(0,t.stringifyQueries)(n||{})}`,e)}))}deleteMany(e){return i(this,void 0,void 0,(function*(){return yield this.httpClient.delete(`${this.getEndpointBaseUrl()}?${(0,t.stringifyQueries)(e||{})}`)}))}createMany(e){return i(this,void 0,void 0,(function*(){return yield this.httpClient.post(`${this.getEndpointBaseUrl()}`,e)}))}}}]));
2
2
  //# sourceMappingURL=index.js.map