@ethlete/query 5.21.0 → 5.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.
- package/CHANGELOG.md +12 -0
- package/fesm2022/ethlete-query.mjs +419 -228
- package/fesm2022/ethlete-query.mjs.map +1 -1
- package/lib/experimental/http-request.d.ts +3 -1
- package/lib/experimental/index.d.ts +1 -0
- package/lib/experimental/paged-query.d.ts +35 -0
- package/lib/experimental/query-errors.d.ts +7 -1
- package/lib/experimental/query-stack.d.ts +4 -2
- package/package.json +5 -7
- package/esm2022/ethlete-query.mjs +0 -5
- package/esm2022/index.mjs +0 -21
- package/esm2022/lib/auth/auth-provider.types.mjs +0 -2
- package/esm2022/lib/auth/auth-provider.utils.mjs +0 -25
- package/esm2022/lib/auth/basic-auth-provider.mjs +0 -15
- package/esm2022/lib/auth/bearer-auth-provider.mjs +0 -168
- package/esm2022/lib/auth/custom-header-auth-provider.mjs +0 -12
- package/esm2022/lib/auth/index.mjs +0 -6
- package/esm2022/lib/class-validator/class-validator.types.mjs +0 -2
- package/esm2022/lib/class-validator/class-validator.utils.mjs +0 -4
- package/esm2022/lib/class-validator/index.mjs +0 -3
- package/esm2022/lib/devtools/components/query-devtools/index.mjs +0 -2
- package/esm2022/lib/devtools/components/query-devtools/query-devtools.component.mjs +0 -297
- package/esm2022/lib/devtools/pipes/index.mjs +0 -2
- package/esm2022/lib/devtools/pipes/query-short-name.pipe.mjs +0 -24
- package/esm2022/lib/devtools/utils/index.mjs +0 -2
- package/esm2022/lib/devtools/utils/query-client.utils.mjs +0 -13
- package/esm2022/lib/directives/index.mjs +0 -4
- package/esm2022/lib/directives/infinity-query-trigger.directive.mjs +0 -56
- package/esm2022/lib/directives/infinity-query.directive.mjs +0 -147
- package/esm2022/lib/directives/query.directive.mjs +0 -123
- package/esm2022/lib/entity/entity-store.mjs +0 -127
- package/esm2022/lib/entity/entity.types.mjs +0 -2
- package/esm2022/lib/entity/entity.utils.mjs +0 -29
- package/esm2022/lib/entity/index.mjs +0 -4
- package/esm2022/lib/experimental/bearer-auth-provider-config.mjs +0 -19
- package/esm2022/lib/experimental/bearer-auth-provider.mjs +0 -245
- package/esm2022/lib/experimental/http-request.mjs +0 -154
- package/esm2022/lib/experimental/index.mjs +0 -22
- package/esm2022/lib/experimental/query-client-config.mjs +0 -13
- package/esm2022/lib/experimental/query-client.mjs +0 -16
- package/esm2022/lib/experimental/query-creator-templates.mjs +0 -33
- package/esm2022/lib/experimental/query-creator.mjs +0 -28
- package/esm2022/lib/experimental/query-dependencies.mjs +0 -14
- package/esm2022/lib/experimental/query-errors.mjs +0 -61
- package/esm2022/lib/experimental/query-execute-utils.mjs +0 -54
- package/esm2022/lib/experimental/query-execute.mjs +0 -14
- package/esm2022/lib/experimental/query-features.mjs +0 -126
- package/esm2022/lib/experimental/query-repository.mjs +0 -97
- package/esm2022/lib/experimental/query-snapshot.mjs +0 -45
- package/esm2022/lib/experimental/query-stack.mjs +0 -65
- package/esm2022/lib/experimental/query-state.mjs +0 -20
- package/esm2022/lib/experimental/query-utils.mjs +0 -176
- package/esm2022/lib/experimental/query.mjs +0 -29
- package/esm2022/lib/experimental/secure-query-creator.mjs +0 -15
- package/esm2022/lib/experimental/secure-query-execute.mjs +0 -80
- package/esm2022/lib/experimental/secure-query.mjs +0 -33
- package/esm2022/lib/gql/gql.mjs +0 -23
- package/esm2022/lib/gql/index.mjs +0 -2
- package/esm2022/lib/infinite-query/index.mjs +0 -4
- package/esm2022/lib/infinite-query/infinity-query.mjs +0 -171
- package/esm2022/lib/infinite-query/infinity-query.types.mjs +0 -2
- package/esm2022/lib/infinite-query/infinity-query.utils.mjs +0 -3
- package/esm2022/lib/logger/index.mjs +0 -2
- package/esm2022/lib/logger/logger.mjs +0 -16
- package/esm2022/lib/query/index.mjs +0 -4
- package/esm2022/lib/query/query.mjs +0 -431
- package/esm2022/lib/query/query.types.mjs +0 -2
- package/esm2022/lib/query/query.utils.mjs +0 -253
- package/esm2022/lib/query-client/index.mjs +0 -4
- package/esm2022/lib/query-client/query-client.mjs +0 -80
- package/esm2022/lib/query-client/query-client.types.mjs +0 -2
- package/esm2022/lib/query-client/query-client.utils.mjs +0 -20
- package/esm2022/lib/query-creator/index.mjs +0 -3
- package/esm2022/lib/query-creator/query-creator.mjs +0 -55
- package/esm2022/lib/query-creator/query-creator.types.mjs +0 -2
- package/esm2022/lib/query-form/index.mjs +0 -4
- package/esm2022/lib/query-form/query-form.mjs +0 -412
- package/esm2022/lib/query-form/query-form.types.mjs +0 -2
- package/esm2022/lib/query-form/query-form.utils.mjs +0 -97
- package/esm2022/lib/query-store/index.mjs +0 -2
- package/esm2022/lib/query-store/query-store.mjs +0 -144
- package/esm2022/lib/request/index.mjs +0 -4
- package/esm2022/lib/request/request.mjs +0 -196
- package/esm2022/lib/request/request.types.mjs +0 -2
- package/esm2022/lib/request/request.util.mjs +0 -252
- package/esm2022/lib/symfony/index.mjs +0 -3
- package/esm2022/lib/symfony/symfony.types.mjs +0 -2
- package/esm2022/lib/symfony/symfony.utils.mjs +0 -31
- package/esm2022/lib/utils/data.utils.mjs +0 -138
- package/esm2022/lib/utils/deep-freeze.util.mjs +0 -17
- package/esm2022/lib/utils/def.util.mjs +0 -8
- package/esm2022/lib/utils/index.mjs +0 -4
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { createQuery } from './query';
|
|
2
|
-
export const splitQueryConfig = (args) => {
|
|
3
|
-
let queryConfig = {};
|
|
4
|
-
let features = [];
|
|
5
|
-
const first = args[0];
|
|
6
|
-
if (first) {
|
|
7
|
-
if ('type' in first) {
|
|
8
|
-
features = args;
|
|
9
|
-
}
|
|
10
|
-
else {
|
|
11
|
-
[queryConfig, ...features] = args;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
return { features, queryConfig };
|
|
15
|
-
};
|
|
16
|
-
export const createQueryCreator = (options, internals) => {
|
|
17
|
-
function queryCreator(...args) {
|
|
18
|
-
const { features, queryConfig } = splitQueryConfig(args);
|
|
19
|
-
return createQuery({
|
|
20
|
-
creator: options,
|
|
21
|
-
creatorInternals: internals,
|
|
22
|
-
features,
|
|
23
|
-
queryConfig,
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
return queryCreator;
|
|
27
|
-
};
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktY3JlYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcXVlcnkvc3JjL2xpYi9leHBlcmltZW50YWwvcXVlcnktY3JlYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9DLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQTRDeEUsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBMEIsSUFBMkMsRUFBRSxFQUFFO0lBQ3ZHLElBQUksV0FBVyxHQUFnQixFQUFFLENBQUM7SUFDbEMsSUFBSSxRQUFRLEdBQTBCLEVBQUUsQ0FBQztJQUV6QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFdEIsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUNWLElBQUksTUFBTSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ3BCLFFBQVEsR0FBRyxJQUE2QixDQUFDO1FBQzNDLENBQUM7YUFBTSxDQUFDO1lBQ04sQ0FBQyxXQUFXLEVBQUUsR0FBRyxRQUFRLENBQUMsR0FBRyxJQUErQyxDQUFDO1FBQy9FLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsQ0FBQztBQUNuQyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUNoQyxPQUF5QyxFQUN6QyxTQUE0QyxFQUN2QixFQUFFO0lBSXZCLFNBQVMsWUFBWSxDQUFDLEdBQUcsSUFBMkM7UUFDbEUsTUFBTSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBUSxJQUFJLENBQUMsQ0FBQztRQUVoRSxPQUFPLFdBQVcsQ0FBUTtZQUN4QixPQUFPLEVBQUUsT0FBTztZQUNoQixnQkFBZ0IsRUFBRSxTQUFTO1lBQzNCLFFBQVE7WUFDUixXQUFXO1NBQ1osQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sWUFBWSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhdGhQYXJhbXNUeXBlLCBRdWVyeSwgUXVlcnlBcmdzLCBjcmVhdGVRdWVyeSB9IGZyb20gJy4vcXVlcnknO1xuaW1wb3J0IHsgUXVlcnlDbGllbnRDb25maWcgfSBmcm9tICcuL3F1ZXJ5LWNsaWVudC1jb25maWcnO1xuaW1wb3J0IHsgUXVlcnlGZWF0dXJlIH0gZnJvbSAnLi9xdWVyeS1mZWF0dXJlcyc7XG5cbmV4cG9ydCB0eXBlIFJvdXRlVHlwZTxUQXJncyBleHRlbmRzIFF1ZXJ5QXJncz4gPVxuICBQYXRoUGFyYW1zVHlwZTxUQXJncz4gZXh0ZW5kcyB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID8gKGFyZ3M6IFRBcmdzWydwYXRoUGFyYW1zJ10pID0+IFJvdXRlU3RyaW5nIDogUm91dGVTdHJpbmc7XG5cbmV4cG9ydCB0eXBlIFJvdXRlU3RyaW5nID0gYC8ke3N0cmluZ31gO1xuXG5leHBvcnQgdHlwZSBDcmVhdGVRdWVyeUNyZWF0b3JPcHRpb25zPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPiA9IHtcbiAgcm91dGU6IFJvdXRlVHlwZTxUQXJncz47XG4gIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbjtcbiAgcmVzcG9uc2VUeXBlPzogJ2pzb24nO1xuICB3aXRoQ3JlZGVudGlhbHM/OiBib29sZWFuO1xuICB0cmFuc2ZlckNhY2hlPzpcbiAgICB8IHtcbiAgICAgICAgaW5jbHVkZUhlYWRlcnM/OiBzdHJpbmdbXTtcbiAgICAgIH1cbiAgICB8IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBRdWVyeUNyZWF0b3I8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+ID0ge1xuICAoLi4uZmVhdHVyZXM6IFF1ZXJ5RmVhdHVyZTxUQXJncz5bXSk6IFF1ZXJ5PFRBcmdzPjtcbiAgKHF1ZXJ5Q29uZmlnOiBRdWVyeUNvbmZpZywgLi4uZmVhdHVyZXM6IFF1ZXJ5RmVhdHVyZTxUQXJncz5bXSk6IFF1ZXJ5PFRBcmdzPjtcbn07XG5cbmV4cG9ydCB0eXBlIFF1ZXJ5TWV0aG9kID0gJ0dFVCcgfCAnT1BUSU9OUycgfCAnSEVBRCcgfCAnUE9TVCcgfCAnUFVUJyB8ICdERUxFVEUnIHwgJ1BBVENIJyB8ICdUUkFDRScgfCAnQ09OTkVDVCc7XG5cbmV4cG9ydCB0eXBlIEludGVybmFsQ3JlYXRlUXVlcnlDcmVhdG9yT3B0aW9ucyA9IHtcbiAgbWV0aG9kOiBRdWVyeU1ldGhvZDtcbiAgY2xpZW50OiBRdWVyeUNsaWVudENvbmZpZztcbn07XG5cbmV4cG9ydCB0eXBlIFF1ZXJ5Q29uZmlnID0ge1xuICAvKiogQSBjdXN0b20gaWQgdG8gdXNlIGZvciB0aGlzIHF1ZXJ5LiBPbmx5IGFmZmVjdHMgcXVlcmllcyB0aGF0IGNhbiBiZSBjYWNoZWQuICovXG4gIGtleT86IHN0cmluZztcblxuICAvKipcbiAgICogSWYgdHJ1ZSwgdGhlIHF1ZXJ5IHdpbGwgbm90IGJlIGV4ZWN1dGVkIGF1dG9tYXRpY2FsbHkuXG4gICAqIERvZXMgbm90IGFmZmVjdCBtdXRhdGlvbnMgc3VjaCBhcyBQT1NULCBQVVQgZXRjLiBzaW5jZSB0aG9zZSBhcmUgbmV2ZXIgZXhlY3V0ZWQgYXV0b21hdGljYWxseS5cbiAgICovXG4gIG9ubHlNYW51YWxFeGVjdXRpb24/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IGNvbnN0IHNwbGl0UXVlcnlDb25maWcgPSA8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+KGFyZ3M6IChRdWVyeUZlYXR1cmU8VEFyZ3M+IHwgUXVlcnlDb25maWcpW10pID0+IHtcbiAgbGV0IHF1ZXJ5Q29uZmlnOiBRdWVyeUNvbmZpZyA9IHt9O1xuICBsZXQgZmVhdHVyZXM6IFF1ZXJ5RmVhdHVyZTxUQXJncz5bXSA9IFtdO1xuXG4gIGNvbnN0IGZpcnN0ID0gYXJnc1swXTtcblxuICBpZiAoZmlyc3QpIHtcbiAgICBpZiAoJ3R5cGUnIGluIGZpcnN0KSB7XG4gICAgICBmZWF0dXJlcyA9IGFyZ3MgYXMgUXVlcnlGZWF0dXJlPFRBcmdzPltdO1xuICAgIH0gZWxzZSB7XG4gICAgICBbcXVlcnlDb25maWcsIC4uLmZlYXR1cmVzXSA9IGFyZ3MgYXMgW1F1ZXJ5Q29uZmlnLCAuLi5RdWVyeUZlYXR1cmU8VEFyZ3M+W11dO1xuICAgIH1cbiAgfVxuICByZXR1cm4geyBmZWF0dXJlcywgcXVlcnlDb25maWcgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVRdWVyeUNyZWF0b3IgPSA8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+KFxuICBvcHRpb25zOiBDcmVhdGVRdWVyeUNyZWF0b3JPcHRpb25zPFRBcmdzPixcbiAgaW50ZXJuYWxzOiBJbnRlcm5hbENyZWF0ZVF1ZXJ5Q3JlYXRvck9wdGlvbnMsXG4pOiBRdWVyeUNyZWF0b3I8VEFyZ3M+ID0+IHtcbiAgZnVuY3Rpb24gcXVlcnlDcmVhdG9yKC4uLmZlYXR1cmVzOiBRdWVyeUZlYXR1cmU8VEFyZ3M+W10pOiBRdWVyeTxUQXJncz47XG4gIGZ1bmN0aW9uIHF1ZXJ5Q3JlYXRvcihxdWVyeUNvbmZpZzogUXVlcnlDb25maWcsIC4uLmZlYXR1cmVzOiBRdWVyeUZlYXR1cmU8VEFyZ3M+W10pOiBRdWVyeTxUQXJncz47XG5cbiAgZnVuY3Rpb24gcXVlcnlDcmVhdG9yKC4uLmFyZ3M6IChRdWVyeUZlYXR1cmU8VEFyZ3M+IHwgUXVlcnlDb25maWcpW10pOiBRdWVyeTxUQXJncz4ge1xuICAgIGNvbnN0IHsgZmVhdHVyZXMsIHF1ZXJ5Q29uZmlnIH0gPSBzcGxpdFF1ZXJ5Q29uZmlnPFRBcmdzPihhcmdzKTtcblxuICAgIHJldHVybiBjcmVhdGVRdWVyeTxUQXJncz4oe1xuICAgICAgY3JlYXRvcjogb3B0aW9ucyxcbiAgICAgIGNyZWF0b3JJbnRlcm5hbHM6IGludGVybmFscyxcbiAgICAgIGZlYXR1cmVzLFxuICAgICAgcXVlcnlDb25maWcsXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gcXVlcnlDcmVhdG9yO1xufTtcbiJdfQ==
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { DestroyRef, EnvironmentInjector, createEnvironmentInjector, inject } from '@angular/core';
|
|
2
|
-
export const setupQueryDependencies = (options) => {
|
|
3
|
-
const environmentInjector = inject(EnvironmentInjector);
|
|
4
|
-
const queryEnvironmentInjector = createEnvironmentInjector([], environmentInjector);
|
|
5
|
-
const destroyRef = queryEnvironmentInjector.get(DestroyRef);
|
|
6
|
-
const client = inject(options.clientConfig.token);
|
|
7
|
-
const dependencies = {
|
|
8
|
-
destroyRef,
|
|
9
|
-
client,
|
|
10
|
-
injector: queryEnvironmentInjector,
|
|
11
|
-
};
|
|
12
|
-
return dependencies;
|
|
13
|
-
};
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktZGVwZW5kZW5jaWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xdWVyeS9zcmMvbGliL2V4cGVyaW1lbnRhbC9xdWVyeS1kZXBlbmRlbmNpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFjbkcsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxPQUFzQyxFQUFFLEVBQUU7SUFDL0UsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN4RCxNQUFNLHdCQUF3QixHQUFHLHlCQUF5QixDQUFDLEVBQUUsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3BGLE1BQU0sVUFBVSxHQUFHLHdCQUF3QixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM1RCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVsRCxNQUFNLFlBQVksR0FBc0I7UUFDdEMsVUFBVTtRQUNWLE1BQU07UUFDTixRQUFRLEVBQUUsd0JBQXdCO0tBQ25DLENBQUM7SUFFRixPQUFPLFlBQVksQ0FBQztBQUN0QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXN0cm95UmVmLCBFbnZpcm9ubWVudEluamVjdG9yLCBjcmVhdGVFbnZpcm9ubWVudEluamVjdG9yLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFF1ZXJ5Q2xpZW50IH0gZnJvbSAnLi9xdWVyeS1jbGllbnQnO1xuaW1wb3J0IHsgUXVlcnlDbGllbnRDb25maWcgfSBmcm9tICcuL3F1ZXJ5LWNsaWVudC1jb25maWcnO1xuXG5leHBvcnQgdHlwZSBTZXR1cFF1ZXJ5RGVwZW5kZW5jaWVzT3B0aW9ucyA9IHtcbiAgY2xpZW50Q29uZmlnOiBRdWVyeUNsaWVudENvbmZpZztcbn07XG5cbmV4cG9ydCB0eXBlIFF1ZXJ5RGVwZW5kZW5jaWVzID0ge1xuICBkZXN0cm95UmVmOiBEZXN0cm95UmVmO1xuICBjbGllbnQ6IFF1ZXJ5Q2xpZW50O1xuICBpbmplY3RvcjogRW52aXJvbm1lbnRJbmplY3Rvcjtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXR1cFF1ZXJ5RGVwZW5kZW5jaWVzID0gKG9wdGlvbnM6IFNldHVwUXVlcnlEZXBlbmRlbmNpZXNPcHRpb25zKSA9PiB7XG4gIGNvbnN0IGVudmlyb25tZW50SW5qZWN0b3IgPSBpbmplY3QoRW52aXJvbm1lbnRJbmplY3Rvcik7XG4gIGNvbnN0IHF1ZXJ5RW52aXJvbm1lbnRJbmplY3RvciA9IGNyZWF0ZUVudmlyb25tZW50SW5qZWN0b3IoW10sIGVudmlyb25tZW50SW5qZWN0b3IpO1xuICBjb25zdCBkZXN0cm95UmVmID0gcXVlcnlFbnZpcm9ubWVudEluamVjdG9yLmdldChEZXN0cm95UmVmKTtcbiAgY29uc3QgY2xpZW50ID0gaW5qZWN0KG9wdGlvbnMuY2xpZW50Q29uZmlnLnRva2VuKTtcblxuICBjb25zdCBkZXBlbmRlbmNpZXM6IFF1ZXJ5RGVwZW5kZW5jaWVzID0ge1xuICAgIGRlc3Ryb3lSZWYsXG4gICAgY2xpZW50LFxuICAgIGluamVjdG9yOiBxdWVyeUVudmlyb25tZW50SW5qZWN0b3IsXG4gIH07XG5cbiAgcmV0dXJuIGRlcGVuZGVuY2llcztcbn07XG4iXX0=
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-empty-function */
|
|
2
|
-
import { RuntimeError } from '@ethlete/core';
|
|
3
|
-
export const queryFeatureUsedMultipleTimes = (type) => {
|
|
4
|
-
return new RuntimeError(0 /* RuntimeErrorCode.QUERY_FEATURE_USED_MULTIPLE_TIMES */, `The query feature "${type}()" was used multiple times.`);
|
|
5
|
-
};
|
|
6
|
-
export const withArgsQueryFeatureMissingButRouteIsFunction = () => {
|
|
7
|
-
return new RuntimeError(100 /* RuntimeErrorCode.WITH_ARGS_QUERY_FEATURE_MISSING_BUT_ROUTE_IS_FUNCTION */, `This queries route is a function, but a "withArgs()" feature is missing.`);
|
|
8
|
-
};
|
|
9
|
-
export const withPollingUsedOnUnsupportedHttpMethod = (method) => {
|
|
10
|
-
return new RuntimeError(101 /* RuntimeErrorCode.WITH_POLLING_USED_ON_UNSUPPORTED_HTTP_METHOD */, `This is a "${method}" request, "withPolling()" is only supported for GET, HEAD, OPTIONS requests and GQL queries.`);
|
|
11
|
-
};
|
|
12
|
-
export const withAutoRefreshUsedOnUnsupportedHttpMethod = (method) => {
|
|
13
|
-
return new RuntimeError(102 /* RuntimeErrorCode.WITH_AUTO_REFRESH_USED_ON_UNSUPPORTED_HTTP_METHOD */, `This is a "${method}" request, "withAutoRefresh()" is only supported for GET, HEAD, OPTIONS requests and GQL queries.`);
|
|
14
|
-
};
|
|
15
|
-
export const withAutoRefreshUsedInManualQuery = () => {
|
|
16
|
-
return new RuntimeError(103 /* RuntimeErrorCode.WITH_AUTO_REFRESH_USED_IN_MANUAL_QUERY */, `"withAutoRefresh()" has been used inside a query that has "onlyManualExecution" set to true.` +
|
|
17
|
-
` If this is intentional, set "ignoreOnlyManualExecution" to true inside the auto refresh config.`);
|
|
18
|
-
};
|
|
19
|
-
export const cookieLoginTriedButCookieDisabled = () => {
|
|
20
|
-
return new RuntimeError(200 /* RuntimeErrorCode.COOKIE_LOGIN_TRIED_BUT_COOKIE_DISABLED */, `Cookie login has been tried, but the cookie is disabled.`);
|
|
21
|
-
};
|
|
22
|
-
export const enableCookieCalledWithoutCookieConfig = () => {
|
|
23
|
-
return new RuntimeError(201 /* RuntimeErrorCode.ENABLE_COOKIE_CALLED_WITHOUT_COOKIE_CONFIG */, `enableCookie() has been called but there is no cookie config. Please set it during the auth provider creation.`);
|
|
24
|
-
};
|
|
25
|
-
export const disableCookieCalledWithoutCookieConfig = () => {
|
|
26
|
-
return new RuntimeError(202 /* RuntimeErrorCode.DISABLE_COOKIE_CALLED_WITHOUT_COOKIE_CONFIG */, `disableCookie() has been called but there is no cookie config. Please set it during the auth provider creation.`);
|
|
27
|
-
};
|
|
28
|
-
export const loginCalledWithoutConfig = () => {
|
|
29
|
-
return new RuntimeError(203 /* RuntimeErrorCode.LOGIN_CALLED_WITHOUT_CONFIG */, `login() has been called without a config. Please set it during the auth provider creation.`);
|
|
30
|
-
};
|
|
31
|
-
export const loginWithTokenCalledWithoutConfig = () => {
|
|
32
|
-
return new RuntimeError(204 /* RuntimeErrorCode.LOGIN_WITH_TOKEN_CALLED_WITHOUT_CONFIG */, `loginWithToken() has been called without a config. Please set it during the auth provider creation.`);
|
|
33
|
-
};
|
|
34
|
-
export const refreshTokenCalledWithoutConfig = () => {
|
|
35
|
-
return new RuntimeError(205 /* RuntimeErrorCode.REFRESH_TOKEN_CALLED_WITHOUT_CONFIG */, `refreshToken() has been called without a config. Please set it during the auth provider creation.`);
|
|
36
|
-
};
|
|
37
|
-
export const selectRoleCalledWithoutConfig = () => {
|
|
38
|
-
return new RuntimeError(206 /* RuntimeErrorCode.SELECT_ROLE_CALLED_WITHOUT_CONFIG */, `selectRole() has been called without a config. Please set it during the auth provider creation.`);
|
|
39
|
-
};
|
|
40
|
-
export const defaultResponseTransformerResponseNotObject = (currentType) => {
|
|
41
|
-
return new RuntimeError(207 /* RuntimeErrorCode.DEFAULT_RESPONSE_TRANSFORMER_RESPONSE_NOT_OBJECT */, `The default response transformer expects the response to be an object, but it is a "${currentType}".`);
|
|
42
|
-
};
|
|
43
|
-
export const defaultResponseTransformerResponseNotContainingAccessToken = () => {
|
|
44
|
-
return new RuntimeError(208 /* RuntimeErrorCode.DEFAULT_RESPONSE_TRANSFORMER_RESPONSE_NOT_CONTAINING_ACCESS_TOKEN */, `The default response transformer expects the response to contain an "accessToken" property.`);
|
|
45
|
-
};
|
|
46
|
-
export const defaultResponseTransformerResponseNotContainingRefreshToken = () => {
|
|
47
|
-
return new RuntimeError(209 /* RuntimeErrorCode.DEFAULT_RESPONSE_TRANSFORMER_RESPONSE_NOT_CONTAINING_REFRESH_TOKEN */, `The default response transformer expects the response to contain a "refreshToken" property.`);
|
|
48
|
-
};
|
|
49
|
-
export const unableToDecryptBearerToken = (token) => {
|
|
50
|
-
return new RuntimeError(210 /* RuntimeErrorCode.UNABLE_TO_DECRYPT_BEARER_TOKEN */, `The bearer token could not be decrypted: ${token}`);
|
|
51
|
-
};
|
|
52
|
-
export const bearerExpiresInPropertyNotNumber = (expiresIn) => {
|
|
53
|
-
return new RuntimeError(211 /* RuntimeErrorCode.BEARER_EXPIRES_IN_PROPERTY_NOT_NUMBER */, `The expires in property is not a number: ${expiresIn}`);
|
|
54
|
-
};
|
|
55
|
-
export const uncacheableRequestHasCacheKeyParam = (key) => {
|
|
56
|
-
return new RuntimeError(300 /* RuntimeErrorCode.UNCACHEABLE_REQUEST_HAS_CACHE_KEY_PARAM */, `This request is uncacheable, but a cache key was provided: ${key}. Please remove it.`);
|
|
57
|
-
};
|
|
58
|
-
export const uncacheableRequestHasSkipCacheParam = () => {
|
|
59
|
-
return new RuntimeError(301 /* RuntimeErrorCode.UNCACHEABLE_REQUEST_HAS_SKIP_CACHE_PARAM */, `This request is uncacheable, but skipCache is set to true. Please remove it.`);
|
|
60
|
-
};
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xdWVyeS9zcmMvbGliL2V4cGVyaW1lbnRhbC9xdWVyeS1lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseURBQXlEO0FBRXpELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFpQzdDLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLENBQUMsSUFBc0IsRUFBRSxFQUFFO0lBQ3RFLE9BQU8sSUFBSSxZQUFZLDZEQUVyQixzQkFBc0IsSUFBSSw4QkFBOEIsQ0FDekQsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDZDQUE2QyxHQUFHLEdBQUcsRUFBRTtJQUNoRSxPQUFPLElBQUksWUFBWSxtRkFFckIsMEVBQTBFLENBQzNFLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxzQ0FBc0MsR0FBRyxDQUFDLE1BQW1CLEVBQUUsRUFBRTtJQUM1RSxPQUFPLElBQUksWUFBWSwwRUFFckIsY0FBYyxNQUFNLCtGQUErRixDQUNwSCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMENBQTBDLEdBQUcsQ0FBQyxNQUFtQixFQUFFLEVBQUU7SUFDaEYsT0FBTyxJQUFJLFlBQVksK0VBRXJCLGNBQWMsTUFBTSxtR0FBbUcsQ0FDeEgsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLEdBQUcsRUFBRTtJQUNuRCxPQUFPLElBQUksWUFBWSxvRUFFckIsOEZBQThGO1FBQzVGLGtHQUFrRyxDQUNyRyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQUcsR0FBRyxFQUFFO0lBQ3BELE9BQU8sSUFBSSxZQUFZLG9FQUVyQiwwREFBMEQsQ0FDM0QsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFDQUFxQyxHQUFHLEdBQUcsRUFBRTtJQUN4RCxPQUFPLElBQUksWUFBWSx3RUFFckIsZ0hBQWdILENBQ2pILENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxzQ0FBc0MsR0FBRyxHQUFHLEVBQUU7SUFDekQsT0FBTyxJQUFJLFlBQVkseUVBRXJCLGlIQUFpSCxDQUNsSCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsR0FBRyxFQUFFO0lBQzNDLE9BQU8sSUFBSSxZQUFZLHlEQUVyQiw0RkFBNEYsQ0FDN0YsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLEdBQUcsRUFBRTtJQUNwRCxPQUFPLElBQUksWUFBWSxvRUFFckIscUdBQXFHLENBQ3RHLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxHQUFHLEVBQUU7SUFDbEQsT0FBTyxJQUFJLFlBQVksaUVBRXJCLG1HQUFtRyxDQUNwRyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsR0FBRyxFQUFFO0lBQ2hELE9BQU8sSUFBSSxZQUFZLCtEQUVyQixpR0FBaUcsQ0FDbEcsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDJDQUEyQyxHQUFHLENBQUMsV0FBbUIsRUFBRSxFQUFFO0lBQ2pGLE9BQU8sSUFBSSxZQUFZLDhFQUVyQix1RkFBdUYsV0FBVyxJQUFJLENBQ3ZHLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwwREFBMEQsR0FBRyxHQUFHLEVBQUU7SUFDN0UsT0FBTyxJQUFJLFlBQVksK0ZBRXJCLDZGQUE2RixDQUM5RixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMkRBQTJELEdBQUcsR0FBRyxFQUFFO0lBQzlFLE9BQU8sSUFBSSxZQUFZLGdHQUVyQiw2RkFBNkYsQ0FDOUYsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUU7SUFDMUQsT0FBTyxJQUFJLFlBQVksNERBRXJCLDRDQUE0QyxLQUFLLEVBQUUsQ0FDcEQsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLENBQUMsU0FBa0IsRUFBRSxFQUFFO0lBQ3JFLE9BQU8sSUFBSSxZQUFZLG1FQUVyQiw0Q0FBNEMsU0FBUyxFQUFFLENBQ3hELENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrQ0FBa0MsR0FBRyxDQUFDLEdBQVcsRUFBRSxFQUFFO0lBQ2hFLE9BQU8sSUFBSSxZQUFZLHFFQUVyQiw4REFBOEQsR0FBRyxxQkFBcUIsQ0FDdkYsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1DQUFtQyxHQUFHLEdBQUcsRUFBRTtJQUN0RCxPQUFPLElBQUksWUFBWSxzRUFFckIsOEVBQThFLENBQy9FLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb24gKi9cblxuaW1wb3J0IHsgUnVudGltZUVycm9yIH0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQgeyBRdWVyeU1ldGhvZCB9IGZyb20gJy4vcXVlcnktY3JlYXRvcic7XG5pbXBvcnQgeyBRdWVyeUZlYXR1cmVUeXBlIH0gZnJvbSAnLi9xdWVyeS1mZWF0dXJlcyc7XG5cbmV4cG9ydCBjb25zdCBlbnVtIFJ1bnRpbWVFcnJvckNvZGUge1xuICAvLyBRdWVyeVxuICBRVUVSWV9GRUFUVVJFX1VTRURfTVVMVElQTEVfVElNRVMgPSAwLFxuXG4gIC8vIFF1ZXJ5IGZlYXR1cmVzXG4gIFdJVEhfQVJHU19RVUVSWV9GRUFUVVJFX01JU1NJTkdfQlVUX1JPVVRFX0lTX0ZVTkNUSU9OID0gMTAwLFxuICBXSVRIX1BPTExJTkdfVVNFRF9PTl9VTlNVUFBPUlRFRF9IVFRQX01FVEhPRCA9IDEwMSxcbiAgV0lUSF9BVVRPX1JFRlJFU0hfVVNFRF9PTl9VTlNVUFBPUlRFRF9IVFRQX01FVEhPRCA9IDEwMixcbiAgV0lUSF9BVVRPX1JFRlJFU0hfVVNFRF9JTl9NQU5VQUxfUVVFUlkgPSAxMDMsXG5cbiAgLy8gQXV0aCBwcm92aWRlclxuICBDT09LSUVfTE9HSU5fVFJJRURfQlVUX0NPT0tJRV9ESVNBQkxFRCA9IDIwMCxcbiAgRU5BQkxFX0NPT0tJRV9DQUxMRURfV0lUSE9VVF9DT09LSUVfQ09ORklHID0gMjAxLFxuICBESVNBQkxFX0NPT0tJRV9DQUxMRURfV0lUSE9VVF9DT09LSUVfQ09ORklHID0gMjAyLFxuICBMT0dJTl9DQUxMRURfV0lUSE9VVF9DT05GSUcgPSAyMDMsXG4gIExPR0lOX1dJVEhfVE9LRU5fQ0FMTEVEX1dJVEhPVVRfQ09ORklHID0gMjA0LFxuICBSRUZSRVNIX1RPS0VOX0NBTExFRF9XSVRIT1VUX0NPTkZJRyA9IDIwNSxcbiAgU0VMRUNUX1JPTEVfQ0FMTEVEX1dJVEhPVVRfQ09ORklHID0gMjA2LFxuICBERUZBVUxUX1JFU1BPTlNFX1RSQU5TRk9STUVSX1JFU1BPTlNFX05PVF9PQkpFQ1QgPSAyMDcsXG4gIERFRkFVTFRfUkVTUE9OU0VfVFJBTlNGT1JNRVJfUkVTUE9OU0VfTk9UX0NPTlRBSU5JTkdfQUNDRVNTX1RPS0VOID0gMjA4LFxuICBERUZBVUxUX1JFU1BPTlNFX1RSQU5TRk9STUVSX1JFU1BPTlNFX05PVF9DT05UQUlOSU5HX1JFRlJFU0hfVE9LRU4gPSAyMDksXG4gIFVOQUJMRV9UT19ERUNSWVBUX0JFQVJFUl9UT0tFTiA9IDIxMCxcbiAgQkVBUkVSX0VYUElSRVNfSU5fUFJPUEVSVFlfTk9UX05VTUJFUiA9IDIxMSxcblxuICAvLyBRdWVyeSBSZXBvc2l0b3J5XG4gIFVOQ0FDSEVBQkxFX1JFUVVFU1RfSEFTX0NBQ0hFX0tFWV9QQVJBTSA9IDMwMCxcbiAgVU5DQUNIRUFCTEVfUkVRVUVTVF9IQVNfU0tJUF9DQUNIRV9QQVJBTSA9IDMwMSxcbn1cblxuZXhwb3J0IGNvbnN0IHF1ZXJ5RmVhdHVyZVVzZWRNdWx0aXBsZVRpbWVzID0gKHR5cGU6IFF1ZXJ5RmVhdHVyZVR5cGUpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5RVUVSWV9GRUFUVVJFX1VTRURfTVVMVElQTEVfVElNRVMsXG4gICAgYFRoZSBxdWVyeSBmZWF0dXJlIFwiJHt0eXBlfSgpXCIgd2FzIHVzZWQgbXVsdGlwbGUgdGltZXMuYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCB3aXRoQXJnc1F1ZXJ5RmVhdHVyZU1pc3NpbmdCdXRSb3V0ZUlzRnVuY3Rpb24gPSAoKSA9PiB7XG4gIHJldHVybiBuZXcgUnVudGltZUVycm9yKFxuICAgIFJ1bnRpbWVFcnJvckNvZGUuV0lUSF9BUkdTX1FVRVJZX0ZFQVRVUkVfTUlTU0lOR19CVVRfUk9VVEVfSVNfRlVOQ1RJT04sXG4gICAgYFRoaXMgcXVlcmllcyByb3V0ZSBpcyBhIGZ1bmN0aW9uLCBidXQgYSBcIndpdGhBcmdzKClcIiBmZWF0dXJlIGlzIG1pc3NpbmcuYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCB3aXRoUG9sbGluZ1VzZWRPblVuc3VwcG9ydGVkSHR0cE1ldGhvZCA9IChtZXRob2Q6IFF1ZXJ5TWV0aG9kKSA9PiB7XG4gIHJldHVybiBuZXcgUnVudGltZUVycm9yKFxuICAgIFJ1bnRpbWVFcnJvckNvZGUuV0lUSF9QT0xMSU5HX1VTRURfT05fVU5TVVBQT1JURURfSFRUUF9NRVRIT0QsXG4gICAgYFRoaXMgaXMgYSBcIiR7bWV0aG9kfVwiIHJlcXVlc3QsIFwid2l0aFBvbGxpbmcoKVwiIGlzIG9ubHkgc3VwcG9ydGVkIGZvciBHRVQsIEhFQUQsIE9QVElPTlMgcmVxdWVzdHMgYW5kIEdRTCBxdWVyaWVzLmAsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3Qgd2l0aEF1dG9SZWZyZXNoVXNlZE9uVW5zdXBwb3J0ZWRIdHRwTWV0aG9kID0gKG1ldGhvZDogUXVlcnlNZXRob2QpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5XSVRIX0FVVE9fUkVGUkVTSF9VU0VEX09OX1VOU1VQUE9SVEVEX0hUVFBfTUVUSE9ELFxuICAgIGBUaGlzIGlzIGEgXCIke21ldGhvZH1cIiByZXF1ZXN0LCBcIndpdGhBdXRvUmVmcmVzaCgpXCIgaXMgb25seSBzdXBwb3J0ZWQgZm9yIEdFVCwgSEVBRCwgT1BUSU9OUyByZXF1ZXN0cyBhbmQgR1FMIHF1ZXJpZXMuYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCB3aXRoQXV0b1JlZnJlc2hVc2VkSW5NYW51YWxRdWVyeSA9ICgpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5XSVRIX0FVVE9fUkVGUkVTSF9VU0VEX0lOX01BTlVBTF9RVUVSWSxcbiAgICBgXCJ3aXRoQXV0b1JlZnJlc2goKVwiIGhhcyBiZWVuIHVzZWQgaW5zaWRlIGEgcXVlcnkgdGhhdCBoYXMgXCJvbmx5TWFudWFsRXhlY3V0aW9uXCIgc2V0IHRvIHRydWUuYCArXG4gICAgICBgIElmIHRoaXMgaXMgaW50ZW50aW9uYWwsIHNldCBcImlnbm9yZU9ubHlNYW51YWxFeGVjdXRpb25cIiB0byB0cnVlIGluc2lkZSB0aGUgYXV0byByZWZyZXNoIGNvbmZpZy5gLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGNvb2tpZUxvZ2luVHJpZWRCdXRDb29raWVEaXNhYmxlZCA9ICgpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5DT09LSUVfTE9HSU5fVFJJRURfQlVUX0NPT0tJRV9ESVNBQkxFRCxcbiAgICBgQ29va2llIGxvZ2luIGhhcyBiZWVuIHRyaWVkLCBidXQgdGhlIGNvb2tpZSBpcyBkaXNhYmxlZC5gLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGVuYWJsZUNvb2tpZUNhbGxlZFdpdGhvdXRDb29raWVDb25maWcgPSAoKSA9PiB7XG4gIHJldHVybiBuZXcgUnVudGltZUVycm9yKFxuICAgIFJ1bnRpbWVFcnJvckNvZGUuRU5BQkxFX0NPT0tJRV9DQUxMRURfV0lUSE9VVF9DT09LSUVfQ09ORklHLFxuICAgIGBlbmFibGVDb29raWUoKSBoYXMgYmVlbiBjYWxsZWQgYnV0IHRoZXJlIGlzIG5vIGNvb2tpZSBjb25maWcuIFBsZWFzZSBzZXQgaXQgZHVyaW5nIHRoZSBhdXRoIHByb3ZpZGVyIGNyZWF0aW9uLmAsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgZGlzYWJsZUNvb2tpZUNhbGxlZFdpdGhvdXRDb29raWVDb25maWcgPSAoKSA9PiB7XG4gIHJldHVybiBuZXcgUnVudGltZUVycm9yKFxuICAgIFJ1bnRpbWVFcnJvckNvZGUuRElTQUJMRV9DT09LSUVfQ0FMTEVEX1dJVEhPVVRfQ09PS0lFX0NPTkZJRyxcbiAgICBgZGlzYWJsZUNvb2tpZSgpIGhhcyBiZWVuIGNhbGxlZCBidXQgdGhlcmUgaXMgbm8gY29va2llIGNvbmZpZy4gUGxlYXNlIHNldCBpdCBkdXJpbmcgdGhlIGF1dGggcHJvdmlkZXIgY3JlYXRpb24uYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBsb2dpbkNhbGxlZFdpdGhvdXRDb25maWcgPSAoKSA9PiB7XG4gIHJldHVybiBuZXcgUnVudGltZUVycm9yKFxuICAgIFJ1bnRpbWVFcnJvckNvZGUuTE9HSU5fQ0FMTEVEX1dJVEhPVVRfQ09ORklHLFxuICAgIGBsb2dpbigpIGhhcyBiZWVuIGNhbGxlZCB3aXRob3V0IGEgY29uZmlnLiBQbGVhc2Ugc2V0IGl0IGR1cmluZyB0aGUgYXV0aCBwcm92aWRlciBjcmVhdGlvbi5gLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGxvZ2luV2l0aFRva2VuQ2FsbGVkV2l0aG91dENvbmZpZyA9ICgpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5MT0dJTl9XSVRIX1RPS0VOX0NBTExFRF9XSVRIT1VUX0NPTkZJRyxcbiAgICBgbG9naW5XaXRoVG9rZW4oKSBoYXMgYmVlbiBjYWxsZWQgd2l0aG91dCBhIGNvbmZpZy4gUGxlYXNlIHNldCBpdCBkdXJpbmcgdGhlIGF1dGggcHJvdmlkZXIgY3JlYXRpb24uYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCByZWZyZXNoVG9rZW5DYWxsZWRXaXRob3V0Q29uZmlnID0gKCkgPT4ge1xuICByZXR1cm4gbmV3IFJ1bnRpbWVFcnJvcihcbiAgICBSdW50aW1lRXJyb3JDb2RlLlJFRlJFU0hfVE9LRU5fQ0FMTEVEX1dJVEhPVVRfQ09ORklHLFxuICAgIGByZWZyZXNoVG9rZW4oKSBoYXMgYmVlbiBjYWxsZWQgd2l0aG91dCBhIGNvbmZpZy4gUGxlYXNlIHNldCBpdCBkdXJpbmcgdGhlIGF1dGggcHJvdmlkZXIgY3JlYXRpb24uYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZWxlY3RSb2xlQ2FsbGVkV2l0aG91dENvbmZpZyA9ICgpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5TRUxFQ1RfUk9MRV9DQUxMRURfV0lUSE9VVF9DT05GSUcsXG4gICAgYHNlbGVjdFJvbGUoKSBoYXMgYmVlbiBjYWxsZWQgd2l0aG91dCBhIGNvbmZpZy4gUGxlYXNlIHNldCBpdCBkdXJpbmcgdGhlIGF1dGggcHJvdmlkZXIgY3JlYXRpb24uYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0UmVzcG9uc2VUcmFuc2Zvcm1lclJlc3BvbnNlTm90T2JqZWN0ID0gKGN1cnJlbnRUeXBlOiBzdHJpbmcpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5ERUZBVUxUX1JFU1BPTlNFX1RSQU5TRk9STUVSX1JFU1BPTlNFX05PVF9PQkpFQ1QsXG4gICAgYFRoZSBkZWZhdWx0IHJlc3BvbnNlIHRyYW5zZm9ybWVyIGV4cGVjdHMgdGhlIHJlc3BvbnNlIHRvIGJlIGFuIG9iamVjdCwgYnV0IGl0IGlzIGEgXCIke2N1cnJlbnRUeXBlfVwiLmAsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdFJlc3BvbnNlVHJhbnNmb3JtZXJSZXNwb25zZU5vdENvbnRhaW5pbmdBY2Nlc3NUb2tlbiA9ICgpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5ERUZBVUxUX1JFU1BPTlNFX1RSQU5TRk9STUVSX1JFU1BPTlNFX05PVF9DT05UQUlOSU5HX0FDQ0VTU19UT0tFTixcbiAgICBgVGhlIGRlZmF1bHQgcmVzcG9uc2UgdHJhbnNmb3JtZXIgZXhwZWN0cyB0aGUgcmVzcG9uc2UgdG8gY29udGFpbiBhbiBcImFjY2Vzc1Rva2VuXCIgcHJvcGVydHkuYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0UmVzcG9uc2VUcmFuc2Zvcm1lclJlc3BvbnNlTm90Q29udGFpbmluZ1JlZnJlc2hUb2tlbiA9ICgpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5ERUZBVUxUX1JFU1BPTlNFX1RSQU5TRk9STUVSX1JFU1BPTlNFX05PVF9DT05UQUlOSU5HX1JFRlJFU0hfVE9LRU4sXG4gICAgYFRoZSBkZWZhdWx0IHJlc3BvbnNlIHRyYW5zZm9ybWVyIGV4cGVjdHMgdGhlIHJlc3BvbnNlIHRvIGNvbnRhaW4gYSBcInJlZnJlc2hUb2tlblwiIHByb3BlcnR5LmAsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgdW5hYmxlVG9EZWNyeXB0QmVhcmVyVG9rZW4gPSAodG9rZW46IHN0cmluZykgPT4ge1xuICByZXR1cm4gbmV3IFJ1bnRpbWVFcnJvcihcbiAgICBSdW50aW1lRXJyb3JDb2RlLlVOQUJMRV9UT19ERUNSWVBUX0JFQVJFUl9UT0tFTixcbiAgICBgVGhlIGJlYXJlciB0b2tlbiBjb3VsZCBub3QgYmUgZGVjcnlwdGVkOiAke3Rva2VufWAsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgYmVhcmVyRXhwaXJlc0luUHJvcGVydHlOb3ROdW1iZXIgPSAoZXhwaXJlc0luOiB1bmtub3duKSA9PiB7XG4gIHJldHVybiBuZXcgUnVudGltZUVycm9yKFxuICAgIFJ1bnRpbWVFcnJvckNvZGUuQkVBUkVSX0VYUElSRVNfSU5fUFJPUEVSVFlfTk9UX05VTUJFUixcbiAgICBgVGhlIGV4cGlyZXMgaW4gcHJvcGVydHkgaXMgbm90IGEgbnVtYmVyOiAke2V4cGlyZXNJbn1gLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHVuY2FjaGVhYmxlUmVxdWVzdEhhc0NhY2hlS2V5UGFyYW0gPSAoa2V5OiBzdHJpbmcpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5VTkNBQ0hFQUJMRV9SRVFVRVNUX0hBU19DQUNIRV9LRVlfUEFSQU0sXG4gICAgYFRoaXMgcmVxdWVzdCBpcyB1bmNhY2hlYWJsZSwgYnV0IGEgY2FjaGUga2V5IHdhcyBwcm92aWRlZDogJHtrZXl9LiBQbGVhc2UgcmVtb3ZlIGl0LmAsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgdW5jYWNoZWFibGVSZXF1ZXN0SGFzU2tpcENhY2hlUGFyYW0gPSAoKSA9PiB7XG4gIHJldHVybiBuZXcgUnVudGltZUVycm9yKFxuICAgIFJ1bnRpbWVFcnJvckNvZGUuVU5DQUNIRUFCTEVfUkVRVUVTVF9IQVNfU0tJUF9DQUNIRV9QQVJBTSxcbiAgICBgVGhpcyByZXF1ZXN0IGlzIHVuY2FjaGVhYmxlLCBidXQgc2tpcENhY2hlIGlzIHNldCB0byB0cnVlLiBQbGVhc2UgcmVtb3ZlIGl0LmAsXG4gICk7XG59O1xuIl19
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { runInInjectionContext, signal } from '@angular/core';
|
|
2
|
-
import { syncSignal } from '@ethlete/core';
|
|
3
|
-
export const resetExecuteState = (options) => {
|
|
4
|
-
const { executeState, executeOptions: opts } = options;
|
|
5
|
-
const { state } = opts;
|
|
6
|
-
cleanupPreviousExecute({ executeOptions: opts, executeState });
|
|
7
|
-
opts.deps.client.repository.unbind(executeState.previousKey(), opts.deps.destroyRef);
|
|
8
|
-
state.args.set(null);
|
|
9
|
-
state.error.set(null);
|
|
10
|
-
state.latestHttpEvent.set(null);
|
|
11
|
-
state.loading.set(null);
|
|
12
|
-
state.response.set(null);
|
|
13
|
-
state.lastTimeExecutedAt.set(null);
|
|
14
|
-
};
|
|
15
|
-
export const setupQueryExecuteState = () => {
|
|
16
|
-
return {
|
|
17
|
-
effectRefs: [],
|
|
18
|
-
previousKey: signal(false),
|
|
19
|
-
};
|
|
20
|
-
};
|
|
21
|
-
export const queryExecute = (options) => {
|
|
22
|
-
const { executeOptions, args, executeState, options: runQueryOptions } = options;
|
|
23
|
-
const { deps, state, creator, creatorInternals, queryConfig } = executeOptions;
|
|
24
|
-
const { key, request } = deps.client.repository.request({
|
|
25
|
-
route: creator.route,
|
|
26
|
-
method: creatorInternals.method,
|
|
27
|
-
args,
|
|
28
|
-
clientOptions: {
|
|
29
|
-
reportProgress: creator.reportProgress,
|
|
30
|
-
withCredentials: creator.withCredentials,
|
|
31
|
-
transferCache: creator.transferCache,
|
|
32
|
-
responseType: creator.responseType,
|
|
33
|
-
},
|
|
34
|
-
destroyRef: deps.destroyRef,
|
|
35
|
-
key: queryConfig.key,
|
|
36
|
-
previousKey: executeState.previousKey(),
|
|
37
|
-
runQueryOptions,
|
|
38
|
-
});
|
|
39
|
-
executeState.previousKey.set(key);
|
|
40
|
-
runInInjectionContext(deps.injector, () => {
|
|
41
|
-
const responseRef = syncSignal(request.response, state.response);
|
|
42
|
-
const loadingRef = syncSignal(request.loading, state.loading);
|
|
43
|
-
const errorRef = syncSignal(request.error, state.error);
|
|
44
|
-
const latestHttpEventRef = syncSignal(request.currentEvent, state.latestHttpEvent);
|
|
45
|
-
executeState.effectRefs.push(responseRef, loadingRef, errorRef, latestHttpEventRef);
|
|
46
|
-
});
|
|
47
|
-
state.lastTimeExecutedAt.set(Date.now());
|
|
48
|
-
};
|
|
49
|
-
export const cleanupPreviousExecute = (options) => {
|
|
50
|
-
const { executeState } = options;
|
|
51
|
-
executeState.effectRefs.forEach((ref) => ref.destroy());
|
|
52
|
-
executeState.effectRefs.length = 0;
|
|
53
|
-
};
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktZXhlY3V0ZS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcXVlcnkvc3JjL2xpYi9leHBlcmltZW50YWwvcXVlcnktZXhlY3V0ZS11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWEscUJBQXFCLEVBQUUsTUFBTSxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUN6RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBUzNDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQTBCLE9BQXdDLEVBQUUsRUFBRTtJQUNyRyxNQUFNLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUM7SUFDdkQsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQztJQUV2QixzQkFBc0IsQ0FBQyxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUUvRCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRXJGLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JCLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RCLEtBQUssQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hCLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pCLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDckMsQ0FBQyxDQUFDO0FBT0YsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsR0FBc0IsRUFBRTtJQUM1RCxPQUFPO1FBQ0wsVUFBVSxFQUFFLEVBQUU7UUFDZCxXQUFXLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQztLQUMzQixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBY0YsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQTBCLE9BQW1DLEVBQUUsRUFBRTtJQUMzRixNQUFNLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUNqRixNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLEdBQUcsY0FBYyxDQUFDO0lBRS9FLE1BQU0sRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO1FBQ3RELEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSztRQUNwQixNQUFNLEVBQUUsZ0JBQWdCLENBQUMsTUFBTTtRQUMvQixJQUFJO1FBQ0osYUFBYSxFQUFFO1lBQ2IsY0FBYyxFQUFFLE9BQU8sQ0FBQyxjQUFjO1lBQ3RDLGVBQWUsRUFBRSxPQUFPLENBQUMsZUFBZTtZQUN4QyxhQUFhLEVBQUUsT0FBTyxDQUFDLGFBQWE7WUFDcEMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZO1NBQ25DO1FBQ0QsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1FBQzNCLEdBQUcsRUFBRSxXQUFXLENBQUMsR0FBRztRQUNwQixXQUFXLEVBQUUsWUFBWSxDQUFDLFdBQVcsRUFBRTtRQUN2QyxlQUFlO0tBQ2hCLENBQUMsQ0FBQztJQUVILFlBQVksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRWxDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFO1FBQ3hDLE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNqRSxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUQsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hELE1BQU0sa0JBQWtCLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRW5GLFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDdEYsQ0FBQyxDQUFDLENBQUM7SUFFSCxLQUFLLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0FBQzNDLENBQUMsQ0FBQztBQU9GLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLENBQTBCLE9BQTZDLEVBQUUsRUFBRTtJQUMvRyxNQUFNLEVBQUUsWUFBWSxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBRWpDLFlBQVksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN4RCxZQUFZLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFDckMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWZmZWN0UmVmLCBydW5JbkluamVjdGlvbkNvbnRleHQsIHNpZ25hbCwgV3JpdGFibGVTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHN5bmNTaWduYWwgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IFF1ZXJ5QXJncywgUmVxdWVzdEFyZ3MgfSBmcm9tICcuL3F1ZXJ5JztcbmltcG9ydCB7IENyZWF0ZVF1ZXJ5RXhlY3V0ZU9wdGlvbnMgfSBmcm9tICcuL3F1ZXJ5LWV4ZWN1dGUnO1xuXG5leHBvcnQgdHlwZSBSZXNldEV4ZWN1dGVTdGF0ZU9wdGlvbnM8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+ID0ge1xuICBleGVjdXRlT3B0aW9uczogQ3JlYXRlUXVlcnlFeGVjdXRlT3B0aW9uczxUQXJncz47XG4gIGV4ZWN1dGVTdGF0ZTogUXVlcnlFeGVjdXRlU3RhdGU7XG59O1xuXG5leHBvcnQgY29uc3QgcmVzZXRFeGVjdXRlU3RhdGUgPSA8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+KG9wdGlvbnM6IFJlc2V0RXhlY3V0ZVN0YXRlT3B0aW9uczxUQXJncz4pID0+IHtcbiAgY29uc3QgeyBleGVjdXRlU3RhdGUsIGV4ZWN1dGVPcHRpb25zOiBvcHRzIH0gPSBvcHRpb25zO1xuICBjb25zdCB7IHN0YXRlIH0gPSBvcHRzO1xuXG4gIGNsZWFudXBQcmV2aW91c0V4ZWN1dGUoeyBleGVjdXRlT3B0aW9uczogb3B0cywgZXhlY3V0ZVN0YXRlIH0pO1xuXG4gIG9wdHMuZGVwcy5jbGllbnQucmVwb3NpdG9yeS51bmJpbmQoZXhlY3V0ZVN0YXRlLnByZXZpb3VzS2V5KCksIG9wdHMuZGVwcy5kZXN0cm95UmVmKTtcblxuICBzdGF0ZS5hcmdzLnNldChudWxsKTtcbiAgc3RhdGUuZXJyb3Iuc2V0KG51bGwpO1xuICBzdGF0ZS5sYXRlc3RIdHRwRXZlbnQuc2V0KG51bGwpO1xuICBzdGF0ZS5sb2FkaW5nLnNldChudWxsKTtcbiAgc3RhdGUucmVzcG9uc2Uuc2V0KG51bGwpO1xuICBzdGF0ZS5sYXN0VGltZUV4ZWN1dGVkQXQuc2V0KG51bGwpO1xufTtcblxuZXhwb3J0IHR5cGUgUXVlcnlFeGVjdXRlU3RhdGUgPSB7XG4gIGVmZmVjdFJlZnM6IEVmZmVjdFJlZltdO1xuICBwcmV2aW91c0tleTogV3JpdGFibGVTaWduYWw8c3RyaW5nIHwgZmFsc2U+O1xufTtcblxuZXhwb3J0IGNvbnN0IHNldHVwUXVlcnlFeGVjdXRlU3RhdGUgPSAoKTogUXVlcnlFeGVjdXRlU3RhdGUgPT4ge1xuICByZXR1cm4ge1xuICAgIGVmZmVjdFJlZnM6IFtdLFxuICAgIHByZXZpb3VzS2V5OiBzaWduYWwoZmFsc2UpLFxuICB9O1xufTtcblxuZXhwb3J0IHR5cGUgUnVuUXVlcnlFeGVjdXRlT3B0aW9ucyA9IHtcbiAgc2tpcENhY2hlPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIFF1ZXJ5RXhlY3V0ZU9wdGlvbnM8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+ID0ge1xuICBleGVjdXRlT3B0aW9uczogQ3JlYXRlUXVlcnlFeGVjdXRlT3B0aW9uczxUQXJncz47XG4gIGV4ZWN1dGVTdGF0ZTogUXVlcnlFeGVjdXRlU3RhdGU7XG5cbiAgYXJnczogUmVxdWVzdEFyZ3M8VEFyZ3M+IHwgbnVsbDtcbiAgb3B0aW9ucz86IFJ1blF1ZXJ5RXhlY3V0ZU9wdGlvbnM7XG59O1xuXG5leHBvcnQgY29uc3QgcXVlcnlFeGVjdXRlID0gPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPihvcHRpb25zOiBRdWVyeUV4ZWN1dGVPcHRpb25zPFRBcmdzPikgPT4ge1xuICBjb25zdCB7IGV4ZWN1dGVPcHRpb25zLCBhcmdzLCBleGVjdXRlU3RhdGUsIG9wdGlvbnM6IHJ1blF1ZXJ5T3B0aW9ucyB9ID0gb3B0aW9ucztcbiAgY29uc3QgeyBkZXBzLCBzdGF0ZSwgY3JlYXRvciwgY3JlYXRvckludGVybmFscywgcXVlcnlDb25maWcgfSA9IGV4ZWN1dGVPcHRpb25zO1xuXG4gIGNvbnN0IHsga2V5LCByZXF1ZXN0IH0gPSBkZXBzLmNsaWVudC5yZXBvc2l0b3J5LnJlcXVlc3Qoe1xuICAgIHJvdXRlOiBjcmVhdG9yLnJvdXRlLFxuICAgIG1ldGhvZDogY3JlYXRvckludGVybmFscy5tZXRob2QsXG4gICAgYXJncyxcbiAgICBjbGllbnRPcHRpb25zOiB7XG4gICAgICByZXBvcnRQcm9ncmVzczogY3JlYXRvci5yZXBvcnRQcm9ncmVzcyxcbiAgICAgIHdpdGhDcmVkZW50aWFsczogY3JlYXRvci53aXRoQ3JlZGVudGlhbHMsXG4gICAgICB0cmFuc2ZlckNhY2hlOiBjcmVhdG9yLnRyYW5zZmVyQ2FjaGUsXG4gICAgICByZXNwb25zZVR5cGU6IGNyZWF0b3IucmVzcG9uc2VUeXBlLFxuICAgIH0sXG4gICAgZGVzdHJveVJlZjogZGVwcy5kZXN0cm95UmVmLFxuICAgIGtleTogcXVlcnlDb25maWcua2V5LFxuICAgIHByZXZpb3VzS2V5OiBleGVjdXRlU3RhdGUucHJldmlvdXNLZXkoKSxcbiAgICBydW5RdWVyeU9wdGlvbnMsXG4gIH0pO1xuXG4gIGV4ZWN1dGVTdGF0ZS5wcmV2aW91c0tleS5zZXQoa2V5KTtcblxuICBydW5JbkluamVjdGlvbkNvbnRleHQoZGVwcy5pbmplY3RvciwgKCkgPT4ge1xuICAgIGNvbnN0IHJlc3BvbnNlUmVmID0gc3luY1NpZ25hbChyZXF1ZXN0LnJlc3BvbnNlLCBzdGF0ZS5yZXNwb25zZSk7XG4gICAgY29uc3QgbG9hZGluZ1JlZiA9IHN5bmNTaWduYWwocmVxdWVzdC5sb2FkaW5nLCBzdGF0ZS5sb2FkaW5nKTtcbiAgICBjb25zdCBlcnJvclJlZiA9IHN5bmNTaWduYWwocmVxdWVzdC5lcnJvciwgc3RhdGUuZXJyb3IpO1xuICAgIGNvbnN0IGxhdGVzdEh0dHBFdmVudFJlZiA9IHN5bmNTaWduYWwocmVxdWVzdC5jdXJyZW50RXZlbnQsIHN0YXRlLmxhdGVzdEh0dHBFdmVudCk7XG5cbiAgICBleGVjdXRlU3RhdGUuZWZmZWN0UmVmcy5wdXNoKHJlc3BvbnNlUmVmLCBsb2FkaW5nUmVmLCBlcnJvclJlZiwgbGF0ZXN0SHR0cEV2ZW50UmVmKTtcbiAgfSk7XG5cbiAgc3RhdGUubGFzdFRpbWVFeGVjdXRlZEF0LnNldChEYXRlLm5vdygpKTtcbn07XG5cbmV4cG9ydCB0eXBlIENsZWFudXBQcmV2aW91c0V4ZWN1dGVPcHRpb25zPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPiA9IHtcbiAgZXhlY3V0ZU9wdGlvbnM6IENyZWF0ZVF1ZXJ5RXhlY3V0ZU9wdGlvbnM8VEFyZ3M+O1xuICBleGVjdXRlU3RhdGU6IFF1ZXJ5RXhlY3V0ZVN0YXRlO1xufTtcblxuZXhwb3J0IGNvbnN0IGNsZWFudXBQcmV2aW91c0V4ZWN1dGUgPSA8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+KG9wdGlvbnM6IENsZWFudXBQcmV2aW91c0V4ZWN1dGVPcHRpb25zPFRBcmdzPikgPT4ge1xuICBjb25zdCB7IGV4ZWN1dGVTdGF0ZSB9ID0gb3B0aW9ucztcblxuICBleGVjdXRlU3RhdGUuZWZmZWN0UmVmcy5mb3JFYWNoKChyZWYpID0+IHJlZi5kZXN0cm95KCkpO1xuICBleGVjdXRlU3RhdGUuZWZmZWN0UmVmcy5sZW5ndGggPSAwO1xufTtcbiJdfQ==
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { cleanupPreviousExecute, queryExecute, resetExecuteState, setupQueryExecuteState, } from './query-execute-utils';
|
|
2
|
-
export const createExecuteFn = (executeOptions) => {
|
|
3
|
-
const executeState = setupQueryExecuteState();
|
|
4
|
-
const reset = () => resetExecuteState({ executeState, executeOptions });
|
|
5
|
-
const exec = (executeArgs) => {
|
|
6
|
-
const { args = executeOptions.state.args() } = executeArgs ?? {};
|
|
7
|
-
cleanupPreviousExecute({ executeOptions, executeState });
|
|
8
|
-
queryExecute({ executeOptions, executeState, args });
|
|
9
|
-
};
|
|
10
|
-
exec['reset'] = reset;
|
|
11
|
-
exec['currentRepositoryKey'] = executeState.previousKey.asReadonly();
|
|
12
|
-
return exec;
|
|
13
|
-
};
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktZXhlY3V0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcXVlcnkvc3JjL2xpYi9leHBlcmltZW50YWwvcXVlcnktZXhlY3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLFlBQVksRUFDWixpQkFBaUIsRUFFakIsc0JBQXNCLEdBQ3ZCLE1BQU0sdUJBQXVCLENBQUM7QUFzQi9CLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUM3QixjQUFnRCxFQUMzQixFQUFFO0lBQ3ZCLE1BQU0sWUFBWSxHQUFHLHNCQUFzQixFQUFFLENBQUM7SUFFOUMsTUFBTSxLQUFLLEdBQUcsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUMsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUV4RSxNQUFNLElBQUksR0FBRyxDQUFDLFdBQXFDLEVBQUUsRUFBRTtRQUNyRCxNQUFNLEVBQUUsSUFBSSxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsR0FBRyxXQUFXLElBQUksRUFBRSxDQUFDO1FBQ2pFLHNCQUFzQixDQUFDLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDekQsWUFBWSxDQUFDLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELENBQUMsQ0FBQztJQUVGLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxLQUFLLENBQUM7SUFFdEIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUVyRSxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUXVlcnlBcmdzLCBSZXF1ZXN0QXJncyB9IGZyb20gJy4vcXVlcnknO1xuaW1wb3J0IHsgQ3JlYXRlUXVlcnlDcmVhdG9yT3B0aW9ucywgSW50ZXJuYWxDcmVhdGVRdWVyeUNyZWF0b3JPcHRpb25zLCBRdWVyeUNvbmZpZyB9IGZyb20gJy4vcXVlcnktY3JlYXRvcic7XG5pbXBvcnQgeyBRdWVyeURlcGVuZGVuY2llcyB9IGZyb20gJy4vcXVlcnktZGVwZW5kZW5jaWVzJztcbmltcG9ydCB7XG4gIGNsZWFudXBQcmV2aW91c0V4ZWN1dGUsXG4gIHF1ZXJ5RXhlY3V0ZSxcbiAgcmVzZXRFeGVjdXRlU3RhdGUsXG4gIFJ1blF1ZXJ5RXhlY3V0ZU9wdGlvbnMsXG4gIHNldHVwUXVlcnlFeGVjdXRlU3RhdGUsXG59IGZyb20gJy4vcXVlcnktZXhlY3V0ZS11dGlscyc7XG5pbXBvcnQgeyBRdWVyeVN0YXRlIH0gZnJvbSAnLi9xdWVyeS1zdGF0ZSc7XG5cbmV4cG9ydCB0eXBlIENyZWF0ZVF1ZXJ5RXhlY3V0ZU9wdGlvbnM8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+ID0ge1xuICBkZXBzOiBRdWVyeURlcGVuZGVuY2llcztcbiAgc3RhdGU6IFF1ZXJ5U3RhdGU8VEFyZ3M+O1xuICBjcmVhdG9yOiBDcmVhdGVRdWVyeUNyZWF0b3JPcHRpb25zPFRBcmdzPjtcbiAgY3JlYXRvckludGVybmFsczogSW50ZXJuYWxDcmVhdGVRdWVyeUNyZWF0b3JPcHRpb25zO1xuICBxdWVyeUNvbmZpZzogUXVlcnlDb25maWc7XG59O1xuXG5leHBvcnQgdHlwZSBRdWVyeUV4ZWN1dGVBcmdzPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPiA9IHtcbiAgYXJncz86IFJlcXVlc3RBcmdzPFRBcmdzPiB8IG51bGw7XG4gIG9wdGlvbnM/OiBSdW5RdWVyeUV4ZWN1dGVPcHRpb25zO1xufTtcblxuZXhwb3J0IHR5cGUgUXVlcnlFeGVjdXRlPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPiA9IHtcbiAgKGV4ZWN1dGVBcmdzPzogUXVlcnlFeGVjdXRlQXJnczxUQXJncz4pOiB2b2lkO1xuICByZXNldDogKCkgPT4gdm9pZDtcbiAgY3VycmVudFJlcG9zaXRvcnlLZXk6IFNpZ25hbDxzdHJpbmcgfCBmYWxzZT47XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlRXhlY3V0ZUZuID0gPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPihcbiAgZXhlY3V0ZU9wdGlvbnM6IENyZWF0ZVF1ZXJ5RXhlY3V0ZU9wdGlvbnM8VEFyZ3M+LFxuKTogUXVlcnlFeGVjdXRlPFRBcmdzPiA9PiB7XG4gIGNvbnN0IGV4ZWN1dGVTdGF0ZSA9IHNldHVwUXVlcnlFeGVjdXRlU3RhdGUoKTtcblxuICBjb25zdCByZXNldCA9ICgpID0+IHJlc2V0RXhlY3V0ZVN0YXRlKHsgZXhlY3V0ZVN0YXRlLCBleGVjdXRlT3B0aW9ucyB9KTtcblxuICBjb25zdCBleGVjID0gKGV4ZWN1dGVBcmdzPzogUXVlcnlFeGVjdXRlQXJnczxUQXJncz4pID0+IHtcbiAgICBjb25zdCB7IGFyZ3MgPSBleGVjdXRlT3B0aW9ucy5zdGF0ZS5hcmdzKCkgfSA9IGV4ZWN1dGVBcmdzID8/IHt9O1xuICAgIGNsZWFudXBQcmV2aW91c0V4ZWN1dGUoeyBleGVjdXRlT3B0aW9ucywgZXhlY3V0ZVN0YXRlIH0pO1xuICAgIHF1ZXJ5RXhlY3V0ZSh7IGV4ZWN1dGVPcHRpb25zLCBleGVjdXRlU3RhdGUsIGFyZ3MgfSk7XG4gIH07XG5cbiAgZXhlY1sncmVzZXQnXSA9IHJlc2V0O1xuXG4gIGV4ZWNbJ2N1cnJlbnRSZXBvc2l0b3J5S2V5J10gPSBleGVjdXRlU3RhdGUucHJldmlvdXNLZXkuYXNSZWFkb25seSgpO1xuXG4gIHJldHVybiBleGVjO1xufTtcbiJdfQ==
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-empty-function */
|
|
2
|
-
import { computed, effect, untracked } from '@angular/core';
|
|
3
|
-
import { withAutoRefreshUsedOnUnsupportedHttpMethod, withPollingUsedOnUnsupportedHttpMethod } from './query-errors';
|
|
4
|
-
import { QUERY_ARGS_RESET, QUERY_EFFECT_ERROR_MESSAGE, queryEffect, } from './query-utils';
|
|
5
|
-
const createQueryFeature = (config) => {
|
|
6
|
-
return config;
|
|
7
|
-
};
|
|
8
|
-
export const withArgs = (args) => {
|
|
9
|
-
return createQueryFeature({
|
|
10
|
-
type: "withArgs" /* QueryFeatureType.WithArgs */,
|
|
11
|
-
fn: (context) => {
|
|
12
|
-
const currArgs = computed(() => args());
|
|
13
|
-
queryEffect(() => {
|
|
14
|
-
const currArgsNow = currArgs();
|
|
15
|
-
if (currArgsNow === null)
|
|
16
|
-
return;
|
|
17
|
-
untracked(() => {
|
|
18
|
-
if (currArgsNow === QUERY_ARGS_RESET) {
|
|
19
|
-
context.state.args.set(null);
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
context.state.args.set(currArgsNow);
|
|
23
|
-
if (context.flags.shouldAutoExecute)
|
|
24
|
-
context.execute({ args: currArgsNow });
|
|
25
|
-
});
|
|
26
|
-
}, QUERY_EFFECT_ERROR_MESSAGE, { injector: context.deps.injector });
|
|
27
|
-
},
|
|
28
|
-
});
|
|
29
|
-
};
|
|
30
|
-
export const withPolling = (options) => {
|
|
31
|
-
return createQueryFeature({
|
|
32
|
-
type: "withPolling" /* QueryFeatureType.WithPolling */,
|
|
33
|
-
fn: (context) => {
|
|
34
|
-
if (!context.flags.shouldAutoExecuteMethod) {
|
|
35
|
-
throw withPollingUsedOnUnsupportedHttpMethod(context.creatorInternals.method);
|
|
36
|
-
}
|
|
37
|
-
let intervalId = null;
|
|
38
|
-
queryEffect(() => {
|
|
39
|
-
const args = context.state.args();
|
|
40
|
-
untracked(() => {
|
|
41
|
-
if (intervalId !== null)
|
|
42
|
-
clearInterval(intervalId);
|
|
43
|
-
if (args === null)
|
|
44
|
-
return;
|
|
45
|
-
if (options.executeInitially) {
|
|
46
|
-
context.execute({ args });
|
|
47
|
-
}
|
|
48
|
-
intervalId = window.setInterval(() => {
|
|
49
|
-
context.execute({ args });
|
|
50
|
-
}, options.interval);
|
|
51
|
-
});
|
|
52
|
-
}, QUERY_EFFECT_ERROR_MESSAGE, { injector: context.deps.injector });
|
|
53
|
-
context.deps.destroyRef.onDestroy(() => intervalId !== null && clearInterval(intervalId));
|
|
54
|
-
},
|
|
55
|
-
});
|
|
56
|
-
};
|
|
57
|
-
export const withLogging = (options) => {
|
|
58
|
-
return createQueryFeature({
|
|
59
|
-
type: "withLogging" /* QueryFeatureType.WithLogging */,
|
|
60
|
-
fn: (context) => {
|
|
61
|
-
effect(() => {
|
|
62
|
-
const event = context.state.latestHttpEvent();
|
|
63
|
-
if (event === null)
|
|
64
|
-
return;
|
|
65
|
-
untracked(() => {
|
|
66
|
-
options.logFn(event);
|
|
67
|
-
});
|
|
68
|
-
}, { injector: context.deps.injector });
|
|
69
|
-
},
|
|
70
|
-
});
|
|
71
|
-
};
|
|
72
|
-
export const withErrorHandling = (options) => {
|
|
73
|
-
return createQueryFeature({
|
|
74
|
-
type: "withErrorHandling" /* QueryFeatureType.WithErrorHandling */,
|
|
75
|
-
fn: (context) => {
|
|
76
|
-
effect(() => {
|
|
77
|
-
const error = context.state.error();
|
|
78
|
-
if (error === null)
|
|
79
|
-
return;
|
|
80
|
-
untracked(() => {
|
|
81
|
-
options.handler(error);
|
|
82
|
-
});
|
|
83
|
-
}, { injector: context.deps.injector });
|
|
84
|
-
},
|
|
85
|
-
});
|
|
86
|
-
};
|
|
87
|
-
export const withSuccessHandling = (options) => {
|
|
88
|
-
return createQueryFeature({
|
|
89
|
-
type: "withSuccessHandling" /* QueryFeatureType.WithSuccessHandling */,
|
|
90
|
-
fn: (context) => {
|
|
91
|
-
effect(() => {
|
|
92
|
-
const response = context.state.response();
|
|
93
|
-
if (response === null)
|
|
94
|
-
return;
|
|
95
|
-
untracked(() => {
|
|
96
|
-
options.handler(response);
|
|
97
|
-
});
|
|
98
|
-
}, { injector: context.deps.injector });
|
|
99
|
-
},
|
|
100
|
-
});
|
|
101
|
-
};
|
|
102
|
-
export const withAutoRefresh = (options) => {
|
|
103
|
-
return createQueryFeature({
|
|
104
|
-
type: "withAutoRefresh" /* QueryFeatureType.WithAutoRefresh */,
|
|
105
|
-
fn: (context) => {
|
|
106
|
-
if (!context.flags.shouldAutoExecuteMethod) {
|
|
107
|
-
throw withAutoRefreshUsedOnUnsupportedHttpMethod(context.creatorInternals.method);
|
|
108
|
-
}
|
|
109
|
-
if (context.queryConfig.onlyManualExecution && !options.ignoreOnlyManualExecution) {
|
|
110
|
-
throw withAutoRefreshUsedOnUnsupportedHttpMethod(context.creatorInternals.method);
|
|
111
|
-
}
|
|
112
|
-
queryEffect(() => {
|
|
113
|
-
for (const signal of options.signalChanges) {
|
|
114
|
-
signal();
|
|
115
|
-
}
|
|
116
|
-
untracked(() => {
|
|
117
|
-
const args = context.state.args();
|
|
118
|
-
if (args === null)
|
|
119
|
-
return;
|
|
120
|
-
context.execute({ args });
|
|
121
|
-
});
|
|
122
|
-
}, QUERY_EFFECT_ERROR_MESSAGE, { injector: context.deps.injector });
|
|
123
|
-
},
|
|
124
|
-
});
|
|
125
|
-
};
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktZmVhdHVyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvZXhwZXJpbWVudGFsL3F1ZXJ5LWZlYXR1cmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHlEQUF5RDtBQUd6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJcEUsT0FBTyxFQUFFLDBDQUEwQyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHcEgsT0FBTyxFQUNMLGdCQUFnQixFQUNoQiwwQkFBMEIsRUFFMUIsV0FBVyxHQUVaLE1BQU0sZUFBZSxDQUFDO0FBNEJ2QixNQUFNLGtCQUFrQixHQUFHLENBQTBCLE1BQTZELEVBQUUsRUFBRTtJQUNwSCxPQUFPLE1BQTZCLENBQUM7QUFDdkMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQTBCLElBQStELEVBQUUsRUFBRTtJQUNuSCxPQUFPLGtCQUFrQixDQUFRO1FBQy9CLElBQUksNENBQTJCO1FBQy9CLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ2QsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7WUFFeEMsV0FBVyxDQUNULEdBQUcsRUFBRTtnQkFDSCxNQUFNLFdBQVcsR0FBRyxRQUFRLEVBQUUsQ0FBQztnQkFFL0IsSUFBSSxXQUFXLEtBQUssSUFBSTtvQkFBRSxPQUFPO2dCQUVqQyxTQUFTLENBQUMsR0FBRyxFQUFFO29CQUNiLElBQUksV0FBVyxLQUFLLGdCQUFnQixFQUFFLENBQUM7d0JBQ3JDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDN0IsT0FBTztvQkFDVCxDQUFDO29CQUVELE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztvQkFFcEMsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLGlCQUFpQjt3QkFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7Z0JBQzlFLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxFQUNELDBCQUEwQixFQUMxQixFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUNwQyxDQUFDO1FBQ0osQ0FBQztLQUNGLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUEwQixPQUF5RCxFQUFFLEVBQUU7SUFDaEgsT0FBTyxrQkFBa0IsQ0FBUTtRQUMvQixJQUFJLGtEQUE4QjtRQUNsQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNkLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLHVCQUF1QixFQUFFLENBQUM7Z0JBQzNDLE1BQU0sc0NBQXNDLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2hGLENBQUM7WUFFRCxJQUFJLFVBQVUsR0FBa0IsSUFBSSxDQUFDO1lBRXJDLFdBQVcsQ0FDVCxHQUFHLEVBQUU7Z0JBQ0gsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFFbEMsU0FBUyxDQUFDLEdBQUcsRUFBRTtvQkFDYixJQUFJLFVBQVUsS0FBSyxJQUFJO3dCQUFFLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztvQkFFbkQsSUFBSSxJQUFJLEtBQUssSUFBSTt3QkFBRSxPQUFPO29CQUUxQixJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO3dCQUM3QixPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztvQkFDNUIsQ0FBQztvQkFFRCxVQUFVLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUU7d0JBQ25DLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO29CQUM1QixDQUFDLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUN2QixDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsRUFDRCwwQkFBMEIsRUFDMUIsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FDcEMsQ0FBQztZQUVGLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLEtBQUssSUFBSSxJQUFJLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQzVGLENBQUM7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBMEIsT0FFcEQsRUFBRSxFQUFFO0lBQ0gsT0FBTyxrQkFBa0IsQ0FBUTtRQUMvQixJQUFJLGtEQUE4QjtRQUNsQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNkLE1BQU0sQ0FDSixHQUFHLEVBQUU7Z0JBQ0gsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFFOUMsSUFBSSxLQUFLLEtBQUssSUFBSTtvQkFBRSxPQUFPO2dCQUUzQixTQUFTLENBQUMsR0FBRyxFQUFFO29CQUNiLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3ZCLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxFQUNELEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQ3BDLENBQUM7UUFDSixDQUFDO0tBQ0YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBMEIsT0FBb0QsRUFBRSxFQUFFO0lBQ2pILE9BQU8sa0JBQWtCLENBQVE7UUFDL0IsSUFBSSw4REFBb0M7UUFDeEMsRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDZCxNQUFNLENBQ0osR0FBRyxFQUFFO2dCQUNILE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBRXBDLElBQUksS0FBSyxLQUFLLElBQUk7b0JBQUUsT0FBTztnQkFFM0IsU0FBUyxDQUFDLEdBQUcsRUFBRTtvQkFDYixPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN6QixDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsRUFDRCxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUNwQyxDQUFDO1FBQ0osQ0FBQztLQUNGLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQTBCLE9BRTVELEVBQUUsRUFBRTtJQUNILE9BQU8sa0JBQWtCLENBQVE7UUFDL0IsSUFBSSxrRUFBc0M7UUFDMUMsRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDZCxNQUFNLENBQ0osR0FBRyxFQUFFO2dCQUNILE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBRTFDLElBQUksUUFBUSxLQUFLLElBQUk7b0JBQUUsT0FBTztnQkFFOUIsU0FBUyxDQUFDLEdBQUcsRUFBRTtvQkFDYixPQUFPLENBQUMsT0FBTyxDQUFDLFFBQTRDLENBQUMsQ0FBQztnQkFDaEUsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLEVBQ0QsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FDcEMsQ0FBQztRQUNKLENBQUM7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBMEIsT0FHeEQsRUFBRSxFQUFFO0lBQ0gsT0FBTyxrQkFBa0IsQ0FBUTtRQUMvQixJQUFJLDBEQUFrQztRQUN0QyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNkLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLHVCQUF1QixFQUFFLENBQUM7Z0JBQzNDLE1BQU0sMENBQTBDLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3BGLENBQUM7WUFFRCxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsbUJBQW1CLElBQUksQ0FBQyxPQUFPLENBQUMseUJBQXlCLEVBQUUsQ0FBQztnQkFDbEYsTUFBTSwwQ0FBMEMsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDcEYsQ0FBQztZQUVELFdBQVcsQ0FDVCxHQUFHLEVBQUU7Z0JBQ0gsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7b0JBQzNDLE1BQU0sRUFBRSxDQUFDO2dCQUNYLENBQUM7Z0JBRUQsU0FBUyxDQUFDLEdBQUcsRUFBRTtvQkFDYixNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO29CQUVsQyxJQUFJLElBQUksS0FBSyxJQUFJO3dCQUFFLE9BQU87b0JBRTFCLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO2dCQUM1QixDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsRUFDRCwwQkFBMEIsRUFDMUIsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FDcEMsQ0FBQztRQUNKLENBQUM7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb24gKi9cblxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UsIEh0dHBFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IGNvbXB1dGVkLCBlZmZlY3QsIFNpZ25hbCwgdW50cmFja2VkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBRdWVyeUFyZ3MsIFJlcXVlc3RBcmdzLCBSZXNwb25zZVR5cGUgfSBmcm9tICcuL3F1ZXJ5JztcbmltcG9ydCB7IENyZWF0ZVF1ZXJ5Q3JlYXRvck9wdGlvbnMsIEludGVybmFsQ3JlYXRlUXVlcnlDcmVhdG9yT3B0aW9ucywgUXVlcnlDb25maWcgfSBmcm9tICcuL3F1ZXJ5LWNyZWF0b3InO1xuaW1wb3J0IHsgUXVlcnlEZXBlbmRlbmNpZXMgfSBmcm9tICcuL3F1ZXJ5LWRlcGVuZGVuY2llcyc7XG5pbXBvcnQgeyB3aXRoQXV0b1JlZnJlc2hVc2VkT25VbnN1cHBvcnRlZEh0dHBNZXRob2QsIHdpdGhQb2xsaW5nVXNlZE9uVW5zdXBwb3J0ZWRIdHRwTWV0aG9kIH0gZnJvbSAnLi9xdWVyeS1lcnJvcnMnO1xuaW1wb3J0IHsgUXVlcnlFeGVjdXRlIH0gZnJvbSAnLi9xdWVyeS1leGVjdXRlJztcbmltcG9ydCB7IFF1ZXJ5U3RhdGUgfSBmcm9tICcuL3F1ZXJ5LXN0YXRlJztcbmltcG9ydCB7XG4gIFFVRVJZX0FSR1NfUkVTRVQsXG4gIFFVRVJZX0VGRkVDVF9FUlJPUl9NRVNTQUdFLFxuICBRdWVyeUFyZ3NSZXNldCxcbiAgcXVlcnlFZmZlY3QsXG4gIFF1ZXJ5RmVhdHVyZUZsYWdzLFxufSBmcm9tICcuL3F1ZXJ5LXV0aWxzJztcblxuZXhwb3J0IGNvbnN0IGVudW0gUXVlcnlGZWF0dXJlVHlwZSB7XG4gIFdpdGhBcmdzID0gJ3dpdGhBcmdzJyxcbiAgV2l0aExvZ2dpbmcgPSAnd2l0aExvZ2dpbmcnLFxuICBXaXRoRXJyb3JIYW5kbGluZyA9ICd3aXRoRXJyb3JIYW5kbGluZycsXG4gIFdpdGhTdWNjZXNzSGFuZGxpbmcgPSAnd2l0aFN1Y2Nlc3NIYW5kbGluZycsXG4gIFdpdGhQb2xsaW5nID0gJ3dpdGhQb2xsaW5nJyxcbiAgV2l0aEF1dG9SZWZyZXNoID0gJ3dpdGhBdXRvUmVmcmVzaCcsXG59XG5cbmV4cG9ydCB0eXBlIFF1ZXJ5RmVhdHVyZUNvbnRleHQ8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+ID0ge1xuICBzdGF0ZTogUXVlcnlTdGF0ZTxUQXJncz47XG4gIHF1ZXJ5Q29uZmlnOiBRdWVyeUNvbmZpZztcbiAgY3JlYXRvckNvbmZpZzogQ3JlYXRlUXVlcnlDcmVhdG9yT3B0aW9uczxUQXJncz47XG4gIGNyZWF0b3JJbnRlcm5hbHM6IEludGVybmFsQ3JlYXRlUXVlcnlDcmVhdG9yT3B0aW9ucztcbiAgZXhlY3V0ZTogUXVlcnlFeGVjdXRlPFRBcmdzPjtcbiAgZGVwczogUXVlcnlEZXBlbmRlbmNpZXM7XG4gIGZsYWdzOiBRdWVyeUZlYXR1cmVGbGFncztcbn07XG5cbmV4cG9ydCB0eXBlIFF1ZXJ5RmVhdHVyZUZuPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPiA9IChjb250ZXh0OiBRdWVyeUZlYXR1cmVDb250ZXh0PFRBcmdzPikgPT4gdm9pZDtcblxuZXhwb3J0IHR5cGUgUXVlcnlGZWF0dXJlPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPiA9IHtcbiAgdHlwZTogUXVlcnlGZWF0dXJlVHlwZTtcbiAgZm46IChjb250ZXh0OiBRdWVyeUZlYXR1cmVDb250ZXh0PFRBcmdzPikgPT4gdm9pZDtcbn07XG5cbmNvbnN0IGNyZWF0ZVF1ZXJ5RmVhdHVyZSA9IDxUQXJncyBleHRlbmRzIFF1ZXJ5QXJncz4oY29uZmlnOiB7IHR5cGU6IFF1ZXJ5RmVhdHVyZVR5cGU7IGZuOiBRdWVyeUZlYXR1cmVGbjxUQXJncz4gfSkgPT4ge1xuICByZXR1cm4gY29uZmlnIGFzIFF1ZXJ5RmVhdHVyZTxUQXJncz47XG59O1xuXG5leHBvcnQgY29uc3Qgd2l0aEFyZ3MgPSA8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+KGFyZ3M6ICgpID0+IE5vSW5mZXI8UmVxdWVzdEFyZ3M8VEFyZ3M+PiB8IFF1ZXJ5QXJnc1Jlc2V0IHwgbnVsbCkgPT4ge1xuICByZXR1cm4gY3JlYXRlUXVlcnlGZWF0dXJlPFRBcmdzPih7XG4gICAgdHlwZTogUXVlcnlGZWF0dXJlVHlwZS5XaXRoQXJncyxcbiAgICBmbjogKGNvbnRleHQpID0+IHtcbiAgICAgIGNvbnN0IGN1cnJBcmdzID0gY29tcHV0ZWQoKCkgPT4gYXJncygpKTtcblxuICAgICAgcXVlcnlFZmZlY3QoXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICBjb25zdCBjdXJyQXJnc05vdyA9IGN1cnJBcmdzKCk7XG5cbiAgICAgICAgICBpZiAoY3VyckFyZ3NOb3cgPT09IG51bGwpIHJldHVybjtcblxuICAgICAgICAgIHVudHJhY2tlZCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoY3VyckFyZ3NOb3cgPT09IFFVRVJZX0FSR1NfUkVTRVQpIHtcbiAgICAgICAgICAgICAgY29udGV4dC5zdGF0ZS5hcmdzLnNldChudWxsKTtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb250ZXh0LnN0YXRlLmFyZ3Muc2V0KGN1cnJBcmdzTm93KTtcblxuICAgICAgICAgICAgaWYgKGNvbnRleHQuZmxhZ3Muc2hvdWxkQXV0b0V4ZWN1dGUpIGNvbnRleHQuZXhlY3V0ZSh7IGFyZ3M6IGN1cnJBcmdzTm93IH0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICBRVUVSWV9FRkZFQ1RfRVJST1JfTUVTU0FHRSxcbiAgICAgICAgeyBpbmplY3RvcjogY29udGV4dC5kZXBzLmluamVjdG9yIH0sXG4gICAgICApO1xuICAgIH0sXG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHdpdGhQb2xsaW5nID0gPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPihvcHRpb25zOiB7IGludGVydmFsOiBudW1iZXI7IGV4ZWN1dGVJbml0aWFsbHk/OiBib29sZWFuIH0pID0+IHtcbiAgcmV0dXJuIGNyZWF0ZVF1ZXJ5RmVhdHVyZTxUQXJncz4oe1xuICAgIHR5cGU6IFF1ZXJ5RmVhdHVyZVR5cGUuV2l0aFBvbGxpbmcsXG4gICAgZm46IChjb250ZXh0KSA9PiB7XG4gICAgICBpZiAoIWNvbnRleHQuZmxhZ3Muc2hvdWxkQXV0b0V4ZWN1dGVNZXRob2QpIHtcbiAgICAgICAgdGhyb3cgd2l0aFBvbGxpbmdVc2VkT25VbnN1cHBvcnRlZEh0dHBNZXRob2QoY29udGV4dC5jcmVhdG9ySW50ZXJuYWxzLm1ldGhvZCk7XG4gICAgICB9XG5cbiAgICAgIGxldCBpbnRlcnZhbElkOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAgICAgcXVlcnlFZmZlY3QoXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICBjb25zdCBhcmdzID0gY29udGV4dC5zdGF0ZS5hcmdzKCk7XG5cbiAgICAgICAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKGludGVydmFsSWQgIT09IG51bGwpIGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWxJZCk7XG5cbiAgICAgICAgICAgIGlmIChhcmdzID09PSBudWxsKSByZXR1cm47XG5cbiAgICAgICAgICAgIGlmIChvcHRpb25zLmV4ZWN1dGVJbml0aWFsbHkpIHtcbiAgICAgICAgICAgICAgY29udGV4dC5leGVjdXRlKHsgYXJncyB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW50ZXJ2YWxJZCA9IHdpbmRvdy5zZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnRleHQuZXhlY3V0ZSh7IGFyZ3MgfSk7XG4gICAgICAgICAgICB9LCBvcHRpb25zLmludGVydmFsKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgUVVFUllfRUZGRUNUX0VSUk9SX01FU1NBR0UsXG4gICAgICAgIHsgaW5qZWN0b3I6IGNvbnRleHQuZGVwcy5pbmplY3RvciB9LFxuICAgICAgKTtcblxuICAgICAgY29udGV4dC5kZXBzLmRlc3Ryb3lSZWYub25EZXN0cm95KCgpID0+IGludGVydmFsSWQgIT09IG51bGwgJiYgY2xlYXJJbnRlcnZhbChpbnRlcnZhbElkKSk7XG4gICAgfSxcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3Qgd2l0aExvZ2dpbmcgPSA8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+KG9wdGlvbnM6IHtcbiAgbG9nRm46ICh2OiBIdHRwRXZlbnQ8UmVzcG9uc2VUeXBlPFRBcmdzPj4gfCBudWxsKSA9PiB2b2lkO1xufSkgPT4ge1xuICByZXR1cm4gY3JlYXRlUXVlcnlGZWF0dXJlPFRBcmdzPih7XG4gICAgdHlwZTogUXVlcnlGZWF0dXJlVHlwZS5XaXRoTG9nZ2luZyxcbiAgICBmbjogKGNvbnRleHQpID0+IHtcbiAgICAgIGVmZmVjdChcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGV2ZW50ID0gY29udGV4dC5zdGF0ZS5sYXRlc3RIdHRwRXZlbnQoKTtcblxuICAgICAgICAgIGlmIChldmVudCA9PT0gbnVsbCkgcmV0dXJuO1xuXG4gICAgICAgICAgdW50cmFja2VkKCgpID0+IHtcbiAgICAgICAgICAgIG9wdGlvbnMubG9nRm4oZXZlbnQpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICB7IGluamVjdG9yOiBjb250ZXh0LmRlcHMuaW5qZWN0b3IgfSxcbiAgICAgICk7XG4gICAgfSxcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3Qgd2l0aEVycm9ySGFuZGxpbmcgPSA8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+KG9wdGlvbnM6IHsgaGFuZGxlcjogKGU6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB2b2lkIH0pID0+IHtcbiAgcmV0dXJuIGNyZWF0ZVF1ZXJ5RmVhdHVyZTxUQXJncz4oe1xuICAgIHR5cGU6IFF1ZXJ5RmVhdHVyZVR5cGUuV2l0aEVycm9ySGFuZGxpbmcsXG4gICAgZm46IChjb250ZXh0KSA9PiB7XG4gICAgICBlZmZlY3QoXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICBjb25zdCBlcnJvciA9IGNvbnRleHQuc3RhdGUuZXJyb3IoKTtcblxuICAgICAgICAgIGlmIChlcnJvciA9PT0gbnVsbCkgcmV0dXJuO1xuXG4gICAgICAgICAgdW50cmFja2VkKCgpID0+IHtcbiAgICAgICAgICAgIG9wdGlvbnMuaGFuZGxlcihlcnJvcik7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIHsgaW5qZWN0b3I6IGNvbnRleHQuZGVwcy5pbmplY3RvciB9LFxuICAgICAgKTtcbiAgICB9LFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCB3aXRoU3VjY2Vzc0hhbmRsaW5nID0gPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPihvcHRpb25zOiB7XG4gIGhhbmRsZXI6IChkYXRhOiBOb25OdWxsYWJsZTxSZXNwb25zZVR5cGU8VEFyZ3M+PikgPT4gdm9pZDtcbn0pID0+IHtcbiAgcmV0dXJuIGNyZWF0ZVF1ZXJ5RmVhdHVyZTxUQXJncz4oe1xuICAgIHR5cGU6IFF1ZXJ5RmVhdHVyZVR5cGUuV2l0aFN1Y2Nlc3NIYW5kbGluZyxcbiAgICBmbjogKGNvbnRleHQpID0+IHtcbiAgICAgIGVmZmVjdChcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gY29udGV4dC5zdGF0ZS5yZXNwb25zZSgpO1xuXG4gICAgICAgICAgaWYgKHJlc3BvbnNlID09PSBudWxsKSByZXR1cm47XG5cbiAgICAgICAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgICAgICAgb3B0aW9ucy5oYW5kbGVyKHJlc3BvbnNlIGFzIE5vbk51bGxhYmxlPFJlc3BvbnNlVHlwZTxUQXJncz4+KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgeyBpbmplY3RvcjogY29udGV4dC5kZXBzLmluamVjdG9yIH0sXG4gICAgICApO1xuICAgIH0sXG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHdpdGhBdXRvUmVmcmVzaCA9IDxUQXJncyBleHRlbmRzIFF1ZXJ5QXJncz4ob3B0aW9uczoge1xuICBzaWduYWxDaGFuZ2VzOiBTaWduYWw8dW5rbm93bj5bXTtcbiAgaWdub3JlT25seU1hbnVhbEV4ZWN1dGlvbj86IGJvb2xlYW47XG59KSA9PiB7XG4gIHJldHVybiBjcmVhdGVRdWVyeUZlYXR1cmU8VEFyZ3M+KHtcbiAgICB0eXBlOiBRdWVyeUZlYXR1cmVUeXBlLldpdGhBdXRvUmVmcmVzaCxcbiAgICBmbjogKGNvbnRleHQpID0+IHtcbiAgICAgIGlmICghY29udGV4dC5mbGFncy5zaG91bGRBdXRvRXhlY3V0ZU1ldGhvZCkge1xuICAgICAgICB0aHJvdyB3aXRoQXV0b1JlZnJlc2hVc2VkT25VbnN1cHBvcnRlZEh0dHBNZXRob2QoY29udGV4dC5jcmVhdG9ySW50ZXJuYWxzLm1ldGhvZCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChjb250ZXh0LnF1ZXJ5Q29uZmlnLm9ubHlNYW51YWxFeGVjdXRpb24gJiYgIW9wdGlvbnMuaWdub3JlT25seU1hbnVhbEV4ZWN1dGlvbikge1xuICAgICAgICB0aHJvdyB3aXRoQXV0b1JlZnJlc2hVc2VkT25VbnN1cHBvcnRlZEh0dHBNZXRob2QoY29udGV4dC5jcmVhdG9ySW50ZXJuYWxzLm1ldGhvZCk7XG4gICAgICB9XG5cbiAgICAgIHF1ZXJ5RWZmZWN0KFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgZm9yIChjb25zdCBzaWduYWwgb2Ygb3B0aW9ucy5zaWduYWxDaGFuZ2VzKSB7XG4gICAgICAgICAgICBzaWduYWwoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYXJncyA9IGNvbnRleHQuc3RhdGUuYXJncygpO1xuXG4gICAgICAgICAgICBpZiAoYXJncyA9PT0gbnVsbCkgcmV0dXJuO1xuXG4gICAgICAgICAgICBjb250ZXh0LmV4ZWN1dGUoeyBhcmdzIH0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICBRVUVSWV9FRkZFQ1RfRVJST1JfTUVTU0FHRSxcbiAgICAgICAgeyBpbmplY3RvcjogY29udGV4dC5kZXBzLmluamVjdG9yIH0sXG4gICAgICApO1xuICAgIH0sXG4gIH0pO1xufTtcbiJdfQ==
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import { HttpClient } from '@angular/common/http';
|
|
2
|
-
import { inject } from '@angular/core';
|
|
3
|
-
import { buildQueryCacheKey, shouldCacheQuery } from '../query-client';
|
|
4
|
-
import { buildRoute } from '../request';
|
|
5
|
-
import { createHttpRequest } from './http-request';
|
|
6
|
-
import { uncacheableRequestHasCacheKeyParam, uncacheableRequestHasSkipCacheParam } from './query-errors';
|
|
7
|
-
export const createQueryRepository = (config) => {
|
|
8
|
-
const httpClient = inject(HttpClient);
|
|
9
|
-
const cache = new Map();
|
|
10
|
-
const request = (options) => {
|
|
11
|
-
const { args, clientOptions, runQueryOptions } = options;
|
|
12
|
-
const shouldCache = shouldCacheQuery(options.method);
|
|
13
|
-
if (!shouldCache && options.key)
|
|
14
|
-
throw uncacheableRequestHasCacheKeyParam(options.key);
|
|
15
|
-
if (!shouldCache && runQueryOptions?.skipCache)
|
|
16
|
-
throw uncacheableRequestHasSkipCacheParam();
|
|
17
|
-
const route = buildRoute({
|
|
18
|
-
base: config.baseUrl,
|
|
19
|
-
route: options.route,
|
|
20
|
-
pathParams: args?.pathParams,
|
|
21
|
-
queryParams: args?.queryParams,
|
|
22
|
-
queryParamConfig: config.queryString,
|
|
23
|
-
});
|
|
24
|
-
const key = shouldCache &&
|
|
25
|
-
buildQueryCacheKey(`${options.key ? options.key + '_' : ''}${route}`, {
|
|
26
|
-
body: args?.body,
|
|
27
|
-
queryParams: args?.queryParams,
|
|
28
|
-
pathParams: args?.pathParams,
|
|
29
|
-
// TODO: remaining props
|
|
30
|
-
// headers: args?.headers,
|
|
31
|
-
});
|
|
32
|
-
const previousKey = options.previousKey;
|
|
33
|
-
if (key !== previousKey && previousKey) {
|
|
34
|
-
unbind(previousKey, options.destroyRef);
|
|
35
|
-
}
|
|
36
|
-
if (shouldCache && key) {
|
|
37
|
-
const cacheEntry = cache.get(key);
|
|
38
|
-
if (cacheEntry) {
|
|
39
|
-
bind(key, options.destroyRef, cacheEntry.request);
|
|
40
|
-
if (runQueryOptions?.skipCache || cacheEntry.request.isStale()) {
|
|
41
|
-
cacheEntry.request.execute();
|
|
42
|
-
}
|
|
43
|
-
return { key, request: cacheEntry.request };
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
const request = createHttpRequest({
|
|
47
|
-
fullPath: route,
|
|
48
|
-
args,
|
|
49
|
-
method: options.method,
|
|
50
|
-
dependencies: {
|
|
51
|
-
httpClient,
|
|
52
|
-
},
|
|
53
|
-
clientOptions,
|
|
54
|
-
cacheAdapter: config.cacheAdapter,
|
|
55
|
-
retryFn: config.retryFn,
|
|
56
|
-
});
|
|
57
|
-
request.execute();
|
|
58
|
-
if (shouldCache && key) {
|
|
59
|
-
bind(key, options.destroyRef, request);
|
|
60
|
-
}
|
|
61
|
-
return { key, request };
|
|
62
|
-
};
|
|
63
|
-
const unbind = (key, destroyRef) => {
|
|
64
|
-
if (!key)
|
|
65
|
-
return false;
|
|
66
|
-
const cacheEntry = cache.get(key);
|
|
67
|
-
if (!cacheEntry)
|
|
68
|
-
return false;
|
|
69
|
-
cacheEntry.consumers.delete(destroyRef);
|
|
70
|
-
if (cacheEntry.consumers.size === 0) {
|
|
71
|
-
cacheEntry.request.destroy();
|
|
72
|
-
cache.delete(key);
|
|
73
|
-
}
|
|
74
|
-
return true;
|
|
75
|
-
};
|
|
76
|
-
const bind = (key, destroyRef, request) => {
|
|
77
|
-
const destroyListener = destroyRef.onDestroy(() => unbind(key, destroyRef));
|
|
78
|
-
const cacheEntry = cache.get(key);
|
|
79
|
-
if (cacheEntry) {
|
|
80
|
-
cacheEntry.consumers.set(destroyRef, destroyListener);
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
const consumers = new Map([]);
|
|
84
|
-
consumers.set(destroyRef, destroyListener);
|
|
85
|
-
cache.set(key, {
|
|
86
|
-
consumers,
|
|
87
|
-
request,
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
};
|
|
91
|
-
const repository = {
|
|
92
|
-
request,
|
|
93
|
-
unbind,
|
|
94
|
-
};
|
|
95
|
-
return repository;
|
|
96
|
-
};
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcmVwb3NpdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcXVlcnkvc3JjL2xpYi9leHBlcmltZW50YWwvcXVlcnktcmVwb3NpdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFjLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3hDLE9BQU8sRUFBK0MsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUloRyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQXdFekcsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxNQUF5QixFQUFtQixFQUFFO0lBQ2xGLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUV0QyxNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsRUFBb0MsQ0FBQztJQUUxRCxNQUFNLE9BQU8sR0FBRyxDQUEwQixPQUE2QyxFQUFFLEVBQUU7UUFDekYsTUFBTSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ3pELE1BQU0sV0FBVyxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVyRCxJQUFJLENBQUMsV0FBVyxJQUFJLE9BQU8sQ0FBQyxHQUFHO1lBQUUsTUFBTSxrQ0FBa0MsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkYsSUFBSSxDQUFDLFdBQVcsSUFBSSxlQUFlLEVBQUUsU0FBUztZQUFFLE1BQU0sbUNBQW1D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QyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEIsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFDO0lBRUYsTUFBTSxJQUFJLEdBQUcsQ0FBQyxHQUFhLEVBQUUsVUFBc0IsRUFBRSxPQUErQixFQUFFLEVBQUU7UUFDdEYsTUFBTSxlQUFlLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFFNUUsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVsQyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQ3hELENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxTQUFTLEdBQTRDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBRXZFLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1lBRTNDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO2dCQUNiLFNBQVM7Z0JBQ1QsT0FBTzthQUNSLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDLENBQUM7SUFFRixNQUFNLFVBQVUsR0FBb0I7UUFDbEMsT0FBTztRQUNQLE1BQU07S0FDUCxDQUFDO0lBRUYsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IERlc3Ryb3lSZWYsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgYnVpbGRRdWVyeUNhY2hlS2V5LCBzaG91bGRDYWNoZVF1ZXJ5IH0gZnJvbSAnLi4vcXVlcnktY2xpZW50JztcbmltcG9ydCB7IGJ1aWxkUm91dGUgfSBmcm9tICcuLi9yZXF1ZXN0JztcbmltcG9ydCB7IENyZWF0ZUh0dHBSZXF1ZXN0Q2xpZW50T3B0aW9ucywgSHR0cFJlcXVlc3QsIGNyZWF0ZUh0dHBSZXF1ZXN0IH0gZnJvbSAnLi9odHRwLXJlcXVlc3QnO1xuaW1wb3J0IHsgUXVlcnlBcmdzLCBSZXF1ZXN0QXJncyB9IGZyb20gJy4vcXVlcnknO1xuaW1wb3J0IHsgUXVlcnlDbGllbnRDb25maWcgfSBmcm9tICcuL3F1ZXJ5LWNsaWVudC1jb25maWcnO1xuaW1wb3J0IHsgUXVlcnlNZXRob2QsIFJvdXRlVHlwZSB9IGZyb20gJy4vcXVlcnktY3JlYXRvcic7XG5pbXBvcnQgeyB1bmNhY2hlYWJsZVJlcXVlc3RIYXNDYWNoZUtleVBhcmFtLCB1bmNhY2hlYWJsZVJlcXVlc3RIYXNTa2lwQ2FjaGVQYXJhbSB9IGZyb20gJy4vcXVlcnktZXJyb3JzJztcbmltcG9ydCB7IFJ1blF1ZXJ5RXhlY3V0ZU9wdGlvbnMgfSBmcm9tICcuL3F1ZXJ5LWV4ZWN1dGUtdXRpbHMnO1xuXG5leHBvcnQgdHlwZSBRdWVyeVJlcG9zaXRvcnlSZXF1ZXN0T3B0aW9uczxUQXJncyBleHRlbmRzIFF1ZXJ5QXJncz4gPSB7XG4gIC8qKlxuICAgKiBUaGUgcm91dGUgb2YgdGhlIHJlcXVlc3QuXG4gICAqIEBleGFtcGxlICcvdXNlcnMnXG4gICAqIEBleGFtcGxlIChhcmdzKSA9PiBgL3VzZXJzLyR7YXJncy51c2VySWR9YFxuICAgKi9cbiAgcm91dGU6IFJvdXRlVHlwZTxUQXJncz47XG5cbiAgLyoqIFRoZSBIVFRQIG1ldGhvZCBvZiB0aGUgcmVxdWVzdCAqL1xuICBtZXRob2Q6IFF1ZXJ5TWV0aG9kO1xuXG4gIC8qKiBUaGUgZGF0YSBvZiB0aGUgcmVxdWVzdCAqL1xuICBhcmdzPzogUmVxdWVzdEFyZ3M8VEFyZ3M+IHwgbnVsbDtcblxuICAvKiogVGhlIGNsaWVudCBvcHRpb25zIG9mIHRoZSByZXF1ZXN0ICovXG4gIGNsaWVudE9wdGlvbnM/OiBDcmVhdGVIdHRwUmVxdWVzdENsaWVudE9wdGlvbnM7XG5cbiAgLyoqIElmIHNldCwgdGhpcyByZXF1ZXN0J3MgY2FjaGUga2V5IHdpbGwgYmUgcHJlZml4ZWQgd2l0aCB0aGlzIGtleSAqL1xuICBrZXk/OiBzdHJpbmc7XG5cbiAgLyoqIFRoZSBwcmV2aW91cyBjYWNoZSBrZXkgb2YgdGhlIHJlcXVlc3QgKi9cbiAgcHJldmlvdXNLZXk/OiBzdHJpbmcgfCBmYWxzZTtcblxuICAvKiogVGhlIGRlc3Ryb3kgcmVmIHRvIGJpbmQgdGhlIHJlcXVlc3QgdG8uIElmIHRoZSBkZXN0cm95IHJlZiBpcyBkZXN0cm95ZWQsIHRoZSByZXF1ZXN0IHdpbGwgYmUgZGVzdHJveWVkIGFzIHdlbGwuICovXG4gIGRlc3Ryb3lSZWY6IERlc3Ryb3lSZWY7XG5cbiAgLyoqIENvbmZpZ3VyYXRpb24gb24gaG93IHRvIHJ1biB0aGUgcXVlcnkgKi9cbiAgcnVuUXVlcnlPcHRpb25zPzogUnVuUXVlcnlFeGVjdXRlT3B0aW9ucztcbn07XG5cbmV4cG9ydCB0eXBlIFF1ZXJ5UmVwb3NpdG9yeUl0ZW08VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+ID0ge1xuICAvKiogVGhlIGtleSBvZiB0aGUgcmVxdWVzdC4gSWYgdGhlIGtleSBpcyBgZmFsc2VgLCB0aGUgcmVxdWVzdCBpcyBub3QgY2FjaGVkLCBvdGhlcndpc2UgaXQgaXMuICovXG4gIGtleTogUXVlcnlLZXlPck5vbmU7XG5cbiAgLyoqIFRoZSByZXF1ZXN0IG9iamVjdCAqL1xuICByZXF1ZXN0OiBIdHRwUmVxdWVzdDxUQXJncz47XG59O1xuXG4vKipcbiAqIFRoZSBxdWVyeSByZXBvc2l0b3J5IGlzIHJlc3BvbnNpYmxlIGZvciBtYW5hZ2luZyBhbGwgcmVxdWVzdHMgYW5kIHRoZWlyIGNvbnN1bWVycy5cbiAqIEl0IHdpbGwgY2FjaGUgcmVxdWVzdHMgaWYgdGhleSBjYW4gYmUgY2FjaGVkIGFuZCByZXVzZSB0aGVtIGlmIHRoZXkgYXJlIGFscmVhZHkgY2FjaGVkLlxuICogSXQgd2lsbCBhbHNvIGRlc3Ryb3kgcmVxdWVzdHMgaWYgdGhlcmUgYXJlIG5vIG1vcmUgY29uc3VtZXJzIGxlZnQuXG4gKi9cbmV4cG9ydCB0eXBlIFF1ZXJ5UmVwb3NpdG9yeSA9IHtcbiAgLyoqIENyZWF0ZXMgYSBuZXcgcmVxdWVzdC4gSWYgdGhlIHJlcXVlc3QgaXMgYWxyZWFkeSBjYWNoZWQsIGl0IHdpbGwgYmUgcmV1c2VkLiAqL1xuICByZXF1ZXN0OiA8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+KG9wdGlvbnM6IFF1ZXJ5UmVwb3NpdG9yeVJlcXVlc3RPcHRpb25zPFRBcmdzPikgPT4gUXVlcnlSZXBvc2l0b3J5SXRlbTxUQXJncz47XG5cbiAgLyoqIFJlbW92ZXMgYSBjb25zdW1lciBmcm9tIGEgcmVxdWVzdCBieSBpdHMga2V5LiBEZXN0cm95cyB0aGUgcmVxdWVzdCBpZiB0aGVyZSBhcmUgbm8gbW9yZSBjb25zdW1lcnMgbGVmdC4gKi9cbiAgdW5iaW5kOiAoa2V5OiBRdWVyeUtleU9yTm9uZSwgZGVzdHJveVJlZjogRGVzdHJveVJlZikgPT4gYm9vbGVhbjtcbn07XG5cbi8qKiBUaGUga2V5IG9mIGEgcXVlcnkgKi9cbmV4cG9ydCB0eXBlIFF1ZXJ5S2V5ID0gc3RyaW5nO1xuXG4vKiogQSBrZXkgdGhhdCB3aWxsIG5vdCBiZSBjYWNoZWQgKi9cbmV4cG9ydCB0eXBlIFF1ZXJ5S2V5Tm9DYWNoZSA9IGZhbHNlO1xuXG4vKiogQSBrZXkgdGhhdCBtYXkgb3IgbWF5IG5vdCBiZSBjYWNoZWQgKi9cbmV4cG9ydCB0eXBlIFF1ZXJ5S2V5T3JOb25lID0gUXVlcnlLZXkgfCBRdWVyeUtleU5vQ2FjaGU7XG5cbi8qKiBSdW5zIC51bmJpbmQoKSBpZiB0aGUgRGVzdHJveVJlZi5vbkRlc3Ryb3koKSBnZXRzIGNhbGxlZCAqL1xudHlwZSBEZXN0cm95Q2xlYW51cENhbGxiYWNrID0gKCkgPT4gdm9pZDtcblxuLyoqIEtlZXBzIHRyYWNrIG9mIGFsbCBwbGFjZXMgd2hlcmUgdGhlIHJlcXVlc3QgZ2V0cyB1c2VkLiBXaWxsIGJlIGNsZWFuZWQgdXAgYW5kIHJlbW92ZWQgaWYgdGhlcmUgYXJlIG5vIG1vcmUgY29uc3VtZXJzLiAgKi9cbnR5cGUgRGVzdHJveUxpc3RlbmVyTWFwSXRlbSA9IHtcbiAgY29uc3VtZXJzOiBNYXA8RGVzdHJveVJlZiwgRGVzdHJveUNsZWFudXBDYWxsYmFjaz47XG4gIHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PFF1ZXJ5QXJncz47XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlUXVlcnlSZXBvc2l0b3J5ID0gKGNvbmZpZzogUXVlcnlDbGllbnRDb25maWcpOiBRdWVyeVJlcG9zaXRvcnkgPT4ge1xuICBjb25zdCBodHRwQ2xpZW50ID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuXG4gIGNvbnN0IGNhY2hlID0gbmV3IE1hcDxRdWVyeUtleSwgRGVzdHJveUxpc3RlbmVyTWFwSXRlbT4oKTtcblxuICBjb25zdCByZXF1ZXN0ID0gPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPihvcHRpb25zOiBRdWVyeVJlcG9zaXRvcnlSZXF1ZXN0T3B0aW9uczxUQXJncz4pID0+IHtcbiAgICBjb25zdCB7IGFyZ3MsIGNsaWVudE9wdGlvbnMsIHJ1blF1ZXJ5T3B0aW9ucyB9ID0gb3B0aW9ucztcbiAgICBjb25zdCBzaG91bGRDYWNoZSA9IHNob3VsZENhY2hlUXVlcnkob3B0aW9ucy5tZXRob2QpO1xuXG4gICAgaWYgKCFzaG91bGRDYWNoZSAmJiBvcHRpb25zLmtleSkgdGhyb3cgdW5jYWNoZWFibGVSZXF1ZXN0SGFzQ2FjaGVLZXlQYXJhbShvcHRpb25zLmtleSk7XG4gICAgaWYgKCFzaG91bGRDYWNoZSAmJiBydW5RdWVyeU9wdGlvbnM/LnNraXBDYWNoZSkgdGhyb3cgdW5jYWNoZWFibGVSZXF1ZXN0SGFzU2tpcENhY2hlUGFyYW0oKTtcblxuICAgIGNvbnN0IHJvdXRlID0gYnVpbGRSb3V0ZSh7XG4gICAgICBiYXNlOiBjb25maWcuYmFzZVVybCxcbiAgICAgIHJvdXRlOiBvcHRpb25zLnJvdXRlLFxuICAgICAgcGF0aFBhcmFtczogYXJncz8ucGF0aFBhcmFtcyxcbiAgICAgIHF1ZXJ5UGFyYW1zOiBhcmdzPy5xdWVyeVBhcmFtcyxcbiAgICAgIHF1ZXJ5UGFyYW1Db25maWc6IGNvbmZpZy5xdWVyeVN0cmluZyxcbiAgICB9KTtcblxuICAgIGNvbnN0IGtleSA9XG4gICAgICBzaG91bGRDYWNoZSAmJlxuICAgICAgYnVpbGRRdWVyeUNhY2hlS2V5KGAke29wdGlvbnMua2V5ID8gb3B0aW9ucy5rZXkgKyAnXycgOiAnJ30ke3JvdXRlfWAsIHtcbiAgICAgICAgYm9keTogYXJncz8uYm9keSxcbiAgICAgICAgcXVlcnlQYXJhbXM6IGFyZ3M/LnF1ZXJ5UGFyYW1zLFxuICAgICAgICBwYXRoUGFyYW1zOiBhcmdzPy5wYXRoUGFyYW1zLFxuXG4gICAgICAgIC8vIFRPRE86IHJlbWFpbmluZyBwcm9wc1xuICAgICAgICAvLyBoZWFkZXJzOiBhcmdzPy5oZWFkZXJzLFxuICAgICAgfSk7XG5cbiAgICBjb25zdCBwcmV2aW91c0tleSA9IG9wdGlvbnMucHJldmlvdXNLZXk7XG5cbiAgICBpZiAoa2V5ICE9PSBwcmV2aW91c0tleSAmJiBwcmV2aW91c0tleSkge1xuICAgICAgdW5iaW5kKHByZXZpb3VzS2V5LCBvcHRpb25zLmRlc3Ryb3lSZWYpO1xuICAgIH1cblxuICAgIGlmIChzaG91bGRDYWNoZSAmJiBrZXkpIHtcbiAgICAgIGNvbnN0IGNhY2hlRW50cnkgPSBjYWNoZS5nZXQoa2V5KTtcblxuICAgICAgaWYgKGNhY2hlRW50cnkpIHtcbiAgICAgICAgYmluZChrZXksIG9wdGlvbnMuZGVzdHJveVJlZiwgY2FjaGVFbnRyeS5yZXF1ZXN0KTtcblxuICAgICAgICBpZiAocnVuUXVlcnlPcHRpb25zPy5za2lwQ2FjaGUgfHwgY2FjaGVFbnRyeS5yZXF1ZXN0LmlzU3RhbGUoKSkge1xuICAgICAgICAgIGNhY2hlRW50cnkucmVxdWVzdC5leGVjdXRlKCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4geyBrZXksIHJlcXVlc3Q6IGNhY2hlRW50cnkucmVxdWVzdCBhcyBIdHRwUmVxdWVzdDxUQXJncz4gfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCByZXF1ZXN0ID0gY3JlYXRlSHR0cFJlcXVlc3Q8VEFyZ3M+KHtcbiAgICAgIGZ1bGxQYXRoOiByb3V0ZSxcbiAgICAgIGFyZ3MsXG4gICAgICBtZXRob2Q6IG9wdGlvbnMubWV0aG9kLFxuICAgICAgZGVwZW5kZW5jaWVzOiB7XG4gICAgICAgIGh0dHBDbGllbnQsXG4gICAgICB9LFxuICAgICAgY2xpZW50T3B0aW9ucyxcbiAgICAgIGNhY2hlQWRhcHRlcjogY29uZmlnLmNhY2hlQWRhcHRlcixcbiAgICAgIHJldHJ5Rm46IGNvbmZpZy5yZXRyeUZuLFxuICAgIH0pO1xuXG4gICAgcmVxdWVzdC5leGVjdXRlKCk7XG5cbiAgICBpZiAoc2hvdWxkQ2FjaGUgJiYga2V5KSB7XG4gICAgICBiaW5kKGtleSwgb3B0aW9ucy5kZXN0cm95UmVmLCByZXF1ZXN0KTtcbiAgICB9XG5cbiAgICByZXR1cm4geyBrZXksIHJlcXVlc3QgfTtcbiAgfTtcblxuICBjb25zdCB1bmJpbmQgPSAoa2V5OiBRdWVyeUtleU9yTm9uZSwgZGVzdHJveVJlZjogRGVzdHJveVJlZikgPT4ge1xuICAgIGlmICgha2V5KSByZXR1cm4gZmFsc2U7XG5cbiAgICBjb25zdCBjYWNoZUVudHJ5ID0gY2FjaGUuZ2V0KGtleSk7XG5cbiAgICBpZiAoIWNhY2hlRW50cnkpIHJldHVybiBmYWxzZTtcblxuICAgIGNhY2hlRW50cnkuY29uc3VtZXJzLmRlbGV0ZShkZXN0cm95UmVmKTtcblxuICAgIGlmIChjYWNoZUVudHJ5LmNvbnN1bWVycy5zaXplID09PSAwKSB7XG4gICAgICBjYWNoZUVudHJ5LnJlcXVlc3QuZGVzdHJveSgpO1xuICAgICAgY2FjaGUuZGVsZXRlKGtleSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH07XG5cbiAgY29uc3QgYmluZCA9IChrZXk6IFF1ZXJ5S2V5LCBkZXN0cm95UmVmOiBEZXN0cm95UmVmLCByZXF1ZXN0OiBIdHRwUmVxdWVzdDxRdWVyeUFyZ3M+KSA9PiB7XG4gICAgY29uc3QgZGVzdHJveUxpc3RlbmVyID0gZGVzdHJveVJlZi5vbkRlc3Ryb3koKCkgPT4gdW5iaW5kKGtleSwgZGVzdHJveVJlZikpO1xuXG4gICAgY29uc3QgY2FjaGVFbnRyeSA9IGNhY2hlLmdldChrZXkpO1xuXG4gICAgaWYgKGNhY2hlRW50cnkpIHtcbiAgICAgIGNhY2hlRW50cnkuY29uc3VtZXJzLnNldChkZXN0cm95UmVmLCBkZXN0cm95TGlzdGVuZXIpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBjb25zdW1lcnM6IE1hcDxEZXN0cm95UmVmLCBEZXN0cm95Q2xlYW51cENhbGxiYWNrPiA9IG5ldyBNYXAoW10pO1xuXG4gICAgICBjb25zdW1lcnMuc2V0KGRlc3Ryb3lSZWYsIGRlc3Ryb3lMaXN0ZW5lcik7XG5cbiAgICAgIGNhY2hlLnNldChrZXksIHtcbiAgICAgICAgY29uc3VtZXJzLFxuICAgICAgICByZXF1ZXN0LFxuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IHJlcG9zaXRvcnk6IFF1ZXJ5UmVwb3NpdG9yeSA9IHtcbiAgICByZXF1ZXN0LFxuICAgIHVuYmluZCxcbiAgfTtcblxuICByZXR1cm4gcmVwb3NpdG9yeTtcbn07XG4iXX0=
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { effect, signal, untracked } from '@angular/core';
|
|
2
|
-
import { setupQueryState } from './query-state';
|
|
3
|
-
export const createQuerySnapshotFn = (options) => {
|
|
4
|
-
const { state, deps } = options;
|
|
5
|
-
const snapshotFn = () => {
|
|
6
|
-
const snapshotState = setupQueryState({});
|
|
7
|
-
const isAlive = signal(true);
|
|
8
|
-
const killEffectRef = effect(() => {
|
|
9
|
-
const currentLoading = state.loading();
|
|
10
|
-
const currentError = state.error();
|
|
11
|
-
const currentResponse = state.response();
|
|
12
|
-
const currentArgs = state.args();
|
|
13
|
-
const currentLatestHttpEvent = state.latestHttpEvent();
|
|
14
|
-
const currentLastTimeExecutedAt = state.lastTimeExecutedAt();
|
|
15
|
-
untracked(() => {
|
|
16
|
-
snapshotState.args.set(currentArgs);
|
|
17
|
-
snapshotState.error.set(currentError);
|
|
18
|
-
snapshotState.lastTimeExecutedAt.set(currentLastTimeExecutedAt);
|
|
19
|
-
snapshotState.latestHttpEvent.set(currentLatestHttpEvent);
|
|
20
|
-
snapshotState.loading.set(currentLoading);
|
|
21
|
-
snapshotState.response.set(currentResponse);
|
|
22
|
-
if (currentLoading)
|
|
23
|
-
return;
|
|
24
|
-
if (!currentResponse && !currentError)
|
|
25
|
-
return;
|
|
26
|
-
// kill the effect once loading is done and we either have a response or an error
|
|
27
|
-
killEffectRef.destroy();
|
|
28
|
-
isAlive.set(false);
|
|
29
|
-
});
|
|
30
|
-
}, { injector: deps.injector });
|
|
31
|
-
const snapshot = {
|
|
32
|
-
args: snapshotState.args.asReadonly(),
|
|
33
|
-
response: snapshotState.response.asReadonly(),
|
|
34
|
-
latestHttpEvent: snapshotState.latestHttpEvent.asReadonly(),
|
|
35
|
-
loading: snapshotState.loading.asReadonly(),
|
|
36
|
-
error: snapshotState.error.asReadonly(),
|
|
37
|
-
lastTimeExecutedAt: snapshotState.lastTimeExecutedAt.asReadonly(),
|
|
38
|
-
isAlive: isAlive.asReadonly(),
|
|
39
|
-
id: options.execute.currentRepositoryKey,
|
|
40
|
-
};
|
|
41
|
-
return snapshot;
|
|
42
|
-
};
|
|
43
|
-
return snapshotFn;
|
|
44
|
-
};
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktc25hcHNob3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvZXhwZXJpbWVudGFsL3F1ZXJ5LXNuYXBzaG90LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkxRCxPQUFPLEVBQWMsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBUTVELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQTBCLE9BQTBDLEVBQUUsRUFBRTtJQUMzRyxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUVoQyxNQUFNLFVBQVUsR0FBRyxHQUFHLEVBQUU7UUFDdEIsTUFBTSxhQUFhLEdBQUcsZUFBZSxDQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ2pELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU3QixNQUFNLGFBQWEsR0FBRyxNQUFNLENBQzFCLEdBQUcsRUFBRTtZQUNILE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN2QyxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbkMsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3pDLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNqQyxNQUFNLHNCQUFzQixHQUFHLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN2RCxNQUFNLHlCQUF5QixHQUFHLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBRTdELFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2IsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ3BDLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUN0QyxhQUFhLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUM7Z0JBQ2hFLGFBQWEsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLENBQUM7Z0JBQzFELGFBQWEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUMxQyxhQUFhLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztnQkFFNUMsSUFBSSxjQUFjO29CQUFFLE9BQU87Z0JBRTNCLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxZQUFZO29CQUFFLE9BQU87Z0JBRTlDLGlGQUFpRjtnQkFDakYsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUV4QixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3JCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxFQUNELEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FDNUIsQ0FBQztRQUVGLE1BQU0sUUFBUSxHQUF5QjtZQUNyQyxJQUFJLEVBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDckMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFO1lBQzdDLGVBQWUsRUFBRSxhQUFhLENBQUMsZUFBZSxDQUFDLFVBQVUsRUFBRTtZQUMzRCxPQUFPLEVBQUUsYUFBYSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUU7WUFDM0MsS0FBSyxFQUFFLGFBQWEsQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFO1lBQ3ZDLGtCQUFrQixFQUFFLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLEVBQUU7WUFDakUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxVQUFVLEVBQUU7WUFDN0IsRUFBRSxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsb0JBQW9CO1NBQ3pDLENBQUM7UUFFRixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDLENBQUM7SUFFRixPQUFPLFVBQVUsQ0FBQztBQUNwQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBlZmZlY3QsIHNpZ25hbCwgdW50cmFja2VkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBRdWVyeUFyZ3MsIFF1ZXJ5U25hcHNob3QgfSBmcm9tICcuL3F1ZXJ5JztcbmltcG9ydCB7IFF1ZXJ5RGVwZW5kZW5jaWVzIH0gZnJvbSAnLi9xdWVyeS1kZXBlbmRlbmNpZXMnO1xuaW1wb3J0IHsgUXVlcnlFeGVjdXRlIH0gZnJvbSAnLi9xdWVyeS1leGVjdXRlJztcbmltcG9ydCB7IFF1ZXJ5U3RhdGUsIHNldHVwUXVlcnlTdGF0ZSB9IGZyb20gJy4vcXVlcnktc3RhdGUnO1xuXG5leHBvcnQgdHlwZSBDcmVhdGVRdWVyeVNuYXBzaG90T3B0aW9uczxUQXJncyBleHRlbmRzIFF1ZXJ5QXJncz4gPSB7XG4gIHN0YXRlOiBRdWVyeVN0YXRlPFRBcmdzPjtcbiAgZGVwczogUXVlcnlEZXBlbmRlbmNpZXM7XG4gIGV4ZWN1dGU6IFF1ZXJ5RXhlY3V0ZTxUQXJncz47XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlUXVlcnlTbmFwc2hvdEZuID0gPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPihvcHRpb25zOiBDcmVhdGVRdWVyeVNuYXBzaG90T3B0aW9uczxUQXJncz4pID0+IHtcbiAgY29uc3QgeyBzdGF0ZSwgZGVwcyB9ID0gb3B0aW9ucztcblxuICBjb25zdCBzbmFwc2hvdEZuID0gKCkgPT4ge1xuICAgIGNvbnN0IHNuYXBzaG90U3RhdGUgPSBzZXR1cFF1ZXJ5U3RhdGU8VEFyZ3M+KHt9KTtcbiAgICBjb25zdCBpc0FsaXZlID0gc2lnbmFsKHRydWUpO1xuXG4gICAgY29uc3Qga2lsbEVmZmVjdFJlZiA9IGVmZmVjdChcbiAgICAgICgpID0+IHtcbiAgICAgICAgY29uc3QgY3VycmVudExvYWRpbmcgPSBzdGF0ZS5sb2FkaW5nKCk7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRFcnJvciA9IHN0YXRlLmVycm9yKCk7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRSZXNwb25zZSA9IHN0YXRlLnJlc3BvbnNlKCk7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRBcmdzID0gc3RhdGUuYXJncygpO1xuICAgICAgICBjb25zdCBjdXJyZW50TGF0ZXN0SHR0cEV2ZW50ID0gc3RhdGUubGF0ZXN0SHR0cEV2ZW50KCk7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRMYXN0VGltZUV4ZWN1dGVkQXQgPSBzdGF0ZS5sYXN0VGltZUV4ZWN1dGVkQXQoKTtcblxuICAgICAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgICAgIHNuYXBzaG90U3RhdGUuYXJncy5zZXQoY3VycmVudEFyZ3MpO1xuICAgICAgICAgIHNuYXBzaG90U3RhdGUuZXJyb3Iuc2V0KGN1cnJlbnRFcnJvcik7XG4gICAgICAgICAgc25hcHNob3RTdGF0ZS5sYXN0VGltZUV4ZWN1dGVkQXQuc2V0KGN1cnJlbnRMYXN0VGltZUV4ZWN1dGVkQXQpO1xuICAgICAgICAgIHNuYXBzaG90U3RhdGUubGF0ZXN0SHR0cEV2ZW50LnNldChjdXJyZW50TGF0ZXN0SHR0cEV2ZW50KTtcbiAgICAgICAgICBzbmFwc2hvdFN0YXRlLmxvYWRpbmcuc2V0KGN1cnJlbnRMb2FkaW5nKTtcbiAgICAgICAgICBzbmFwc2hvdFN0YXRlLnJlc3BvbnNlLnNldChjdXJyZW50UmVzcG9uc2UpO1xuXG4gICAgICAgICAgaWYgKGN1cnJlbnRMb2FkaW5nKSByZXR1cm47XG5cbiAgICAgICAgICBpZiAoIWN1cnJlbnRSZXNwb25zZSAmJiAhY3VycmVudEVycm9yKSByZXR1cm47XG5cbiAgICAgICAgICAvLyBraWxsIHRoZSBlZmZlY3Qgb25jZSBsb2FkaW5nIGlzIGRvbmUgYW5kIHdlIGVpdGhlciBoYXZlIGEgcmVzcG9uc2Ugb3IgYW4gZXJyb3JcbiAgICAgICAgICBraWxsRWZmZWN0UmVmLmRlc3Ryb3koKTtcblxuICAgICAgICAgIGlzQWxpdmUuc2V0KGZhbHNlKTtcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgeyBpbmplY3RvcjogZGVwcy5pbmplY3RvciB9LFxuICAgICk7XG5cbiAgICBjb25zdCBzbmFwc2hvdDogUXVlcnlTbmFwc2hvdDxUQXJncz4gPSB7XG4gICAgICBhcmdzOiBzbmFwc2hvdFN0YXRlLmFyZ3MuYXNSZWFkb25seSgpLFxuICAgICAgcmVzcG9uc2U6IHNuYXBzaG90U3RhdGUucmVzcG9uc2UuYXNSZWFkb25seSgpLFxuICAgICAgbGF0ZXN0SHR0cEV2ZW50OiBzbmFwc2hvdFN0YXRlLmxhdGVzdEh0dHBFdmVudC5hc1JlYWRvbmx5KCksXG4gICAgICBsb2FkaW5nOiBzbmFwc2hvdFN0YXRlLmxvYWRpbmcuYXNSZWFkb25seSgpLFxuICAgICAgZXJyb3I6IHNuYXBzaG90U3RhdGUuZXJyb3IuYXNSZWFkb25seSgpLFxuICAgICAgbGFzdFRpbWVFeGVjdXRlZEF0OiBzbmFwc2hvdFN0YXRlLmxhc3RUaW1lRXhlY3V0ZWRBdC5hc1JlYWRvbmx5KCksXG4gICAgICBpc0FsaXZlOiBpc0FsaXZlLmFzUmVhZG9ubHkoKSxcbiAgICAgIGlkOiBvcHRpb25zLmV4ZWN1dGUuY3VycmVudFJlcG9zaXRvcnlLZXksXG4gICAgfTtcblxuICAgIHJldHVybiBzbmFwc2hvdDtcbiAgfTtcblxuICByZXR1cm4gc25hcHNob3RGbjtcbn07XG4iXX0=
|