@ethlete/query 5.21.1 → 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 +6 -0
- package/fesm2022/ethlete-query.mjs +21 -37
- package/fesm2022/ethlete-query.mjs.map +1 -1
- 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 -23
- package/esm2022/lib/experimental/paged-query.mjs +0 -194
- 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 -70
- 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,176 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-empty-function */
|
|
2
|
-
import { HttpErrorResponse, HttpStatusCode } from '@angular/common/http';
|
|
3
|
-
import { effect, isDevMode, runInInjectionContext, untracked } from '@angular/core';
|
|
4
|
-
import { isSymfonyPagerfantaOutOfRangeError } from '../symfony';
|
|
5
|
-
import { queryFeatureUsedMultipleTimes, withArgsQueryFeatureMissingButRouteIsFunction } from './query-errors';
|
|
6
|
-
/**
|
|
7
|
-
* Returning this inside e.g. a withComputedArgs feature will reset the query args to null.
|
|
8
|
-
* This will also pause polling and auto refresh until new args are set.
|
|
9
|
-
*/
|
|
10
|
-
export const QUERY_ARGS_RESET = Symbol('QUERY_ARGS_RESET');
|
|
11
|
-
export const QUERY_EFFECT_ERROR_MESSAGE = 'Effect triggered too often. This is probably due to a circular dependency inside the query.';
|
|
12
|
-
/** A angular effect that will throw an error in dev mode if it is called too often. This indicates a circular dependency inside the effect. */
|
|
13
|
-
export const queryEffect = (fn, errorMessage, options) => {
|
|
14
|
-
let lastTriggerTs = 0;
|
|
15
|
-
let illegalWrites = 0;
|
|
16
|
-
// The first run should be synchronous anf not depend on the angular scheduler
|
|
17
|
-
if (options?.injector) {
|
|
18
|
-
runInInjectionContext(options.injector, () => fn());
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
fn();
|
|
22
|
-
}
|
|
23
|
-
let isFirstRun = true;
|
|
24
|
-
return untracked(() => effect(() => {
|
|
25
|
-
if (isFirstRun) {
|
|
26
|
-
isFirstRun = false;
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
if (isDevMode()) {
|
|
30
|
-
const now = performance.now();
|
|
31
|
-
if (now - lastTriggerTs < 100) {
|
|
32
|
-
illegalWrites++;
|
|
33
|
-
if (illegalWrites > 5) {
|
|
34
|
-
throw new Error(errorMessage);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
lastTriggerTs = now;
|
|
38
|
-
}
|
|
39
|
-
fn();
|
|
40
|
-
}, options));
|
|
41
|
-
};
|
|
42
|
-
export const shouldAutoExecuteQuery = (method) => {
|
|
43
|
-
return method === 'GET' || method === 'HEAD' || method === 'OPTIONS';
|
|
44
|
-
};
|
|
45
|
-
export const extractExpiresInSeconds = (headers) => {
|
|
46
|
-
const cacheControl = headers.get('cache-control');
|
|
47
|
-
const age = headers.get('age');
|
|
48
|
-
const expires = headers.get('expires');
|
|
49
|
-
// In seconds
|
|
50
|
-
let expiresIn = null;
|
|
51
|
-
let maxAge = null;
|
|
52
|
-
if (cacheControl?.includes('no-cache')) {
|
|
53
|
-
return null;
|
|
54
|
-
}
|
|
55
|
-
if (cacheControl?.includes('max-age')) {
|
|
56
|
-
const m = cacheControl.split('max-age=')[1];
|
|
57
|
-
if (m) {
|
|
58
|
-
maxAge = parseInt(m);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
else if (cacheControl?.includes('s-maxage')) {
|
|
62
|
-
const m = cacheControl.split('s-maxage=')[1];
|
|
63
|
-
if (m) {
|
|
64
|
-
maxAge = parseInt(m);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
if (maxAge && age) {
|
|
68
|
-
const ageSeconds = parseInt(age);
|
|
69
|
-
expiresIn = maxAge - ageSeconds;
|
|
70
|
-
}
|
|
71
|
-
else if (maxAge) {
|
|
72
|
-
expiresIn = maxAge / 2; // We assume the response is half way to its expiration
|
|
73
|
-
}
|
|
74
|
-
else if (expires) {
|
|
75
|
-
// Used by some apis to tell the response will never expire
|
|
76
|
-
// In this case we let the response expire after 1 hour
|
|
77
|
-
if (expires === '-1') {
|
|
78
|
-
expiresIn = 3600;
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
const expiresDate = new Date(expires);
|
|
82
|
-
// check if the date is valid
|
|
83
|
-
if (expiresDate.toString() !== 'Invalid Date') {
|
|
84
|
-
expiresIn = Math.floor((expiresDate.getTime() - Date.now()) / 1000);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
return expiresIn;
|
|
89
|
-
};
|
|
90
|
-
export const shouldRetryRequest = (options) => {
|
|
91
|
-
const { retryCount, error } = options;
|
|
92
|
-
const defaultRetryDelay = 1000 + 1000 * retryCount;
|
|
93
|
-
if (retryCount > 3) {
|
|
94
|
-
return { retry: false };
|
|
95
|
-
}
|
|
96
|
-
if (!(error instanceof HttpErrorResponse)) {
|
|
97
|
-
return { retry: false };
|
|
98
|
-
}
|
|
99
|
-
const { status, error: detail, headers } = error;
|
|
100
|
-
// Retry on 5xx errors
|
|
101
|
-
if (status >= 500) {
|
|
102
|
-
// Don't retry if a requested page is out of range
|
|
103
|
-
if (isSymfonyPagerfantaOutOfRangeError(detail)) {
|
|
104
|
-
return { retry: false };
|
|
105
|
-
}
|
|
106
|
-
return { retry: true, delay: defaultRetryDelay };
|
|
107
|
-
}
|
|
108
|
-
// Retry on 408 or 425 errors
|
|
109
|
-
if (status === HttpStatusCode.RequestTimeout || status === HttpStatusCode.TooEarly) {
|
|
110
|
-
return { retry: true, delay: defaultRetryDelay };
|
|
111
|
-
}
|
|
112
|
-
// Retry on 429 errors
|
|
113
|
-
if (status === HttpStatusCode.TooManyRequests) {
|
|
114
|
-
const retryAfter = headers.get('retry-after') || headers.get('x-retry-after');
|
|
115
|
-
if (retryAfter) {
|
|
116
|
-
const delay = parseInt(retryAfter) * 1000;
|
|
117
|
-
return { retry: true, delay: Number.isNaN(delay) ? defaultRetryDelay : delay };
|
|
118
|
-
}
|
|
119
|
-
return { retry: true, delay: defaultRetryDelay };
|
|
120
|
-
}
|
|
121
|
-
// Code 0 usually means the internet connection is down. We retry in this case.
|
|
122
|
-
// It could also be a CORS issue but that should not be the case in production.
|
|
123
|
-
if (status === 0) {
|
|
124
|
-
return { retry: true, delay: defaultRetryDelay };
|
|
125
|
-
}
|
|
126
|
-
return { retry: false };
|
|
127
|
-
};
|
|
128
|
-
export const getQueryFeatureUsage = (options) => {
|
|
129
|
-
const { creator, creatorInternals, features, queryConfig } = options;
|
|
130
|
-
const hasWithArgsFeature = features.some((f) => f.type == "withArgs" /* QueryFeatureType.WithArgs */);
|
|
131
|
-
const shouldAutoExecuteMethod = shouldAutoExecuteQuery(creatorInternals.method);
|
|
132
|
-
const shouldAutoExecute = shouldAutoExecuteMethod && !queryConfig.onlyManualExecution;
|
|
133
|
-
const hasRouteFunction = typeof creator.route === 'function';
|
|
134
|
-
if (hasRouteFunction && !hasWithArgsFeature) {
|
|
135
|
-
throw withArgsQueryFeatureMissingButRouteIsFunction();
|
|
136
|
-
}
|
|
137
|
-
const featureFnContext = {
|
|
138
|
-
hasWithArgsFeature,
|
|
139
|
-
shouldAutoExecuteMethod,
|
|
140
|
-
shouldAutoExecute,
|
|
141
|
-
hasRouteFunction,
|
|
142
|
-
};
|
|
143
|
-
return featureFnContext;
|
|
144
|
-
};
|
|
145
|
-
export const applyQueryFeatures = (options, context) => {
|
|
146
|
-
const featureTypes = new Set();
|
|
147
|
-
for (const feature of options.features) {
|
|
148
|
-
if (featureTypes.has(feature.type)) {
|
|
149
|
-
throw queryFeatureUsedMultipleTimes(feature.type);
|
|
150
|
-
}
|
|
151
|
-
featureTypes.add(feature.type);
|
|
152
|
-
feature.fn(context);
|
|
153
|
-
}
|
|
154
|
-
};
|
|
155
|
-
export const maybeExecute = (options) => {
|
|
156
|
-
if (options.flags.shouldAutoExecute && !options.flags.hasRouteFunction && !options.flags.hasWithArgsFeature) {
|
|
157
|
-
options.execute();
|
|
158
|
-
}
|
|
159
|
-
};
|
|
160
|
-
export const createQueryObject = (options) => {
|
|
161
|
-
const { state, execute, createSnapshot, destroy } = options;
|
|
162
|
-
const query = {
|
|
163
|
-
execute,
|
|
164
|
-
args: state.args.asReadonly(),
|
|
165
|
-
response: state.response.asReadonly(),
|
|
166
|
-
latestHttpEvent: state.latestHttpEvent.asReadonly(),
|
|
167
|
-
loading: state.loading.asReadonly(),
|
|
168
|
-
error: state.error.asReadonly(),
|
|
169
|
-
lastTimeExecutedAt: state.lastTimeExecutedAt.asReadonly(),
|
|
170
|
-
id: execute.currentRepositoryKey,
|
|
171
|
-
createSnapshot,
|
|
172
|
-
destroy,
|
|
173
|
-
};
|
|
174
|
-
return query;
|
|
175
|
-
};
|
|
176
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvZXhwZXJpbWVudGFsL3F1ZXJ5LXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHlEQUF5RDtBQUV6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQWUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEYsT0FBTyxFQUF1QixNQUFNLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFHaEUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLDZDQUE2QyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLOUc7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFHM0QsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQ3JDLDZGQUE2RixDQUFDO0FBRWhHLCtJQUErSTtBQUMvSSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxFQUFjLEVBQUUsWUFBb0IsRUFBRSxPQUE2QixFQUFFLEVBQUU7SUFDakcsSUFBSSxhQUFhLEdBQUcsQ0FBQyxDQUFDO0lBQ3RCLElBQUksYUFBYSxHQUFHLENBQUMsQ0FBQztJQUV0Qiw4RUFBOEU7SUFDOUUsSUFBSSxPQUFPLEVBQUUsUUFBUSxFQUFFLENBQUM7UUFDdEIscUJBQXFCLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELENBQUM7U0FBTSxDQUFDO1FBQ04sRUFBRSxFQUFFLENBQUM7SUFDUCxDQUFDO0lBRUQsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBRXRCLE9BQU8sU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUNw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R0FBRyxDQUEwQixPQUdyRCxFQUFFLEVBQUU7SUFDSCxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsaUJBQWlCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLGdCQUFnQixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzVHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNwQixDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBU0YsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBMEIsT0FBd0MsRUFBRSxFQUFFO0lBQ3JHLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsR0FBRyxPQUFPLENBQUM7SUFFNUQsTUFBTSxLQUFLLEdBQWlCO1FBQzFCLE9BQU87UUFDUCxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7UUFDN0IsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFO1FBQ3JDLGVBQWUsRUFBRSxLQUFLLENBQUMsZUFBZSxDQUFDLFVBQVUsRUFBRTtRQUNuRCxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUU7UUFDbkMsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFO1FBQy9CLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLEVBQUU7UUFDekQsRUFBRSxFQUFFLE9BQU8sQ0FBQyxvQkFBb0I7UUFDaEMsY0FBYztRQUNkLE9BQU87S0FDUixDQUFDO0lBRUYsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb24gKi9cblxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UsIEh0dHBIZWFkZXJzLCBIdHRwU3RhdHVzQ29kZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IENyZWF0ZUVmZmVjdE9wdGlvbnMsIGVmZmVjdCwgaXNEZXZNb2RlLCBydW5JbkluamVjdGlvbkNvbnRleHQsIHVudHJhY2tlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNTeW1mb255UGFnZXJmYW50YU91dE9mUmFuZ2VFcnJvciB9IGZyb20gJy4uL3N5bWZvbnknO1xuaW1wb3J0IHsgQ3JlYXRlUXVlcnlPcHRpb25zLCBRdWVyeSwgUXVlcnlBcmdzLCBRdWVyeVNuYXBzaG90IH0gZnJvbSAnLi9xdWVyeSc7XG5pbXBvcnQgeyBRdWVyeU1ldGhvZCB9IGZyb20gJy4vcXVlcnktY3JlYXRvcic7XG5pbXBvcnQgeyBxdWVyeUZlYXR1cmVVc2VkTXVsdGlwbGVUaW1lcywgd2l0aEFyZ3NRdWVyeUZlYXR1cmVNaXNzaW5nQnV0Um91dGVJc0Z1bmN0aW9uIH0gZnJvbSAnLi9xdWVyeS1lcnJvcnMnO1xuaW1wb3J0IHsgUXVlcnlFeGVjdXRlIH0gZnJvbSAnLi9xdWVyeS1leGVjdXRlJztcbmltcG9ydCB7IFF1ZXJ5RmVhdHVyZUNvbnRleHQsIFF1ZXJ5RmVhdHVyZVR5cGUgfSBmcm9tICcuL3F1ZXJ5LWZlYXR1cmVzJztcbmltcG9ydCB7IFF1ZXJ5U3RhdGUgfSBmcm9tICcuL3F1ZXJ5LXN0YXRlJztcblxuLyoqXG4gKiBSZXR1cm5pbmcgdGhpcyBpbnNpZGUgZS5nLiBhIHdpdGhDb21wdXRlZEFyZ3MgZmVhdHVyZSB3aWxsIHJlc2V0IHRoZSBxdWVyeSBhcmdzIHRvIG51bGwuXG4gKiBUaGlzIHdpbGwgYWxzbyBwYXVzZSBwb2xsaW5nIGFuZCBhdXRvIHJlZnJlc2ggdW50aWwgbmV3IGFyZ3MgYXJlIHNldC5cbiAqL1xuZXhwb3J0IGNvbnN0IFFVRVJZX0FSR1NfUkVTRVQgPSBTeW1ib2woJ1FVRVJZX0FSR1NfUkVTRVQnKTtcbmV4cG9ydCB0eXBlIFF1ZXJ5QXJnc1Jlc2V0ID0gdHlwZW9mIFFVRVJZX0FSR1NfUkVTRVQ7XG5cbmV4cG9ydCBjb25zdCBRVUVSWV9FRkZFQ1RfRVJST1JfTUVTU0FHRSA9XG4gICdFZmZlY3QgdHJpZ2dlcmVkIHRvbyBvZnRlbi4gVGhpcyBpcyBwcm9iYWJseSBkdWUgdG8gYSBjaXJjdWxhciBkZXBlbmRlbmN5IGluc2lkZSB0aGUgcXVlcnkuJztcblxuLyoqIEEgYW5ndWxhciBlZmZlY3QgdGhhdCB3aWxsIHRocm93IGFuIGVycm9yIGluIGRldiBtb2RlIGlmIGl0IGlzIGNhbGxlZCB0b28gb2Z0ZW4uIFRoaXMgaW5kaWNhdGVzIGEgY2lyY3VsYXIgZGVwZW5kZW5jeSBpbnNpZGUgdGhlIGVmZmVjdC4gKi9cbmV4cG9ydCBjb25zdCBxdWVyeUVmZmVjdCA9IChmbjogKCkgPT4gdm9pZCwgZXJyb3JNZXNzYWdlOiBzdHJpbmcsIG9wdGlvbnM/OiBDcmVhdGVFZmZlY3RPcHRpb25zKSA9PiB7XG4gIGxldCBsYXN0VHJpZ2dlclRzID0gMDtcbiAgbGV0IGlsbGVnYWxXcml0ZXMgPSAwO1xuXG4gIC8vIFRoZSBmaXJzdCBydW4gc2hvdWxkIGJlIHN5bmNocm9ub3VzIGFuZiBub3QgZGVwZW5kIG9uIHRoZSBhbmd1bGFyIHNjaGVkdWxlclxuICBpZiAob3B0aW9ucz8uaW5qZWN0b3IpIHtcbiAgICBydW5JbkluamVjdGlvbkNvbnRleHQob3B0aW9ucy5pbmplY3RvciwgKCkgPT4gZm4oKSk7XG4gIH0gZWxzZSB7XG4gICAgZm4oKTtcbiAgfVxuXG4gIGxldCBpc0ZpcnN0UnVuID0gdHJ1ZTtcblxuICByZXR1cm4gdW50cmFja2VkKCgpID0+XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGlmIChpc0ZpcnN0UnVuKSB7XG4gICAgICAgIGlzRmlyc3RSdW4gPSBmYWxzZTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXNEZXZNb2RlKCkpIHtcbiAgICAgICAgY29uc3Qgbm93ID0gcGVyZm9ybWFuY2Uubm93KCk7XG5cbiAgICAgICAgaWYgKG5vdyAtIGxhc3RUcmlnZ2VyVHMgPCAxMDApIHtcbiAgICAgICAgICBpbGxlZ2FsV3JpdGVzKys7XG5cbiAgICAgICAgICBpZiAoaWxsZWdhbFdyaXRlcyA+IDUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvck1lc3NhZ2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxhc3RUcmlnZ2VyVHMgPSBub3c7XG4gICAgICB9XG5cbiAgICAgIGZuKCk7XG4gICAgfSwgb3B0aW9ucyksXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2hvdWxkQXV0b0V4ZWN1dGVRdWVyeSA9IChtZXRob2Q6IFF1ZXJ5TWV0aG9kKSA9PiB7XG4gIHJldHVybiBtZXRob2QgPT09ICdHRVQnIHx8IG1ldGhvZCA9PT0gJ0hFQUQnIHx8IG1ldGhvZCA9PT0gJ09QVElPTlMnO1xufTtcblxuZXhwb3J0IGNvbnN0IGV4dHJhY3RFeHBpcmVzSW5TZWNvbmRzID0gKGhlYWRlcnM6IEh0dHBIZWFkZXJzKSA9PiB7XG4gIGNvbnN0IGNhY2hlQ29udHJvbCA9IGhlYWRlcnMuZ2V0KCdjYWNoZS1jb250cm9sJyk7XG4gIGNvbnN0IGFnZSA9IGhlYWRlcnMuZ2V0KCdhZ2UnKTtcbiAgY29uc3QgZXhwaXJlcyA9IGhlYWRlcnMuZ2V0KCdleHBpcmVzJyk7XG5cbiAgLy8gSW4gc2Vjb25kc1xuICBsZXQgZXhwaXJlc0luOiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgbGV0IG1heEFnZTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgaWYgKGNhY2hlQ29udHJvbD8uaW5jbHVkZXMoJ25vLWNhY2hlJykpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGlmIChjYWNoZUNvbnRyb2w/LmluY2x1ZGVzKCdtYXgtYWdlJykpIHtcbiAgICBjb25zdCBtID0gY2FjaGVDb250cm9sLnNwbGl0KCdtYXgtYWdlPScpWzFdO1xuXG4gICAgaWYgKG0pIHtcbiAgICAgIG1heEFnZSA9IHBhcnNlSW50KG0pO1xuICAgIH1cbiAgfSBlbHNlIGlmIChjYWNoZUNvbnRyb2w/LmluY2x1ZGVzKCdzLW1heGFnZScpKSB7XG4gICAgY29uc3QgbSA9IGNhY2hlQ29udHJvbC5zcGxpdCgncy1tYXhhZ2U9JylbMV07XG5cbiAgICBpZiAobSkge1xuICAgICAgbWF4QWdlID0gcGFyc2VJbnQobSk7XG4gICAgfVxuICB9XG5cbiAgaWYgKG1heEFnZSAmJiBhZ2UpIHtcbiAgICBjb25zdCBhZ2VTZWNvbmRzID0gcGFyc2VJbnQoYWdlKTtcblxuICAgIGV4cGlyZXNJbiA9IG1heEFnZSAtIGFnZVNlY29uZHM7XG4gIH0gZWxzZSBpZiAobWF4QWdlKSB7XG4gICAgZXhwaXJlc0luID0gbWF4QWdlIC8gMjsgLy8gV2UgYXNzdW1lIHRoZSByZXNwb25zZSBpcyBoYWxmIHdheSB0byBpdHMgZXhwaXJhdGlvblxuICB9IGVsc2UgaWYgKGV4cGlyZXMpIHtcbiAgICAvLyBVc2VkIGJ5IHNvbWUgYXBpcyB0byB0ZWxsIHRoZSByZXNwb25zZSB3aWxsIG5ldmVyIGV4cGlyZVxuICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBsZXQgdGhlIHJlc3BvbnNlIGV4cGlyZSBhZnRlciAxIGhvdXJcbiAgICBpZiAoZXhwaXJlcyA9PT0gJy0xJykge1xuICAgICAgZXhwaXJlc0luID0gMzYwMDtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZXhwaXJlc0RhdGUgPSBuZXcgRGF0ZShleHBpcmVzKTtcblxuICAgICAgLy8gY2hlY2sgaWYgdGhlIGRhdGUgaXMgdmFsaWRcbiAgICAgIGlmIChleHBpcmVzRGF0ZS50b1N0cmluZygpICE9PSAnSW52YWxpZCBEYXRlJykge1xuICAgICAgICBleHBpcmVzSW4gPSBNYXRoLmZsb29yKChleHBpcmVzRGF0ZS5nZXRUaW1lKCkgLSBEYXRlLm5vdygpKSAvIDEwMDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBleHBpcmVzSW47XG59O1xuXG5leHBvcnQgdHlwZSBTaG91bGRSZXRyeVJlcXVlc3RPcHRpb25zID0ge1xuICByZXRyeUNvdW50OiBudW1iZXI7XG4gIGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZTtcbn07XG5cbmV4cG9ydCB0eXBlIFNob3VsZFJldHJ5UmVxdWVzdFJlc3VsdCA9XG4gIHwge1xuICAgICAgcmV0cnk6IGZhbHNlO1xuICAgIH1cbiAgfCB7XG4gICAgICByZXRyeTogdHJ1ZTtcbiAgICAgIGRlbGF5OiBudW1iZXI7XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgU2hvdWxkUmV0cnlSZXF1ZXN0Rm4gPSAob3B0aW9uczogU2hvdWxkUmV0cnlSZXF1ZXN0T3B0aW9ucykgPT4gU2hvdWxkUmV0cnlSZXF1ZXN0UmVzdWx0O1xuXG5leHBvcnQgY29uc3Qgc2hvdWxkUmV0cnlSZXF1ZXN0ID0gKG9wdGlvbnM6IFNob3VsZFJldHJ5UmVxdWVzdE9wdGlvbnMpOiBTaG91bGRSZXRyeVJlcXVlc3RSZXN1bHQgPT4ge1xuICBjb25zdCB7IHJldHJ5Q291bnQsIGVycm9yIH0gPSBvcHRpb25zO1xuICBjb25zdCBkZWZhdWx0UmV0cnlEZWxheSA9IDEwMDAgKyAxMDAwICogcmV0cnlDb3VudDtcblxuICBpZiAocmV0cnlDb3VudCA+IDMpIHtcbiAgICByZXR1cm4geyByZXRyeTogZmFsc2UgfTtcbiAgfVxuXG4gIGlmICghKGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpKSB7XG4gICAgcmV0dXJuIHsgcmV0cnk6IGZhbHNlIH07XG4gIH1cblxuICBjb25zdCB7IHN0YXR1cywgZXJyb3I6IGRldGFpbCwgaGVhZGVycyB9ID0gZXJyb3I7XG5cbiAgLy8gUmV0cnkgb24gNXh4IGVycm9yc1xuICBpZiAoc3RhdHVzID49IDUwMCkge1xuICAgIC8vIERvbid0IHJldHJ5IGlmIGEgcmVxdWVzdGVkIHBhZ2UgaXMgb3V0IG9mIHJhbmdlXG4gICAgaWYgKGlzU3ltZm9ueVBhZ2VyZmFudGFPdXRPZlJhbmdlRXJyb3IoZGV0YWlsKSkge1xuICAgICAgcmV0dXJuIHsgcmV0cnk6IGZhbHNlIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgcmV0cnk6IHRydWUsIGRlbGF5OiBkZWZhdWx0UmV0cnlEZWxheSB9O1xuICB9XG5cbiAgLy8gUmV0cnkgb24gNDA4IG9yIDQyNSBlcnJvcnNcbiAgaWYgKHN0YXR1cyA9PT0gSHR0cFN0YXR1c0NvZGUuUmVxdWVzdFRpbWVvdXQgfHwgc3RhdHVzID09PSBIdHRwU3RhdHVzQ29kZS5Ub29FYXJseSkge1xuICAgIHJldHVybiB7IHJldHJ5OiB0cnVlLCBkZWxheTogZGVmYXVsdFJldHJ5RGVsYXkgfTtcbiAgfVxuXG4gIC8vIFJldHJ5IG9uIDQyOSBlcnJvcnNcbiAgaWYgKHN0YXR1cyA9PT0gSHR0cFN0YXR1c0NvZGUuVG9vTWFueVJlcXVlc3RzKSB7XG4gICAgY29uc3QgcmV0cnlBZnRlciA9IGhlYWRlcnMuZ2V0KCdyZXRyeS1hZnRlcicpIHx8IGhlYWRlcnMuZ2V0KCd4LXJldHJ5LWFmdGVyJyk7XG5cbiAgICBpZiAocmV0cnlBZnRlcikge1xuICAgICAgY29uc3QgZGVsYXkgPSBwYXJzZUludChyZXRyeUFmdGVyKSAqIDEwMDA7XG4gICAgICByZXR1cm4geyByZXRyeTogdHJ1ZSwgZGVsYXk6IE51bWJlci5pc05hTihkZWxheSkgPyBkZWZhdWx0UmV0cnlEZWxheSA6IGRlbGF5IH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgcmV0cnk6IHRydWUsIGRlbGF5OiBkZWZhdWx0UmV0cnlEZWxheSB9O1xuICB9XG5cbiAgLy8gQ29kZSAwIHVzdWFsbHkgbWVhbnMgdGhlIGludGVybmV0IGNvbm5lY3Rpb24gaXMgZG93bi4gV2UgcmV0cnkgaW4gdGhpcyBjYXNlLlxuICAvLyBJdCBjb3VsZCBhbHNvIGJlIGEgQ09SUyBpc3N1ZSBidXQgdGhhdCBzaG91bGQgbm90IGJlIHRoZSBjYXNlIGluIHByb2R1Y3Rpb24uXG4gIGlmIChzdGF0dXMgPT09IDApIHtcbiAgICByZXR1cm4geyByZXRyeTogdHJ1ZSwgZGVsYXk6IGRlZmF1bHRSZXRyeURlbGF5IH07XG4gIH1cblxuICByZXR1cm4geyByZXRyeTogZmFsc2UgfTtcbn07XG5cbmV4cG9ydCB0eXBlIFF1ZXJ5RmVhdHVyZUZsYWdzID0ge1xuICBoYXNXaXRoQXJnc0ZlYXR1cmU6IGJvb2xlYW47XG4gIHNob3VsZEF1dG9FeGVjdXRlTWV0aG9kOiBib29sZWFuO1xuICBzaG91bGRBdXRvRXhlY3V0ZTogYm9vbGVhbjtcbiAgaGFzUm91dGVGdW5jdGlvbjogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRRdWVyeUZlYXR1cmVVc2FnZSA9IDxUQXJncyBleHRlbmRzIFF1ZXJ5QXJncz4ob3B0aW9uczogQ3JlYXRlUXVlcnlPcHRpb25zPFRBcmdzPikgPT4ge1xuICBjb25zdCB7IGNyZWF0b3IsIGNyZWF0b3JJbnRlcm5hbHMsIGZlYXR1cmVzLCBxdWVyeUNvbmZpZyB9ID0gb3B0aW9ucztcblxuICBjb25zdCBoYXNXaXRoQXJnc0ZlYXR1cmUgPSBmZWF0dXJlcy5zb21lKChmKSA9PiBmLnR5cGUgPT0gUXVlcnlGZWF0dXJlVHlwZS5XaXRoQXJncyk7XG4gIGNvbnN0IHNob3VsZEF1dG9FeGVjdXRlTWV0aG9kID0gc2hvdWxkQXV0b0V4ZWN1dGVRdWVyeShjcmVhdG9ySW50ZXJuYWxzLm1ldGhvZCk7XG4gIGNvbnN0IHNob3VsZEF1dG9FeGVjdXRlID0gc2hvdWxkQXV0b0V4ZWN1dGVNZXRob2QgJiYgIXF1ZXJ5Q29uZmlnLm9ubHlNYW51YWxFeGVjdXRpb247XG4gIGNvbnN0IGhhc1JvdXRlRnVuY3Rpb24gPSB0eXBlb2YgY3JlYXRvci5yb3V0ZSA9PT0gJ2Z1bmN0aW9uJztcblxuICBpZiAoaGFzUm91dGVGdW5jdGlvbiAmJiAhaGFzV2l0aEFyZ3NGZWF0dXJlKSB7XG4gICAgdGhyb3cgd2l0aEFyZ3NRdWVyeUZlYXR1cmVNaXNzaW5nQnV0Um91dGVJc0Z1bmN0aW9uKCk7XG4gIH1cblxuICBjb25zdCBmZWF0dXJlRm5Db250ZXh0OiBRdWVyeUZlYXR1cmVGbGFncyA9IHtcbiAgICBoYXNXaXRoQXJnc0ZlYXR1cmUsXG4gICAgc2hvdWxkQXV0b0V4ZWN1dGVNZXRob2QsXG4gICAgc2hvdWxkQXV0b0V4ZWN1dGUsXG4gICAgaGFzUm91dGVGdW5jdGlvbixcbiAgfTtcblxuICByZXR1cm4gZmVhdHVyZUZuQ29udGV4dDtcbn07XG5cbmV4cG9ydCBjb25zdCBhcHBseVF1ZXJ5RmVhdHVyZXMgPSA8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+KFxuICBvcHRpb25zOiBDcmVhdGVRdWVyeU9wdGlvbnM8VEFyZ3M+LFxuICBjb250ZXh0OiBRdWVyeUZlYXR1cmVDb250ZXh0PFRBcmdzPixcbikgPT4ge1xuICBjb25zdCBmZWF0dXJlVHlwZXMgPSBuZXcgU2V0PFF1ZXJ5RmVhdHVyZVR5cGU+KCk7XG5cbiAgZm9yIChjb25zdCBmZWF0dXJlIG9mIG9wdGlvbnMuZmVhdHVyZXMpIHtcbiAgICBpZiAoZmVhdHVyZVR5cGVzLmhhcyhmZWF0dXJlLnR5cGUpKSB7XG4gICAgICB0aHJvdyBxdWVyeUZlYXR1cmVVc2VkTXVsdGlwbGVUaW1lcyhmZWF0dXJlLnR5cGUpO1xuICAgIH1cblxuICAgIGZlYXR1cmVUeXBlcy5hZGQoZmVhdHVyZS50eXBlKTtcbiAgICBmZWF0dXJlLmZuKGNvbnRleHQpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgbWF5YmVFeGVjdXRlID0gPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPihvcHRpb25zOiB7XG4gIGZsYWdzOiBRdWVyeUZlYXR1cmVGbGFncztcbiAgZXhlY3V0ZTogUXVlcnlFeGVjdXRlPFRBcmdzPjtcbn0pID0+IHtcbiAgaWYgKG9wdGlvbnMuZmxhZ3Muc2hvdWxkQXV0b0V4ZWN1dGUgJiYgIW9wdGlvbnMuZmxhZ3MuaGFzUm91dGVGdW5jdGlvbiAmJiAhb3B0aW9ucy5mbGFncy5oYXNXaXRoQXJnc0ZlYXR1cmUpIHtcbiAgICBvcHRpb25zLmV4ZWN1dGUoKTtcbiAgfVxufTtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlUXVlcnlPYmplY3RPcHRpb25zPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPiA9IHtcbiAgc3RhdGU6IFF1ZXJ5U3RhdGU8VEFyZ3M+O1xuICBleGVjdXRlOiBRdWVyeUV4ZWN1dGU8VEFyZ3M+O1xuICBjcmVhdGVTbmFwc2hvdDogKCkgPT4gUXVlcnlTbmFwc2hvdDxUQXJncz47XG4gIGRlc3Ryb3k6ICgpID0+IHZvaWQ7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlUXVlcnlPYmplY3QgPSA8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+KG9wdGlvbnM6IENyZWF0ZVF1ZXJ5T2JqZWN0T3B0aW9uczxUQXJncz4pID0+IHtcbiAgY29uc3QgeyBzdGF0ZSwgZXhlY3V0ZSwgY3JlYXRlU25hcHNob3QsIGRlc3Ryb3kgfSA9IG9wdGlvbnM7XG5cbiAgY29uc3QgcXVlcnk6IFF1ZXJ5PFRBcmdzPiA9IHtcbiAgICBleGVjdXRlLFxuICAgIGFyZ3M6IHN0YXRlLmFyZ3MuYXNSZWFkb25seSgpLFxuICAgIHJlc3BvbnNlOiBzdGF0ZS5yZXNwb25zZS5hc1JlYWRvbmx5KCksXG4gICAgbGF0ZXN0SHR0cEV2ZW50OiBzdGF0ZS5sYXRlc3RIdHRwRXZlbnQuYXNSZWFkb25seSgpLFxuICAgIGxvYWRpbmc6IHN0YXRlLmxvYWRpbmcuYXNSZWFkb25seSgpLFxuICAgIGVycm9yOiBzdGF0ZS5lcnJvci5hc1JlYWRvbmx5KCksXG4gICAgbGFzdFRpbWVFeGVjdXRlZEF0OiBzdGF0ZS5sYXN0VGltZUV4ZWN1dGVkQXQuYXNSZWFkb25seSgpLFxuICAgIGlkOiBleGVjdXRlLmN1cnJlbnRSZXBvc2l0b3J5S2V5LFxuICAgIGNyZWF0ZVNuYXBzaG90LFxuICAgIGRlc3Ryb3ksXG4gIH07XG5cbiAgcmV0dXJuIHF1ZXJ5O1xufTtcbiJdfQ==
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
/* eslint-disable @typescript-eslint/no-empty-function */
|
|
3
|
-
import { setupQueryDependencies } from './query-dependencies';
|
|
4
|
-
import { createExecuteFn } from './query-execute';
|
|
5
|
-
import { createQuerySnapshotFn } from './query-snapshot';
|
|
6
|
-
import { setupQueryState } from './query-state';
|
|
7
|
-
import { applyQueryFeatures, createQueryObject, getQueryFeatureUsage, maybeExecute } from './query-utils';
|
|
8
|
-
export const createQuery = (options) => {
|
|
9
|
-
const deps = setupQueryDependencies({ clientConfig: options.creatorInternals.client });
|
|
10
|
-
const state = setupQueryState({});
|
|
11
|
-
const { creator, creatorInternals, queryConfig } = options;
|
|
12
|
-
const flags = getQueryFeatureUsage(options);
|
|
13
|
-
const execute = createExecuteFn({ deps, state, creator, creatorInternals, queryConfig: options.queryConfig });
|
|
14
|
-
const createSnapshot = createQuerySnapshotFn({ state, deps, execute });
|
|
15
|
-
const destroy = () => deps.injector.destroy();
|
|
16
|
-
const featureFnContext = {
|
|
17
|
-
state,
|
|
18
|
-
queryConfig,
|
|
19
|
-
creatorConfig: creator,
|
|
20
|
-
creatorInternals,
|
|
21
|
-
execute,
|
|
22
|
-
flags,
|
|
23
|
-
deps,
|
|
24
|
-
};
|
|
25
|
-
applyQueryFeatures(options, featureFnContext);
|
|
26
|
-
maybeExecute({ execute, flags });
|
|
27
|
-
return createQueryObject({ state, execute, createSnapshot, destroy });
|
|
28
|
-
};
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvZXhwZXJpbWVudGFsL3F1ZXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCx5REFBeUQ7QUFNekQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxpQkFBaUIsQ0FBQztBQUVoRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxvQkFBb0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUErQzFHLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUEwQixPQUFrQyxFQUFFLEVBQUU7SUFDekYsTUFBTSxJQUFJLEdBQUcsc0JBQXNCLENBQUMsRUFBRSxZQUFZLEVBQUUsT0FBTyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDdkYsTUFBTSxLQUFLLEdBQUcsZUFBZSxDQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLE1BQU0sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBQzNELE1BQU0sS0FBSyxHQUFHLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRTVDLE1BQU0sT0FBTyxHQUFHLGVBQWUsQ0FBUSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUNySCxNQUFNLGNBQWMsR0FBRyxxQkFBcUIsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN2RSxNQUFNLE9BQU8sR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBRTlDLE1BQU0sZ0JBQWdCLEdBQStCO1FBQ25ELEtBQUs7UUFDTCxXQUFXO1FBQ1gsYUFBYSxFQUFFLE9BQU87UUFDdEIsZ0JBQWdCO1FBQ2hCLE9BQU87UUFDUCxLQUFLO1FBQ0wsSUFBSTtLQUNMLENBQUM7SUFFRixrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUU5QyxZQUFZLENBQVEsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUV4QyxPQUFPLGlCQUFpQixDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztBQUN4RSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb24gKi9cblxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UsIEh0dHBFdmVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBSZXF1ZXN0TG9hZGluZ1N0YXRlIH0gZnJvbSAnLi9odHRwLXJlcXVlc3QnO1xuaW1wb3J0IHsgQ3JlYXRlUXVlcnlDcmVhdG9yT3B0aW9ucywgSW50ZXJuYWxDcmVhdGVRdWVyeUNyZWF0b3JPcHRpb25zLCBRdWVyeUNvbmZpZyB9IGZyb20gJy4vcXVlcnktY3JlYXRvcic7XG5pbXBvcnQgeyBzZXR1cFF1ZXJ5RGVwZW5kZW5jaWVzIH0gZnJvbSAnLi9xdWVyeS1kZXBlbmRlbmNpZXMnO1xuaW1wb3J0IHsgY3JlYXRlRXhlY3V0ZUZuLCBRdWVyeUV4ZWN1dGUgfSBmcm9tICcuL3F1ZXJ5LWV4ZWN1dGUnO1xuaW1wb3J0IHsgUXVlcnlGZWF0dXJlLCBRdWVyeUZlYXR1cmVDb250ZXh0IH0gZnJvbSAnLi9xdWVyeS1mZWF0dXJlcyc7XG5pbXBvcnQgeyBjcmVhdGVRdWVyeVNuYXBzaG90Rm4gfSBmcm9tICcuL3F1ZXJ5LXNuYXBzaG90JztcbmltcG9ydCB7IHNldHVwUXVlcnlTdGF0ZSB9IGZyb20gJy4vcXVlcnktc3RhdGUnO1xuaW1wb3J0IHsgYXBwbHlRdWVyeUZlYXR1cmVzLCBjcmVhdGVRdWVyeU9iamVjdCwgZ2V0UXVlcnlGZWF0dXJlVXNhZ2UsIG1heWJlRXhlY3V0ZSB9IGZyb20gJy4vcXVlcnktdXRpbHMnO1xuXG5leHBvcnQgdHlwZSBRdWVyeUFyZ3MgPSB7XG4gIHJlc3BvbnNlPzogYW55O1xuICBwYXRoUGFyYW1zPzogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyPjtcbiAgcXVlcnlQYXJhbXM/OiBhbnk7XG4gIGJvZHk/OiBhbnk7XG4gIGhlYWRlcnM/OiBIdHRwSGVhZGVycztcbn07XG5cbmV4cG9ydCB0eXBlIFJlc3BvbnNlVHlwZTxUIGV4dGVuZHMgUXVlcnlBcmdzIHwgbnVsbD4gPSBUIGV4dGVuZHMgUXVlcnlBcmdzID8gVFsncmVzcG9uc2UnXSA6IG5ldmVyO1xuZXhwb3J0IHR5cGUgUGF0aFBhcmFtc1R5cGU8VCBleHRlbmRzIFF1ZXJ5QXJncyB8IG51bGw+ID0gVCBleHRlbmRzIFF1ZXJ5QXJncyA/IFRbJ3BhdGhQYXJhbXMnXSA6IG5ldmVyO1xuZXhwb3J0IHR5cGUgUXVlcnlQYXJhbXNUeXBlPFQgZXh0ZW5kcyBRdWVyeUFyZ3MgfCBudWxsPiA9IFQgZXh0ZW5kcyBRdWVyeUFyZ3MgPyBUWydxdWVyeVBhcmFtcyddIDogbmV2ZXI7XG5leHBvcnQgdHlwZSBCb2R5VHlwZTxUIGV4dGVuZHMgUXVlcnlBcmdzIHwgbnVsbD4gPSBUIGV4dGVuZHMgUXVlcnlBcmdzID8gVFsnYm9keSddIDogbmV2ZXI7XG5cbmV4cG9ydCB0eXBlIFJlcXVlc3RBcmdzPFQgZXh0ZW5kcyBRdWVyeUFyZ3MgfCBudWxsPiA9IFQgZXh0ZW5kcyBRdWVyeUFyZ3MgPyBPbWl0PFQsICdyZXNwb25zZSc+IDogbmV2ZXI7XG5cbmV4cG9ydCB0eXBlIENyZWF0ZVF1ZXJ5T3B0aW9uczxUQXJncyBleHRlbmRzIFF1ZXJ5QXJncz4gPSB7XG4gIGNyZWF0b3I6IENyZWF0ZVF1ZXJ5Q3JlYXRvck9wdGlvbnM8VEFyZ3M+O1xuICBjcmVhdG9ySW50ZXJuYWxzOiBJbnRlcm5hbENyZWF0ZVF1ZXJ5Q3JlYXRvck9wdGlvbnM7XG4gIGZlYXR1cmVzOiBRdWVyeUZlYXR1cmU8VEFyZ3M+W107XG4gIHF1ZXJ5Q29uZmlnOiBRdWVyeUNvbmZpZztcbn07XG5cbmV4cG9ydCB0eXBlIFF1ZXJ5QmFzZTxUQXJncyBleHRlbmRzIFF1ZXJ5QXJncz4gPSB7XG4gIGFyZ3M6IFNpZ25hbDxSZXF1ZXN0QXJnczxUQXJncz4gfCBudWxsPjtcbiAgcmVzcG9uc2U6IFNpZ25hbDxSZXNwb25zZVR5cGU8VEFyZ3M+IHwgbnVsbD47XG4gIGxhdGVzdEh0dHBFdmVudDogU2lnbmFsPEh0dHBFdmVudDxSZXNwb25zZVR5cGU8VEFyZ3M+PiB8IG51bGw+O1xuICBsb2FkaW5nOiBTaWduYWw8SHR0cFJlcXVlc3RMb2FkaW5nU3RhdGUgfCBudWxsPjtcbiAgZXJyb3I6IFNpZ25hbDxIdHRwRXJyb3JSZXNwb25zZSB8IG51bGw+O1xuICBsYXN0VGltZUV4ZWN1dGVkQXQ6IFNpZ25hbDxudW1iZXIgfCBudWxsPjtcbiAgaWQ6IFNpZ25hbDxzdHJpbmcgfCBmYWxzZT47XG59O1xuXG5leHBvcnQgdHlwZSBRdWVyeVNuYXBzaG90PFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPiA9IFF1ZXJ5QmFzZTxUQXJncz4gJiB7XG4gIGlzQWxpdmU6IFNpZ25hbDxib29sZWFuPjtcbn07XG5cbmV4cG9ydCB0eXBlIEFueVF1ZXJ5U25hcHNob3QgPSBRdWVyeVNuYXBzaG90PGFueT47XG5leHBvcnQgdHlwZSBBbnlRdWVyeSA9IFF1ZXJ5PGFueT47XG5cbmV4cG9ydCB0eXBlIFF1ZXJ5PFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPiA9IFF1ZXJ5QmFzZTxUQXJncz4gJiB7XG4gIGV4ZWN1dGU6IFF1ZXJ5RXhlY3V0ZTxUQXJncz47XG4gIGNyZWF0ZVNuYXBzaG90OiAoKSA9PiBRdWVyeVNuYXBzaG90PFRBcmdzPjtcbiAgZGVzdHJveTogKCkgPT4gdm9pZDtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVRdWVyeSA9IDxUQXJncyBleHRlbmRzIFF1ZXJ5QXJncz4ob3B0aW9uczogQ3JlYXRlUXVlcnlPcHRpb25zPFRBcmdzPikgPT4ge1xuICBjb25zdCBkZXBzID0gc2V0dXBRdWVyeURlcGVuZGVuY2llcyh7IGNsaWVudENvbmZpZzogb3B0aW9ucy5jcmVhdG9ySW50ZXJuYWxzLmNsaWVudCB9KTtcbiAgY29uc3Qgc3RhdGUgPSBzZXR1cFF1ZXJ5U3RhdGU8VEFyZ3M+KHt9KTtcbiAgY29uc3QgeyBjcmVhdG9yLCBjcmVhdG9ySW50ZXJuYWxzLCBxdWVyeUNvbmZpZyB9ID0gb3B0aW9ucztcbiAgY29uc3QgZmxhZ3MgPSBnZXRRdWVyeUZlYXR1cmVVc2FnZShvcHRpb25zKTtcblxuICBjb25zdCBleGVjdXRlID0gY3JlYXRlRXhlY3V0ZUZuPFRBcmdzPih7IGRlcHMsIHN0YXRlLCBjcmVhdG9yLCBjcmVhdG9ySW50ZXJuYWxzLCBxdWVyeUNvbmZpZzogb3B0aW9ucy5xdWVyeUNvbmZpZyB9KTtcbiAgY29uc3QgY3JlYXRlU25hcHNob3QgPSBjcmVhdGVRdWVyeVNuYXBzaG90Rm4oeyBzdGF0ZSwgZGVwcywgZXhlY3V0ZSB9KTtcbiAgY29uc3QgZGVzdHJveSA9ICgpID0+IGRlcHMuaW5qZWN0b3IuZGVzdHJveSgpO1xuXG4gIGNvbnN0IGZlYXR1cmVGbkNvbnRleHQ6IFF1ZXJ5RmVhdHVyZUNvbnRleHQ8VEFyZ3M+ID0ge1xuICAgIHN0YXRlLFxuICAgIHF1ZXJ5Q29uZmlnLFxuICAgIGNyZWF0b3JDb25maWc6IGNyZWF0b3IsXG4gICAgY3JlYXRvckludGVybmFscyxcbiAgICBleGVjdXRlLFxuICAgIGZsYWdzLFxuICAgIGRlcHMsXG4gIH07XG5cbiAgYXBwbHlRdWVyeUZlYXR1cmVzKG9wdGlvbnMsIGZlYXR1cmVGbkNvbnRleHQpO1xuXG4gIG1heWJlRXhlY3V0ZTxUQXJncz4oeyBleGVjdXRlLCBmbGFncyB9KTtcblxuICByZXR1cm4gY3JlYXRlUXVlcnlPYmplY3QoeyBzdGF0ZSwgZXhlY3V0ZSwgY3JlYXRlU25hcHNob3QsIGRlc3Ryb3kgfSk7XG59O1xuIl19
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { splitQueryConfig, } from './query-creator';
|
|
2
|
-
import { createSecureQuery } from './secure-query';
|
|
3
|
-
export const createSecureQueryCreator = (options, internals) => {
|
|
4
|
-
function queryCreator(...args) {
|
|
5
|
-
const { features, queryConfig } = splitQueryConfig(args);
|
|
6
|
-
return createSecureQuery({
|
|
7
|
-
creator: options,
|
|
8
|
-
creatorInternals: internals,
|
|
9
|
-
features,
|
|
10
|
-
queryConfig,
|
|
11
|
-
});
|
|
12
|
-
}
|
|
13
|
-
return queryCreator;
|
|
14
|
-
};
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJlLXF1ZXJ5LWNyZWF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvZXhwZXJpbWVudGFsL3NlY3VyZS1xdWVyeS1jcmVhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFLTCxnQkFBZ0IsR0FDakIsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU1uRCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUN0QyxPQUF5QyxFQUN6QyxTQUFrRCxFQUM3QixFQUFFO0lBSXZCLFNBQVMsWUFBWSxDQUFDLEdBQUcsSUFBMkM7UUFDbEUsTUFBTSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBUSxJQUFJLENBQUMsQ0FBQztRQUVoRSxPQUFPLGlCQUFpQixDQUFRO1lBQzlCLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLGdCQUFnQixFQUFFLFNBQVM7WUFDM0IsUUFBUTtZQUNSLFdBQVc7U0FDWixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTyxZQUFZLENBQUM7QUFDdEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW55QmVhcmVyQXV0aFByb3ZpZGVyQ29uZmlnIH0gZnJvbSAnLi9iZWFyZXItYXV0aC1wcm92aWRlci1jb25maWcnO1xuaW1wb3J0IHsgUXVlcnksIFF1ZXJ5QXJncyB9IGZyb20gJy4vcXVlcnknO1xuaW1wb3J0IHtcbiAgQ3JlYXRlUXVlcnlDcmVhdG9yT3B0aW9ucyxcbiAgSW50ZXJuYWxDcmVhdGVRdWVyeUNyZWF0b3JPcHRpb25zLFxuICBRdWVyeUNvbmZpZyxcbiAgUXVlcnlDcmVhdG9yLFxuICBzcGxpdFF1ZXJ5Q29uZmlnLFxufSBmcm9tICcuL3F1ZXJ5LWNyZWF0b3InO1xuaW1wb3J0IHsgUXVlcnlGZWF0dXJlIH0gZnJvbSAnLi9xdWVyeS1mZWF0dXJlcyc7XG5pbXBvcnQgeyBjcmVhdGVTZWN1cmVRdWVyeSB9IGZyb20gJy4vc2VjdXJlLXF1ZXJ5JztcblxuZXhwb3J0IHR5cGUgSW50ZXJuYWxTZWN1cmVDcmVhdGVRdWVyeUNyZWF0b3JPcHRpb25zID0gSW50ZXJuYWxDcmVhdGVRdWVyeUNyZWF0b3JPcHRpb25zICYge1xuICBhdXRoUHJvdmlkZXI6IEFueUJlYXJlckF1dGhQcm92aWRlckNvbmZpZztcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVTZWN1cmVRdWVyeUNyZWF0b3IgPSA8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+KFxuICBvcHRpb25zOiBDcmVhdGVRdWVyeUNyZWF0b3JPcHRpb25zPFRBcmdzPixcbiAgaW50ZXJuYWxzOiBJbnRlcm5hbFNlY3VyZUNyZWF0ZVF1ZXJ5Q3JlYXRvck9wdGlvbnMsXG4pOiBRdWVyeUNyZWF0b3I8VEFyZ3M+ID0+IHtcbiAgZnVuY3Rpb24gcXVlcnlDcmVhdG9yKC4uLmZlYXR1cmVzOiBRdWVyeUZlYXR1cmU8VEFyZ3M+W10pOiBRdWVyeTxUQXJncz47XG4gIGZ1bmN0aW9uIHF1ZXJ5Q3JlYXRvcihxdWVyeUNvbmZpZzogUXVlcnlDb25maWcsIC4uLmZlYXR1cmVzOiBRdWVyeUZlYXR1cmU8VEFyZ3M+W10pOiBRdWVyeTxUQXJncz47XG5cbiAgZnVuY3Rpb24gcXVlcnlDcmVhdG9yKC4uLmFyZ3M6IChRdWVyeUZlYXR1cmU8VEFyZ3M+IHwgUXVlcnlDb25maWcpW10pOiBRdWVyeTxUQXJncz4ge1xuICAgIGNvbnN0IHsgZmVhdHVyZXMsIHF1ZXJ5Q29uZmlnIH0gPSBzcGxpdFF1ZXJ5Q29uZmlnPFRBcmdzPihhcmdzKTtcblxuICAgIHJldHVybiBjcmVhdGVTZWN1cmVRdWVyeTxUQXJncz4oe1xuICAgICAgY3JlYXRvcjogb3B0aW9ucyxcbiAgICAgIGNyZWF0b3JJbnRlcm5hbHM6IGludGVybmFscyxcbiAgICAgIGZlYXR1cmVzLFxuICAgICAgcXVlcnlDb25maWcsXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gcXVlcnlDcmVhdG9yO1xufTtcbiJdfQ==
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { HttpHeaders } from '@angular/common/http';
|
|
2
|
-
import { inject } from '@angular/core';
|
|
3
|
-
import { toObservable } from '@angular/core/rxjs-interop';
|
|
4
|
-
import { of, Subscription, switchMap, tap } from 'rxjs';
|
|
5
|
-
import { cleanupPreviousExecute, queryExecute, resetExecuteState, setupQueryExecuteState } from './query-execute-utils';
|
|
6
|
-
const AUTH_HEADER = 'Authorization';
|
|
7
|
-
export const createSecureExecuteFn = (options) => {
|
|
8
|
-
const executeState = setupQueryExecuteState();
|
|
9
|
-
const authProvider = inject(options.creatorInternals.authProvider.token);
|
|
10
|
-
let authQuerySubscription = Subscription.EMPTY;
|
|
11
|
-
const reset = () => {
|
|
12
|
-
authQuerySubscription.unsubscribe();
|
|
13
|
-
authQuerySubscription = Subscription.EMPTY;
|
|
14
|
-
resetExecuteState({ executeState, executeOptions: options });
|
|
15
|
-
};
|
|
16
|
-
const error = (query) => {
|
|
17
|
-
const state = options.state;
|
|
18
|
-
state.error.set(query.error());
|
|
19
|
-
state.loading.set(null);
|
|
20
|
-
state.response.set(null);
|
|
21
|
-
state.latestHttpEvent.set(null);
|
|
22
|
-
state.args.set(null);
|
|
23
|
-
};
|
|
24
|
-
const authAndExec = (executeArgs) => {
|
|
25
|
-
const { args, options: runOptions } = executeArgs ?? {};
|
|
26
|
-
const tokens = authProvider.tokens();
|
|
27
|
-
let headers = args?.headers || new HttpHeaders();
|
|
28
|
-
if (!tokens) {
|
|
29
|
-
throw new Error('Tokens are not available inside authAndExec');
|
|
30
|
-
}
|
|
31
|
-
if (!headers.has(AUTH_HEADER)) {
|
|
32
|
-
headers = headers.set(AUTH_HEADER, `Bearer ${tokens.accessToken}`);
|
|
33
|
-
}
|
|
34
|
-
const updatedArgs = { ...(args ?? {}), headers };
|
|
35
|
-
queryExecute({
|
|
36
|
-
executeOptions: options,
|
|
37
|
-
executeState,
|
|
38
|
-
args: updatedArgs,
|
|
39
|
-
options: runOptions,
|
|
40
|
-
});
|
|
41
|
-
};
|
|
42
|
-
const exec = (executeArgs) => {
|
|
43
|
-
authQuerySubscription.unsubscribe();
|
|
44
|
-
authQuerySubscription = Subscription.EMPTY;
|
|
45
|
-
cleanupPreviousExecute({ executeOptions: options, executeState });
|
|
46
|
-
const authQuery = authProvider.latestExecutedQuery();
|
|
47
|
-
if (!authQuery || authQuery.loading()) {
|
|
48
|
-
options.state.loading.set({ executeTime: Date.now(), progress: null });
|
|
49
|
-
authQuerySubscription = toObservable(authProvider.latestExecutedQuery, { injector: options.deps.injector })
|
|
50
|
-
.pipe(switchMap((query) => {
|
|
51
|
-
if (!query)
|
|
52
|
-
return of(null);
|
|
53
|
-
return toObservable(query.isAlive, { injector: options.deps.injector }).pipe(tap((isAlive) => {
|
|
54
|
-
if (isAlive)
|
|
55
|
-
return;
|
|
56
|
-
if (query.error()) {
|
|
57
|
-
error(query);
|
|
58
|
-
}
|
|
59
|
-
else if (query.response()) {
|
|
60
|
-
authAndExec(executeArgs);
|
|
61
|
-
}
|
|
62
|
-
}));
|
|
63
|
-
}))
|
|
64
|
-
.subscribe();
|
|
65
|
-
}
|
|
66
|
-
else if (authQuery.response()) {
|
|
67
|
-
authAndExec(executeArgs);
|
|
68
|
-
}
|
|
69
|
-
else if (authQuery.error()) {
|
|
70
|
-
error(authQuery);
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
throw new Error('Invalid state ocurred inside createSecureExecuteFn');
|
|
74
|
-
}
|
|
75
|
-
};
|
|
76
|
-
exec['reset'] = reset;
|
|
77
|
-
exec['currentRepositoryKey'] = executeState.previousKey.asReadonly();
|
|
78
|
-
return exec;
|
|
79
|
-
};
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJlLXF1ZXJ5LWV4ZWN1dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvZXhwZXJpbWVudGFsL3NlY3VyZS1xdWVyeS1leGVjdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3hELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUd4SCxNQUFNLFdBQVcsR0FBRyxlQUFlLENBQUM7QUFTcEMsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FDbkMsT0FBK0MsRUFDMUIsRUFBRTtJQUN2QixNQUFNLFlBQVksR0FBRyxzQkFBc0IsRUFBRSxDQUFDO0lBQzlDLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXpFLElBQUkscUJBQXFCLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQztJQUUvQyxNQUFNLEtBQUssR0FBRyxHQUFHLEVBQUU7UUFDakIscUJBQXFCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEMscUJBQXFCLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQztRQUMzQyxpQkFBaUIsQ0FBQyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMvRCxDQUFDLENBQUM7SUFFRixNQUFNLEtBQUssR0FBRyxDQUFDLEtBQXVCLEVBQUUsRUFBRTtRQUN4QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBRTVCLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQy9CLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLEtBQUssQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZCLENBQUMsQ0FBQztJQUVGLE1BQU0sV0FBVyxHQUFHLENBQUMsV0FBcUMsRUFBRSxFQUFFO1FBQzVELE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLFdBQVcsSUFBSSxFQUFFLENBQUM7UUFFeEQsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3JDLElBQUksT0FBTyxHQUFHLElBQUksRUFBRSxPQUFPLElBQUksSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUVqRCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixNQUFNLElBQUksS0FBSyxDQUFDLDZDQUE2QyxDQUFDLENBQUM7UUFDakUsQ0FBQztRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDOUIsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLFVBQVUsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDckUsQ0FBQztRQUVELE1BQU0sV0FBVyxHQUFHLEVBQUUsR0FBRyxDQUFDLElBQUksSUFBSyxFQUF5QixDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFFekUsWUFBWSxDQUFDO1lBQ1gsY0FBYyxFQUFFLE9BQU87WUFDdkIsWUFBWTtZQUNaLElBQUksRUFBRSxXQUFXO1lBQ2pCLE9BQU8sRUFBRSxVQUFVO1NBQ3BCLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQztJQUVGLE1BQU0sSUFBSSxHQUFHLENBQUMsV0FBcUMsRUFBRSxFQUFFO1FBQ3JELHFCQUFxQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BDLHFCQUFxQixHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDM0Msc0JBQXNCLENBQUMsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7UUFFbEUsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFFckQsSUFBSSxDQUFDLFNBQVMsSUFBSSxTQUFTLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUN0QyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBRXZFLHFCQUFxQixHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztpQkFDeEcsSUFBSSxDQUNILFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNsQixJQUFJLENBQUMsS0FBSztvQkFBRSxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFFNUIsT0FBTyxZQUFZLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUMxRSxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtvQkFDZCxJQUFJLE9BQU87d0JBQUUsT0FBTztvQkFFcEIsSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQzt3QkFDbEIsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNmLENBQUM7eUJBQU0sSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQzt3QkFDNUIsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO29CQUMzQixDQUFDO2dCQUNILENBQUMsQ0FBQyxDQUNILENBQUM7WUFDSixDQUFDLENBQUMsQ0FDSDtpQkFDQSxTQUFTLEVBQUUsQ0FBQztRQUNqQixDQUFDO2FBQU0sSUFBSSxTQUFTLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztZQUNoQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDM0IsQ0FBQzthQUFNLElBQUksU0FBUyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDN0IsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ25CLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQyxvREFBb0QsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7SUFDSCxDQUFDLENBQUM7SUFFRixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBRXRCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLFlBQVksQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLENBQUM7SUFFckUsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdG9PYnNlcnZhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgb2YsIFN1YnNjcmlwdGlvbiwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFueVF1ZXJ5U25hcHNob3QsIFF1ZXJ5QXJncywgUmVxdWVzdEFyZ3MgfSBmcm9tICcuL3F1ZXJ5JztcbmltcG9ydCB7IENyZWF0ZVF1ZXJ5RXhlY3V0ZU9wdGlvbnMsIFF1ZXJ5RXhlY3V0ZSwgUXVlcnlFeGVjdXRlQXJncyB9IGZyb20gJy4vcXVlcnktZXhlY3V0ZSc7XG5pbXBvcnQgeyBjbGVhbnVwUHJldmlvdXNFeGVjdXRlLCBxdWVyeUV4ZWN1dGUsIHJlc2V0RXhlY3V0ZVN0YXRlLCBzZXR1cFF1ZXJ5RXhlY3V0ZVN0YXRlIH0gZnJvbSAnLi9xdWVyeS1leGVjdXRlLXV0aWxzJztcbmltcG9ydCB7IEludGVybmFsU2VjdXJlQ3JlYXRlUXVlcnlDcmVhdG9yT3B0aW9ucyB9IGZyb20gJy4vc2VjdXJlLXF1ZXJ5LWNyZWF0b3InO1xuXG5jb25zdCBBVVRIX0hFQURFUiA9ICdBdXRob3JpemF0aW9uJztcblxuZXhwb3J0IHR5cGUgQ3JlYXRlU2VjdXJlUXVlcnlFeGVjdXRlT3B0aW9uczxUQXJncyBleHRlbmRzIFF1ZXJ5QXJncz4gPSBPbWl0PFxuICBDcmVhdGVRdWVyeUV4ZWN1dGVPcHRpb25zPFRBcmdzPixcbiAgJ2NyZWF0b3JJbnRlcm5hbHMnXG4+ICYge1xuICBjcmVhdG9ySW50ZXJuYWxzOiBJbnRlcm5hbFNlY3VyZUNyZWF0ZVF1ZXJ5Q3JlYXRvck9wdGlvbnM7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlU2VjdXJlRXhlY3V0ZUZuID0gPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPihcbiAgb3B0aW9uczogQ3JlYXRlU2VjdXJlUXVlcnlFeGVjdXRlT3B0aW9uczxUQXJncz4sXG4pOiBRdWVyeUV4ZWN1dGU8VEFyZ3M+ID0+IHtcbiAgY29uc3QgZXhlY3V0ZVN0YXRlID0gc2V0dXBRdWVyeUV4ZWN1dGVTdGF0ZSgpO1xuICBjb25zdCBhdXRoUHJvdmlkZXIgPSBpbmplY3Qob3B0aW9ucy5jcmVhdG9ySW50ZXJuYWxzLmF1dGhQcm92aWRlci50b2tlbik7XG5cbiAgbGV0IGF1dGhRdWVyeVN1YnNjcmlwdGlvbiA9IFN1YnNjcmlwdGlvbi5FTVBUWTtcblxuICBjb25zdCByZXNldCA9ICgpID0+IHtcbiAgICBhdXRoUXVlcnlTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICBhdXRoUXVlcnlTdWJzY3JpcHRpb24gPSBTdWJzY3JpcHRpb24uRU1QVFk7XG4gICAgcmVzZXRFeGVjdXRlU3RhdGUoeyBleGVjdXRlU3RhdGUsIGV4ZWN1dGVPcHRpb25zOiBvcHRpb25zIH0pO1xuICB9O1xuXG4gIGNvbnN0IGVycm9yID0gKHF1ZXJ5OiBBbnlRdWVyeVNuYXBzaG90KSA9PiB7XG4gICAgY29uc3Qgc3RhdGUgPSBvcHRpb25zLnN0YXRlO1xuXG4gICAgc3RhdGUuZXJyb3Iuc2V0KHF1ZXJ5LmVycm9yKCkpO1xuICAgIHN0YXRlLmxvYWRpbmcuc2V0KG51bGwpO1xuICAgIHN0YXRlLnJlc3BvbnNlLnNldChudWxsKTtcbiAgICBzdGF0ZS5sYXRlc3RIdHRwRXZlbnQuc2V0KG51bGwpO1xuICAgIHN0YXRlLmFyZ3Muc2V0KG51bGwpO1xuICB9O1xuXG4gIGNvbnN0IGF1dGhBbmRFeGVjID0gKGV4ZWN1dGVBcmdzPzogUXVlcnlFeGVjdXRlQXJnczxUQXJncz4pID0+IHtcbiAgICBjb25zdCB7IGFyZ3MsIG9wdGlvbnM6IHJ1bk9wdGlvbnMgfSA9IGV4ZWN1dGVBcmdzID8/IHt9O1xuXG4gICAgY29uc3QgdG9rZW5zID0gYXV0aFByb3ZpZGVyLnRva2VucygpO1xuICAgIGxldCBoZWFkZXJzID0gYXJncz8uaGVhZGVycyB8fCBuZXcgSHR0cEhlYWRlcnMoKTtcblxuICAgIGlmICghdG9rZW5zKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Rva2VucyBhcmUgbm90IGF2YWlsYWJsZSBpbnNpZGUgYXV0aEFuZEV4ZWMnKTtcbiAgICB9XG5cbiAgICBpZiAoIWhlYWRlcnMuaGFzKEFVVEhfSEVBREVSKSkge1xuICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KEFVVEhfSEVBREVSLCBgQmVhcmVyICR7dG9rZW5zLmFjY2Vzc1Rva2VufWApO1xuICAgIH1cblxuICAgIGNvbnN0IHVwZGF0ZWRBcmdzID0geyAuLi4oYXJncyA/PyAoe30gYXMgUmVxdWVzdEFyZ3M8VEFyZ3M+KSksIGhlYWRlcnMgfTtcblxuICAgIHF1ZXJ5RXhlY3V0ZSh7XG4gICAgICBleGVjdXRlT3B0aW9uczogb3B0aW9ucyxcbiAgICAgIGV4ZWN1dGVTdGF0ZSxcbiAgICAgIGFyZ3M6IHVwZGF0ZWRBcmdzLFxuICAgICAgb3B0aW9uczogcnVuT3B0aW9ucyxcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBleGVjID0gKGV4ZWN1dGVBcmdzPzogUXVlcnlFeGVjdXRlQXJnczxUQXJncz4pID0+IHtcbiAgICBhdXRoUXVlcnlTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICBhdXRoUXVlcnlTdWJzY3JpcHRpb24gPSBTdWJzY3JpcHRpb24uRU1QVFk7XG4gICAgY2xlYW51cFByZXZpb3VzRXhlY3V0ZSh7IGV4ZWN1dGVPcHRpb25zOiBvcHRpb25zLCBleGVjdXRlU3RhdGUgfSk7XG5cbiAgICBjb25zdCBhdXRoUXVlcnkgPSBhdXRoUHJvdmlkZXIubGF0ZXN0RXhlY3V0ZWRRdWVyeSgpO1xuXG4gICAgaWYgKCFhdXRoUXVlcnkgfHwgYXV0aFF1ZXJ5LmxvYWRpbmcoKSkge1xuICAgICAgb3B0aW9ucy5zdGF0ZS5sb2FkaW5nLnNldCh7IGV4ZWN1dGVUaW1lOiBEYXRlLm5vdygpLCBwcm9ncmVzczogbnVsbCB9KTtcblxuICAgICAgYXV0aFF1ZXJ5U3Vic2NyaXB0aW9uID0gdG9PYnNlcnZhYmxlKGF1dGhQcm92aWRlci5sYXRlc3RFeGVjdXRlZFF1ZXJ5LCB7IGluamVjdG9yOiBvcHRpb25zLmRlcHMuaW5qZWN0b3IgfSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgc3dpdGNoTWFwKChxdWVyeSkgPT4ge1xuICAgICAgICAgICAgaWYgKCFxdWVyeSkgcmV0dXJuIG9mKG51bGwpO1xuXG4gICAgICAgICAgICByZXR1cm4gdG9PYnNlcnZhYmxlKHF1ZXJ5LmlzQWxpdmUsIHsgaW5qZWN0b3I6IG9wdGlvbnMuZGVwcy5pbmplY3RvciB9KS5waXBlKFxuICAgICAgICAgICAgICB0YXAoKGlzQWxpdmUpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaXNBbGl2ZSkgcmV0dXJuO1xuXG4gICAgICAgICAgICAgICAgaWYgKHF1ZXJ5LmVycm9yKCkpIHtcbiAgICAgICAgICAgICAgICAgIGVycm9yKHF1ZXJ5KTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHF1ZXJ5LnJlc3BvbnNlKCkpIHtcbiAgICAgICAgICAgICAgICAgIGF1dGhBbmRFeGVjKGV4ZWN1dGVBcmdzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfSBlbHNlIGlmIChhdXRoUXVlcnkucmVzcG9uc2UoKSkge1xuICAgICAgYXV0aEFuZEV4ZWMoZXhlY3V0ZUFyZ3MpO1xuICAgIH0gZWxzZSBpZiAoYXV0aFF1ZXJ5LmVycm9yKCkpIHtcbiAgICAgIGVycm9yKGF1dGhRdWVyeSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBzdGF0ZSBvY3VycmVkIGluc2lkZSBjcmVhdGVTZWN1cmVFeGVjdXRlRm4nKTtcbiAgICB9XG4gIH07XG5cbiAgZXhlY1sncmVzZXQnXSA9IHJlc2V0O1xuXG4gIGV4ZWNbJ2N1cnJlbnRSZXBvc2l0b3J5S2V5J10gPSBleGVjdXRlU3RhdGUucHJldmlvdXNLZXkuYXNSZWFkb25seSgpO1xuXG4gIHJldHVybiBleGVjO1xufTtcbiJdfQ==
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { setupQueryDependencies } from './query-dependencies';
|
|
2
|
-
import { createQuerySnapshotFn } from './query-snapshot';
|
|
3
|
-
import { setupQueryState } from './query-state';
|
|
4
|
-
import { applyQueryFeatures, createQueryObject, getQueryFeatureUsage, maybeExecute } from './query-utils';
|
|
5
|
-
import { createSecureExecuteFn } from './secure-query-execute';
|
|
6
|
-
export const createSecureQuery = (options) => {
|
|
7
|
-
const deps = setupQueryDependencies({ clientConfig: options.creatorInternals.client });
|
|
8
|
-
const state = setupQueryState({});
|
|
9
|
-
const { creator, creatorInternals, queryConfig } = options;
|
|
10
|
-
const flags = getQueryFeatureUsage(options);
|
|
11
|
-
const execute = createSecureExecuteFn({
|
|
12
|
-
deps,
|
|
13
|
-
state,
|
|
14
|
-
creator,
|
|
15
|
-
creatorInternals,
|
|
16
|
-
queryConfig: options.queryConfig,
|
|
17
|
-
});
|
|
18
|
-
const createSnapshot = createQuerySnapshotFn({ state, deps, execute });
|
|
19
|
-
const destroy = () => deps.injector.destroy();
|
|
20
|
-
const featureFnContext = {
|
|
21
|
-
state,
|
|
22
|
-
queryConfig,
|
|
23
|
-
creatorConfig: creator,
|
|
24
|
-
creatorInternals,
|
|
25
|
-
execute,
|
|
26
|
-
flags,
|
|
27
|
-
deps,
|
|
28
|
-
};
|
|
29
|
-
applyQueryFeatures(options, featureFnContext);
|
|
30
|
-
maybeExecute({ execute, flags });
|
|
31
|
-
return createQueryObject({ state, execute, createSnapshot, destroy });
|
|
32
|
-
};
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJlLXF1ZXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xdWVyeS9zcmMvbGliL2V4cGVyaW1lbnRhbC9zZWN1cmUtcXVlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFOUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsb0JBQW9CLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBTS9ELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQTBCLE9BQXdDLEVBQUUsRUFBRTtJQUNyRyxNQUFNLElBQUksR0FBRyxzQkFBc0IsQ0FBQyxFQUFFLFlBQVksRUFBRSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUN2RixNQUFNLEtBQUssR0FBRyxlQUFlLENBQVEsRUFBRSxDQUFDLENBQUM7SUFDekMsTUFBTSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsR0FBRyxPQUFPLENBQUM7SUFDM0QsTUFBTSxLQUFLLEdBQUcsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFNUMsTUFBTSxPQUFPLEdBQUcscUJBQXFCLENBQVE7UUFDM0MsSUFBSTtRQUNKLEtBQUs7UUFDTCxPQUFPO1FBQ1AsZ0JBQWdCO1FBQ2hCLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVztLQUNqQyxDQUFDLENBQUM7SUFDSCxNQUFNLGNBQWMsR0FBRyxxQkFBcUIsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN2RSxNQUFNLE9BQU8sR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBRTlDLE1BQU0sZ0JBQWdCLEdBQStCO1FBQ25ELEtBQUs7UUFDTCxXQUFXO1FBQ1gsYUFBYSxFQUFFLE9BQU87UUFDdEIsZ0JBQWdCO1FBQ2hCLE9BQU87UUFDUCxLQUFLO1FBQ0wsSUFBSTtLQUNMLENBQUM7SUFFRixrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUU5QyxZQUFZLENBQVEsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUV4QyxPQUFPLGlCQUFpQixDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztBQUN4RSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDcmVhdGVRdWVyeU9wdGlvbnMsIFF1ZXJ5QXJncyB9IGZyb20gJy4vcXVlcnknO1xuaW1wb3J0IHsgc2V0dXBRdWVyeURlcGVuZGVuY2llcyB9IGZyb20gJy4vcXVlcnktZGVwZW5kZW5jaWVzJztcbmltcG9ydCB7IFF1ZXJ5RmVhdHVyZUNvbnRleHQgfSBmcm9tICcuL3F1ZXJ5LWZlYXR1cmVzJztcbmltcG9ydCB7IGNyZWF0ZVF1ZXJ5U25hcHNob3RGbiB9IGZyb20gJy4vcXVlcnktc25hcHNob3QnO1xuaW1wb3J0IHsgc2V0dXBRdWVyeVN0YXRlIH0gZnJvbSAnLi9xdWVyeS1zdGF0ZSc7XG5pbXBvcnQgeyBhcHBseVF1ZXJ5RmVhdHVyZXMsIGNyZWF0ZVF1ZXJ5T2JqZWN0LCBnZXRRdWVyeUZlYXR1cmVVc2FnZSwgbWF5YmVFeGVjdXRlIH0gZnJvbSAnLi9xdWVyeS11dGlscyc7XG5pbXBvcnQgeyBJbnRlcm5hbFNlY3VyZUNyZWF0ZVF1ZXJ5Q3JlYXRvck9wdGlvbnMgfSBmcm9tICcuL3NlY3VyZS1xdWVyeS1jcmVhdG9yJztcbmltcG9ydCB7IGNyZWF0ZVNlY3VyZUV4ZWN1dGVGbiB9IGZyb20gJy4vc2VjdXJlLXF1ZXJ5LWV4ZWN1dGUnO1xuXG5leHBvcnQgdHlwZSBDcmVhdGVTZWN1cmVRdWVyeU9wdGlvbnM8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+ID0gT21pdDxDcmVhdGVRdWVyeU9wdGlvbnM8VEFyZ3M+LCAnY3JlYXRvckludGVybmFscyc+ICYge1xuICBjcmVhdG9ySW50ZXJuYWxzOiBJbnRlcm5hbFNlY3VyZUNyZWF0ZVF1ZXJ5Q3JlYXRvck9wdGlvbnM7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlU2VjdXJlUXVlcnkgPSA8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+KG9wdGlvbnM6IENyZWF0ZVNlY3VyZVF1ZXJ5T3B0aW9uczxUQXJncz4pID0+IHtcbiAgY29uc3QgZGVwcyA9IHNldHVwUXVlcnlEZXBlbmRlbmNpZXMoeyBjbGllbnRDb25maWc6IG9wdGlvbnMuY3JlYXRvckludGVybmFscy5jbGllbnQgfSk7XG4gIGNvbnN0IHN0YXRlID0gc2V0dXBRdWVyeVN0YXRlPFRBcmdzPih7fSk7XG4gIGNvbnN0IHsgY3JlYXRvciwgY3JlYXRvckludGVybmFscywgcXVlcnlDb25maWcgfSA9IG9wdGlvbnM7XG4gIGNvbnN0IGZsYWdzID0gZ2V0UXVlcnlGZWF0dXJlVXNhZ2Uob3B0aW9ucyk7XG5cbiAgY29uc3QgZXhlY3V0ZSA9IGNyZWF0ZVNlY3VyZUV4ZWN1dGVGbjxUQXJncz4oe1xuICAgIGRlcHMsXG4gICAgc3RhdGUsXG4gICAgY3JlYXRvcixcbiAgICBjcmVhdG9ySW50ZXJuYWxzLFxuICAgIHF1ZXJ5Q29uZmlnOiBvcHRpb25zLnF1ZXJ5Q29uZmlnLFxuICB9KTtcbiAgY29uc3QgY3JlYXRlU25hcHNob3QgPSBjcmVhdGVRdWVyeVNuYXBzaG90Rm4oeyBzdGF0ZSwgZGVwcywgZXhlY3V0ZSB9KTtcbiAgY29uc3QgZGVzdHJveSA9ICgpID0+IGRlcHMuaW5qZWN0b3IuZGVzdHJveSgpO1xuXG4gIGNvbnN0IGZlYXR1cmVGbkNvbnRleHQ6IFF1ZXJ5RmVhdHVyZUNvbnRleHQ8VEFyZ3M+ID0ge1xuICAgIHN0YXRlLFxuICAgIHF1ZXJ5Q29uZmlnLFxuICAgIGNyZWF0b3JDb25maWc6IGNyZWF0b3IsXG4gICAgY3JlYXRvckludGVybmFscyxcbiAgICBleGVjdXRlLFxuICAgIGZsYWdzLFxuICAgIGRlcHMsXG4gIH07XG5cbiAgYXBwbHlRdWVyeUZlYXR1cmVzKG9wdGlvbnMsIGZlYXR1cmVGbkNvbnRleHQpO1xuXG4gIG1heWJlRXhlY3V0ZTxUQXJncz4oeyBleGVjdXRlLCBmbGFncyB9KTtcblxuICByZXR1cm4gY3JlYXRlUXVlcnlPYmplY3QoeyBzdGF0ZSwgZXhlY3V0ZSwgY3JlYXRlU25hcHNob3QsIGRlc3Ryb3kgfSk7XG59O1xuIl19
|
package/esm2022/lib/gql/gql.mjs
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
const getOpName = /(query|mutation) ?([\w\d-_]+)? ?\(.*?\)? \{/;
|
|
2
|
-
export const transformGql = (str) => {
|
|
3
|
-
str = Array.isArray(str) ? str.join('') : str;
|
|
4
|
-
const name = getOpName.exec(str);
|
|
5
|
-
return function (variables) {
|
|
6
|
-
const data = { query: str };
|
|
7
|
-
if (variables)
|
|
8
|
-
data['variables'] = JSON.stringify(variables);
|
|
9
|
-
if (name && name.length) {
|
|
10
|
-
const operationName = name[2];
|
|
11
|
-
if (operationName)
|
|
12
|
-
data['operationName'] = name[2];
|
|
13
|
-
}
|
|
14
|
-
return data;
|
|
15
|
-
};
|
|
16
|
-
};
|
|
17
|
-
export const gql = (strings, ...values) => {
|
|
18
|
-
const str = strings.reduce((acc, cur, i) => {
|
|
19
|
-
return acc + cur + (values[i] || '');
|
|
20
|
-
}, '');
|
|
21
|
-
return str;
|
|
22
|
-
};
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3FsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xdWVyeS9zcmMvbGliL2dxbC9ncWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxTQUFTLEdBQUcsNkNBQTZDLENBQUM7QUFFaEUsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsR0FBVyxFQUFFLEVBQUU7SUFDMUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztJQUM5QyxNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pDLE9BQU8sVUFBVSxTQUFxRDtRQUNwRSxNQUFNLElBQUksR0FBNEIsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDckQsSUFBSSxTQUFTO1lBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0QsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3hCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5QixJQUFJLGFBQWE7Z0JBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyRCxDQUFDO1FBQ0QsT0FBTyxJQUFxRSxDQUFDO0lBQy9FLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLE9BQTZCLEVBQUUsR0FBRyxNQUFnQixFQUFFLEVBQUU7SUFDeEUsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDekMsT0FBTyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNQLE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgZ2V0T3BOYW1lID0gLyhxdWVyeXxtdXRhdGlvbikgPyhbXFx3XFxkLV9dKyk/ID9cXCguKj9cXCk/IFxcey87XG5cbmV4cG9ydCBjb25zdCB0cmFuc2Zvcm1HcWwgPSAoc3RyOiBzdHJpbmcpID0+IHtcbiAgc3RyID0gQXJyYXkuaXNBcnJheShzdHIpID8gc3RyLmpvaW4oJycpIDogc3RyO1xuICBjb25zdCBuYW1lID0gZ2V0T3BOYW1lLmV4ZWMoc3RyKTtcbiAgcmV0dXJuIGZ1bmN0aW9uICh2YXJpYWJsZXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IGRhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0geyBxdWVyeTogc3RyIH07XG4gICAgaWYgKHZhcmlhYmxlcykgZGF0YVsndmFyaWFibGVzJ10gPSBKU09OLnN0cmluZ2lmeSh2YXJpYWJsZXMpO1xuICAgIGlmIChuYW1lICYmIG5hbWUubGVuZ3RoKSB7XG4gICAgICBjb25zdCBvcGVyYXRpb25OYW1lID0gbmFtZVsyXTtcbiAgICAgIGlmIChvcGVyYXRpb25OYW1lKSBkYXRhWydvcGVyYXRpb25OYW1lJ10gPSBuYW1lWzJdO1xuICAgIH1cbiAgICByZXR1cm4gZGF0YSBhcyB7IHF1ZXJ5OiBzdHJpbmc7IHZhcmlhYmxlcz86IHN0cmluZzsgb3BlcmF0aW9uTmFtZT86IHN0cmluZyB9O1xuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGdxbCA9IChzdHJpbmdzOiBUZW1wbGF0ZVN0cmluZ3NBcnJheSwgLi4udmFsdWVzOiBzdHJpbmdbXSkgPT4ge1xuICBjb25zdCBzdHIgPSBzdHJpbmdzLnJlZHVjZSgoYWNjLCBjdXIsIGkpID0+IHtcbiAgICByZXR1cm4gYWNjICsgY3VyICsgKHZhbHVlc1tpXSB8fCAnJyk7XG4gIH0sICcnKTtcbiAgcmV0dXJuIHN0cjtcbn07XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './gql';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvZ3FsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9ncWwnO1xuIl19
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export * from './infinity-query';
|
|
2
|
-
export * from './infinity-query.types';
|
|
3
|
-
export * from './infinity-query.utils';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvaW5maW5pdGUtcXVlcnkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2luZmluaXR5LXF1ZXJ5JztcbmV4cG9ydCAqIGZyb20gJy4vaW5maW5pdHktcXVlcnkudHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9pbmZpbml0eS1xdWVyeS51dGlscyc7XG4iXX0=
|