@sisense/sdk-rest-client 1.20.0 → 1.22.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.
Files changed (41) hide show
  1. package/dist/cjs/authenticator.d.ts +13 -0
  2. package/dist/cjs/authenticator.js +29 -0
  3. package/dist/cjs/base-authenticator.d.ts +16 -0
  4. package/dist/cjs/base-authenticator.js +34 -0
  5. package/dist/cjs/bearer-authenticator.d.ts +16 -0
  6. package/dist/cjs/bearer-authenticator.js +34 -0
  7. package/dist/cjs/constants.d.ts +1 -0
  8. package/dist/cjs/constants.js +4 -0
  9. package/dist/cjs/fusion-authenticator.d.ts +23 -0
  10. package/dist/cjs/fusion-authenticator.js +38 -0
  11. package/dist/cjs/helpers.d.ts +14 -0
  12. package/dist/cjs/helpers.js +39 -0
  13. package/dist/cjs/http-client.d.ts +19 -0
  14. package/dist/cjs/http-client.js +86 -0
  15. package/dist/cjs/index.d.ts +10 -0
  16. package/dist/cjs/index.js +39 -0
  17. package/dist/cjs/interceptors.d.ts +3 -0
  18. package/dist/cjs/interceptors.js +69 -0
  19. package/dist/cjs/interfaces.d.ts +9 -0
  20. package/dist/cjs/interfaces.js +2 -0
  21. package/dist/cjs/package.json +12 -0
  22. package/dist/cjs/password-authenticator.d.ts +18 -0
  23. package/dist/cjs/password-authenticator.js +68 -0
  24. package/dist/cjs/sso-authenticator.d.ts +18 -0
  25. package/dist/cjs/sso-authenticator.js +97 -0
  26. package/dist/cjs/translation/initialize-i18n.d.ts +2 -0
  27. package/dist/cjs/translation/initialize-i18n.js +14 -0
  28. package/dist/cjs/translation/resources/en.d.ts +16 -0
  29. package/dist/cjs/translation/resources/en.js +18 -0
  30. package/dist/cjs/translation/resources/index.d.ts +29 -0
  31. package/dist/cjs/translation/resources/index.js +10 -0
  32. package/dist/cjs/translation/resources/uk.d.ts +5 -0
  33. package/dist/cjs/translation/resources/uk.js +18 -0
  34. package/dist/cjs/translation/translatable-error.d.ts +6 -0
  35. package/dist/cjs/translation/translatable-error.js +18 -0
  36. package/dist/cjs/wat-authenticator.d.ts +19 -0
  37. package/dist/cjs/wat-authenticator.js +77 -0
  38. package/dist/http-client.d.ts +1 -0
  39. package/dist/http-client.js +7 -0
  40. package/dist/tsconfig.prod.cjs.tsbuildinfo +1 -0
  41. package/package.json +3 -3
@@ -0,0 +1,13 @@
1
+ import { Authenticator } from './interfaces.js';
2
+ declare type AuthenticatorConfig = {
3
+ url: string;
4
+ username?: string;
5
+ password?: string;
6
+ token?: string | null;
7
+ wat?: string | null;
8
+ ssoEnabled?: boolean;
9
+ enableSilentPreAuth?: boolean;
10
+ useFusionAuth?: boolean;
11
+ };
12
+ export declare function getAuthenticator({ url, username, password, token, wat, ssoEnabled, enableSilentPreAuth, useFusionAuth, }: AuthenticatorConfig): Authenticator | null;
13
+ export {};
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAuthenticator = void 0;
4
+ const password_authenticator_js_1 = require("./password-authenticator.js");
5
+ const bearer_authenticator_js_1 = require("./bearer-authenticator.js");
6
+ const wat_authenticator_js_1 = require("./wat-authenticator.js");
7
+ const sso_authenticator_js_1 = require("./sso-authenticator.js");
8
+ const fusion_authenticator_js_1 = require("./fusion-authenticator.js");
9
+ function getAuthenticator({ url, username, password, token, wat, ssoEnabled = false, enableSilentPreAuth = false, useFusionAuth = false, }) {
10
+ // sso overrides all other auth methods
11
+ if (ssoEnabled) {
12
+ return new sso_authenticator_js_1.SsoAuthenticator(url, enableSilentPreAuth);
13
+ }
14
+ // username/password or tokens are chosen relative to priority
15
+ if (username && password) {
16
+ return new password_authenticator_js_1.PasswordAuthenticator(url, username, password);
17
+ }
18
+ if (token) {
19
+ return new bearer_authenticator_js_1.BearerAuthenticator(url, token);
20
+ }
21
+ if (wat) {
22
+ return new wat_authenticator_js_1.WatAuthenticator(url, wat);
23
+ }
24
+ if (useFusionAuth) {
25
+ return new fusion_authenticator_js_1.FusionAuthenticator();
26
+ }
27
+ return null;
28
+ }
29
+ exports.getAuthenticator = getAuthenticator;
@@ -0,0 +1,16 @@
1
+ import { Authenticator } from './interfaces.js';
2
+ export declare class BaseAuthenticator implements Authenticator {
3
+ readonly type: Authenticator['type'];
4
+ private _valid;
5
+ protected _authenticating: boolean;
6
+ protected _tried: boolean;
7
+ protected _resolve: (value: boolean) => void;
8
+ protected readonly _result: Promise<boolean>;
9
+ protected constructor(type: Authenticator['type']);
10
+ isValid(): boolean;
11
+ invalidate(): void;
12
+ authenticate(): Promise<boolean>;
13
+ isAuthenticating(): boolean;
14
+ authenticated(): Promise<boolean>;
15
+ applyHeader(headers: HeadersInit): void;
16
+ }
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseAuthenticator = void 0;
4
+ class BaseAuthenticator {
5
+ constructor(type) {
6
+ this._valid = true;
7
+ this._authenticating = false;
8
+ this._tried = false;
9
+ this._result = new Promise((resolve) => {
10
+ this._resolve = resolve;
11
+ });
12
+ this.type = type;
13
+ }
14
+ isValid() {
15
+ return this._valid;
16
+ }
17
+ invalidate() {
18
+ this._valid = false;
19
+ }
20
+ authenticate() {
21
+ return this._result;
22
+ }
23
+ isAuthenticating() {
24
+ return this._authenticating;
25
+ }
26
+ authenticated() {
27
+ return this._result;
28
+ }
29
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars
30
+ applyHeader(headers) {
31
+ // Do nothing
32
+ }
33
+ }
34
+ exports.BaseAuthenticator = BaseAuthenticator;
@@ -0,0 +1,16 @@
1
+ import { Authenticator } from './interfaces.js';
2
+ import { BaseAuthenticator } from './base-authenticator.js';
3
+ export declare class BearerAuthenticator extends BaseAuthenticator {
4
+ readonly bearer: string;
5
+ constructor(url: string, bearer: string);
6
+ applyHeader(headers: HeadersInit): void;
7
+ authenticate(): Promise<boolean>;
8
+ authenticated(): Promise<boolean>;
9
+ }
10
+ /**
11
+ * Checks if an authenticator is a BearerAuthenticator.
12
+ *
13
+ * @param authenticator - The authenticator to check.
14
+ * @internal
15
+ */
16
+ export declare function isBearerAuthenticator(authenticator: Authenticator): authenticator is BearerAuthenticator;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isBearerAuthenticator = exports.BearerAuthenticator = void 0;
4
+ const base_authenticator_js_1 = require("./base-authenticator.js");
5
+ const helpers_js_1 = require("./helpers.js");
6
+ class BearerAuthenticator extends base_authenticator_js_1.BaseAuthenticator {
7
+ constructor(url, bearer) {
8
+ super('bearer');
9
+ this.bearer = bearer;
10
+ this._resolve(true);
11
+ }
12
+ applyHeader(headers) {
13
+ const authHeader = 'Bearer ' + this.bearer;
14
+ (0, helpers_js_1.appendHeaders)(headers, { Authorization: authHeader });
15
+ }
16
+ authenticate() {
17
+ // TODO: implement authentication test
18
+ return this._result;
19
+ }
20
+ authenticated() {
21
+ return this._result;
22
+ }
23
+ }
24
+ exports.BearerAuthenticator = BearerAuthenticator;
25
+ /**
26
+ * Checks if an authenticator is a BearerAuthenticator.
27
+ *
28
+ * @param authenticator - The authenticator to check.
29
+ * @internal
30
+ */
31
+ function isBearerAuthenticator(authenticator) {
32
+ return authenticator.type === 'bearer';
33
+ }
34
+ exports.isBearerAuthenticator = isBearerAuthenticator;
@@ -0,0 +1 @@
1
+ export declare const ERROR_PREFIX = "[request-error]";
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ERROR_PREFIX = void 0;
4
+ exports.ERROR_PREFIX = '[request-error]';
@@ -0,0 +1,23 @@
1
+ /// <reference lib="dom" />
2
+ import { Authenticator } from './interfaces.js';
3
+ import { BaseAuthenticator } from './base-authenticator.js';
4
+ export declare type FusionWindow = Window & typeof globalThis & {
5
+ prism: {
6
+ user: {
7
+ _id: string | undefined;
8
+ };
9
+ } | undefined;
10
+ };
11
+ export declare class FusionAuthenticator extends BaseAuthenticator {
12
+ constructor();
13
+ private antiCsrfToken;
14
+ authenticate(): Promise<boolean>;
15
+ applyHeader(headers: HeadersInit): void;
16
+ }
17
+ /**
18
+ * Checks if the authenticator is SSO authenticator
19
+ *
20
+ * @param authenticator - authenticator to check
21
+ * @internal
22
+ */
23
+ export declare function isFusionAuthenticator(authenticator: Authenticator): authenticator is FusionAuthenticator;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ /// <reference lib="dom" />
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.isFusionAuthenticator = exports.FusionAuthenticator = void 0;
5
+ const base_authenticator_js_1 = require("./base-authenticator.js");
6
+ const helpers_js_1 = require("./helpers.js");
7
+ class FusionAuthenticator extends base_authenticator_js_1.BaseAuthenticator {
8
+ constructor() {
9
+ super('fusion');
10
+ }
11
+ authenticate() {
12
+ var _a, _b, _c, _d, _e;
13
+ const hasUser = !!((_b = (_a = window.prism) === null || _a === void 0 ? void 0 : _a.user) === null || _b === void 0 ? void 0 : _b._id);
14
+ this._resolve(hasUser);
15
+ const antiCsrfToken = (_e = (_d = (_c = window.document) === null || _c === void 0 ? void 0 : _c.cookie) === null || _d === void 0 ? void 0 : _d.match(/(?:^|;\s*)XSRF-TOKEN=([^;]+)/)) === null || _e === void 0 ? void 0 : _e[1];
16
+ if (antiCsrfToken)
17
+ this.antiCsrfToken = antiCsrfToken;
18
+ return this._result;
19
+ }
20
+ applyHeader(headers) {
21
+ if (this.antiCsrfToken) {
22
+ (0, helpers_js_1.appendHeaders)(headers, {
23
+ 'X-Xsrf-Token': this.antiCsrfToken,
24
+ });
25
+ }
26
+ }
27
+ }
28
+ exports.FusionAuthenticator = FusionAuthenticator;
29
+ /**
30
+ * Checks if the authenticator is SSO authenticator
31
+ *
32
+ * @param authenticator - authenticator to check
33
+ * @internal
34
+ */
35
+ function isFusionAuthenticator(authenticator) {
36
+ return authenticator.type === 'fusion';
37
+ }
38
+ exports.isFusionAuthenticator = isFusionAuthenticator;
@@ -0,0 +1,14 @@
1
+ export declare const appendHeaders: (existingHeaders: HeadersInit, additionalHeaders: {
2
+ [key: string]: string;
3
+ }) => void;
4
+ export declare const addQueryParamsToUrl: (url: string, params: {
5
+ [key: string]: string;
6
+ }) => string;
7
+ /**
8
+ * Checks if API token or WAT token is pending (e.g., being generated)
9
+ *
10
+ * @param token - API token
11
+ * @param wat - WAT token
12
+ * @returns true if the token is pending
13
+ */
14
+ export declare const isAuthTokenPending: (token?: string | null, wat?: string | null) => boolean;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isAuthTokenPending = exports.addQueryParamsToUrl = exports.appendHeaders = void 0;
4
+ const appendHeaders = (existingHeaders, additionalHeaders) => {
5
+ for (const [headerName, headerValue] of Object.entries(additionalHeaders)) {
6
+ if (Array.isArray(existingHeaders)) {
7
+ existingHeaders.push([headerName, headerValue]);
8
+ }
9
+ else if (typeof existingHeaders.set === 'function') {
10
+ existingHeaders.set(headerName, headerValue);
11
+ }
12
+ else {
13
+ // eslint-disable-next-line security/detect-object-injection
14
+ existingHeaders[headerName] = headerValue;
15
+ }
16
+ }
17
+ };
18
+ exports.appendHeaders = appendHeaders;
19
+ const addQueryParamsToUrl = (url, params) => {
20
+ // can't just append to the url because it might already have a query string
21
+ const urlObject = new URL(url);
22
+ for (const [paramName, paramValue] of Object.entries(params)) {
23
+ urlObject.searchParams.append(paramName, paramValue);
24
+ }
25
+ // replace the trailing slash if there is one
26
+ return urlObject.toString().replace(/\/([?&])/, '$1');
27
+ };
28
+ exports.addQueryParamsToUrl = addQueryParamsToUrl;
29
+ /**
30
+ * Checks if API token or WAT token is pending (e.g., being generated)
31
+ *
32
+ * @param token - API token
33
+ * @param wat - WAT token
34
+ * @returns true if the token is pending
35
+ */
36
+ const isAuthTokenPending = (token, wat) => {
37
+ return token === null || wat === null;
38
+ };
39
+ exports.isAuthTokenPending = isAuthTokenPending;
@@ -0,0 +1,19 @@
1
+ /// <reference lib="dom" />
2
+ import { Authenticator } from './interfaces.js';
3
+ export interface HttpClientRequestConfig {
4
+ skipTrackingParam?: boolean;
5
+ nonJSONBody?: boolean;
6
+ returnBlob?: boolean;
7
+ }
8
+ export declare class HttpClient {
9
+ readonly auth: Authenticator;
10
+ readonly url: string;
11
+ readonly env: string;
12
+ constructor(url: string, auth: Authenticator, env: string);
13
+ login(): Promise<boolean>;
14
+ call<T>(url: string, config: RequestInit, requestConfig?: HttpClientRequestConfig): Promise<T | undefined>;
15
+ post<T = unknown>(endpoint: string, data: unknown, options?: RequestInit, abortSignal?: AbortSignal, config?: HttpClientRequestConfig): Promise<T | undefined>;
16
+ patch<T = unknown>(endpoint: string, data: unknown, options?: RequestInit, abortSignal?: AbortSignal, config?: HttpClientRequestConfig): Promise<T | undefined>;
17
+ get<T = unknown>(endpoint: string, request?: RequestInit, config?: HttpClientRequestConfig): Promise<T | undefined>;
18
+ delete<T = void>(endpoint: string, request?: RequestInit, config?: HttpClientRequestConfig): Promise<T | undefined>;
19
+ }
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.HttpClient = void 0;
13
+ const interceptors_js_1 = require("./interceptors.js");
14
+ const sso_authenticator_js_1 = require("./sso-authenticator.js");
15
+ const helpers_js_1 = require("./helpers.js");
16
+ class HttpClient {
17
+ constructor(url, auth, env) {
18
+ if (!url.endsWith('/')) {
19
+ url += '/';
20
+ }
21
+ this.url = url;
22
+ this.auth = auth;
23
+ this.env = env;
24
+ }
25
+ login() {
26
+ return this.auth.authenticate();
27
+ }
28
+ call(url, config, requestConfig) {
29
+ return __awaiter(this, void 0, void 0, function* () {
30
+ if (this.auth.isAuthenticating()) {
31
+ yield this.auth.authenticated();
32
+ }
33
+ config.headers = config.headers || {};
34
+ if ((0, sso_authenticator_js_1.isSsoAuthenticator)(this.auth)) {
35
+ // allows cookies to be sent
36
+ config.credentials = 'include';
37
+ }
38
+ this.auth.applyHeader(config.headers);
39
+ const fetchUrl = (requestConfig === null || requestConfig === void 0 ? void 0 : requestConfig.skipTrackingParam)
40
+ ? url
41
+ : (0, helpers_js_1.addQueryParamsToUrl)(url, {
42
+ trc: this.env,
43
+ });
44
+ const response = yield fetch(fetchUrl, config)
45
+ .then((0, interceptors_js_1.getResponseInterceptor)(this.auth))
46
+ .catch(interceptors_js_1.errorInterceptor);
47
+ if (response.status === 204 || // No content
48
+ response.status === 304 // Not modified
49
+ ) {
50
+ return;
51
+ }
52
+ return ((requestConfig === null || requestConfig === void 0 ? void 0 : requestConfig.returnBlob)
53
+ ? response.blob()
54
+ : response.json().catch((e) => {
55
+ var _a, _b;
56
+ // some of APIs in Sisense returns 200 with empty body - so it's not possible
57
+ // to understand definitely is it empty or not until you will try to parse it
58
+ if (!((_b = (_a = e === null || e === void 0 ? void 0 : e.message) === null || _a === void 0 ? void 0 : _a.includes) === null || _b === void 0 ? void 0 : _b.call(_a, 'Unexpected end of JSON input'))) {
59
+ throw e;
60
+ }
61
+ }));
62
+ });
63
+ }
64
+ // eslint-disable-next-line max-params
65
+ post(endpoint, data, options = {}, abortSignal, config) {
66
+ const request = Object.assign({ method: 'POST', body: ((config === null || config === void 0 ? void 0 : config.nonJSONBody) ? data : JSON.stringify(data)), headers: {
67
+ Accept: 'application/json, text/plain, */*',
68
+ 'Content-Type': 'application/json;charset=UTF-8',
69
+ }, signal: abortSignal }, options);
70
+ return this.call(this.url + endpoint, request, config);
71
+ }
72
+ patch(endpoint, data, options = {}, abortSignal, config) {
73
+ const request = Object.assign({ method: 'PATCH', body: ((config === null || config === void 0 ? void 0 : config.nonJSONBody) ? data : JSON.stringify(data)), headers: {
74
+ Accept: 'application/json, text/plain, */*',
75
+ 'Content-Type': 'application/json;charset=UTF-8',
76
+ }, signal: abortSignal }, options);
77
+ return this.call(this.url + endpoint, request, config);
78
+ }
79
+ get(endpoint, request = {}, config) {
80
+ return this.call(this.url + endpoint, Object.assign(Object.assign({}, request), { method: 'GET' }), config);
81
+ }
82
+ delete(endpoint, request = {}, config) {
83
+ return this.call(this.url + endpoint, Object.assign(Object.assign({}, request), { method: 'DELETE' }), config);
84
+ }
85
+ }
86
+ exports.HttpClient = HttpClient;
@@ -0,0 +1,10 @@
1
+ import './translation/initialize-i18n.js';
2
+ export * from './interfaces.js';
3
+ export { PasswordAuthenticator } from './password-authenticator.js';
4
+ export { SsoAuthenticator, isSsoAuthenticator } from './sso-authenticator.js';
5
+ export { FusionAuthenticator, isFusionAuthenticator } from './fusion-authenticator.js';
6
+ export { BearerAuthenticator, isBearerAuthenticator } from './bearer-authenticator.js';
7
+ export { WatAuthenticator, isWatAuthenticator } from './wat-authenticator.js';
8
+ export { getAuthenticator } from './authenticator.js';
9
+ export { isAuthTokenPending } from './helpers.js';
10
+ export { HttpClient } from './http-client.js';
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.HttpClient = exports.isAuthTokenPending = exports.getAuthenticator = exports.isWatAuthenticator = exports.WatAuthenticator = exports.isBearerAuthenticator = exports.BearerAuthenticator = exports.isFusionAuthenticator = exports.FusionAuthenticator = exports.isSsoAuthenticator = exports.SsoAuthenticator = exports.PasswordAuthenticator = void 0;
18
+ require("./translation/initialize-i18n.js");
19
+ __exportStar(require("./interfaces.js"), exports);
20
+ var password_authenticator_js_1 = require("./password-authenticator.js");
21
+ Object.defineProperty(exports, "PasswordAuthenticator", { enumerable: true, get: function () { return password_authenticator_js_1.PasswordAuthenticator; } });
22
+ var sso_authenticator_js_1 = require("./sso-authenticator.js");
23
+ Object.defineProperty(exports, "SsoAuthenticator", { enumerable: true, get: function () { return sso_authenticator_js_1.SsoAuthenticator; } });
24
+ Object.defineProperty(exports, "isSsoAuthenticator", { enumerable: true, get: function () { return sso_authenticator_js_1.isSsoAuthenticator; } });
25
+ var fusion_authenticator_js_1 = require("./fusion-authenticator.js");
26
+ Object.defineProperty(exports, "FusionAuthenticator", { enumerable: true, get: function () { return fusion_authenticator_js_1.FusionAuthenticator; } });
27
+ Object.defineProperty(exports, "isFusionAuthenticator", { enumerable: true, get: function () { return fusion_authenticator_js_1.isFusionAuthenticator; } });
28
+ var bearer_authenticator_js_1 = require("./bearer-authenticator.js");
29
+ Object.defineProperty(exports, "BearerAuthenticator", { enumerable: true, get: function () { return bearer_authenticator_js_1.BearerAuthenticator; } });
30
+ Object.defineProperty(exports, "isBearerAuthenticator", { enumerable: true, get: function () { return bearer_authenticator_js_1.isBearerAuthenticator; } });
31
+ var wat_authenticator_js_1 = require("./wat-authenticator.js");
32
+ Object.defineProperty(exports, "WatAuthenticator", { enumerable: true, get: function () { return wat_authenticator_js_1.WatAuthenticator; } });
33
+ Object.defineProperty(exports, "isWatAuthenticator", { enumerable: true, get: function () { return wat_authenticator_js_1.isWatAuthenticator; } });
34
+ var authenticator_js_1 = require("./authenticator.js");
35
+ Object.defineProperty(exports, "getAuthenticator", { enumerable: true, get: function () { return authenticator_js_1.getAuthenticator; } });
36
+ var helpers_js_1 = require("./helpers.js");
37
+ Object.defineProperty(exports, "isAuthTokenPending", { enumerable: true, get: function () { return helpers_js_1.isAuthTokenPending; } });
38
+ var http_client_js_1 = require("./http-client.js");
39
+ Object.defineProperty(exports, "HttpClient", { enumerable: true, get: function () { return http_client_js_1.HttpClient; } });
@@ -0,0 +1,3 @@
1
+ import { Authenticator } from './interfaces.js';
2
+ export declare const getResponseInterceptor: (auth: Authenticator) => (response: Response) => Response;
3
+ export declare const errorInterceptor: (error: Error) => Promise<never>;
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.errorInterceptor = exports.getResponseInterceptor = void 0;
4
+ const bearer_authenticator_js_1 = require("./bearer-authenticator.js");
5
+ const wat_authenticator_js_1 = require("./wat-authenticator.js");
6
+ const password_authenticator_js_1 = require("./password-authenticator.js");
7
+ const sso_authenticator_js_1 = require("./sso-authenticator.js");
8
+ const translatable_error_js_1 = require("./translation/translatable-error.js");
9
+ function handleErrorResponse(response) {
10
+ if (!response.ok) {
11
+ throw new translatable_error_js_1.TranslatableError('errors.responseError', {
12
+ status: response.status.toString(),
13
+ statusText: response.statusText,
14
+ context: response.statusText ? 'withStatusText' : 'onlyStatus',
15
+ });
16
+ }
17
+ return response;
18
+ }
19
+ function handleUnauthorizedResponse(response, auth) {
20
+ auth.invalidate();
21
+ // skip login redirect for token auth
22
+ if ((0, password_authenticator_js_1.isPasswordAuthenticator)(auth)) {
23
+ throw new translatable_error_js_1.TranslatableError('errors.passwordAuthFailed');
24
+ }
25
+ if ((0, bearer_authenticator_js_1.isBearerAuthenticator)(auth) || (0, wat_authenticator_js_1.isWatAuthenticator)(auth)) {
26
+ throw new translatable_error_js_1.TranslatableError('errors.tokenAuthFailed');
27
+ }
28
+ if ((0, sso_authenticator_js_1.isSsoAuthenticator)(auth) && !auth.isAuthenticating()) {
29
+ // try to reauthenticate
30
+ void auth.authenticate();
31
+ }
32
+ return response;
33
+ }
34
+ /**
35
+ * Checks if the given response error indicates a Network error.
36
+ *
37
+ * It is impossible to distinguish between a CORS error and other network errors, such as
38
+ * 'net::ERR_SSL_PROTOCOL_ERROR' and 'net::ERR_EMPTY_RESPONSE'. This information is hidden by the browser.
39
+ *
40
+ * @param responseError - The error object received from the failed response.
41
+ */
42
+ function isNetworkError(responseError) {
43
+ return !!(responseError.message === 'Failed to fetch' && responseError.name === 'TypeError');
44
+ }
45
+ /**
46
+ * Handles a Network error.
47
+ *
48
+ * @returns A promise that rejects with an error message.
49
+ */
50
+ function handleNetworkError() {
51
+ return Promise.reject(new translatable_error_js_1.TranslatableError('errors.networkError'));
52
+ }
53
+ const getResponseInterceptor = (auth) => (response) => {
54
+ if (response.status === 401) {
55
+ return handleUnauthorizedResponse(response, auth);
56
+ }
57
+ if (!response.ok) {
58
+ return handleErrorResponse(response);
59
+ }
60
+ return response;
61
+ };
62
+ exports.getResponseInterceptor = getResponseInterceptor;
63
+ const errorInterceptor = (error) => {
64
+ if (isNetworkError(error)) {
65
+ return handleNetworkError();
66
+ }
67
+ return Promise.reject(error);
68
+ };
69
+ exports.errorInterceptor = errorInterceptor;
@@ -0,0 +1,9 @@
1
+ export interface Authenticator {
2
+ readonly type: 'password' | 'bearer' | 'wat' | 'sso' | 'base' | 'fusion';
3
+ isValid: () => boolean;
4
+ invalidate: () => void;
5
+ authenticate: () => Promise<boolean>;
6
+ isAuthenticating: () => boolean;
7
+ authenticated: () => Promise<boolean>;
8
+ applyHeader: (headers: HeadersInit) => void;
9
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,12 @@
1
+ {
2
+ "main": "./index.js",
3
+ "module": "./index.js",
4
+ "types": "./index.d.ts",
5
+ "exports": {
6
+ ".": {
7
+ "types": "./index.d.ts",
8
+ "require": "./index.js",
9
+ "default": "./index.js"
10
+ }
11
+ }
12
+ }
@@ -0,0 +1,18 @@
1
+ /// <reference lib="dom" />
2
+ import { Authenticator } from './interfaces.js';
3
+ import { BaseAuthenticator } from './base-authenticator.js';
4
+ export declare class PasswordAuthenticator extends BaseAuthenticator {
5
+ private readonly url;
6
+ private readonly body;
7
+ private _authheader;
8
+ constructor(url: string, user: string, pass: string);
9
+ authenticate(): Promise<boolean>;
10
+ applyHeader(headers: HeadersInit): void;
11
+ }
12
+ /**
13
+ * Checks if an authenticator is a PasswordAuthenticator.
14
+ *
15
+ * @param authenticator - the authenticator to check
16
+ * @internal
17
+ */
18
+ export declare function isPasswordAuthenticator(authenticator: Authenticator): authenticator is PasswordAuthenticator;
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.isPasswordAuthenticator = exports.PasswordAuthenticator = void 0;
13
+ const base_authenticator_js_1 = require("./base-authenticator.js");
14
+ const helpers_js_1 = require("./helpers.js");
15
+ const interceptors_js_1 = require("./interceptors.js");
16
+ class PasswordAuthenticator extends base_authenticator_js_1.BaseAuthenticator {
17
+ constructor(url, user, pass) {
18
+ super('password');
19
+ this._authheader = '';
20
+ this.url = `${url}${!url.endsWith('/') ? '/' : ''}api/v1/authentication/login`;
21
+ const username = encodeURIComponent(user);
22
+ const password = encodeURIComponent(pass);
23
+ this.body = `username=${username}&password=${password}`;
24
+ }
25
+ authenticate() {
26
+ return __awaiter(this, void 0, void 0, function* () {
27
+ if (this._tried) {
28
+ return this._result;
29
+ }
30
+ this._tried = true;
31
+ try {
32
+ this._authenticating = true;
33
+ const response = yield fetch(this.url, {
34
+ method: 'POST',
35
+ headers: {
36
+ accept: 'application/json',
37
+ 'Content-Type': 'application/x-www-form-urlencoded',
38
+ },
39
+ body: this.body,
40
+ }).catch(interceptors_js_1.errorInterceptor);
41
+ if (response.ok) {
42
+ const json = yield response.json();
43
+ this._authheader = json.access_token;
44
+ }
45
+ }
46
+ finally {
47
+ this._resolve(!!this._authheader);
48
+ this._authenticating = false;
49
+ }
50
+ return this._result;
51
+ });
52
+ }
53
+ applyHeader(headers) {
54
+ const authHeader = 'Bearer ' + this._authheader;
55
+ (0, helpers_js_1.appendHeaders)(headers, { Authorization: authHeader });
56
+ }
57
+ }
58
+ exports.PasswordAuthenticator = PasswordAuthenticator;
59
+ /**
60
+ * Checks if an authenticator is a PasswordAuthenticator.
61
+ *
62
+ * @param authenticator - the authenticator to check
63
+ * @internal
64
+ */
65
+ function isPasswordAuthenticator(authenticator) {
66
+ return authenticator.type === 'password';
67
+ }
68
+ exports.isPasswordAuthenticator = isPasswordAuthenticator;
@@ -0,0 +1,18 @@
1
+ /// <reference lib="dom" />
2
+ import { Authenticator } from './interfaces.js';
3
+ import { BaseAuthenticator } from './base-authenticator.js';
4
+ export declare class SsoAuthenticator extends BaseAuthenticator {
5
+ readonly url: string;
6
+ private _enableSilentPreAuth;
7
+ constructor(url: string, enableSilentPreAuth?: boolean);
8
+ authenticate(silent?: boolean): Promise<boolean>;
9
+ private authenticateSilent;
10
+ private checkAuthentication;
11
+ }
12
+ /**
13
+ * Checks if the authenticator is SSO authenticator
14
+ *
15
+ * @param authenticator - authenticator to check
16
+ * @internal
17
+ */
18
+ export declare function isSsoAuthenticator(authenticator: Authenticator): authenticator is SsoAuthenticator;
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ /// <reference lib="dom" />
3
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5
+ return new (P || (P = Promise))(function (resolve, reject) {
6
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
8
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
9
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
10
+ });
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.isSsoAuthenticator = exports.SsoAuthenticator = void 0;
14
+ const base_authenticator_js_1 = require("./base-authenticator.js");
15
+ const translatable_error_js_1 = require("./translation/translatable-error.js");
16
+ const interceptors_js_1 = require("./interceptors.js");
17
+ class SsoAuthenticator extends base_authenticator_js_1.BaseAuthenticator {
18
+ constructor(url, enableSilentPreAuth = false) {
19
+ super('sso');
20
+ this.url = url;
21
+ this._enableSilentPreAuth = enableSilentPreAuth;
22
+ }
23
+ authenticate(silent = true) {
24
+ var _a;
25
+ return __awaiter(this, void 0, void 0, function* () {
26
+ try {
27
+ this._authenticating = true;
28
+ const { isAuthenticated, loginUrl } = yield this.checkAuthentication();
29
+ if (isAuthenticated) {
30
+ this._resolve(true);
31
+ return yield this._result;
32
+ }
33
+ if (this._enableSilentPreAuth && silent) {
34
+ yield this.authenticateSilent(loginUrl);
35
+ const { isAuthenticated } = yield this.checkAuthentication();
36
+ if (isAuthenticated) {
37
+ this._resolve(true);
38
+ return yield this._result;
39
+ }
40
+ }
41
+ (_a = window === null || window === void 0 ? void 0 : window.location) === null || _a === void 0 ? void 0 : _a.replace(loginUrl);
42
+ }
43
+ finally {
44
+ this._resolve(false);
45
+ this._authenticating = false;
46
+ }
47
+ return this._result;
48
+ });
49
+ }
50
+ authenticateSilent(loginUrl) {
51
+ return __awaiter(this, void 0, void 0, function* () {
52
+ const iframe = document.createElement('iframe');
53
+ iframe.style.display = 'none';
54
+ document.body.appendChild(iframe);
55
+ iframe.src = `${loginUrl}?return_to=${window.location.href}`;
56
+ yield new Promise((resolve) => {
57
+ iframe.onload = () => {
58
+ resolve(true);
59
+ };
60
+ });
61
+ document.body.removeChild(iframe);
62
+ });
63
+ }
64
+ checkAuthentication() {
65
+ return __awaiter(this, void 0, void 0, function* () {
66
+ const fetchUrl = `${this.url}${!this.url.endsWith('/') ? '/' : ''}api/auth/isauth`;
67
+ const response = yield fetch(fetchUrl, {
68
+ headers: { Internal: 'true' },
69
+ credentials: 'include',
70
+ }).catch(interceptors_js_1.errorInterceptor);
71
+ const result = yield response.json();
72
+ if (!result.isAuthenticated) {
73
+ if (!result.ssoEnabled) {
74
+ throw new translatable_error_js_1.TranslatableError('errors.ssoNotEnabled');
75
+ }
76
+ if (!result.loginUrl) {
77
+ throw new translatable_error_js_1.TranslatableError('errors.ssoNoLoginUrl');
78
+ }
79
+ }
80
+ return {
81
+ isAuthenticated: result.isAuthenticated,
82
+ loginUrl: `${result.loginUrl}?return_to=${window.location.href}`,
83
+ };
84
+ });
85
+ }
86
+ }
87
+ exports.SsoAuthenticator = SsoAuthenticator;
88
+ /**
89
+ * Checks if the authenticator is SSO authenticator
90
+ *
91
+ * @param authenticator - authenticator to check
92
+ * @internal
93
+ */
94
+ function isSsoAuthenticator(authenticator) {
95
+ return authenticator.type === 'sso';
96
+ }
97
+ exports.isSsoAuthenticator = isSsoAuthenticator;
@@ -0,0 +1,2 @@
1
+ export declare function initializeI18n(): import("@sisense/sdk-common").I18NextInitResult;
2
+ export declare const i18nextInstance: import("i18next").i18n;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.i18nextInstance = exports.initializeI18n = void 0;
4
+ const sdk_common_1 = require("@sisense/sdk-common");
5
+ const index_js_1 = require("./resources/index.js");
6
+ function initializeI18n() {
7
+ return (0, sdk_common_1.initI18next)({
8
+ resource: index_js_1.resources,
9
+ language: 'en',
10
+ namespace: index_js_1.PACKAGE_NAMESPACE,
11
+ });
12
+ }
13
+ exports.initializeI18n = initializeI18n;
14
+ exports.i18nextInstance = initializeI18n().i18nextInstance;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Translation dictionary for English language.
3
+ */
4
+ export declare const translation: {
5
+ errorPrefix: string;
6
+ errors: {
7
+ networkError: string;
8
+ ssoNotEnabled: string;
9
+ ssoNoLoginUrl: string;
10
+ passwordAuthFailed: string;
11
+ tokenAuthFailed: string;
12
+ responseError_onlyStatus: string;
13
+ responseError_withStatusText: string;
14
+ };
15
+ };
16
+ export declare type TranslationDictionary = typeof translation;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.translation = void 0;
4
+ /**
5
+ * Translation dictionary for English language.
6
+ */
7
+ exports.translation = {
8
+ errorPrefix: '[request-error]',
9
+ errors: {
10
+ networkError: "Network error. Probably you forgot to add your domain to 'CORS Allowed Origins' in Sisense Admin Panel -> Security Settings.",
11
+ ssoNotEnabled: 'SSO is not enabled on target instance, please choose another authentication method.',
12
+ ssoNoLoginUrl: 'Can not fetch login URL on target instance. Check SSO settings.',
13
+ passwordAuthFailed: '$t(errorPrefix) Username and password authentication was not successful. Check credentials.',
14
+ tokenAuthFailed: '$t(errorPrefix) Token authentication was not successful. Check credentials.',
15
+ responseError_onlyStatus: '$t(errorPrefix) Status: {{status}}',
16
+ responseError_withStatusText: '$t(errorPrefix) Status: {{status}} - {{statusText}}',
17
+ },
18
+ };
@@ -0,0 +1,29 @@
1
+ import { TranslationDictionary } from './en.js';
2
+ export type { TranslationDictionary };
3
+ export declare const PACKAGE_NAMESPACE: "sdkRestClient";
4
+ export declare const resources: {
5
+ en: {
6
+ errorPrefix: string;
7
+ errors: {
8
+ networkError: string;
9
+ ssoNotEnabled: string;
10
+ ssoNoLoginUrl: string;
11
+ passwordAuthFailed: string;
12
+ tokenAuthFailed: string;
13
+ responseError_onlyStatus: string;
14
+ responseError_withStatusText: string;
15
+ };
16
+ };
17
+ uk: {
18
+ errorPrefix: string;
19
+ errors: {
20
+ networkError: string;
21
+ ssoNotEnabled: string;
22
+ ssoNoLoginUrl: string;
23
+ passwordAuthFailed: string;
24
+ tokenAuthFailed: string;
25
+ responseError_onlyStatus: string;
26
+ responseError_withStatusText: string;
27
+ };
28
+ };
29
+ };
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resources = exports.PACKAGE_NAMESPACE = void 0;
4
+ const en_js_1 = require("./en.js");
5
+ const uk_js_1 = require("./uk.js");
6
+ exports.PACKAGE_NAMESPACE = 'sdkRestClient';
7
+ exports.resources = {
8
+ en: en_js_1.translation,
9
+ uk: uk_js_1.translation,
10
+ };
@@ -0,0 +1,5 @@
1
+ import { TranslationDictionary } from './index.js';
2
+ /**
3
+ * Translation dictionary for Ukrainian language.
4
+ */
5
+ export declare const translation: TranslationDictionary;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.translation = void 0;
4
+ /**
5
+ * Translation dictionary for Ukrainian language.
6
+ */
7
+ exports.translation = {
8
+ errorPrefix: '[request-error]',
9
+ errors: {
10
+ networkError: 'Помилка мережі. Можливо ви забули додати свій домен до «CORS Allowed Origins» в панелі адміністратора Sisense -> Security Settings.',
11
+ ssoNotEnabled: 'SSO не ввімкнено на цьому сервері, будь ласка, виберіть інший метод аутентифікації',
12
+ ssoNoLoginUrl: 'Неможливо отримати loginUrl з сервера. Перевірте налаштування SSO.',
13
+ passwordAuthFailed: '$t(errorPrefix) Помилка автентифікації за допомогою імені користувача та пароля. Перевірте дані для входу.',
14
+ tokenAuthFailed: '$t(errorPrefix) Помилка автентифікації за допомогою токена. Перевірте дані для входу.',
15
+ responseError_onlyStatus: '$t(errorPrefix) Статус: {{status}}',
16
+ responseError_withStatusText: '$t(errorPrefix) Статус: {{status}} - {{statusText}}',
17
+ },
18
+ };
@@ -0,0 +1,6 @@
1
+ import { AbstractTranslatableError } from '@sisense/sdk-common';
2
+ import { PACKAGE_NAMESPACE } from './resources/index.js';
3
+ export declare class TranslatableError extends AbstractTranslatableError<typeof PACKAGE_NAMESPACE> {
4
+ constructor(translationKey: string, interpolationOptions?: Record<string, string>);
5
+ get status(): string;
6
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TranslatableError = void 0;
4
+ const sdk_common_1 = require("@sisense/sdk-common");
5
+ const initialize_i18n_js_1 = require("./initialize-i18n.js");
6
+ const index_js_1 = require("./resources/index.js");
7
+ class TranslatableError extends sdk_common_1.AbstractTranslatableError {
8
+ constructor(translationKey, interpolationOptions) {
9
+ super(index_js_1.PACKAGE_NAMESPACE, {
10
+ key: translationKey,
11
+ interpolationOptions: interpolationOptions,
12
+ }, initialize_i18n_js_1.i18nextInstance.t);
13
+ }
14
+ get status() {
15
+ return this.interpolationOptions.status;
16
+ }
17
+ }
18
+ exports.TranslatableError = TranslatableError;
@@ -0,0 +1,19 @@
1
+ /// <reference lib="dom" />
2
+ import { Authenticator } from './interfaces.js';
3
+ import { BaseAuthenticator } from './base-authenticator.js';
4
+ export declare class WatAuthenticator extends BaseAuthenticator {
5
+ private _initialiser;
6
+ private _webSessionToken;
7
+ private readonly url;
8
+ private readonly body;
9
+ constructor(url: string, wat: string);
10
+ authenticate(): Promise<boolean>;
11
+ applyHeader(headers: HeadersInit): void;
12
+ }
13
+ /**
14
+ * Checks if an authenticator is a WatAuthenticator.
15
+ *
16
+ * @param authenticator - the authenticator to check
17
+ * @internal
18
+ */
19
+ export declare function isWatAuthenticator(authenticator: Authenticator): authenticator is WatAuthenticator;
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ /// <reference lib="dom" />
3
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5
+ return new (P || (P = Promise))(function (resolve, reject) {
6
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
8
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
9
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
10
+ });
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.isWatAuthenticator = exports.WatAuthenticator = void 0;
14
+ const base_authenticator_js_1 = require("./base-authenticator.js");
15
+ const helpers_js_1 = require("./helpers.js");
16
+ const translatable_error_js_1 = require("./translation/translatable-error.js");
17
+ const interceptors_js_1 = require("./interceptors.js");
18
+ class WatAuthenticator extends base_authenticator_js_1.BaseAuthenticator {
19
+ constructor(url, wat) {
20
+ super('wat');
21
+ this.url = `${url}${!url.endsWith('/') ? '/' : ''}api/v1/wat/sessionToken`;
22
+ this.body = `{"webAccessToken": "${wat}"}`;
23
+ }
24
+ authenticate() {
25
+ return __awaiter(this, void 0, void 0, function* () {
26
+ if (this._tried) {
27
+ return this._result;
28
+ }
29
+ this._tried = true;
30
+ try {
31
+ this._authenticating = true;
32
+ const response = yield fetch(this.url, {
33
+ method: 'POST',
34
+ headers: {
35
+ accept: 'application/json',
36
+ 'Content-Type': 'application/json',
37
+ },
38
+ body: this.body,
39
+ }).catch(interceptors_js_1.errorInterceptor);
40
+ if (response.ok) {
41
+ const responseJson = yield response.json();
42
+ this._initialiser = responseJson.initialiser;
43
+ this._webSessionToken = responseJson.webSessionToken;
44
+ this._resolve(true);
45
+ }
46
+ }
47
+ catch (e) {
48
+ // rather than returning empty catch block
49
+ // throw an error to be caught by Sisense context provider
50
+ throw new translatable_error_js_1.TranslatableError('errors.tokenAuthFailed');
51
+ }
52
+ finally {
53
+ this._resolve(false);
54
+ this._authenticating = false;
55
+ }
56
+ return this._result;
57
+ });
58
+ }
59
+ applyHeader(headers) {
60
+ if (!!this._webSessionToken && !!this._initialiser) {
61
+ const authHeader = this._webSessionToken;
62
+ const initialiserHeader = this._initialiser;
63
+ (0, helpers_js_1.appendHeaders)(headers, { Authorization: authHeader, Initialiser: initialiserHeader });
64
+ }
65
+ }
66
+ }
67
+ exports.WatAuthenticator = WatAuthenticator;
68
+ /**
69
+ * Checks if an authenticator is a WatAuthenticator.
70
+ *
71
+ * @param authenticator - the authenticator to check
72
+ * @internal
73
+ */
74
+ function isWatAuthenticator(authenticator) {
75
+ return authenticator.type === 'wat';
76
+ }
77
+ exports.isWatAuthenticator = isWatAuthenticator;
@@ -13,6 +13,7 @@ export declare class HttpClient {
13
13
  login(): Promise<boolean>;
14
14
  call<T>(url: string, config: RequestInit, requestConfig?: HttpClientRequestConfig): Promise<T | undefined>;
15
15
  post<T = unknown>(endpoint: string, data: unknown, options?: RequestInit, abortSignal?: AbortSignal, config?: HttpClientRequestConfig): Promise<T | undefined>;
16
+ patch<T = unknown>(endpoint: string, data: unknown, options?: RequestInit, abortSignal?: AbortSignal, config?: HttpClientRequestConfig): Promise<T | undefined>;
16
17
  get<T = unknown>(endpoint: string, request?: RequestInit, config?: HttpClientRequestConfig): Promise<T | undefined>;
17
18
  delete<T = void>(endpoint: string, request?: RequestInit, config?: HttpClientRequestConfig): Promise<T | undefined>;
18
19
  }
@@ -66,6 +66,13 @@ export class HttpClient {
66
66
  }, signal: abortSignal }, options);
67
67
  return this.call(this.url + endpoint, request, config);
68
68
  }
69
+ patch(endpoint, data, options = {}, abortSignal, config) {
70
+ const request = Object.assign({ method: 'PATCH', body: ((config === null || config === void 0 ? void 0 : config.nonJSONBody) ? data : JSON.stringify(data)), headers: {
71
+ Accept: 'application/json, text/plain, */*',
72
+ 'Content-Type': 'application/json;charset=UTF-8',
73
+ }, signal: abortSignal }, options);
74
+ return this.call(this.url + endpoint, request, config);
75
+ }
69
76
  get(endpoint, request = {}, config) {
70
77
  return this.call(this.url + endpoint, Object.assign(Object.assign({}, request), { method: 'GET' }), config);
71
78
  }
@@ -0,0 +1 @@
1
+ {"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../src/interfaces.ts","../src/base-authenticator.ts","../src/helpers.ts","../src/bearer-authenticator.ts","../../../node_modules/i18next/index.d.ts","../../sdk-common/dist/i18n/i18next.d.ts","../../sdk-common/dist/i18n/abstract-translatable-error.d.ts","../../sdk-common/dist/i18n/index.d.ts","../../sdk-common/dist/index.d.ts","../src/translation/resources/en.ts","../src/translation/resources/uk.ts","../src/translation/resources/index.ts","../src/translation/initialize-i18n.ts","../src/translation/translatable-error.ts","../src/wat-authenticator.ts","../src/sso-authenticator.ts","../src/interceptors.ts","../src/password-authenticator.ts","../src/fusion-authenticator.ts","../src/authenticator.ts","../src/constants.ts","../src/http-client.ts","../src/index.ts","../../../node_modules/@vitest/utils/dist/types.d.ts","../../../node_modules/@vitest/utils/dist/helpers.d.ts","../../../node_modules/@sinclair/typebox/typebox.d.ts","../../../node_modules/@jest/schemas/build/index.d.ts","../../../node_modules/pretty-format/build/index.d.ts","../../../node_modules/@vitest/utils/dist/index.d.ts","../../../node_modules/@vitest/runner/dist/tasks-K5XERDtv.d.ts","../../../node_modules/@vitest/utils/dist/types-9l4niLY8.d.ts","../../../node_modules/@vitest/utils/dist/diff.d.ts","../../../node_modules/@vitest/runner/dist/types.d.ts","../../../node_modules/@vitest/utils/dist/error.d.ts","../../../node_modules/@vitest/runner/dist/index.d.ts","../../../node_modules/@vitest/runner/dist/utils.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/file.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/filereader.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/vitest/node_modules/rollup/dist/rollup.d.ts","../../../node_modules/vitest/node_modules/rollup/dist/parseAst.d.ts","../../../node_modules/vitest/node_modules/vite/types/hmrPayload.d.ts","../../../node_modules/vitest/node_modules/vite/types/customEvent.d.ts","../../../node_modules/vitest/node_modules/vite/types/hot.d.ts","../../../node_modules/vitest/node_modules/vite/dist/node/types.d-aGj9QkWt.d.ts","../../../node_modules/vitest/node_modules/esbuild/lib/main.d.ts","../../../node_modules/source-map-js/source-map.d.ts","../../../node_modules/postcss/lib/previous-map.d.ts","../../../node_modules/postcss/lib/input.d.ts","../../../node_modules/postcss/lib/css-syntax-error.d.ts","../../../node_modules/postcss/lib/declaration.d.ts","../../../node_modules/postcss/lib/root.d.ts","../../../node_modules/postcss/lib/warning.d.ts","../../../node_modules/postcss/lib/lazy-result.d.ts","../../../node_modules/postcss/lib/no-work-result.d.ts","../../../node_modules/postcss/lib/processor.d.ts","../../../node_modules/postcss/lib/result.d.ts","../../../node_modules/postcss/lib/document.d.ts","../../../node_modules/postcss/lib/rule.d.ts","../../../node_modules/postcss/lib/node.d.ts","../../../node_modules/postcss/lib/comment.d.ts","../../../node_modules/postcss/lib/container.d.ts","../../../node_modules/postcss/lib/at-rule.d.ts","../../../node_modules/postcss/lib/list.d.ts","../../../node_modules/postcss/lib/postcss.d.ts","../../../node_modules/postcss/lib/postcss.d.mts","../../../node_modules/vitest/node_modules/vite/dist/node/runtime.d.ts","../../../node_modules/vitest/node_modules/vite/types/importGlob.d.ts","../../../node_modules/vitest/node_modules/vite/types/metadata.d.ts","../../../node_modules/vitest/node_modules/vite/dist/node/index.d.ts","../../../node_modules/vite-node/dist/trace-mapping.d-xyIfZtPm.d.ts","../../../node_modules/vite-node/dist/index-O2IrwHKf.d.ts","../../../node_modules/vite-node/dist/index.d.ts","../../../node_modules/@vitest/snapshot/dist/environment-cMiGIVXz.d.ts","../../../node_modules/@vitest/snapshot/dist/index-S94ASl6q.d.ts","../../../node_modules/@vitest/snapshot/dist/index.d.ts","../../../node_modules/@vitest/expect/dist/chai.d.cts","../../../node_modules/@vitest/expect/dist/index.d.ts","../../../node_modules/@vitest/expect/index.d.ts","../../../node_modules/tinybench/dist/index.d.ts","../../../node_modules/vite-node/dist/client.d.ts","../../../node_modules/@vitest/snapshot/dist/manager.d.ts","../../../node_modules/vite-node/node_modules/vite/dist/node/index.d.ts","../../../node_modules/vite-node/dist/server.d.ts","../../../node_modules/vitest/dist/reporters-yx5ZTtEV.d.ts","../../../node_modules/vitest/dist/suite-IbNSsUWN.d.ts","../../../node_modules/@vitest/spy/dist/index.d.ts","../../../node_modules/@vitest/snapshot/dist/environment.d.ts","../../../node_modules/vitest/dist/index.d.ts","../../../node_modules/vitest/globals.d.ts","../../../node_modules/@types/aria-query/index.d.ts","../../../node_modules/@testing-library/jest-dom/types/matchers.d.ts","../../../node_modules/@testing-library/jest-dom/types/jest.d.ts","../../../node_modules/@testing-library/jest-dom/types/index.d.ts","../../../node_modules/@testing-library/dom/types/matches.d.ts","../../../node_modules/@testing-library/dom/types/wait-for.d.ts","../../../node_modules/@testing-library/dom/types/query-helpers.d.ts","../../../node_modules/@testing-library/dom/types/queries.d.ts","../../../node_modules/@testing-library/dom/types/get-queries-for-element.d.ts","../../../node_modules/@testing-library/dom/node_modules/pretty-format/build/types.d.ts","../../../node_modules/@testing-library/dom/node_modules/pretty-format/build/index.d.ts","../../../node_modules/@testing-library/dom/types/screen.d.ts","../../../node_modules/@testing-library/dom/types/wait-for-element-to-be-removed.d.ts","../../../node_modules/@testing-library/dom/types/get-node-text.d.ts","../../../node_modules/@testing-library/dom/types/events.d.ts","../../../node_modules/@testing-library/dom/types/pretty-dom.d.ts","../../../node_modules/@testing-library/dom/types/role-helpers.d.ts","../../../node_modules/@testing-library/dom/types/config.d.ts","../../../node_modules/@testing-library/dom/types/suggestions.d.ts","../../../node_modules/@testing-library/dom/types/index.d.ts","../../../node_modules/@types/react/ts5.0/global.d.ts","../../../node_modules/csstype/index.d.ts","../../../node_modules/@types/prop-types/index.d.ts","../../../node_modules/@types/react/ts5.0/index.d.ts","../../../node_modules/@types/react-dom/test-utils/index.d.ts","../../../node_modules/@testing-library/react/types/index.d.ts"],"fileInfos":[{"version":"f20c05dbfe50a208301d2a1da37b9931bce0466eb5a1f4fe240971b4ecc82b67","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","impliedFormat":1},{"version":"7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","impliedFormat":1},{"version":"8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","impliedFormat":1},{"version":"5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","impliedFormat":1},{"version":"e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","impliedFormat":1},{"version":"1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9","impliedFormat":1},{"version":"9b087de7268e4efc5f215347a62656663933d63c0b1d7b624913240367b999ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true,"impliedFormat":1},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true,"impliedFormat":1},{"version":"55f400eec64d17e888e278f4def2f254b41b89515d3b88ad75d5e05f019daddd","affectsGlobalScope":true,"impliedFormat":1},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true,"impliedFormat":1},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true,"impliedFormat":1},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true,"impliedFormat":1},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true,"impliedFormat":1},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true,"impliedFormat":1},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true,"impliedFormat":1},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true,"impliedFormat":1},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true,"impliedFormat":1},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true,"impliedFormat":1},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true,"impliedFormat":1},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true,"impliedFormat":1},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true,"impliedFormat":1},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true,"impliedFormat":1},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true,"impliedFormat":1},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true,"impliedFormat":1},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true,"impliedFormat":1},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true,"impliedFormat":1},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true,"impliedFormat":1},{"version":"775d9c9fd150d5de79e0450f35bc8b8f94ae64e3eb5da12725ff2a649dccc777","affectsGlobalScope":true,"impliedFormat":1},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true,"impliedFormat":1},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"43775fe41a33bc308b39e67d8569c912496a43df6679d46cbd372986c9328536","signature":"f9772fc23e68130c1f6e27d0ddd68a8000e405ecb0c8b256e7ebe4877c2c61b3","impliedFormat":99},{"version":"2b0c75d100845eb1dd7f29d6d31f247ece1abe900d1a35595e072c17144518e5","signature":"d25520447e887c069b21e8eca233d0d2917443a573c62d747db9693eccf80c09","impliedFormat":99},{"version":"73995c3b01c1d37e5f9d3ba828a2231bd494e2f7b380c391facb11a1b552ef9d","signature":"0bfcbaf0e89c71fb5fefe81ed2687556ff1037cad4392900bf2a57e999cec5a5","impliedFormat":99},{"version":"716740ec06abd8d3e0a52477f46614346d999013f5c050e326e71b058a288bfa","signature":"7af4828e20c2e0e92e89a1ad0b5975d00dc8b9839b2da2c04ee07b96f5fa2f87","impliedFormat":99},{"version":"17ff3c640bef249d388f13049605150c6345f81f050902e0fec56e604107ac0b","impliedFormat":1},{"version":"2554a1545be6771317ea4619bb2cace3adc9be4cb94081a5bbb217892d9918bf","impliedFormat":99},{"version":"27cf3eb0986eba7f77b362e3238db694f30f34eb6792f152ec8a70b19e6eccc3","impliedFormat":99},{"version":"87d1c53c5ef755c967d969f40518f628b554d7cafe217670d143068b00e60dac","impliedFormat":99},{"version":"50366310e44b6b46ccbbab1a85825af807b2e5f7709eb19f37d605e91d31d747","impliedFormat":99},{"version":"4bfdd3345ff80e336446d993a386b8d6fb7ecb1e2b6bd5b193a7493abd07b2df","signature":"68987d4e83301414fb1c5129c9efa37b5a8381529320ba31139936c3417dc063","impliedFormat":99},{"version":"ae8f013cee124d223a771c8845cb4223300b1ca405ba562394b9ec3b62c34903","signature":"b01144772588b7e34a1e26047c1ed163724c4ee90bbdc3d431f80d056f64fb8d","impliedFormat":99},{"version":"a9ec72a81d27be986a328016f1c2be8e28ff471205db2a1691a6ab8d5a7d144c","signature":"d2887094f09b9bc6bd94aed1b99022cdb984fd5448e0fba277fbe9ca921194f4","impliedFormat":99},{"version":"87719983a894d2f91c9f5f79b13fab4845c74e111cc8c75448c12b85611ca5c5","signature":"2c745f5a27d68c571b34ca6528c6c18c50358be7beb151c629d7e55f6f880dc1","impliedFormat":99},{"version":"d1c4fd790d57c757921ab6fa8f2764922299eef1c0d4ce94b13646eee5407f9a","signature":"f25e4953c7a13017972331e044b852612fe80d9cfc212fe9d9ef5134f6b1edc9","impliedFormat":99},{"version":"da096b37a87ab9c483f9ec46cc3f35410c6c3940bfa3161b2d80bf71aa0da1d3","signature":"e603be49036fc6e98d3e5be78fd575cc6583134b71c1420ea920a9e6cba61a84","impliedFormat":99},{"version":"026a0f99b1327eca24a3fcfd700bcab00c2aa2ea5a797be0c16d4fa317d6d5d5","signature":"146f4b91885302d82e3418b60b7abcb5003a1bf31c40d9a2ce84fd9bc81892cc","impliedFormat":99},{"version":"d81e0c196139b9c8555f32f26037c3f217e784f7ce3d122e26776a690f6370a5","signature":"9c78def2e330fc920c2c42d2dea93702b1ab3ef200d1fd2439d01d3403737855","impliedFormat":99},{"version":"a4d314dd1d539d041277184de9620c51435664f536f0869ee3abc181894cac27","signature":"d22584ced9460b1470bcf3410bb011b712b233b358da1642df3b34435c5e923d","impliedFormat":99},{"version":"08edb301184460f8219acb080f268720cba2e504853f611d9b6e1f0191c9adb7","signature":"240785cfe06f065a855d44985d84fe7e5f61152d6a6cf13b2ca521e84542c4cd","impliedFormat":99},{"version":"001aa009d3888ecfe8bc392adff6abb55225a5cd11f0184463ef06e32a445b89","signature":"ee73e8d07809b1d47907210a6d6654fc849c3110e114bbd1350bb1b8e0dc0580","impliedFormat":99},{"version":"d129069304be54fb10b879ff469b26a80a37987568f0a8da432cee8a9b2362a5","signature":"769e31810d5061d2acbbaab7eb208484be9d85e6c587657cde01cd2aec2bef33","impliedFormat":99},{"version":"2cba0514fe4e8a28a19de15fe81927dd5ce3a31ff268f48cc54d70636d6e048e","signature":"046c1e24e3a6172e126c1e65d8fc86407225a94c917aee13d95a08d562b30245","impliedFormat":99},{"version":"6d399582965dfe06fd7a005a677d4c3aa7a11641a074ff82e7e4ad149de737c8","signature":"f2f22b6e72462634f5f58d95348937769d528274e646aa40f5711a670431d14c","impliedFormat":99},{"version":"3deed5e2a5f1e7590d44e65a5b61900158a3c38bac9048462d38b1bc8098bb2e","impliedFormat":99},{"version":"d435a43f89ed8794744c59d72ce71e43c1953338303f6be9ef99086faa8591d7","impliedFormat":99},{"version":"c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","impliedFormat":1},{"version":"f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","impliedFormat":1},{"version":"5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","impliedFormat":1},{"version":"a4f64e674903a21e1594a24c3fc8583f3a587336d17d41ade46aa177a8ab889b","impliedFormat":99},{"version":"b6f69984ffcd00a7cbcef9c931b815e8872c792ed85d9213cb2e2c14c50ca63a","impliedFormat":99},{"version":"2bbc5abe5030aa07a97aabd6d3932ed2e8b7a241cf3923f9f9bf91a0addbe41f","impliedFormat":99},{"version":"1e5e5592594e16bcf9544c065656293374120eb8e78780fb6c582cc710f6db11","impliedFormat":99},{"version":"4abf1e884eecb0bf742510d69d064e33d53ac507991d6c573958356f920c3de4","impliedFormat":99},{"version":"44f1d2dd522c849ca98c4f95b8b2bc84b64408d654f75eb17ec78b8ceb84da11","impliedFormat":99},{"version":"89edc5e1739692904fdf69edcff9e1023d2213e90372ec425b2f17e3aecbaa4a","impliedFormat":99},{"version":"e7d5bcffc98eded65d620bc0b6707c307b79c21d97a5fb8601e8bdf2296026b6","impliedFormat":99},{"version":"3846d0dcf468a1d1a07e6d00eaa37ec542956fb5fe0357590a6407af20d2ff90","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","impliedFormat":1},{"version":"3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","impliedFormat":1},{"version":"e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","impliedFormat":1},{"version":"471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","impliedFormat":1},{"version":"c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","impliedFormat":1},{"version":"40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","impliedFormat":1},{"version":"339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","impliedFormat":1},{"version":"9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","impliedFormat":1},{"version":"8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","impliedFormat":1},{"version":"4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1","impliedFormat":1},{"version":"49026435d21e3d7559d723af3ae48f73ec28f9cba651b41bd2ac991012836122","affectsGlobalScope":true,"impliedFormat":1},{"version":"39b1a50d543770780b0409a4caacb87f3ff1d510aedfeb7dc06ed44188256f89","impliedFormat":1},{"version":"dafc58ee47fa25dbc68b27c638bd6153dd7659021c164f64b7760757e9f5a6ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"16b872cf5432818bdbf405428b4a1d77bb2a7ab908e8bd6609f9a541cea92f81","impliedFormat":1},{"version":"304504c854c47a55ab4a89111a27a2daf8a3614740bd787cc1f2c51e5574239c","impliedFormat":1},{"version":"95f9129a37dcace36e17b061a8484952586ecfe928c9c8ce526de1a2f4aaefa7","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"ed3db4eb7ad0466e19df82d9ee5c057d78df954283004783932d75e8fa4058c5","impliedFormat":1},{"version":"278fe296432b9840660d6e0d1778b4b4897a591d4b910a5f7ac8db0b476a8af7","impliedFormat":1},{"version":"1c611ff373ce1958aafc40b328048ac2540ba5c7f373cf2897e0d9aeaabe90a0","impliedFormat":1},{"version":"fd7a7fc2bb1f38ba0cded7bd8088c99033365859e03ba974f7de072e9d989fde","impliedFormat":1},{"version":"6cf42fc3765241c59339047a45855c506a2f94ee5e734bbded94ddcafc66e4c5","impliedFormat":1},{"version":"c6cf9428f45f3d78b07df7d7aab1569994c177d36549e3a962f952d89f026bc4","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"cce14dcba2c2cb1059977ad65cf9caef890118cb20e35c4cf420bf1c83f27c1a","affectsGlobalScope":true,"impliedFormat":1},{"version":"5a2f6de23113659e83dc8c5edb9f3c5bcd6136f74dcc1785b3df4eef1271e1f3","impliedFormat":1},{"version":"021ca24be8eb8c46f99b4e03ebf872931f590c9b07b88d715c68bd30495b6c44","impliedFormat":1},{"version":"fb862b9a2e78754cf44b770ba6f194987d63c8d4cd103c6c05534faa4120ae98","impliedFormat":1},{"version":"91479d2a9bc09df0091b5e24af57cb462cd223e56498d16e9efdaebd587fa81d","impliedFormat":1},{"version":"e3baa0c5780c2c805ec33a999722a2f740b572eb3746fd0a5f93a0a5c3dbf7f6","impliedFormat":1},{"version":"c6f77efcc19f51c8759779b6b6ee0d88046c15c15dadac8ffed729a6620daf39","impliedFormat":1},{"version":"089867511b37a534ae71f3d9bc97acc0b925b7f5dbec113f98c4b49224c694eb","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0cc19f50900706e7aae038565e825f2014ac5325b99b3daabf8ecd5d3d09f1a","impliedFormat":1},{"version":"f5ce35485541e817c2d4105d3eb78e3e538bbb009515ed014694363fa3e94ceb","impliedFormat":1},{"version":"323506ce173f7f865f42f493885ee3dacd18db6359ea1141d57676d3781ce10c","impliedFormat":1},{"version":"bd88055918cf8bf30ad7c9269177f7ebeafd4c5f0d28919edccd1c1d24f7e73c","affectsGlobalScope":true,"impliedFormat":1},{"version":"645baafeaed6855c8796fcbae4e813021c65f36eaa3f6178535457a2366f6849","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea3ab3727cd6c222d94003ecafa30e8550c61eadcdabbf59514aee76e86211a5","impliedFormat":1},{"version":"d3cdd41693c5ed6bec4f1a1c399d9501372b14bd341bc46eedacf2854c5df5a7","impliedFormat":1},{"version":"2de7a21c92226fb8abbeed7a0a9bd8aa6d37e4c68a8c7ff7938c644267e9fcc1","impliedFormat":1},{"version":"6d6070c5c81ba0bfe58988c69e3ba3149fc86421fd383f253aeb071cbf29cd41","impliedFormat":1},{"version":"48dab0d6e633b8052e7eaa0efb0bb3d58a733777b248765eafcb0b0349439834","impliedFormat":1},{"version":"d3e22aaa84d935196f465fff6645f88bb41352736c3130285eea0f2489c5f183","impliedFormat":1},{"version":"269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"5195aeb0de306d1c5ca8033457fbcab5987657112fa6d4971cfeb7644493a369","impliedFormat":1},{"version":"c5dbf0003bc9f0f643e54cd00a3868d1afe85497fecb56be6f2373dc85102924","impliedFormat":1},{"version":"5a6fc2089f515b39aaa208339421669f61935cd661e356ebee49240be85091fd","affectsGlobalScope":true,"impliedFormat":1},{"version":"300f8e9de0b0c3482be3e749462b6ebc3dab8a316801f1da0def94aed0cd2018","affectsGlobalScope":true,"impliedFormat":1},{"version":"4e228e78c1e9b0a75c70588d59288f63a6258e8b1fe4a67b0c53fe03461421d9","impliedFormat":1},{"version":"3df5b34f3449733bc4831b8d670f958a045e7a3f5d7b0e21991ef95408dbec13","impliedFormat":1},{"version":"76a89af04f2ba1807309320dab5169c0d1243b80738b4a2005989e40a136733e","impliedFormat":1},{"version":"c045b664abf3fc2a4750fa96117ab2735e4ed45ddd571b2a6a91b9917e231a02","impliedFormat":1},{"version":"068b8ee5c2cd90d7a50f2efadbbe353cb10196a41189a48bf4b2a867363012b4","affectsGlobalScope":true,"impliedFormat":1},{"version":"0c312a7c5dec6c616f754d3a4b16318ce8d1cb912dfb3dfa0e808f45e66cbb21","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f44a190351ab5e1811abebe007cf60518044772ccc08244f9f241706afa767f","impliedFormat":1},{"version":"fecdf44bec4ee9c5188e5f2f58c292c9689c02520900dceaaa6e76594de6da90","impliedFormat":1},{"version":"cf45d0510b661f1da461479851ff902f188edb111777c37055eff12fa986a23a","impliedFormat":1},{"version":"6a4a80787c57c10b3ea8314c80d9cc6e1deb99d20adca16106a337825f582420","affectsGlobalScope":true,"impliedFormat":1},{"version":"f2b9440f98d6f94c8105883a2b65aee2fce0248f71f41beafd0a80636f3a565d","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447","impliedFormat":1},{"version":"ee7d8894904b465b072be0d2e4b45cf6b887cdba16a467645c4e200982ece7ea","impliedFormat":1},{"version":"574de9322239fc2f136769dd4726fdeea6f379a44691759ffe3a941f9022e5b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"a660aa95476042d3fdcc1343cf6bb8fdf24772d31712b1db321c5a4dcc325434","impliedFormat":1},{"version":"282f98006ed7fa9bb2cd9bdbe2524595cfc4bcd58a0bb3232e4519f2138df811","impliedFormat":1},{"version":"80d02a787d4aa00e2e22dcf3ea9d40390f38dfb0c3497bc6855978974a63e20c","impliedFormat":1},{"version":"cbe726263ae9a7bf32352380f7e8ab66ee25b3457137e316929269c19e18a2be","impliedFormat":1},{"version":"8b96046bf5fb0a815cba6b0880d9f97b7f3a93cf187e8dcfe8e2792e97f38f87","impliedFormat":99},{"version":"55bbfa2fcb7692e366773b23a0338463fc9254301414f861a3ae46ff000b5783","affectsGlobalScope":true,"impliedFormat":1},{"version":"858d0d831826c6eb563df02f7db71c90e26deadd0938652096bea3cc14899700","impliedFormat":1},{"version":"8885cf05f3e2abf117590bbb951dcf6359e3e5ac462af1c901cfd24c6a6472e2","impliedFormat":1},{"version":"18c04c22baee54d13b505fa6e8bcd4223f8ba32beee80ec70e6cac972d1cc9a6","impliedFormat":1},{"version":"5e92a2e8ba5cbcdfd9e51428f94f7bd0ab6e45c9805b1c9552b64abaffad3ce3","impliedFormat":1},{"version":"44fe135be91bc8edc495350f79cd7a2e5a8b7a7108b10b2599a321b9248657dc","impliedFormat":1},{"version":"1d51250438f2071d2803053d9aec7973ef22dfffd80685a9ec5fb3fa082f4347","impliedFormat":1},{"version":"7ec359bbc29b69d4063fe7dad0baaf35f1856f914db16b3f4f6e3e1bca4099fa","impliedFormat":1},{"version":"b9261ac3e9944d3d72c5ee4cf888ad35d9743a5563405c6963c4e43ee3708ca4","impliedFormat":1},{"version":"c84fd54e8400def0d1ef1569cafd02e9f39a622df9fa69b57ccc82128856b916","impliedFormat":1},{"version":"c7a38c1ef8d6ae4bf252be67bd9a8b012b2cdea65bd6225a3d1a726c4f0d52b6","impliedFormat":1},{"version":"e773630f8772a06e82d97046fc92da59ada8414c61689894fff0155dd08f102c","impliedFormat":1},{"version":"edf7cf322a3f3e6ebca77217a96ed4480f5a7d8d0084f8b82f1c281c92780f3a","impliedFormat":1},{"version":"e97321edbef59b6f68839bcdfd5ae1949fe80d554d2546e35484a8d044a04444","impliedFormat":1},{"version":"96aed8ec4d342ec6ac69f0dcdfb064fd17b10cb13825580451c2cebbd556e965","impliedFormat":1},{"version":"106e607866d6c3e9a497a696ac949c3e2ec46b6e7dda35aabe76100bf740833b","impliedFormat":1},{"version":"28ffc4e76ad54f4b34933d78ff3f95b763accf074e8630a6d926f3fd5bbd8908","impliedFormat":1},{"version":"304af95fcace2300674c969700b39bc0ee05be536880daa844c64dc8f90ef482","impliedFormat":1},{"version":"3d65182eff7bbb16de1a69e17651c51083f740af11a1a92359be6dab939e8bcf","impliedFormat":1},{"version":"670ddaf1f1b881abaa1cc28236430d86b691affbeaefd66b3ee1db31fdfb8dba","impliedFormat":1},{"version":"77926a706478940016e826b162f95f8e4077b1ad3184b2592dc03bd8b33e0384","impliedFormat":99},{"version":"82e687ebd99518bc63ea04b0c3810fb6e50aa6942decd0ca6f7a56d9b9a212a6","impliedFormat":99},{"version":"7f698624bbbb060ece7c0e51b7236520ebada74b747d7523c7df376453ed6fea","impliedFormat":1},{"version":"8f07f2b6514744ac96e51d7cb8518c0f4de319471237ea10cf688b8d0e9d0225","impliedFormat":1},{"version":"0862ed8f8046558a707fde2b4b687dcbafad0329141d5988daec97c2f4ed07ee","impliedFormat":99},{"version":"4a27c79c57a6692abb196711f82b8b07a27908c94652148d5469887836390116","impliedFormat":99},{"version":"f42400484f181c2c2d7557c0ed3b8baaace644a9e943511f3d35ac6be6eb5257","impliedFormat":99},{"version":"54b381d36b35df872159a8d3b52e8d852659ee805695a867a388c8ccbf57521b","impliedFormat":99},{"version":"c67b4c864ec9dcde25f7ad51b90ae9fe1f6af214dbd063d15db81194fe652223","impliedFormat":99},{"version":"7a4aa00aaf2160278aeae3cf0d2fc6820cf22b86374efa7a00780fbb965923ff","impliedFormat":99},{"version":"66e3ee0a655ff3698be0aef05f7b76ac34c349873e073cde46d43db795b79f04","impliedFormat":99},{"version":"48c411efce1848d1ed55de41d7deb93cbf7c04080912fd87aa517ed25ef42639","affectsGlobalScope":true,"impliedFormat":1},{"version":"28e065b6fb60a04a538b5fbf8c003d7dac3ae9a49eddc357c2a14f2ffe9b3185","affectsGlobalScope":true,"impliedFormat":99},{"version":"fe2d63fcfdde197391b6b70daf7be8c02a60afa90754a5f4a04bdc367f62793d","impliedFormat":99},{"version":"470227f0dbf6cfa642fc74d2049924a91c0358ecd6a07ea9701bd945d0b306ae","impliedFormat":99},{"version":"0d87708dafcde5468a130dfe64fac05ecad8328c298a4f0f2bd86603e5fd002e","impliedFormat":99},{"version":"a3f2554ba6726d0da0ffdc15b675b8b3de4aea543deebbbead845680b740a7fd","impliedFormat":99},{"version":"0862ed8f8046558a707fde2b4b687dcbafad0329141d5988daec97c2f4ed07ee","impliedFormat":99},{"version":"93dda0982b139b27b85dd2924d23e07ee8b4ca36a10be7bdf361163e4ffcc033","impliedFormat":99},{"version":"31af4e44d2d576ba81551894367493d444a24b72206fa9d4938b773085588cce","affectsGlobalScope":true,"impliedFormat":99},{"version":"18b47d2b019adf661fa363a2fc7a63b5bff55406a689e7e312934f8d57c41065","impliedFormat":99},{"version":"dfa6bb848807bc5e01e84214d4ec13ee8ffe5e1142546dcbb32065783a5db468","impliedFormat":99},{"version":"2f1ffc29f9ba7b005c0c48e6389536a245837264c99041669e0b768cfab6711d","impliedFormat":99},{"version":"e0ec9121996450da52ed36b694b198b0e40fc8531bcddb7c0296a158ff65ab94","impliedFormat":99},{"version":"381d27c35f5a5bf6c09dd238ec26fef30a03d12ea84589c621ebc208d7dc8378","affectsGlobalScope":true,"impliedFormat":99},{"version":"ae77d81a5541a8abb938a0efedf9ac4bea36fb3a24cc28cfa11c598863aba571","impliedFormat":1},{"version":"9fe4c1d1d57c2fc023866885f4212f08c1c9c1acea1b56c7549d87fac0ea5080","impliedFormat":1},{"version":"841784cfa9046a2b3e453d638ea5c3e53680eb8225a45db1c13813f6ea4095e5","affectsGlobalScope":true,"impliedFormat":1},{"version":"646ef1cff0ec3cf8e96adb1848357788f244b217345944c2be2942a62764b771","impliedFormat":1},{"version":"3cfb7c0c642b19fb75132154040bb7cd840f0002f9955b14154e69611b9b3f81","impliedFormat":1},{"version":"8387ec1601cf6b8948672537cf8d430431ba0d87b1f9537b4597c1ab8d3ade5b","impliedFormat":1},{"version":"d16f1c460b1ca9158e030fdf3641e1de11135e0c7169d3e8cf17cc4cc35d5e64","impliedFormat":1},{"version":"a934063af84f8117b8ce51851c1af2b76efe960aa4c7b48d0343a1b15c01aedf","impliedFormat":1},{"version":"e3c5ad476eb2fca8505aee5bdfdf9bf11760df5d0f9545db23f12a5c4d72a718","impliedFormat":1},{"version":"462bccdf75fcafc1ae8c30400c9425e1a4681db5d605d1a0edb4f990a54d8094","impliedFormat":1},{"version":"5923d8facbac6ecf7c84739a5c701a57af94a6f6648d6229a6c768cf28f0f8cb","impliedFormat":1},{"version":"d0570ce419fb38287e7b39c910b468becb5b2278cf33b1000a3d3e82a46ecae2","impliedFormat":1},{"version":"3aca7f4260dad9dcc0a0333654cb3cde6664d34a553ec06c953bce11151764d7","impliedFormat":1},{"version":"a0a6f0095f25f08a7129bc4d7cb8438039ec422dc341218d274e1e5131115988","impliedFormat":1},{"version":"1d2699a343a347a830be26eb17ab340d7875c6f549c8d7477efb1773060cc7e5","impliedFormat":1},{"version":"45785e608b3d380c79e21957a6d1467e1206ac0281644e43e8ed6498808ace72","impliedFormat":1},{"version":"bece27602416508ba946868ad34d09997911016dbd6893fb884633017f74e2c5","impliedFormat":1},{"version":"2a90177ebaef25de89351de964c2c601ab54d6e3a157cba60d9cd3eaf5a5ee1a","impliedFormat":1},{"version":"82200e963d3c767976a5a9f41ecf8c65eca14a6b33dcbe00214fcbe959698c46","impliedFormat":1},{"version":"b4966c503c08bbd9e834037a8ab60e5f53c5fd1092e8873c4a1c344806acdab2","impliedFormat":1},{"version":"55461596dc873b866911ef4e640fae4c39da7ac1fbc7ef5e649cb2f2fb42c349","affectsGlobalScope":true,"impliedFormat":1},{"version":"8a8eb4ebffd85e589a1cc7c178e291626c359543403d58c9cd22b81fab5b1fb9","impliedFormat":1},{"version":"247a952efd811d780e5630f8cfd76f495196f5fa74f6f0fee39ac8ba4a3c9800","impliedFormat":1},{"version":"f9d18c70a28d828e1a97294912064e28952c4481a3a12e6880a728f3508c29da","affectsGlobalScope":true,"impliedFormat":1},{"version":"b598deb1da203a2b58c76cf8d91cfc2ca172d785dacd8466c0a11e400ff6ab2d","impliedFormat":1},{"version":"f3ded47c50efa3fbc7105c933490fa0cf48df063248a5b27bca5849d5d126f9b","impliedFormat":1}],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationMap":false,"emitDeclarationOnly":false,"esModuleInterop":true,"experimentalDecorators":true,"jsx":2,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitReturns":true,"noUnusedLocals":false,"noUnusedParameters":false,"outDir":"./cjs","rootDir":"../src","skipLibCheck":true,"sourceMap":false,"strict":true,"strictNullChecks":true,"strictPropertyInitialization":false,"suppressImplicitAnyIndexErrors":true,"target":2},"fileIdsList":[[67],[226],[224],[221,222,223,224,225,228,229,230,231,232,233,234,235],[217],[227],[221,222,223],[221,222],[224,225,227],[222],[219],[218],[236,241],[78],[114],[115,120,148],[116,127,128,135,145,156],[116,117,127,135],[118,157],[119,120,128,136],[120,145,153],[121,123,127,135],[114,122],[123,124],[127],[125,127],[114,127],[127,128,129,145,156],[127,128,129,142,145,148],[112,161],[123,127,130,135,145,156],[127,128,130,131,135,145,153,156],[130,132,145,153,156],[78,79,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163],[127,133],[134,156,161],[123,127,135,145],[136],[137],[114,138],[139,155,161],[140],[141],[127,142,143],[142,144,157,159],[115,127,145,146,147,148],[115,145,147],[145,146],[148],[149],[114,145],[127,151,152],[151,152],[120,135,145,153],[154],[135,155],[115,130,141,156],[120,157],[145,158],[134,159],[160],[115,120,127,129,138,145,156,159,161],[145,162],[240,241],[237,238,239],[70,73],[204],[70,71,73,74,75],[70],[70,71,73],[70,71],[200],[69,200],[69,200,201],[69,72],[65],[65,66,69],[69],[188],[186,188],[177,185,186,187,189],[175],[178,183,188,191],[174,191],[178,179,182,183,184,191],[178,179,180,182,183,191],[175,176,177,178,179,183,184,185,187,188,189,191],[191],[173,175,176,177,178,179,180,182,183,184,185,186,187,188,189,190],[173,191],[178,180,181,183,184,191],[182,191],[183,184,188,191],[176,186],[68],[173],[89,93,156],[89,145,156],[84],[86,89,153,156],[135,153],[164],[84,164],[86,89,135,156],[81,82,85,88,115,127,145,156],[81,87],[85,89,115,148,156,164],[115,164],[105,115,164],[83,84,164],[89],[83,84,85,86,87,88,89,90,91,93,94,95,96,97,98,99,100,101,102,103,104,106,107,108,109,110,111],[89,96,97],[87,89,97,98],[88],[81,84,89],[89,93,97,98],[93],[87,89,92,156],[81,86,87,89,93,96],[115,145],[84,89,105,115,161,164],[197,198],[197],[196,197,198,211],[127,128,130,131,132,135,145,153,156,162,164,166,167,168,169,170,171,172,192,193,194,195],[70,73,76,77,128,145,161,196,199,202,203,205,206,207,208,210,211,212,213,214],[70,76,77,128,145,161,196,199,202,203,205,206,207,208,210,211],[76,77,206,211],[215],[166,195],[165],[168,169,170,171],[168,169,170],[168],[169],[166],[46],[47,48],[49],[42,45,56,57,59,60],[42],[42,43,44],[42,44,57,58],[42,44,45,54,56,57,59,60,61,63],[42,45,55,56,57,59],[42,43,44,58],[42,43,55,58],[50,53],[51,52],[53],[50,53,54],[42,43,44,55,58],[42,43],[46,50],[51]],"referencedMap":[[68,1],[227,2],[225,3],[236,4],[221,5],[232,6],[224,7],[223,8],[228,9],[229,10],[220,11],[219,12],[218,5],[242,13],[78,14],[79,14],[114,15],[115,16],[116,17],[117,18],[118,19],[119,20],[120,21],[121,22],[122,23],[123,24],[124,24],[126,25],[125,26],[127,27],[128,28],[129,29],[113,30],[130,31],[131,32],[132,33],[164,34],[133,35],[134,36],[135,37],[136,38],[137,39],[138,40],[139,41],[140,42],[141,43],[142,44],[143,44],[144,45],[145,46],[147,47],[146,48],[148,49],[149,50],[150,51],[151,52],[152,53],[153,54],[154,55],[155,56],[156,57],[157,58],[158,59],[159,60],[160,61],[161,62],[162,63],[241,64],[240,65],[204,66],[205,67],[76,68],[71,69],[74,70],[77,71],[214,72],[201,73],[202,74],[208,74],[73,75],[75,75],[66,76],[70,77],[72,78],[189,79],[187,80],[188,81],[176,82],[177,80],[184,83],[175,84],[180,85],[181,86],[186,87],[192,88],[191,89],[174,90],[182,91],[183,92],[178,93],[185,79],[179,94],[69,95],[173,96],[96,97],[103,98],[95,97],[110,99],[87,100],[86,101],[109,102],[104,103],[107,104],[89,105],[88,106],[84,107],[83,108],[106,109],[85,110],[90,111],[94,111],[112,112],[111,111],[98,113],[99,114],[101,115],[97,116],[100,117],[105,102],[92,118],[93,119],[102,120],[82,121],[108,122],[207,123],[198,124],[199,123],[210,125],[209,126],[215,127],[211,128],[212,129],[216,130],[167,131],[166,132],[196,126],[193,133],[171,134],[169,135],[170,136],[195,137],[48,138],[47,138],[49,139],[50,140],[61,141],[43,142],[45,143],[60,143],[63,144],[64,145],[58,146],[59,147],[57,148],[54,149],[53,150],[52,151],[55,152],[56,153]],"exportedModulesMap":[[68,1],[227,2],[225,3],[236,4],[221,5],[232,6],[224,7],[223,8],[228,9],[229,10],[220,11],[219,12],[218,5],[242,13],[78,14],[79,14],[114,15],[115,16],[116,17],[117,18],[118,19],[119,20],[120,21],[121,22],[122,23],[123,24],[124,24],[126,25],[125,26],[127,27],[128,28],[129,29],[113,30],[130,31],[131,32],[132,33],[164,34],[133,35],[134,36],[135,37],[136,38],[137,39],[138,40],[139,41],[140,42],[141,43],[142,44],[143,44],[144,45],[145,46],[147,47],[146,48],[148,49],[149,50],[150,51],[151,52],[152,53],[153,54],[154,55],[155,56],[156,57],[157,58],[158,59],[159,60],[160,61],[161,62],[162,63],[241,64],[240,65],[204,66],[205,67],[76,68],[71,69],[74,70],[77,71],[214,72],[201,73],[202,74],[208,74],[73,75],[75,75],[66,76],[70,77],[72,78],[189,79],[187,80],[188,81],[176,82],[177,80],[184,83],[175,84],[180,85],[181,86],[186,87],[192,88],[191,89],[174,90],[182,91],[183,92],[178,93],[185,79],[179,94],[69,95],[173,96],[96,97],[103,98],[95,97],[110,99],[87,100],[86,101],[109,102],[104,103],[107,104],[89,105],[88,106],[84,107],[83,108],[106,109],[85,110],[90,111],[94,111],[112,112],[111,111],[98,113],[99,114],[101,115],[97,116],[100,117],[105,102],[92,118],[93,119],[102,120],[82,121],[108,122],[207,123],[198,124],[199,123],[210,125],[209,126],[215,127],[211,128],[212,129],[216,130],[167,131],[166,132],[196,126],[193,133],[171,134],[169,135],[170,136],[195,137],[48,138],[47,138],[49,139],[50,140],[61,142],[43,142],[45,154],[60,154],[63,142],[64,145],[58,142],[59,154],[57,154],[54,155],[53,156],[52,151],[55,149],[56,154]],"semanticDiagnosticsPerFile":[68,67,227,226,234,231,230,225,236,221,232,224,223,233,228,235,229,222,220,219,218,242,217,165,78,79,114,115,116,117,118,119,120,121,122,123,124,126,125,127,128,129,113,163,130,131,132,164,133,134,135,136,137,138,139,140,141,142,143,144,145,147,146,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,239,241,237,240,203,204,205,76,71,74,77,200,214,201,202,208,213,73,75,66,70,72,65,80,238,46,189,187,188,176,177,184,175,180,190,181,186,192,191,174,182,183,178,185,179,69,173,206,8,10,9,2,11,12,13,14,15,16,17,18,3,4,22,19,20,21,23,24,25,5,26,27,28,29,6,30,31,32,33,7,34,39,40,35,36,37,38,1,41,96,103,95,110,87,86,109,104,107,89,88,84,83,106,85,90,91,94,81,112,111,98,99,101,97,100,105,92,93,102,82,108,207,198,199,210,197,209,215,211,212,216,172,167,166,196,193,171,169,168,170,194,195,48,47,49,50,61,43,45,62,60,44,63,64,58,42,59,57,54,51,53,52,55,56],"latestChangedDtsFile":"./cjs/index.d.ts"},"version":"4.8.4"}
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "Sisense",
12
12
  "Compose SDK"
13
13
  ],
14
- "version": "1.20.0",
14
+ "version": "1.22.0",
15
15
  "type": "module",
16
16
  "exports": "./dist/index.js",
17
17
  "main": "./dist/index.js",
@@ -20,12 +20,12 @@
20
20
  "author": "Sisense",
21
21
  "license": "SEE LICENSE IN LICENSE.md",
22
22
  "dependencies": {
23
- "@sisense/sdk-common": "^1.20.0"
23
+ "@sisense/sdk-common": "^1.22.0"
24
24
  },
25
25
  "scripts": {
26
26
  "type-check": "tsc --noEmit",
27
27
  "build": "tsc --build tsconfig.build.json",
28
- "build:prod": "tsc --project tsconfig.prod.json",
28
+ "build:prod": "tsc --project tsconfig.prod.json && tsc --project tsconfig.prod.cjs.json && cp package.cjs.json ./dist/cjs/package.json",
29
29
  "clean": "rm -rf dist coverage tsconfig.build.tsbuildinfo tsconfig.prod.tsbuildinfo",
30
30
  "lint": "eslint . --fix",
31
31
  "format": "prettier --write .",