@ethlete/query 5.17.0 → 5.19.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/esm2022/index.mjs +2 -1
- package/esm2022/lib/devtools/components/query-devtools/query-devtools.component.mjs +3 -3
- package/esm2022/lib/devtools/pipes/query-short-name.pipe.mjs +3 -3
- package/esm2022/lib/directives/infinity-query-trigger.directive.mjs +3 -3
- package/esm2022/lib/directives/infinity-query.directive.mjs +3 -3
- package/esm2022/lib/directives/query.directive.mjs +3 -3
- package/esm2022/lib/experimental/bearer-auth-provider-config.mjs +19 -0
- package/esm2022/lib/experimental/bearer-auth-provider.mjs +245 -0
- package/esm2022/lib/experimental/http-request.mjs +153 -0
- package/esm2022/lib/experimental/index.mjs +21 -0
- package/esm2022/lib/experimental/query-client-config.mjs +13 -0
- package/esm2022/lib/experimental/query-client.mjs +16 -0
- package/esm2022/lib/experimental/query-creator-templates.mjs +33 -0
- package/esm2022/lib/experimental/query-creator.mjs +28 -0
- package/esm2022/lib/experimental/query-dependencies.mjs +14 -0
- package/esm2022/lib/experimental/query-errors.mjs +55 -0
- package/esm2022/lib/experimental/query-execute-utils.mjs +57 -0
- package/esm2022/lib/experimental/query-execute.mjs +12 -0
- package/esm2022/lib/experimental/query-features.mjs +126 -0
- package/esm2022/lib/experimental/query-repository.mjs +91 -0
- package/esm2022/lib/experimental/query-snapshot.mjs +44 -0
- package/esm2022/lib/experimental/query-state.mjs +20 -0
- package/esm2022/lib/experimental/query-utils.mjs +148 -0
- package/esm2022/lib/experimental/query.mjs +37 -0
- package/esm2022/lib/experimental/secure-query-creator.mjs +15 -0
- package/esm2022/lib/experimental/secure-query-execute.mjs +77 -0
- package/esm2022/lib/experimental/secure-query.mjs +41 -0
- package/esm2022/lib/query/query.types.mjs +1 -1
- package/fesm2022/ethlete-query.mjs +1283 -23
- package/fesm2022/ethlete-query.mjs.map +1 -1
- package/index.d.ts +1 -0
- package/lib/experimental/bearer-auth-provider-config.d.ts +111 -0
- package/lib/experimental/bearer-auth-provider.d.ts +63 -0
- package/lib/experimental/http-request.d.ts +55 -0
- package/lib/experimental/index.d.ts +20 -0
- package/lib/experimental/query-client-config.d.ts +18 -0
- package/lib/experimental/query-client.d.ts +10 -0
- package/lib/experimental/query-creator-templates.d.ts +14 -0
- package/lib/experimental/query-creator.d.ts +39 -0
- package/lib/experimental/query-dependencies.d.ts +12 -0
- package/lib/experimental/query-errors.d.ts +39 -0
- package/lib/experimental/query-execute-utils.d.ts +20 -0
- package/lib/experimental/query-execute.d.ts +16 -0
- package/lib/experimental/query-features.d.ts +45 -0
- package/lib/experimental/query-repository.d.ts +31 -0
- package/lib/experimental/query-snapshot.d.ts +8 -0
- package/lib/experimental/query-state.d.ts +14 -0
- package/lib/experimental/query-utils.d.ts +41 -0
- package/lib/experimental/query.d.ts +41 -0
- package/lib/experimental/secure-query-creator.d.ts +7 -0
- package/lib/experimental/secure-query-execute.d.ts +7 -0
- package/lib/experimental/secure-query.d.ts +6 -0
- package/lib/query/query.types.d.ts +3 -0
- package/package.json +1 -1
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-empty-function */
|
|
2
|
+
import { HttpErrorResponse, HttpEventType, } from '@angular/common/http';
|
|
3
|
+
import { computed, signal } from '@angular/core';
|
|
4
|
+
import { Subscription, catchError, retry, tap, throwError, timer } from 'rxjs';
|
|
5
|
+
import { buildTimestampFromSeconds } from '../request';
|
|
6
|
+
import { extractExpiresInSeconds, shouldRetryRequest, } from './query-utils';
|
|
7
|
+
export const SPEED_BUFFER_TIME_IN_MS = 2000;
|
|
8
|
+
export const createHttpRequest = (options) => {
|
|
9
|
+
let currentStreamSubscription = Subscription.EMPTY;
|
|
10
|
+
const currentEvent = signal(null);
|
|
11
|
+
const loading = signal(null);
|
|
12
|
+
const error = signal(null);
|
|
13
|
+
const response = signal(null);
|
|
14
|
+
const lastLoadEventTime = signal(0);
|
|
15
|
+
const lastLoadEventAmount = signal(0);
|
|
16
|
+
const lastExecuteTime = signal(0);
|
|
17
|
+
const expiresIn = signal(null);
|
|
18
|
+
const isStale = computed(() => {
|
|
19
|
+
const expiresInTs = expiresIn();
|
|
20
|
+
return expiresInTs === null || expiresInTs < Date.now();
|
|
21
|
+
});
|
|
22
|
+
const stream = options.httpClient
|
|
23
|
+
.request(options.method, options.fullPath, {
|
|
24
|
+
observe: 'events',
|
|
25
|
+
body: options.body,
|
|
26
|
+
reportProgress: options.reportProgress,
|
|
27
|
+
withCredentials: options.withCredentials,
|
|
28
|
+
transferCache: options.transferCache,
|
|
29
|
+
responseType: options.responseType || 'json',
|
|
30
|
+
context: options.context,
|
|
31
|
+
headers: options.headers,
|
|
32
|
+
})
|
|
33
|
+
.pipe(tap((event) => updateState(event)), retry({
|
|
34
|
+
delay: (error, retryCount) => {
|
|
35
|
+
const retryOptions = { error, retryCount };
|
|
36
|
+
const retryResult = options.retryFn?.(retryOptions) || shouldRetryRequest(retryOptions);
|
|
37
|
+
if (!retryResult.retry) {
|
|
38
|
+
return throwError(() => error);
|
|
39
|
+
}
|
|
40
|
+
return timer(retryResult.delay);
|
|
41
|
+
},
|
|
42
|
+
}), catchError((e) => {
|
|
43
|
+
updateErrorState(e);
|
|
44
|
+
return throwError(() => e);
|
|
45
|
+
}));
|
|
46
|
+
const execute = () => {
|
|
47
|
+
if (loading() || !isStale()) {
|
|
48
|
+
// Do not execute if there is already a request in progress or the request is not stale
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
currentStreamSubscription.unsubscribe();
|
|
52
|
+
lastExecuteTime.set(Date.now());
|
|
53
|
+
lastLoadEventTime.set(lastExecuteTime());
|
|
54
|
+
loading.set({
|
|
55
|
+
executeTime: lastExecuteTime(),
|
|
56
|
+
progress: null,
|
|
57
|
+
});
|
|
58
|
+
error.set(null);
|
|
59
|
+
expiresIn.set(null);
|
|
60
|
+
currentStreamSubscription = stream.subscribe();
|
|
61
|
+
return true;
|
|
62
|
+
};
|
|
63
|
+
const destroy = () => {
|
|
64
|
+
if (currentStreamSubscription.closed) {
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
currentStreamSubscription.unsubscribe();
|
|
68
|
+
return true;
|
|
69
|
+
};
|
|
70
|
+
const updateState = (event) => {
|
|
71
|
+
currentEvent.set(event);
|
|
72
|
+
switch (event.type) {
|
|
73
|
+
case HttpEventType.Response:
|
|
74
|
+
{
|
|
75
|
+
loading.set(null);
|
|
76
|
+
response.set(event.body);
|
|
77
|
+
const expiresInSeconds = options.cacheAdapter
|
|
78
|
+
? options.cacheAdapter(event.headers)
|
|
79
|
+
: extractExpiresInSeconds(event.headers);
|
|
80
|
+
const expiresInTimestamp = buildTimestampFromSeconds(expiresInSeconds);
|
|
81
|
+
expiresIn.set(expiresInTimestamp);
|
|
82
|
+
}
|
|
83
|
+
break;
|
|
84
|
+
case HttpEventType.UploadProgress:
|
|
85
|
+
case HttpEventType.DownloadProgress:
|
|
86
|
+
{
|
|
87
|
+
updateLoadingState(event);
|
|
88
|
+
}
|
|
89
|
+
break;
|
|
90
|
+
case HttpEventType.Sent:
|
|
91
|
+
case HttpEventType.ResponseHeader:
|
|
92
|
+
case HttpEventType.User:
|
|
93
|
+
{
|
|
94
|
+
// we don't care about these events
|
|
95
|
+
}
|
|
96
|
+
break;
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
const updateErrorState = (errorResponse) => {
|
|
100
|
+
let err = errorResponse instanceof HttpErrorResponse ? errorResponse : null;
|
|
101
|
+
if (!err) {
|
|
102
|
+
err = new HttpErrorResponse({
|
|
103
|
+
error: errorResponse,
|
|
104
|
+
status: 0,
|
|
105
|
+
statusText: 'Unknown Error',
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
error.set(err);
|
|
109
|
+
loading.set(null);
|
|
110
|
+
currentEvent.set({ type: 'error', error: err });
|
|
111
|
+
};
|
|
112
|
+
const updateLoadingState = (event) => {
|
|
113
|
+
if (event.total === undefined) {
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
const progress = {
|
|
117
|
+
total: event.total,
|
|
118
|
+
loaded: event.loaded,
|
|
119
|
+
percentage: (event.loaded / event.total) * 100,
|
|
120
|
+
speed: null,
|
|
121
|
+
remainingTime: null,
|
|
122
|
+
};
|
|
123
|
+
const state = {
|
|
124
|
+
executeTime: lastExecuteTime(),
|
|
125
|
+
progress,
|
|
126
|
+
};
|
|
127
|
+
const currentTime = Date.now();
|
|
128
|
+
const elapsedTimeSinceLastEvent = currentTime - lastLoadEventTime();
|
|
129
|
+
const elapsedTimeSinceLastExecute = currentTime - lastExecuteTime();
|
|
130
|
+
const loadedAmount = event.loaded - lastLoadEventAmount();
|
|
131
|
+
// We only want to calculate speed and remaining time after 2 seconds of the execution
|
|
132
|
+
// This is to avoid showing incorrect speed and remaining time when the request is very fast
|
|
133
|
+
if (elapsedTimeSinceLastExecute > SPEED_BUFFER_TIME_IN_MS) {
|
|
134
|
+
const speed = (loadedAmount / elapsedTimeSinceLastEvent) * 1000;
|
|
135
|
+
progress.speed = speed * 1000;
|
|
136
|
+
progress.remainingTime = Math.round((event.total - event.loaded) / speed) * 1000;
|
|
137
|
+
}
|
|
138
|
+
lastLoadEventTime.set(currentTime);
|
|
139
|
+
lastLoadEventAmount.set(event.loaded);
|
|
140
|
+
loading.set(state);
|
|
141
|
+
};
|
|
142
|
+
const httpRequest = {
|
|
143
|
+
execute,
|
|
144
|
+
destroy,
|
|
145
|
+
loading: loading.asReadonly(),
|
|
146
|
+
error: error.asReadonly(),
|
|
147
|
+
response: response.asReadonly(),
|
|
148
|
+
currentEvent: currentEvent.asReadonly(),
|
|
149
|
+
isStale,
|
|
150
|
+
};
|
|
151
|
+
return httpRequest;
|
|
152
|
+
};
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xdWVyeS9zcmMvbGliL2V4cGVyaW1lbnRhbC9odHRwLXJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseURBQXlEO0FBRXpELE9BQU8sRUFHTCxpQkFBaUIsRUFFakIsYUFBYSxHQUdkLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFVLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9FLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUl2RCxPQUFPLEVBR0wsdUJBQXVCLEVBQ3ZCLGtCQUFrQixHQUNuQixNQUFNLGVBQWUsQ0FBQztBQUV2QixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLENBQUM7QUEyRDVDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQTBCLE9BQXdDLEVBQUUsRUFBRTtJQUNyRyxJQUFJLHlCQUF5QixHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7SUFFbkQsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUF5RCxJQUFJLENBQUMsQ0FBQztJQUMxRixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQWlDLElBQUksQ0FBQyxDQUFDO0lBQzdELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBMkIsSUFBSSxDQUFDLENBQUM7SUFDckQsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUE2QixJQUFJLENBQUMsQ0FBQztJQUUxRCxNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwQyxNQUFNLG1CQUFtQixHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0QyxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFnQixJQUFJLENBQUMsQ0FBQztJQUU5QyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQzVCLE1BQU0sV0FBVyxHQUFHLFNBQVMsRUFBRSxDQUFDO1FBRWhDLE9BQU8sV0FBVyxLQUFLLElBQUksSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQzFELENBQUMsQ0FBQyxDQUFDO0lBRUgsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLFVBQVU7U0FDOUIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLFFBQVEsRUFBRTtRQUN6QyxPQUFPLEVBQUUsUUFBUTtRQUNqQixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7UUFDbEIsY0FBYyxFQUFFLE9BQU8sQ0FBQyxjQUFjO1FBQ3RDLGVBQWUsRUFBRSxPQUFPLENBQUMsZUFBZTtRQUN4QyxhQUFhLEVBQUUsT0FBTyxDQUFDLGFBQWE7UUFDcEMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZLElBQUksTUFBTTtRQUM1QyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87UUFDeEIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO0tBQ3pCLENBQUM7U0FDRCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsRUFDbEMsS0FBSyxDQUFDO1FBQ0osS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxFQUFFO1lBQzNCLE1BQU0sWUFBWSxHQUE4QixFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsQ0FBQztZQUV0RSxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUM7WUFFeEYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDdkIsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakMsQ0FBQztZQUVELE9BQU8sS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxDQUFDO0tBQ0YsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQ2YsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFcEIsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0IsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUVKLE1BQU0sT0FBTyxHQUFHLEdBQUcsRUFBRTtRQUNuQixJQUFJLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUM1Qix1RkFBdUY7WUFDdkYsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBRUQseUJBQXlCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFeEMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNoQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQztRQUV6QyxPQUFPLENBQUMsR0FBRyxDQUFDO1lBQ1YsV0FBVyxFQUFFLGVBQWUsRUFBRTtZQUM5QixRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUMsQ0FBQztRQUNILEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEIsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVwQix5QkFBeUIsR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7UUFFL0MsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDLENBQUM7SUFFRixNQUFNLE9BQU8sR0FBRyxHQUFHLEVBQUU7UUFDbkIsSUFBSSx5QkFBeUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNyQyxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFFRCx5QkFBeUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUV4QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQztJQUVGLE1BQU0sV0FBVyxHQUFHLENBQUMsS0FBcUMsRUFBRSxFQUFFO1FBQzVELFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFeEIsUUFBUSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbkIsS0FBSyxhQUFhLENBQUMsUUFBUTtnQkFDekIsQ0FBQztvQkFDQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUNsQixRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFFekIsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsWUFBWTt3QkFDM0MsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQzt3QkFDckMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDM0MsTUFBTSxrQkFBa0IsR0FBRyx5QkFBeUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO29CQUN2RSxTQUFTLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7Z0JBQ3BDLENBQUM7Z0JBQ0QsTUFBTTtZQUVSLEtBQUssYUFBYSxDQUFDLGNBQWMsQ0FBQztZQUNsQyxLQUFLLGFBQWEsQ0FBQyxnQkFBZ0I7Z0JBQ2pDLENBQUM7b0JBQ0Msa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzVCLENBQUM7Z0JBQ0QsTUFBTTtZQUVSLEtBQUssYUFBYSxDQUFDLElBQUksQ0FBQztZQUN4QixLQUFLLGFBQWEsQ0FBQyxjQUFjLENBQUM7WUFDbEMsS0FBSyxhQUFhLENBQUMsSUFBSTtnQkFDckIsQ0FBQztvQkFDQyxtQ0FBbUM7Z0JBQ3JDLENBQUM7Z0JBQ0QsTUFBTTtRQUNWLENBQUM7SUFDSCxDQUFDLENBQUM7SUFFRixNQUFNLGdCQUFnQixHQUFHLENBQUMsYUFBc0IsRUFBRSxFQUFFO1FBQ2xELElBQUksR0FBRyxHQUFHLGFBQWEsWUFBWSxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFFNUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ1QsR0FBRyxHQUFHLElBQUksaUJBQWlCLENBQUM7Z0JBQzFCLEtBQUssRUFBRSxhQUFhO2dCQUNwQixNQUFNLEVBQUUsQ0FBQztnQkFDVCxVQUFVLEVBQUUsZUFBZTthQUM1QixDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNmLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEIsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQyxDQUFDO0lBRUYsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEtBQXdCLEVBQUUsRUFBRTtRQUN0RCxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDOUIsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLFFBQVEsR0FBb0M7WUFDaEQsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO1lBQ2xCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtZQUNwQixVQUFVLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHO1lBQzlDLEtBQUssRUFBRSxJQUFJO1lBQ1gsYUFBYSxFQUFFLElBQUk7U0FDcEIsQ0FBQztRQUVGLE1BQU0sS0FBSyxHQUE0QjtZQUNyQyxXQUFXLEVBQUUsZUFBZSxFQUFFO1lBQzlCLFFBQVE7U0FDVCxDQUFDO1FBRUYsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQy9CLE1BQU0seUJBQXlCLEdBQUcsV0FBVyxHQUFHLGlCQUFpQixFQUFFLENBQUM7UUFDcEUsTUFBTSwyQkFBMkIsR0FBRyxXQUFXLEdBQUcsZUFBZSxFQUFFLENBQUM7UUFDcEUsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLE1BQU0sR0FBRyxtQkFBbUIsRUFBRSxDQUFDO1FBRTFELHNGQUFzRjtRQUN0Riw0RkFBNEY7UUFDNUYsSUFBSSwyQkFBMkIsR0FBRyx1QkFBdUIsRUFBRSxDQUFDO1lBQzFELE1BQU0sS0FBSyxHQUFHLENBQUMsWUFBWSxHQUFHLHlCQUF5QixDQUFDLEdBQUcsSUFBSSxDQUFDO1lBRWhFLFFBQVEsQ0FBQyxLQUFLLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQztZQUM5QixRQUFRLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDbkYsQ0FBQztRQUVELGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXRDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckIsQ0FBQyxDQUFDO0lBRUYsTUFBTSxXQUFXLEdBQXVCO1FBQ3RDLE9BQU87UUFDUCxPQUFPO1FBQ1AsT0FBTyxFQUFFLE9BQU8sQ0FBQyxVQUFVLEVBQUU7UUFDN0IsS0FBSyxFQUFFLEtBQUssQ0FBQyxVQUFVLEVBQUU7UUFDekIsUUFBUSxFQUFFLFFBQVEsQ0FBQyxVQUFVLEVBQUU7UUFDL0IsWUFBWSxFQUFFLFlBQVksQ0FBQyxVQUFVLEVBQUU7UUFDdkMsT0FBTztLQUNSLENBQUM7SUFFRixPQUFPLFdBQVcsQ0FBQztBQUNyQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb24gKi9cblxuaW1wb3J0IHtcbiAgSHR0cENsaWVudCxcbiAgSHR0cENvbnRleHQsXG4gIEh0dHBFcnJvclJlc3BvbnNlLFxuICBIdHRwRXZlbnQsXG4gIEh0dHBFdmVudFR5cGUsXG4gIEh0dHBIZWFkZXJzLFxuICBIdHRwUHJvZ3Jlc3NFdmVudCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgU2lnbmFsLCBjb21wdXRlZCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIGNhdGNoRXJyb3IsIHJldHJ5LCB0YXAsIHRocm93RXJyb3IsIHRpbWVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBidWlsZFRpbWVzdGFtcEZyb21TZWNvbmRzIH0gZnJvbSAnLi4vcmVxdWVzdCc7XG5pbXBvcnQgeyBCb2R5VHlwZSwgUGF0aFBhcmFtc1R5cGUsIFF1ZXJ5QXJncywgUXVlcnlQYXJhbXNUeXBlLCBSZXNwb25zZVR5cGUgfSBmcm9tICcuL3F1ZXJ5JztcbmltcG9ydCB7IENhY2hlQWRhcHRlckZuIH0gZnJvbSAnLi9xdWVyeS1jbGllbnQtY29uZmlnJztcbmltcG9ydCB7IFF1ZXJ5TWV0aG9kIH0gZnJvbSAnLi9xdWVyeS1jcmVhdG9yJztcbmltcG9ydCB7XG4gIFNob3VsZFJldHJ5UmVxdWVzdEZuLFxuICBTaG91bGRSZXRyeVJlcXVlc3RPcHRpb25zLFxuICBleHRyYWN0RXhwaXJlc0luU2Vjb25kcyxcbiAgc2hvdWxkUmV0cnlSZXF1ZXN0LFxufSBmcm9tICcuL3F1ZXJ5LXV0aWxzJztcblxuZXhwb3J0IGNvbnN0IFNQRUVEX0JVRkZFUl9USU1FX0lOX01TID0gMjAwMDtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlSHR0cFJlcXVlc3RPcHRpb25zPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPiA9IHtcbiAgbWV0aG9kOiBRdWVyeU1ldGhvZDtcbiAgZnVsbFBhdGg6IHN0cmluZztcbiAgcGF0aFBhcmFtcz86IFBhdGhQYXJhbXNUeXBlPFRBcmdzPjtcbiAgcXVlcnlQYXJhbXM/OiBRdWVyeVBhcmFtc1R5cGU8VEFyZ3M+O1xuICBib2R5PzogQm9keVR5cGU8VEFyZ3M+O1xuICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW47XG4gIHdpdGhDcmVkZW50aWFscz86IGJvb2xlYW47XG4gIHRyYW5zZmVyQ2FjaGU/OiBib29sZWFuIHwgeyBpbmNsdWRlSGVhZGVycz86IHN0cmluZ1tdIH07XG4gIHJlc3BvbnNlVHlwZT86ICdqc29uJyB8ICd0ZXh0JyB8ICdibG9iJyB8ICdhcnJheWJ1ZmZlcic7XG5cbiAgY29udGV4dD86IEh0dHBDb250ZXh0O1xuICBoZWFkZXJzPzogSHR0cEhlYWRlcnM7XG5cbiAgaHR0cENsaWVudDogSHR0cENsaWVudDtcblxuICBjYWNoZUFkYXB0ZXI/OiBDYWNoZUFkYXB0ZXJGbjtcbiAgcmV0cnlGbj86IFNob3VsZFJldHJ5UmVxdWVzdEZuO1xufTtcblxuZXhwb3J0IHR5cGUgSHR0cFJlcXVlc3RMb2FkaW5nU3RhdGUgPSB7XG4gIGV4ZWN1dGVUaW1lOiBudW1iZXI7XG4gIHByb2dyZXNzOiBIdHRwUmVxdWVzdExvYWRpbmdQcm9ncmVzc1N0YXRlIHwgbnVsbDtcbn07XG5cbmV4cG9ydCB0eXBlIEh0dHBSZXF1ZXN0TG9hZGluZ1Byb2dyZXNzU3RhdGUgPSB7XG4gIC8qKiBUaGUgdG90YWwgbnVtYmVyIG9mIGJ5dGVzIHRvIGJlIHRyYW5zZmVycmVkICovXG4gIHRvdGFsOiBudW1iZXI7XG5cbiAgLyoqIFRoZSBudW1iZXIgb2YgYnl0ZXMgdHJhbnNmZXJyZWQgKi9cbiAgbG9hZGVkOiBudW1iZXI7XG5cbiAgLyoqIFRoZSBwZXJjZW50YWdlIG9mIHRoZSB0cmFuc2ZlciB0aGF0IGlzIGNvbXBsZXRlZCAqL1xuICBwZXJjZW50YWdlOiBudW1iZXI7XG5cbiAgLyoqIFRoZSBzcGVlZCBvZiB0aGUgdHJhbnNmZXIgaW4gYnl0ZXMgcGVyIG1pbGxpc2Vjb25kICovXG4gIHNwZWVkOiBudW1iZXIgfCBudWxsO1xuXG4gIC8qKiBUaGUgZXN0aW1hdGVkIHJlbWFpbmluZyB0aW1lIGluIG1pbGxpc2Vjb25kcyAqL1xuICByZW1haW5pbmdUaW1lOiBudW1iZXIgfCBudWxsO1xufTtcblxuZXhwb3J0IHR5cGUgSHR0cFJlcXVlc3Q8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+ID0ge1xuICBleGVjdXRlOiAoKSA9PiBib29sZWFuO1xuICBkZXN0cm95OiAoKSA9PiBib29sZWFuO1xuICBsb2FkaW5nOiBTaWduYWw8SHR0cFJlcXVlc3RMb2FkaW5nU3RhdGUgfCBudWxsPjtcbiAgZXJyb3I6IFNpZ25hbDxIdHRwRXJyb3JSZXNwb25zZSB8IG51bGw+O1xuICByZXNwb25zZTogU2lnbmFsPFJlc3BvbnNlVHlwZTxUQXJncz4gfCBudWxsPjtcbiAgY3VycmVudEV2ZW50OiBTaWduYWw8SHR0cEV2ZW50PFJlc3BvbnNlVHlwZTxUQXJncz4+IHwgSHR0cEVycm9yRXZlbnQgfCBudWxsPjtcbiAgaXNTdGFsZTogU2lnbmFsPGJvb2xlYW4+O1xufTtcblxuZXhwb3J0IHR5cGUgSHR0cEVycm9yRXZlbnQgPSB7XG4gIHR5cGU6ICdlcnJvcic7XG4gIGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVIdHRwUmVxdWVzdCA9IDxUQXJncyBleHRlbmRzIFF1ZXJ5QXJncz4ob3B0aW9uczogQ3JlYXRlSHR0cFJlcXVlc3RPcHRpb25zPFRBcmdzPikgPT4ge1xuICBsZXQgY3VycmVudFN0cmVhbVN1YnNjcmlwdGlvbiA9IFN1YnNjcmlwdGlvbi5FTVBUWTtcblxuICBjb25zdCBjdXJyZW50RXZlbnQgPSBzaWduYWw8SHR0cEV2ZW50PFJlc3BvbnNlVHlwZTxUQXJncz4+IHwgSHR0cEVycm9yRXZlbnQgfCBudWxsPihudWxsKTtcbiAgY29uc3QgbG9hZGluZyA9IHNpZ25hbDxIdHRwUmVxdWVzdExvYWRpbmdTdGF0ZSB8IG51bGw+KG51bGwpO1xuICBjb25zdCBlcnJvciA9IHNpZ25hbDxIdHRwRXJyb3JSZXNwb25zZSB8IG51bGw+KG51bGwpO1xuICBjb25zdCByZXNwb25zZSA9IHNpZ25hbDxSZXNwb25zZVR5cGU8VEFyZ3M+IHwgbnVsbD4obnVsbCk7XG5cbiAgY29uc3QgbGFzdExvYWRFdmVudFRpbWUgPSBzaWduYWwoMCk7XG4gIGNvbnN0IGxhc3RMb2FkRXZlbnRBbW91bnQgPSBzaWduYWwoMCk7XG4gIGNvbnN0IGxhc3RFeGVjdXRlVGltZSA9IHNpZ25hbCgwKTtcbiAgY29uc3QgZXhwaXJlc0luID0gc2lnbmFsPG51bWJlciB8IG51bGw+KG51bGwpO1xuXG4gIGNvbnN0IGlzU3RhbGUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgZXhwaXJlc0luVHMgPSBleHBpcmVzSW4oKTtcblxuICAgIHJldHVybiBleHBpcmVzSW5UcyA9PT0gbnVsbCB8fCBleHBpcmVzSW5UcyA8IERhdGUubm93KCk7XG4gIH0pO1xuXG4gIGNvbnN0IHN0cmVhbSA9IG9wdGlvbnMuaHR0cENsaWVudFxuICAgIC5yZXF1ZXN0KG9wdGlvbnMubWV0aG9kLCBvcHRpb25zLmZ1bGxQYXRoLCB7XG4gICAgICBvYnNlcnZlOiAnZXZlbnRzJyxcbiAgICAgIGJvZHk6IG9wdGlvbnMuYm9keSxcbiAgICAgIHJlcG9ydFByb2dyZXNzOiBvcHRpb25zLnJlcG9ydFByb2dyZXNzLFxuICAgICAgd2l0aENyZWRlbnRpYWxzOiBvcHRpb25zLndpdGhDcmVkZW50aWFscyxcbiAgICAgIHRyYW5zZmVyQ2FjaGU6IG9wdGlvbnMudHJhbnNmZXJDYWNoZSxcbiAgICAgIHJlc3BvbnNlVHlwZTogb3B0aW9ucy5yZXNwb25zZVR5cGUgfHwgJ2pzb24nLFxuICAgICAgY29udGV4dDogb3B0aW9ucy5jb250ZXh0LFxuICAgICAgaGVhZGVyczogb3B0aW9ucy5oZWFkZXJzLFxuICAgIH0pXG4gICAgLnBpcGUoXG4gICAgICB0YXAoKGV2ZW50KSA9PiB1cGRhdGVTdGF0ZShldmVudCkpLFxuICAgICAgcmV0cnkoe1xuICAgICAgICBkZWxheTogKGVycm9yLCByZXRyeUNvdW50KSA9PiB7XG4gICAgICAgICAgY29uc3QgcmV0cnlPcHRpb25zOiBTaG91bGRSZXRyeVJlcXVlc3RPcHRpb25zID0geyBlcnJvciwgcmV0cnlDb3VudCB9O1xuXG4gICAgICAgICAgY29uc3QgcmV0cnlSZXN1bHQgPSBvcHRpb25zLnJldHJ5Rm4/LihyZXRyeU9wdGlvbnMpIHx8IHNob3VsZFJldHJ5UmVxdWVzdChyZXRyeU9wdGlvbnMpO1xuXG4gICAgICAgICAgaWYgKCFyZXRyeVJlc3VsdC5yZXRyeSkge1xuICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB0aW1lcihyZXRyeVJlc3VsdC5kZWxheSk7XG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICAgIGNhdGNoRXJyb3IoKGUpID0+IHtcbiAgICAgICAgdXBkYXRlRXJyb3JTdGF0ZShlKTtcblxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlKTtcbiAgICAgIH0pLFxuICAgICk7XG5cbiAgY29uc3QgZXhlY3V0ZSA9ICgpID0+IHtcbiAgICBpZiAobG9hZGluZygpIHx8ICFpc1N0YWxlKCkpIHtcbiAgICAgIC8vIERvIG5vdCBleGVjdXRlIGlmIHRoZXJlIGlzIGFscmVhZHkgYSByZXF1ZXN0IGluIHByb2dyZXNzIG9yIHRoZSByZXF1ZXN0IGlzIG5vdCBzdGFsZVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGN1cnJlbnRTdHJlYW1TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcblxuICAgIGxhc3RFeGVjdXRlVGltZS5zZXQoRGF0ZS5ub3coKSk7XG4gICAgbGFzdExvYWRFdmVudFRpbWUuc2V0KGxhc3RFeGVjdXRlVGltZSgpKTtcblxuICAgIGxvYWRpbmcuc2V0KHtcbiAgICAgIGV4ZWN1dGVUaW1lOiBsYXN0RXhlY3V0ZVRpbWUoKSxcbiAgICAgIHByb2dyZXNzOiBudWxsLFxuICAgIH0pO1xuICAgIGVycm9yLnNldChudWxsKTtcbiAgICBleHBpcmVzSW4uc2V0KG51bGwpO1xuXG4gICAgY3VycmVudFN0cmVhbVN1YnNjcmlwdGlvbiA9IHN0cmVhbS5zdWJzY3JpYmUoKTtcblxuICAgIHJldHVybiB0cnVlO1xuICB9O1xuXG4gIGNvbnN0IGRlc3Ryb3kgPSAoKSA9PiB7XG4gICAgaWYgKGN1cnJlbnRTdHJlYW1TdWJzY3JpcHRpb24uY2xvc2VkKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY3VycmVudFN0cmVhbVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuXG4gICAgcmV0dXJuIHRydWU7XG4gIH07XG5cbiAgY29uc3QgdXBkYXRlU3RhdGUgPSAoZXZlbnQ6IEh0dHBFdmVudDxSZXNwb25zZVR5cGU8VEFyZ3M+PikgPT4ge1xuICAgIGN1cnJlbnRFdmVudC5zZXQoZXZlbnQpO1xuXG4gICAgc3dpdGNoIChldmVudC50eXBlKSB7XG4gICAgICBjYXNlIEh0dHBFdmVudFR5cGUuUmVzcG9uc2U6XG4gICAgICAgIHtcbiAgICAgICAgICBsb2FkaW5nLnNldChudWxsKTtcbiAgICAgICAgICByZXNwb25zZS5zZXQoZXZlbnQuYm9keSk7XG5cbiAgICAgICAgICBjb25zdCBleHBpcmVzSW5TZWNvbmRzID0gb3B0aW9ucy5jYWNoZUFkYXB0ZXJcbiAgICAgICAgICAgID8gb3B0aW9ucy5jYWNoZUFkYXB0ZXIoZXZlbnQuaGVhZGVycylcbiAgICAgICAgICAgIDogZXh0cmFjdEV4cGlyZXNJblNlY29uZHMoZXZlbnQuaGVhZGVycyk7XG4gICAgICAgICAgY29uc3QgZXhwaXJlc0luVGltZXN0YW1wID0gYnVpbGRUaW1lc3RhbXBGcm9tU2Vjb25kcyhleHBpcmVzSW5TZWNvbmRzKTtcbiAgICAgICAgICBleHBpcmVzSW4uc2V0KGV4cGlyZXNJblRpbWVzdGFtcCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgSHR0cEV2ZW50VHlwZS5VcGxvYWRQcm9ncmVzczpcbiAgICAgIGNhc2UgSHR0cEV2ZW50VHlwZS5Eb3dubG9hZFByb2dyZXNzOlxuICAgICAgICB7XG4gICAgICAgICAgdXBkYXRlTG9hZGluZ1N0YXRlKGV2ZW50KTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlNlbnQ6XG4gICAgICBjYXNlIEh0dHBFdmVudFR5cGUuUmVzcG9uc2VIZWFkZXI6XG4gICAgICBjYXNlIEh0dHBFdmVudFR5cGUuVXNlcjpcbiAgICAgICAge1xuICAgICAgICAgIC8vIHdlIGRvbid0IGNhcmUgYWJvdXQgdGhlc2UgZXZlbnRzXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IHVwZGF0ZUVycm9yU3RhdGUgPSAoZXJyb3JSZXNwb25zZTogdW5rbm93bikgPT4ge1xuICAgIGxldCBlcnIgPSBlcnJvclJlc3BvbnNlIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UgPyBlcnJvclJlc3BvbnNlIDogbnVsbDtcblxuICAgIGlmICghZXJyKSB7XG4gICAgICBlcnIgPSBuZXcgSHR0cEVycm9yUmVzcG9uc2Uoe1xuICAgICAgICBlcnJvcjogZXJyb3JSZXNwb25zZSxcbiAgICAgICAgc3RhdHVzOiAwLFxuICAgICAgICBzdGF0dXNUZXh0OiAnVW5rbm93biBFcnJvcicsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBlcnJvci5zZXQoZXJyKTtcbiAgICBsb2FkaW5nLnNldChudWxsKTtcbiAgICBjdXJyZW50RXZlbnQuc2V0KHsgdHlwZTogJ2Vycm9yJywgZXJyb3I6IGVyciB9KTtcbiAgfTtcblxuICBjb25zdCB1cGRhdGVMb2FkaW5nU3RhdGUgPSAoZXZlbnQ6IEh0dHBQcm9ncmVzc0V2ZW50KSA9PiB7XG4gICAgaWYgKGV2ZW50LnRvdGFsID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBwcm9ncmVzczogSHR0cFJlcXVlc3RMb2FkaW5nUHJvZ3Jlc3NTdGF0ZSA9IHtcbiAgICAgIHRvdGFsOiBldmVudC50b3RhbCxcbiAgICAgIGxvYWRlZDogZXZlbnQubG9hZGVkLFxuICAgICAgcGVyY2VudGFnZTogKGV2ZW50LmxvYWRlZCAvIGV2ZW50LnRvdGFsKSAqIDEwMCxcbiAgICAgIHNwZWVkOiBudWxsLFxuICAgICAgcmVtYWluaW5nVGltZTogbnVsbCxcbiAgICB9O1xuXG4gICAgY29uc3Qgc3RhdGU6IEh0dHBSZXF1ZXN0TG9hZGluZ1N0YXRlID0ge1xuICAgICAgZXhlY3V0ZVRpbWU6IGxhc3RFeGVjdXRlVGltZSgpLFxuICAgICAgcHJvZ3Jlc3MsXG4gICAgfTtcblxuICAgIGNvbnN0IGN1cnJlbnRUaW1lID0gRGF0ZS5ub3coKTtcbiAgICBjb25zdCBlbGFwc2VkVGltZVNpbmNlTGFzdEV2ZW50ID0gY3VycmVudFRpbWUgLSBsYXN0TG9hZEV2ZW50VGltZSgpO1xuICAgIGNvbnN0IGVsYXBzZWRUaW1lU2luY2VMYXN0RXhlY3V0ZSA9IGN1cnJlbnRUaW1lIC0gbGFzdEV4ZWN1dGVUaW1lKCk7XG4gICAgY29uc3QgbG9hZGVkQW1vdW50ID0gZXZlbnQubG9hZGVkIC0gbGFzdExvYWRFdmVudEFtb3VudCgpO1xuXG4gICAgLy8gV2Ugb25seSB3YW50IHRvIGNhbGN1bGF0ZSBzcGVlZCBhbmQgcmVtYWluaW5nIHRpbWUgYWZ0ZXIgMiBzZWNvbmRzIG9mIHRoZSBleGVjdXRpb25cbiAgICAvLyBUaGlzIGlzIHRvIGF2b2lkIHNob3dpbmcgaW5jb3JyZWN0IHNwZWVkIGFuZCByZW1haW5pbmcgdGltZSB3aGVuIHRoZSByZXF1ZXN0IGlzIHZlcnkgZmFzdFxuICAgIGlmIChlbGFwc2VkVGltZVNpbmNlTGFzdEV4ZWN1dGUgPiBTUEVFRF9CVUZGRVJfVElNRV9JTl9NUykge1xuICAgICAgY29uc3Qgc3BlZWQgPSAobG9hZGVkQW1vdW50IC8gZWxhcHNlZFRpbWVTaW5jZUxhc3RFdmVudCkgKiAxMDAwO1xuXG4gICAgICBwcm9ncmVzcy5zcGVlZCA9IHNwZWVkICogMTAwMDtcbiAgICAgIHByb2dyZXNzLnJlbWFpbmluZ1RpbWUgPSBNYXRoLnJvdW5kKChldmVudC50b3RhbCAtIGV2ZW50LmxvYWRlZCkgLyBzcGVlZCkgKiAxMDAwO1xuICAgIH1cblxuICAgIGxhc3RMb2FkRXZlbnRUaW1lLnNldChjdXJyZW50VGltZSk7XG4gICAgbGFzdExvYWRFdmVudEFtb3VudC5zZXQoZXZlbnQubG9hZGVkKTtcblxuICAgIGxvYWRpbmcuc2V0KHN0YXRlKTtcbiAgfTtcblxuICBjb25zdCBodHRwUmVxdWVzdDogSHR0cFJlcXVlc3Q8VEFyZ3M+ID0ge1xuICAgIGV4ZWN1dGUsXG4gICAgZGVzdHJveSxcbiAgICBsb2FkaW5nOiBsb2FkaW5nLmFzUmVhZG9ubHkoKSxcbiAgICBlcnJvcjogZXJyb3IuYXNSZWFkb25seSgpLFxuICAgIHJlc3BvbnNlOiByZXNwb25zZS5hc1JlYWRvbmx5KCksXG4gICAgY3VycmVudEV2ZW50OiBjdXJyZW50RXZlbnQuYXNSZWFkb25seSgpLFxuICAgIGlzU3RhbGUsXG4gIH07XG5cbiAgcmV0dXJuIGh0dHBSZXF1ZXN0O1xufTtcbiJdfQ==
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export * from './bearer-auth-provider';
|
|
2
|
+
export * from './bearer-auth-provider-config';
|
|
3
|
+
export * from './http-request';
|
|
4
|
+
export * from './query';
|
|
5
|
+
export * from './query-client';
|
|
6
|
+
export * from './query-client-config';
|
|
7
|
+
export * from './query-creator';
|
|
8
|
+
export * from './query-creator-templates';
|
|
9
|
+
export * from './query-dependencies';
|
|
10
|
+
export * from './query-errors';
|
|
11
|
+
export * from './query-execute';
|
|
12
|
+
export * from './query-execute-utils';
|
|
13
|
+
export * from './query-features';
|
|
14
|
+
export * from './query-repository';
|
|
15
|
+
export * from './query-snapshot';
|
|
16
|
+
export * from './query-state';
|
|
17
|
+
export * from './query-utils';
|
|
18
|
+
export * from './secure-query';
|
|
19
|
+
export * from './secure-query-creator';
|
|
20
|
+
export * from './secure-query-execute';
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvZXhwZXJpbWVudGFsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYmVhcmVyLWF1dGgtcHJvdmlkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9iZWFyZXItYXV0aC1wcm92aWRlci1jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9odHRwLXJlcXVlc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9xdWVyeSc7XG5leHBvcnQgKiBmcm9tICcuL3F1ZXJ5LWNsaWVudCc7XG5leHBvcnQgKiBmcm9tICcuL3F1ZXJ5LWNsaWVudC1jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9xdWVyeS1jcmVhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vcXVlcnktY3JlYXRvci10ZW1wbGF0ZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9xdWVyeS1kZXBlbmRlbmNpZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9xdWVyeS1lcnJvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9xdWVyeS1leGVjdXRlJztcbmV4cG9ydCAqIGZyb20gJy4vcXVlcnktZXhlY3V0ZS11dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL3F1ZXJ5LWZlYXR1cmVzJztcbmV4cG9ydCAqIGZyb20gJy4vcXVlcnktcmVwb3NpdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL3F1ZXJ5LXNuYXBzaG90JztcbmV4cG9ydCAqIGZyb20gJy4vcXVlcnktc3RhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi9xdWVyeS11dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL3NlY3VyZS1xdWVyeSc7XG5leHBvcnQgKiBmcm9tICcuL3NlY3VyZS1xdWVyeS1jcmVhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vc2VjdXJlLXF1ZXJ5LWV4ZWN1dGUnO1xuIl19
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-empty-function */
|
|
2
|
+
import { InjectionToken } from '@angular/core';
|
|
3
|
+
export const createQueryClientConfig = (options) => {
|
|
4
|
+
const token = new InjectionToken(`QueryClient_${options.name}`);
|
|
5
|
+
const clientConfig = {
|
|
6
|
+
baseUrl: options.baseUrl,
|
|
7
|
+
token,
|
|
8
|
+
name: options.name,
|
|
9
|
+
queryString: options.queryString,
|
|
10
|
+
};
|
|
11
|
+
return clientConfig;
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktY2xpZW50LWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcXVlcnkvc3JjL2xpYi9leHBlcmltZW50YWwvcXVlcnktY2xpZW50LWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx5REFBeUQ7QUFHekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQXFCL0MsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxPQUF1QyxFQUFFLEVBQUU7SUFDakYsTUFBTSxLQUFLLEdBQUcsSUFBSSxjQUFjLENBQW9CLGVBQWUsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFFbkYsTUFBTSxZQUFZLEdBQXNCO1FBQ3RDLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztRQUN4QixLQUFLO1FBQ0wsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1FBQ2xCLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVztLQUNqQyxDQUFDO0lBRUYsT0FBTyxZQUFZLENBQUM7QUFDdEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uICovXG5cbmltcG9ydCB7IEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJ1aWxkUXVlcnlTdHJpbmdDb25maWcgfSBmcm9tICcuLi9yZXF1ZXN0JztcbmltcG9ydCB7IFF1ZXJ5Q2xpZW50IH0gZnJvbSAnLi9xdWVyeS1jbGllbnQnO1xuaW1wb3J0IHsgU2hvdWxkUmV0cnlSZXF1ZXN0Rm4gfSBmcm9tICcuL3F1ZXJ5LXV0aWxzJztcblxuZXhwb3J0IHR5cGUgQ2FjaGVBZGFwdGVyRm4gPSAoaGVhZGVyczogSHR0cEhlYWRlcnMpID0+IG51bWJlciB8IG51bGw7XG5cbmV4cG9ydCB0eXBlIENyZWF0ZVF1ZXJ5Q2xpZW50Q29uZmlnT3B0aW9ucyA9IHtcbiAgYmFzZVVybDogc3RyaW5nO1xuICBxdWVyeVN0cmluZz86IEJ1aWxkUXVlcnlTdHJpbmdDb25maWc7XG4gIG5hbWU6IHN0cmluZztcbiAgY2FjaGVBZGFwdGVyPzogQ2FjaGVBZGFwdGVyRm47XG4gIHJldHJ5Rm4/OiBTaG91bGRSZXRyeVJlcXVlc3RGbjtcbn07XG5cbmV4cG9ydCB0eXBlIFF1ZXJ5Q2xpZW50Q29uZmlnID0gQ3JlYXRlUXVlcnlDbGllbnRDb25maWdPcHRpb25zICYge1xuICB0b2tlbjogUXVlcnlDbGllbnRSZWY7XG59O1xuXG5leHBvcnQgdHlwZSBRdWVyeUNsaWVudFJlZiA9IEluamVjdGlvblRva2VuPFF1ZXJ5Q2xpZW50PjtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVF1ZXJ5Q2xpZW50Q29uZmlnID0gKG9wdGlvbnM6IENyZWF0ZVF1ZXJ5Q2xpZW50Q29uZmlnT3B0aW9ucykgPT4ge1xuICBjb25zdCB0b2tlbiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxRdWVyeUNsaWVudENvbmZpZz4oYFF1ZXJ5Q2xpZW50XyR7b3B0aW9ucy5uYW1lfWApO1xuXG4gIGNvbnN0IGNsaWVudENvbmZpZzogUXVlcnlDbGllbnRDb25maWcgPSB7XG4gICAgYmFzZVVybDogb3B0aW9ucy5iYXNlVXJsLFxuICAgIHRva2VuLFxuICAgIG5hbWU6IG9wdGlvbnMubmFtZSxcbiAgICBxdWVyeVN0cmluZzogb3B0aW9ucy5xdWVyeVN0cmluZyxcbiAgfTtcblxuICByZXR1cm4gY2xpZW50Q29uZmlnO1xufTtcbiJdfQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-empty-function */
|
|
2
|
+
import { createQueryRepository } from './query-repository';
|
|
3
|
+
export const createQueryClient = (config) => {
|
|
4
|
+
const repository = createQueryRepository(config);
|
|
5
|
+
const client = {
|
|
6
|
+
repository,
|
|
7
|
+
};
|
|
8
|
+
return client;
|
|
9
|
+
};
|
|
10
|
+
export const provideQueryClient = (config) => {
|
|
11
|
+
return {
|
|
12
|
+
provide: config.token,
|
|
13
|
+
useFactory: () => createQueryClient(config),
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xdWVyeS9zcmMvbGliL2V4cGVyaW1lbnRhbC9xdWVyeS1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseURBQXlEO0FBR3pELE9BQU8sRUFBbUIscUJBQXFCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQU01RSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLE1BQXlCLEVBQUUsRUFBRTtJQUM3RCxNQUFNLFVBQVUsR0FBRyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVqRCxNQUFNLE1BQU0sR0FBZ0I7UUFDMUIsVUFBVTtLQUNYLENBQUM7SUFFRixPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLE1BQXlCLEVBQUUsRUFBRTtJQUM5RCxPQUFPO1FBQ0wsT0FBTyxFQUFFLE1BQU0sQ0FBQyxLQUFLO1FBQ3JCLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUM7S0FDNUMsQ0FBQztBQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvbiAqL1xuXG5pbXBvcnQgeyBRdWVyeUNsaWVudENvbmZpZyB9IGZyb20gJy4vcXVlcnktY2xpZW50LWNvbmZpZyc7XG5pbXBvcnQgeyBRdWVyeVJlcG9zaXRvcnksIGNyZWF0ZVF1ZXJ5UmVwb3NpdG9yeSB9IGZyb20gJy4vcXVlcnktcmVwb3NpdG9yeSc7XG5cbmV4cG9ydCB0eXBlIFF1ZXJ5Q2xpZW50ID0ge1xuICByZXBvc2l0b3J5OiBRdWVyeVJlcG9zaXRvcnk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlUXVlcnlDbGllbnQgPSAoY29uZmlnOiBRdWVyeUNsaWVudENvbmZpZykgPT4ge1xuICBjb25zdCByZXBvc2l0b3J5ID0gY3JlYXRlUXVlcnlSZXBvc2l0b3J5KGNvbmZpZyk7XG5cbiAgY29uc3QgY2xpZW50OiBRdWVyeUNsaWVudCA9IHtcbiAgICByZXBvc2l0b3J5LFxuICB9O1xuXG4gIHJldHVybiBjbGllbnQ7XG59O1xuXG5leHBvcnQgY29uc3QgcHJvdmlkZVF1ZXJ5Q2xpZW50ID0gKGNvbmZpZzogUXVlcnlDbGllbnRDb25maWcpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBwcm92aWRlOiBjb25maWcudG9rZW4sXG4gICAgdXNlRmFjdG9yeTogKCkgPT4gY3JlYXRlUXVlcnlDbGllbnQoY29uZmlnKSxcbiAgfTtcbn07XG4iXX0=
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { createQueryCreator } from './query-creator';
|
|
2
|
+
import { createSecureQueryCreator } from './secure-query-creator';
|
|
3
|
+
export const createGetQuery = (client) => {
|
|
4
|
+
return (creatorOptions) => createQueryCreator(creatorOptions, { method: 'GET', client });
|
|
5
|
+
};
|
|
6
|
+
export const createSecureGetQuery = (client, authProvider) => {
|
|
7
|
+
return (creatorOptions) => createSecureQueryCreator(creatorOptions, { method: 'GET', client, authProvider });
|
|
8
|
+
};
|
|
9
|
+
export const createPostQuery = (client) => {
|
|
10
|
+
return (creatorOptions) => createQueryCreator(creatorOptions, { method: 'POST', client });
|
|
11
|
+
};
|
|
12
|
+
export const createSecurePostQuery = (client, authProvider) => {
|
|
13
|
+
return (creatorOptions) => createSecureQueryCreator(creatorOptions, { method: 'POST', client, authProvider });
|
|
14
|
+
};
|
|
15
|
+
export const createPutQuery = (client) => {
|
|
16
|
+
return (creatorOptions) => createQueryCreator(creatorOptions, { method: 'PUT', client });
|
|
17
|
+
};
|
|
18
|
+
export const createSecurePutQuery = (client, authProvider) => {
|
|
19
|
+
return (creatorOptions) => createSecureQueryCreator(creatorOptions, { method: 'PUT', client, authProvider });
|
|
20
|
+
};
|
|
21
|
+
export const createDeleteQuery = (client) => {
|
|
22
|
+
return (creatorOptions) => createQueryCreator(creatorOptions, { method: 'DELETE', client });
|
|
23
|
+
};
|
|
24
|
+
export const createSecureDeleteQuery = (client, authProvider) => {
|
|
25
|
+
return (creatorOptions) => createSecureQueryCreator(creatorOptions, { method: 'DELETE', client, authProvider });
|
|
26
|
+
};
|
|
27
|
+
export const createPatchQuery = (client) => {
|
|
28
|
+
return (creatorOptions) => createQueryCreator(creatorOptions, { method: 'PATCH', client });
|
|
29
|
+
};
|
|
30
|
+
export const createSecurePatchQuery = (client, authProvider) => {
|
|
31
|
+
return (creatorOptions) => createSecureQueryCreator(creatorOptions, { method: 'PATCH', client, authProvider });
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktY3JlYXRvci10ZW1wbGF0ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvZXhwZXJpbWVudGFsL3F1ZXJ5LWNyZWF0b3ItdGVtcGxhdGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBNkIsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVsRSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxNQUF5QixFQUFFLEVBQUU7SUFDMUQsT0FBTyxDQUEwQixjQUFnRCxFQUFFLEVBQUUsQ0FDbkYsa0JBQWtCLENBQVEsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0FBQ3pFLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsTUFBeUIsRUFBRSxZQUF5QyxFQUFFLEVBQUU7SUFDM0csT0FBTyxDQUEwQixjQUFnRCxFQUFFLEVBQUUsQ0FDbkYsd0JBQXdCLENBQVEsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztBQUM3RixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxNQUF5QixFQUFFLEVBQUU7SUFDM0QsT0FBTyxDQUEwQixjQUFnRCxFQUFFLEVBQUUsQ0FDbkYsa0JBQWtCLENBQVEsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0FBQzFFLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQUMsTUFBeUIsRUFBRSxZQUF5QyxFQUFFLEVBQUU7SUFDNUcsT0FBTyxDQUEwQixjQUFnRCxFQUFFLEVBQUUsQ0FDbkYsd0JBQXdCLENBQVEsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztBQUM5RixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxNQUF5QixFQUFFLEVBQUU7SUFDMUQsT0FBTyxDQUEwQixjQUFnRCxFQUFFLEVBQUUsQ0FDbkYsa0JBQWtCLENBQVEsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0FBQ3pFLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsTUFBeUIsRUFBRSxZQUF5QyxFQUFFLEVBQUU7SUFDM0csT0FBTyxDQUEwQixjQUFnRCxFQUFFLEVBQUUsQ0FDbkYsd0JBQXdCLENBQVEsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztBQUM3RixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLE1BQXlCLEVBQUUsRUFBRTtJQUM3RCxPQUFPLENBQTBCLGNBQWdELEVBQUUsRUFBRSxDQUNuRixrQkFBa0IsQ0FBUSxjQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7QUFDNUUsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxNQUF5QixFQUFFLFlBQXlDLEVBQUUsRUFBRTtJQUM5RyxPQUFPLENBQTBCLGNBQWdELEVBQUUsRUFBRSxDQUNuRix3QkFBd0IsQ0FBUSxjQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO0FBQ2hHLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsTUFBeUIsRUFBRSxFQUFFO0lBQzVELE9BQU8sQ0FBMEIsY0FBZ0QsRUFBRSxFQUFFLENBQ25GLGtCQUFrQixDQUFRLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztBQUMzRSxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLE1BQXlCLEVBQUUsWUFBeUMsRUFBRSxFQUFFO0lBQzdHLE9BQU8sQ0FBMEIsY0FBZ0QsRUFBRSxFQUFFLENBQ25GLHdCQUF3QixDQUFRLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7QUFDL0YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW55QmVhcmVyQXV0aFByb3ZpZGVyQ29uZmlnIH0gZnJvbSAnLi9iZWFyZXItYXV0aC1wcm92aWRlci1jb25maWcnO1xuaW1wb3J0IHsgUXVlcnlBcmdzIH0gZnJvbSAnLi9xdWVyeSc7XG5pbXBvcnQgeyBRdWVyeUNsaWVudENvbmZpZyB9IGZyb20gJy4vcXVlcnktY2xpZW50LWNvbmZpZyc7XG5pbXBvcnQgeyBDcmVhdGVRdWVyeUNyZWF0b3JPcHRpb25zLCBjcmVhdGVRdWVyeUNyZWF0b3IgfSBmcm9tICcuL3F1ZXJ5LWNyZWF0b3InO1xuaW1wb3J0IHsgY3JlYXRlU2VjdXJlUXVlcnlDcmVhdG9yIH0gZnJvbSAnLi9zZWN1cmUtcXVlcnktY3JlYXRvcic7XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVHZXRRdWVyeSA9IChjbGllbnQ6IFF1ZXJ5Q2xpZW50Q29uZmlnKSA9PiB7XG4gIHJldHVybiA8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+KGNyZWF0b3JPcHRpb25zOiBDcmVhdGVRdWVyeUNyZWF0b3JPcHRpb25zPFRBcmdzPikgPT5cbiAgICBjcmVhdGVRdWVyeUNyZWF0b3I8VEFyZ3M+KGNyZWF0b3JPcHRpb25zLCB7IG1ldGhvZDogJ0dFVCcsIGNsaWVudCB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVTZWN1cmVHZXRRdWVyeSA9IChjbGllbnQ6IFF1ZXJ5Q2xpZW50Q29uZmlnLCBhdXRoUHJvdmlkZXI6IEFueUJlYXJlckF1dGhQcm92aWRlckNvbmZpZykgPT4ge1xuICByZXR1cm4gPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPihjcmVhdG9yT3B0aW9uczogQ3JlYXRlUXVlcnlDcmVhdG9yT3B0aW9uczxUQXJncz4pID0+XG4gICAgY3JlYXRlU2VjdXJlUXVlcnlDcmVhdG9yPFRBcmdzPihjcmVhdG9yT3B0aW9ucywgeyBtZXRob2Q6ICdHRVQnLCBjbGllbnQsIGF1dGhQcm92aWRlciB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVQb3N0UXVlcnkgPSAoY2xpZW50OiBRdWVyeUNsaWVudENvbmZpZykgPT4ge1xuICByZXR1cm4gPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPihjcmVhdG9yT3B0aW9uczogQ3JlYXRlUXVlcnlDcmVhdG9yT3B0aW9uczxUQXJncz4pID0+XG4gICAgY3JlYXRlUXVlcnlDcmVhdG9yPFRBcmdzPihjcmVhdG9yT3B0aW9ucywgeyBtZXRob2Q6ICdQT1NUJywgY2xpZW50IH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVNlY3VyZVBvc3RRdWVyeSA9IChjbGllbnQ6IFF1ZXJ5Q2xpZW50Q29uZmlnLCBhdXRoUHJvdmlkZXI6IEFueUJlYXJlckF1dGhQcm92aWRlckNvbmZpZykgPT4ge1xuICByZXR1cm4gPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPihjcmVhdG9yT3B0aW9uczogQ3JlYXRlUXVlcnlDcmVhdG9yT3B0aW9uczxUQXJncz4pID0+XG4gICAgY3JlYXRlU2VjdXJlUXVlcnlDcmVhdG9yPFRBcmdzPihjcmVhdG9yT3B0aW9ucywgeyBtZXRob2Q6ICdQT1NUJywgY2xpZW50LCBhdXRoUHJvdmlkZXIgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlUHV0UXVlcnkgPSAoY2xpZW50OiBRdWVyeUNsaWVudENvbmZpZykgPT4ge1xuICByZXR1cm4gPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPihjcmVhdG9yT3B0aW9uczogQ3JlYXRlUXVlcnlDcmVhdG9yT3B0aW9uczxUQXJncz4pID0+XG4gICAgY3JlYXRlUXVlcnlDcmVhdG9yPFRBcmdzPihjcmVhdG9yT3B0aW9ucywgeyBtZXRob2Q6ICdQVVQnLCBjbGllbnQgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlU2VjdXJlUHV0UXVlcnkgPSAoY2xpZW50OiBRdWVyeUNsaWVudENvbmZpZywgYXV0aFByb3ZpZGVyOiBBbnlCZWFyZXJBdXRoUHJvdmlkZXJDb25maWcpID0+IHtcbiAgcmV0dXJuIDxUQXJncyBleHRlbmRzIFF1ZXJ5QXJncz4oY3JlYXRvck9wdGlvbnM6IENyZWF0ZVF1ZXJ5Q3JlYXRvck9wdGlvbnM8VEFyZ3M+KSA9PlxuICAgIGNyZWF0ZVNlY3VyZVF1ZXJ5Q3JlYXRvcjxUQXJncz4oY3JlYXRvck9wdGlvbnMsIHsgbWV0aG9kOiAnUFVUJywgY2xpZW50LCBhdXRoUHJvdmlkZXIgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlRGVsZXRlUXVlcnkgPSAoY2xpZW50OiBRdWVyeUNsaWVudENvbmZpZykgPT4ge1xuICByZXR1cm4gPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPihjcmVhdG9yT3B0aW9uczogQ3JlYXRlUXVlcnlDcmVhdG9yT3B0aW9uczxUQXJncz4pID0+XG4gICAgY3JlYXRlUXVlcnlDcmVhdG9yPFRBcmdzPihjcmVhdG9yT3B0aW9ucywgeyBtZXRob2Q6ICdERUxFVEUnLCBjbGllbnQgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlU2VjdXJlRGVsZXRlUXVlcnkgPSAoY2xpZW50OiBRdWVyeUNsaWVudENvbmZpZywgYXV0aFByb3ZpZGVyOiBBbnlCZWFyZXJBdXRoUHJvdmlkZXJDb25maWcpID0+IHtcbiAgcmV0dXJuIDxUQXJncyBleHRlbmRzIFF1ZXJ5QXJncz4oY3JlYXRvck9wdGlvbnM6IENyZWF0ZVF1ZXJ5Q3JlYXRvck9wdGlvbnM8VEFyZ3M+KSA9PlxuICAgIGNyZWF0ZVNlY3VyZVF1ZXJ5Q3JlYXRvcjxUQXJncz4oY3JlYXRvck9wdGlvbnMsIHsgbWV0aG9kOiAnREVMRVRFJywgY2xpZW50LCBhdXRoUHJvdmlkZXIgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlUGF0Y2hRdWVyeSA9IChjbGllbnQ6IFF1ZXJ5Q2xpZW50Q29uZmlnKSA9PiB7XG4gIHJldHVybiA8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+KGNyZWF0b3JPcHRpb25zOiBDcmVhdGVRdWVyeUNyZWF0b3JPcHRpb25zPFRBcmdzPikgPT5cbiAgICBjcmVhdGVRdWVyeUNyZWF0b3I8VEFyZ3M+KGNyZWF0b3JPcHRpb25zLCB7IG1ldGhvZDogJ1BBVENIJywgY2xpZW50IH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVNlY3VyZVBhdGNoUXVlcnkgPSAoY2xpZW50OiBRdWVyeUNsaWVudENvbmZpZywgYXV0aFByb3ZpZGVyOiBBbnlCZWFyZXJBdXRoUHJvdmlkZXJDb25maWcpID0+IHtcbiAgcmV0dXJuIDxUQXJncyBleHRlbmRzIFF1ZXJ5QXJncz4oY3JlYXRvck9wdGlvbnM6IENyZWF0ZVF1ZXJ5Q3JlYXRvck9wdGlvbnM8VEFyZ3M+KSA9PlxuICAgIGNyZWF0ZVNlY3VyZVF1ZXJ5Q3JlYXRvcjxUQXJncz4oY3JlYXRvck9wdGlvbnMsIHsgbWV0aG9kOiAnUEFUQ0gnLCBjbGllbnQsIGF1dGhQcm92aWRlciB9KTtcbn07XG4iXX0=
|
|
@@ -0,0 +1,28 @@
|
|
|
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==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-empty-function */
|
|
2
|
+
import { DestroyRef, Injector, inject } from '@angular/core';
|
|
3
|
+
export const setupQueryDependencies = (options) => {
|
|
4
|
+
const destroyRef = inject(DestroyRef);
|
|
5
|
+
const client = inject(options.clientConfig.token);
|
|
6
|
+
const injector = inject(Injector);
|
|
7
|
+
const dependencies = {
|
|
8
|
+
destroyRef,
|
|
9
|
+
client,
|
|
10
|
+
injector,
|
|
11
|
+
};
|
|
12
|
+
return dependencies;
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktZGVwZW5kZW5jaWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xdWVyeS9zcmMvbGliL2V4cGVyaW1lbnRhbC9xdWVyeS1kZXBlbmRlbmNpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseURBQXlEO0FBRXpELE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQWM3RCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLE9BQXNDLEVBQUUsRUFBRTtJQUMvRSxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdEMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEQsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRWxDLE1BQU0sWUFBWSxHQUFzQjtRQUN0QyxVQUFVO1FBQ1YsTUFBTTtRQUNOLFFBQVE7S0FDVCxDQUFDO0lBRUYsT0FBTyxZQUFZLENBQUM7QUFDdEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uICovXG5cbmltcG9ydCB7IERlc3Ryb3lSZWYsIEluamVjdG9yLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFF1ZXJ5Q2xpZW50IH0gZnJvbSAnLi9xdWVyeS1jbGllbnQnO1xuaW1wb3J0IHsgUXVlcnlDbGllbnRDb25maWcgfSBmcm9tICcuL3F1ZXJ5LWNsaWVudC1jb25maWcnO1xuXG5leHBvcnQgdHlwZSBTZXR1cFF1ZXJ5RGVwZW5kZW5jaWVzT3B0aW9ucyA9IHtcbiAgY2xpZW50Q29uZmlnOiBRdWVyeUNsaWVudENvbmZpZztcbn07XG5cbmV4cG9ydCB0eXBlIFF1ZXJ5RGVwZW5kZW5jaWVzID0ge1xuICBkZXN0cm95UmVmOiBEZXN0cm95UmVmO1xuICBjbGllbnQ6IFF1ZXJ5Q2xpZW50O1xuICBpbmplY3RvcjogSW5qZWN0b3I7XG59O1xuXG5leHBvcnQgY29uc3Qgc2V0dXBRdWVyeURlcGVuZGVuY2llcyA9IChvcHRpb25zOiBTZXR1cFF1ZXJ5RGVwZW5kZW5jaWVzT3B0aW9ucykgPT4ge1xuICBjb25zdCBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICBjb25zdCBjbGllbnQgPSBpbmplY3Qob3B0aW9ucy5jbGllbnRDb25maWcudG9rZW4pO1xuICBjb25zdCBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG5cbiAgY29uc3QgZGVwZW5kZW5jaWVzOiBRdWVyeURlcGVuZGVuY2llcyA9IHtcbiAgICBkZXN0cm95UmVmLFxuICAgIGNsaWVudCxcbiAgICBpbmplY3RvcixcbiAgfTtcblxuICByZXR1cm4gZGVwZW5kZW5jaWVzO1xufTtcbiJdfQ==
|
|
@@ -0,0 +1,55 @@
|
|
|
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
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xdWVyeS9zcmMvbGliL2V4cGVyaW1lbnRhbC9xdWVyeS1lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseURBQXlEO0FBRXpELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUE2QjdDLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLENBQUMsSUFBc0IsRUFBRSxFQUFFO0lBQ3RFLE9BQU8sSUFBSSxZQUFZLDZEQUVyQixzQkFBc0IsSUFBSSw4QkFBOEIsQ0FDekQsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDZDQUE2QyxHQUFHLEdBQUcsRUFBRTtJQUNoRSxPQUFPLElBQUksWUFBWSxtRkFFckIsMEVBQTBFLENBQzNFLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxzQ0FBc0MsR0FBRyxDQUFDLE1BQW1CLEVBQUUsRUFBRTtJQUM1RSxPQUFPLElBQUksWUFBWSwwRUFFckIsY0FBYyxNQUFNLCtGQUErRixDQUNwSCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMENBQTBDLEdBQUcsQ0FBQyxNQUFtQixFQUFFLEVBQUU7SUFDaEYsT0FBTyxJQUFJLFlBQVksK0VBRXJCLGNBQWMsTUFBTSxtR0FBbUcsQ0FDeEgsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLEdBQUcsRUFBRTtJQUNuRCxPQUFPLElBQUksWUFBWSxvRUFFckIsOEZBQThGO1FBQzVGLGtHQUFrRyxDQUNyRyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQUcsR0FBRyxFQUFFO0lBQ3BELE9BQU8sSUFBSSxZQUFZLG9FQUVyQiwwREFBMEQsQ0FDM0QsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFDQUFxQyxHQUFHLEdBQUcsRUFBRTtJQUN4RCxPQUFPLElBQUksWUFBWSx3RUFFckIsZ0hBQWdILENBQ2pILENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxzQ0FBc0MsR0FBRyxHQUFHLEVBQUU7SUFDekQsT0FBTyxJQUFJLFlBQVkseUVBRXJCLGlIQUFpSCxDQUNsSCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsR0FBRyxFQUFFO0lBQzNDLE9BQU8sSUFBSSxZQUFZLHlEQUVyQiw0RkFBNEYsQ0FDN0YsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLEdBQUcsRUFBRTtJQUNwRCxPQUFPLElBQUksWUFBWSxvRUFFckIscUdBQXFHLENBQ3RHLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxHQUFHLEVBQUU7SUFDbEQsT0FBTyxJQUFJLFlBQVksaUVBRXJCLG1HQUFtRyxDQUNwRyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsR0FBRyxFQUFFO0lBQ2hELE9BQU8sSUFBSSxZQUFZLCtEQUVyQixpR0FBaUcsQ0FDbEcsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDJDQUEyQyxHQUFHLENBQUMsV0FBbUIsRUFBRSxFQUFFO0lBQ2pGLE9BQU8sSUFBSSxZQUFZLDhFQUVyQix1RkFBdUYsV0FBVyxJQUFJLENBQ3ZHLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwwREFBMEQsR0FBRyxHQUFHLEVBQUU7SUFDN0UsT0FBTyxJQUFJLFlBQVksK0ZBRXJCLDZGQUE2RixDQUM5RixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMkRBQTJELEdBQUcsR0FBRyxFQUFFO0lBQzlFLE9BQU8sSUFBSSxZQUFZLGdHQUVyQiw2RkFBNkYsQ0FDOUYsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUU7SUFDMUQsT0FBTyxJQUFJLFlBQVksNERBRXJCLDRDQUE0QyxLQUFLLEVBQUUsQ0FDcEQsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLENBQUMsU0FBa0IsRUFBRSxFQUFFO0lBQ3JFLE9BQU8sSUFBSSxZQUFZLG1FQUVyQiw0Q0FBNEMsU0FBUyxFQUFFLENBQ3hELENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb24gKi9cblxuaW1wb3J0IHsgUnVudGltZUVycm9yIH0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQgeyBRdWVyeU1ldGhvZCB9IGZyb20gJy4vcXVlcnktY3JlYXRvcic7XG5pbXBvcnQgeyBRdWVyeUZlYXR1cmVUeXBlIH0gZnJvbSAnLi9xdWVyeS1mZWF0dXJlcyc7XG5cbmV4cG9ydCBjb25zdCBlbnVtIFJ1bnRpbWVFcnJvckNvZGUge1xuICAvLyBRdWVyeVxuICBRVUVSWV9GRUFUVVJFX1VTRURfTVVMVElQTEVfVElNRVMgPSAwLFxuXG4gIC8vIFF1ZXJ5IGZlYXR1cmVzXG4gIFdJVEhfQVJHU19RVUVSWV9GRUFUVVJFX01JU1NJTkdfQlVUX1JPVVRFX0lTX0ZVTkNUSU9OID0gMTAwLFxuICBXSVRIX1BPTExJTkdfVVNFRF9PTl9VTlNVUFBPUlRFRF9IVFRQX01FVEhPRCA9IDEwMSxcbiAgV0lUSF9BVVRPX1JFRlJFU0hfVVNFRF9PTl9VTlNVUFBPUlRFRF9IVFRQX01FVEhPRCA9IDEwMixcbiAgV0lUSF9BVVRPX1JFRlJFU0hfVVNFRF9JTl9NQU5VQUxfUVVFUlkgPSAxMDMsXG5cbiAgLy8gQXV0aCBwcm92aWRlclxuICBDT09LSUVfTE9HSU5fVFJJRURfQlVUX0NPT0tJRV9ESVNBQkxFRCA9IDIwMCxcbiAgRU5BQkxFX0NPT0tJRV9DQUxMRURfV0lUSE9VVF9DT09LSUVfQ09ORklHID0gMjAxLFxuICBESVNBQkxFX0NPT0tJRV9DQUxMRURfV0lUSE9VVF9DT09LSUVfQ09ORklHID0gMjAyLFxuICBMT0dJTl9DQUxMRURfV0lUSE9VVF9DT05GSUcgPSAyMDMsXG4gIExPR0lOX1dJVEhfVE9LRU5fQ0FMTEVEX1dJVEhPVVRfQ09ORklHID0gMjA0LFxuICBSRUZSRVNIX1RPS0VOX0NBTExFRF9XSVRIT1VUX0NPTkZJRyA9IDIwNSxcbiAgU0VMRUNUX1JPTEVfQ0FMTEVEX1dJVEhPVVRfQ09ORklHID0gMjA2LFxuICBERUZBVUxUX1JFU1BPTlNFX1RSQU5TRk9STUVSX1JFU1BPTlNFX05PVF9PQkpFQ1QgPSAyMDcsXG4gIERFRkFVTFRfUkVTUE9OU0VfVFJBTlNGT1JNRVJfUkVTUE9OU0VfTk9UX0NPTlRBSU5JTkdfQUNDRVNTX1RPS0VOID0gMjA4LFxuICBERUZBVUxUX1JFU1BPTlNFX1RSQU5TRk9STUVSX1JFU1BPTlNFX05PVF9DT05UQUlOSU5HX1JFRlJFU0hfVE9LRU4gPSAyMDksXG4gIFVOQUJMRV9UT19ERUNSWVBUX0JFQVJFUl9UT0tFTiA9IDIxMCxcbiAgQkVBUkVSX0VYUElSRVNfSU5fUFJPUEVSVFlfTk9UX05VTUJFUiA9IDIxMSxcbn1cblxuZXhwb3J0IGNvbnN0IHF1ZXJ5RmVhdHVyZVVzZWRNdWx0aXBsZVRpbWVzID0gKHR5cGU6IFF1ZXJ5RmVhdHVyZVR5cGUpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5RVUVSWV9GRUFUVVJFX1VTRURfTVVMVElQTEVfVElNRVMsXG4gICAgYFRoZSBxdWVyeSBmZWF0dXJlIFwiJHt0eXBlfSgpXCIgd2FzIHVzZWQgbXVsdGlwbGUgdGltZXMuYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCB3aXRoQXJnc1F1ZXJ5RmVhdHVyZU1pc3NpbmdCdXRSb3V0ZUlzRnVuY3Rpb24gPSAoKSA9PiB7XG4gIHJldHVybiBuZXcgUnVudGltZUVycm9yKFxuICAgIFJ1bnRpbWVFcnJvckNvZGUuV0lUSF9BUkdTX1FVRVJZX0ZFQVRVUkVfTUlTU0lOR19CVVRfUk9VVEVfSVNfRlVOQ1RJT04sXG4gICAgYFRoaXMgcXVlcmllcyByb3V0ZSBpcyBhIGZ1bmN0aW9uLCBidXQgYSBcIndpdGhBcmdzKClcIiBmZWF0dXJlIGlzIG1pc3NpbmcuYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCB3aXRoUG9sbGluZ1VzZWRPblVuc3VwcG9ydGVkSHR0cE1ldGhvZCA9IChtZXRob2Q6IFF1ZXJ5TWV0aG9kKSA9PiB7XG4gIHJldHVybiBuZXcgUnVudGltZUVycm9yKFxuICAgIFJ1bnRpbWVFcnJvckNvZGUuV0lUSF9QT0xMSU5HX1VTRURfT05fVU5TVVBQT1JURURfSFRUUF9NRVRIT0QsXG4gICAgYFRoaXMgaXMgYSBcIiR7bWV0aG9kfVwiIHJlcXVlc3QsIFwid2l0aFBvbGxpbmcoKVwiIGlzIG9ubHkgc3VwcG9ydGVkIGZvciBHRVQsIEhFQUQsIE9QVElPTlMgcmVxdWVzdHMgYW5kIEdRTCBxdWVyaWVzLmAsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3Qgd2l0aEF1dG9SZWZyZXNoVXNlZE9uVW5zdXBwb3J0ZWRIdHRwTWV0aG9kID0gKG1ldGhvZDogUXVlcnlNZXRob2QpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5XSVRIX0FVVE9fUkVGUkVTSF9VU0VEX09OX1VOU1VQUE9SVEVEX0hUVFBfTUVUSE9ELFxuICAgIGBUaGlzIGlzIGEgXCIke21ldGhvZH1cIiByZXF1ZXN0LCBcIndpdGhBdXRvUmVmcmVzaCgpXCIgaXMgb25seSBzdXBwb3J0ZWQgZm9yIEdFVCwgSEVBRCwgT1BUSU9OUyByZXF1ZXN0cyBhbmQgR1FMIHF1ZXJpZXMuYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCB3aXRoQXV0b1JlZnJlc2hVc2VkSW5NYW51YWxRdWVyeSA9ICgpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5XSVRIX0FVVE9fUkVGUkVTSF9VU0VEX0lOX01BTlVBTF9RVUVSWSxcbiAgICBgXCJ3aXRoQXV0b1JlZnJlc2goKVwiIGhhcyBiZWVuIHVzZWQgaW5zaWRlIGEgcXVlcnkgdGhhdCBoYXMgXCJvbmx5TWFudWFsRXhlY3V0aW9uXCIgc2V0IHRvIHRydWUuYCArXG4gICAgICBgIElmIHRoaXMgaXMgaW50ZW50aW9uYWwsIHNldCBcImlnbm9yZU9ubHlNYW51YWxFeGVjdXRpb25cIiB0byB0cnVlIGluc2lkZSB0aGUgYXV0byByZWZyZXNoIGNvbmZpZy5gLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGNvb2tpZUxvZ2luVHJpZWRCdXRDb29raWVEaXNhYmxlZCA9ICgpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5DT09LSUVfTE9HSU5fVFJJRURfQlVUX0NPT0tJRV9ESVNBQkxFRCxcbiAgICBgQ29va2llIGxvZ2luIGhhcyBiZWVuIHRyaWVkLCBidXQgdGhlIGNvb2tpZSBpcyBkaXNhYmxlZC5gLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGVuYWJsZUNvb2tpZUNhbGxlZFdpdGhvdXRDb29raWVDb25maWcgPSAoKSA9PiB7XG4gIHJldHVybiBuZXcgUnVudGltZUVycm9yKFxuICAgIFJ1bnRpbWVFcnJvckNvZGUuRU5BQkxFX0NPT0tJRV9DQUxMRURfV0lUSE9VVF9DT09LSUVfQ09ORklHLFxuICAgIGBlbmFibGVDb29raWUoKSBoYXMgYmVlbiBjYWxsZWQgYnV0IHRoZXJlIGlzIG5vIGNvb2tpZSBjb25maWcuIFBsZWFzZSBzZXQgaXQgZHVyaW5nIHRoZSBhdXRoIHByb3ZpZGVyIGNyZWF0aW9uLmAsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgZGlzYWJsZUNvb2tpZUNhbGxlZFdpdGhvdXRDb29raWVDb25maWcgPSAoKSA9PiB7XG4gIHJldHVybiBuZXcgUnVudGltZUVycm9yKFxuICAgIFJ1bnRpbWVFcnJvckNvZGUuRElTQUJMRV9DT09LSUVfQ0FMTEVEX1dJVEhPVVRfQ09PS0lFX0NPTkZJRyxcbiAgICBgZGlzYWJsZUNvb2tpZSgpIGhhcyBiZWVuIGNhbGxlZCBidXQgdGhlcmUgaXMgbm8gY29va2llIGNvbmZpZy4gUGxlYXNlIHNldCBpdCBkdXJpbmcgdGhlIGF1dGggcHJvdmlkZXIgY3JlYXRpb24uYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBsb2dpbkNhbGxlZFdpdGhvdXRDb25maWcgPSAoKSA9PiB7XG4gIHJldHVybiBuZXcgUnVudGltZUVycm9yKFxuICAgIFJ1bnRpbWVFcnJvckNvZGUuTE9HSU5fQ0FMTEVEX1dJVEhPVVRfQ09ORklHLFxuICAgIGBsb2dpbigpIGhhcyBiZWVuIGNhbGxlZCB3aXRob3V0IGEgY29uZmlnLiBQbGVhc2Ugc2V0IGl0IGR1cmluZyB0aGUgYXV0aCBwcm92aWRlciBjcmVhdGlvbi5gLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGxvZ2luV2l0aFRva2VuQ2FsbGVkV2l0aG91dENvbmZpZyA9ICgpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5MT0dJTl9XSVRIX1RPS0VOX0NBTExFRF9XSVRIT1VUX0NPTkZJRyxcbiAgICBgbG9naW5XaXRoVG9rZW4oKSBoYXMgYmVlbiBjYWxsZWQgd2l0aG91dCBhIGNvbmZpZy4gUGxlYXNlIHNldCBpdCBkdXJpbmcgdGhlIGF1dGggcHJvdmlkZXIgY3JlYXRpb24uYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCByZWZyZXNoVG9rZW5DYWxsZWRXaXRob3V0Q29uZmlnID0gKCkgPT4ge1xuICByZXR1cm4gbmV3IFJ1bnRpbWVFcnJvcihcbiAgICBSdW50aW1lRXJyb3JDb2RlLlJFRlJFU0hfVE9LRU5fQ0FMTEVEX1dJVEhPVVRfQ09ORklHLFxuICAgIGByZWZyZXNoVG9rZW4oKSBoYXMgYmVlbiBjYWxsZWQgd2l0aG91dCBhIGNvbmZpZy4gUGxlYXNlIHNldCBpdCBkdXJpbmcgdGhlIGF1dGggcHJvdmlkZXIgY3JlYXRpb24uYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZWxlY3RSb2xlQ2FsbGVkV2l0aG91dENvbmZpZyA9ICgpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5TRUxFQ1RfUk9MRV9DQUxMRURfV0lUSE9VVF9DT05GSUcsXG4gICAgYHNlbGVjdFJvbGUoKSBoYXMgYmVlbiBjYWxsZWQgd2l0aG91dCBhIGNvbmZpZy4gUGxlYXNlIHNldCBpdCBkdXJpbmcgdGhlIGF1dGggcHJvdmlkZXIgY3JlYXRpb24uYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0UmVzcG9uc2VUcmFuc2Zvcm1lclJlc3BvbnNlTm90T2JqZWN0ID0gKGN1cnJlbnRUeXBlOiBzdHJpbmcpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5ERUZBVUxUX1JFU1BPTlNFX1RSQU5TRk9STUVSX1JFU1BPTlNFX05PVF9PQkpFQ1QsXG4gICAgYFRoZSBkZWZhdWx0IHJlc3BvbnNlIHRyYW5zZm9ybWVyIGV4cGVjdHMgdGhlIHJlc3BvbnNlIHRvIGJlIGFuIG9iamVjdCwgYnV0IGl0IGlzIGEgXCIke2N1cnJlbnRUeXBlfVwiLmAsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdFJlc3BvbnNlVHJhbnNmb3JtZXJSZXNwb25zZU5vdENvbnRhaW5pbmdBY2Nlc3NUb2tlbiA9ICgpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5ERUZBVUxUX1JFU1BPTlNFX1RSQU5TRk9STUVSX1JFU1BPTlNFX05PVF9DT05UQUlOSU5HX0FDQ0VTU19UT0tFTixcbiAgICBgVGhlIGRlZmF1bHQgcmVzcG9uc2UgdHJhbnNmb3JtZXIgZXhwZWN0cyB0aGUgcmVzcG9uc2UgdG8gY29udGFpbiBhbiBcImFjY2Vzc1Rva2VuXCIgcHJvcGVydHkuYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0UmVzcG9uc2VUcmFuc2Zvcm1lclJlc3BvbnNlTm90Q29udGFpbmluZ1JlZnJlc2hUb2tlbiA9ICgpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5ERUZBVUxUX1JFU1BPTlNFX1RSQU5TRk9STUVSX1JFU1BPTlNFX05PVF9DT05UQUlOSU5HX1JFRlJFU0hfVE9LRU4sXG4gICAgYFRoZSBkZWZhdWx0IHJlc3BvbnNlIHRyYW5zZm9ybWVyIGV4cGVjdHMgdGhlIHJlc3BvbnNlIHRvIGNvbnRhaW4gYSBcInJlZnJlc2hUb2tlblwiIHByb3BlcnR5LmAsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgdW5hYmxlVG9EZWNyeXB0QmVhcmVyVG9rZW4gPSAodG9rZW46IHN0cmluZykgPT4ge1xuICByZXR1cm4gbmV3IFJ1bnRpbWVFcnJvcihcbiAgICBSdW50aW1lRXJyb3JDb2RlLlVOQUJMRV9UT19ERUNSWVBUX0JFQVJFUl9UT0tFTixcbiAgICBgVGhlIGJlYXJlciB0b2tlbiBjb3VsZCBub3QgYmUgZGVjcnlwdGVkOiAke3Rva2VufWAsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgYmVhcmVyRXhwaXJlc0luUHJvcGVydHlOb3ROdW1iZXIgPSAoZXhwaXJlc0luOiB1bmtub3duKSA9PiB7XG4gIHJldHVybiBuZXcgUnVudGltZUVycm9yKFxuICAgIFJ1bnRpbWVFcnJvckNvZGUuQkVBUkVSX0VYUElSRVNfSU5fUFJPUEVSVFlfTk9UX05VTUJFUixcbiAgICBgVGhlIGV4cGlyZXMgaW4gcHJvcGVydHkgaXMgbm90IGEgbnVtYmVyOiAke2V4cGlyZXNJbn1gLFxuICApO1xufTtcbiJdfQ==
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { runInInjectionContext } from '@angular/core';
|
|
2
|
+
import { syncSignal } from '@ethlete/core';
|
|
3
|
+
export const resetExecuteState = (options) => {
|
|
4
|
+
const { executeState, executeOptions: opts } = options;
|
|
5
|
+
const { deps, state } = opts;
|
|
6
|
+
const { effectRefs, previousKey } = executeState;
|
|
7
|
+
deps.client.repository.unbind(previousKey, deps.destroyRef);
|
|
8
|
+
effectRefs.forEach((ref) => ref.destroy());
|
|
9
|
+
effectRefs.length = 0;
|
|
10
|
+
state.args.set(null);
|
|
11
|
+
state.error.set(null);
|
|
12
|
+
state.latestHttpEvent.set(null);
|
|
13
|
+
state.loading.set(null);
|
|
14
|
+
state.response.set(null);
|
|
15
|
+
state.lastTimeExecutedAt.set(null);
|
|
16
|
+
};
|
|
17
|
+
export const setupQueryExecuteState = () => {
|
|
18
|
+
return {
|
|
19
|
+
effectRefs: [],
|
|
20
|
+
previousKey: false,
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
export const queryExecute = (options) => {
|
|
24
|
+
const { executeOptions, args, executeState } = options;
|
|
25
|
+
const { deps, state, creator, creatorInternals, queryConfig } = executeOptions;
|
|
26
|
+
const { key, request } = deps.client.repository.request({
|
|
27
|
+
method: creatorInternals.method,
|
|
28
|
+
route: creator.route,
|
|
29
|
+
reportProgress: creator.reportProgress,
|
|
30
|
+
withCredentials: creator.withCredentials,
|
|
31
|
+
transferCache: creator.transferCache,
|
|
32
|
+
responseType: creator.responseType || 'json',
|
|
33
|
+
pathParams: args?.pathParams,
|
|
34
|
+
queryParams: args?.queryParams,
|
|
35
|
+
body: args?.body,
|
|
36
|
+
destroyRef: deps.destroyRef,
|
|
37
|
+
key: queryConfig.key,
|
|
38
|
+
headers: args?.headers,
|
|
39
|
+
});
|
|
40
|
+
executeState.previousKey = key;
|
|
41
|
+
runInInjectionContext(deps.injector, () => {
|
|
42
|
+
const responseRef = syncSignal(request.response, state.response);
|
|
43
|
+
const loadingRef = syncSignal(request.loading, state.loading);
|
|
44
|
+
const errorRef = syncSignal(request.error, state.error);
|
|
45
|
+
const latestHttpEventRef = syncSignal(request.currentEvent, state.latestHttpEvent);
|
|
46
|
+
executeState.effectRefs.push(responseRef, loadingRef, errorRef, latestHttpEventRef);
|
|
47
|
+
});
|
|
48
|
+
state.lastTimeExecutedAt.set(Date.now());
|
|
49
|
+
};
|
|
50
|
+
export const cleanupPreviousExecute = (options) => {
|
|
51
|
+
const { executeOptions, executeState } = options;
|
|
52
|
+
const { deps } = executeOptions;
|
|
53
|
+
deps.client.repository.unbind(executeState.previousKey, deps.destroyRef);
|
|
54
|
+
executeState.effectRefs.forEach((ref) => ref.destroy());
|
|
55
|
+
executeState.effectRefs.length = 0;
|
|
56
|
+
};
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktZXhlY3V0ZS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcXVlcnkvc3JjL2xpYi9leHBlcmltZW50YWwvcXVlcnktZXhlY3V0ZS11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWEscUJBQXFCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVMzQyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUEwQixPQUF3QyxFQUFFLEVBQUU7SUFDckcsTUFBTSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBQ3ZELE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDO0lBQzdCLE1BQU0sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEdBQUcsWUFBWSxDQUFDO0lBRWpELElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRTVELFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBRXRCLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JCLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RCLEtBQUssQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hCLEtBQUssQ0FBQyxRQUFRLENBQUMs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LFlBQVksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztBQUNyQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZmZlY3RSZWYsIHJ1bkluSW5qZWN0aW9uQ29udGV4dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgc3luY1NpZ25hbCB9IGZyb20gJ0BldGhsZXRlL2NvcmUnO1xuaW1wb3J0IHsgUXVlcnlBcmdzLCBSZXF1ZXN0QXJncyB9IGZyb20gJy4vcXVlcnknO1xuaW1wb3J0IHsgQ3JlYXRlUXVlcnlFeGVjdXRlT3B0aW9ucyB9IGZyb20gJy4vcXVlcnktZXhlY3V0ZSc7XG5cbmV4cG9ydCB0eXBlIFJlc2V0RXhlY3V0ZVN0YXRlT3B0aW9uczxUQXJncyBleHRlbmRzIFF1ZXJ5QXJncz4gPSB7XG4gIGV4ZWN1dGVPcHRpb25zOiBDcmVhdGVRdWVyeUV4ZWN1dGVPcHRpb25zPFRBcmdzPjtcbiAgZXhlY3V0ZVN0YXRlOiBRdWVyeUV4ZWN1dGVTdGF0ZTtcbn07XG5cbmV4cG9ydCBjb25zdCByZXNldEV4ZWN1dGVTdGF0ZSA9IDxUQXJncyBleHRlbmRzIFF1ZXJ5QXJncz4ob3B0aW9uczogUmVzZXRFeGVjdXRlU3RhdGVPcHRpb25zPFRBcmdzPikgPT4ge1xuICBjb25zdCB7IGV4ZWN1dGVTdGF0ZSwgZXhlY3V0ZU9wdGlvbnM6IG9wdHMgfSA9IG9wdGlvbnM7XG4gIGNvbnN0IHsgZGVwcywgc3RhdGUgfSA9IG9wdHM7XG4gIGNvbnN0IHsgZWZmZWN0UmVmcywgcHJldmlvdXNLZXkgfSA9IGV4ZWN1dGVTdGF0ZTtcblxuICBkZXBzLmNsaWVudC5yZXBvc2l0b3J5LnVuYmluZChwcmV2aW91c0tleSwgZGVwcy5kZXN0cm95UmVmKTtcblxuICBlZmZlY3RSZWZzLmZvckVhY2goKHJlZikgPT4gcmVmLmRlc3Ryb3koKSk7XG4gIGVmZmVjdFJlZnMubGVuZ3RoID0gMDtcblxuICBzdGF0ZS5hcmdzLnNldChudWxsKTtcbiAgc3RhdGUuZXJyb3Iuc2V0KG51bGwpO1xuICBzdGF0ZS5sYXRlc3RIdHRwRXZlbnQuc2V0KG51bGwpO1xuICBzdGF0ZS5sb2FkaW5nLnNldChudWxsKTtcbiAgc3RhdGUucmVzcG9uc2Uuc2V0KG51bGwpO1xuICBzdGF0ZS5sYXN0VGltZUV4ZWN1dGVkQXQuc2V0KG51bGwpO1xufTtcblxuZXhwb3J0IHR5cGUgUXVlcnlFeGVjdXRlU3RhdGUgPSB7XG4gIGVmZmVjdFJlZnM6IEVmZmVjdFJlZltdO1xuICBwcmV2aW91c0tleTogc3RyaW5nIHwgZmFsc2U7XG59O1xuXG5leHBvcnQgY29uc3Qgc2V0dXBRdWVyeUV4ZWN1dGVTdGF0ZSA9ICgpOiBRdWVyeUV4ZWN1dGVTdGF0ZSA9PiB7XG4gIHJldHVybiB7XG4gICAgZWZmZWN0UmVmczogW10sXG4gICAgcHJldmlvdXNLZXk6IGZhbHNlLFxuICB9O1xufTtcblxuZXhwb3J0IHR5cGUgUXVlcnlFeGVjdXRlT3B0aW9uczxUQXJncyBleHRlbmRzIFF1ZXJ5QXJncz4gPSB7XG4gIGV4ZWN1dGVPcHRpb25zOiBDcmVhdGVRdWVyeUV4ZWN1dGVPcHRpb25zPFRBcmdzPjtcbiAgZXhlY3V0ZVN0YXRlOiBRdWVyeUV4ZWN1dGVTdGF0ZTtcblxuICBhcmdzPzogUmVxdWVzdEFyZ3M8VEFyZ3M+IHwgbnVsbDtcbn07XG5cbmV4cG9ydCBjb25zdCBxdWVyeUV4ZWN1dGUgPSA8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+KG9wdGlvbnM6IFF1ZXJ5RXhlY3V0ZU9wdGlvbnM8VEFyZ3M+KSA9PiB7XG4gIGNvbnN0IHsgZXhlY3V0ZU9wdGlvbnMsIGFyZ3MsIGV4ZWN1dGVTdGF0ZSB9ID0gb3B0aW9ucztcbiAgY29uc3QgeyBkZXBzLCBzdGF0ZSwgY3JlYXRvciwgY3JlYXRvckludGVybmFscywgcXVlcnlDb25maWcgfSA9IGV4ZWN1dGVPcHRpb25zO1xuXG4gIGNvbnN0IHsga2V5LCByZXF1ZXN0IH0gPSBkZXBzLmNsaWVudC5yZXBvc2l0b3J5LnJlcXVlc3Qoe1xuICAgIG1ldGhvZDogY3JlYXRvckludGVybmFscy5tZXRob2QsXG4gICAgcm91dGU6IGNyZWF0b3Iucm91dGUsXG4gICAgcmVwb3J0UHJvZ3Jlc3M6IGNyZWF0b3IucmVwb3J0UHJvZ3Jlc3MsXG4gICAgd2l0aENyZWRlbnRpYWxzOiBjcmVhdG9yLndpdGhDcmVkZW50aWFscyxcbiAgICB0cmFuc2ZlckNhY2hlOiBjcmVhdG9yLnRyYW5zZmVyQ2FjaGUsXG4gICAgcmVzcG9uc2VUeXBlOiBjcmVhdG9yLnJlc3BvbnNlVHlwZSB8fCAnanNvbicsXG4gICAgcGF0aFBhcmFtczogYXJncz8ucGF0aFBhcmFtcyxcbiAgICBxdWVyeVBhcmFtczogYXJncz8ucXVlcnlQYXJhbXMsXG4gICAgYm9keTogYXJncz8uYm9keSxcbiAgICBkZXN0cm95UmVmOiBkZXBzLmRlc3Ryb3lSZWYsXG4gICAga2V5OiBxdWVyeUNvbmZpZy5rZXksXG4gICAgaGVhZGVyczogYXJncz8uaGVhZGVycyxcbiAgfSk7XG5cbiAgZXhlY3V0ZVN0YXRlLnByZXZpb3VzS2V5ID0ga2V5O1xuXG4gIHJ1bkluSW5qZWN0aW9uQ29udGV4dChkZXBzLmluamVjdG9yLCAoKSA9PiB7XG4gICAgY29uc3QgcmVzcG9uc2VSZWYgPSBzeW5jU2lnbmFsKHJlcXVlc3QucmVzcG9uc2UsIHN0YXRlLnJlc3BvbnNlKTtcbiAgICBjb25zdCBsb2FkaW5nUmVmID0gc3luY1NpZ25hbChyZXF1ZXN0LmxvYWRpbmcsIHN0YXRlLmxvYWRpbmcpO1xuICAgIGNvbnN0IGVycm9yUmVmID0gc3luY1NpZ25hbChyZXF1ZXN0LmVycm9yLCBzdGF0ZS5lcnJvcik7XG4gICAgY29uc3QgbGF0ZXN0SHR0cEV2ZW50UmVmID0gc3luY1NpZ25hbChyZXF1ZXN0LmN1cnJlbnRFdmVudCwgc3RhdGUubGF0ZXN0SHR0cEV2ZW50KTtcblxuICAgIGV4ZWN1dGVTdGF0ZS5lZmZlY3RSZWZzLnB1c2gocmVzcG9uc2VSZWYsIGxvYWRpbmdSZWYsIGVycm9yUmVmLCBsYXRlc3RIdHRwRXZlbnRSZWYpO1xuICB9KTtcblxuICBzdGF0ZS5sYXN0VGltZUV4ZWN1dGVkQXQuc2V0KERhdGUubm93KCkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGNsZWFudXBQcmV2aW91c0V4ZWN1dGUgPSA8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+KG9wdGlvbnM6IFF1ZXJ5RXhlY3V0ZU9wdGlvbnM8VEFyZ3M+KSA9PiB7XG4gIGNvbnN0IHsgZXhlY3V0ZU9wdGlvbnMsIGV4ZWN1dGVTdGF0ZSB9ID0gb3B0aW9ucztcbiAgY29uc3QgeyBkZXBzIH0gPSBleGVjdXRlT3B0aW9ucztcblxuICBkZXBzLmNsaWVudC5yZXBvc2l0b3J5LnVuYmluZChleGVjdXRlU3RhdGUucHJldmlvdXNLZXksIGRlcHMuZGVzdHJveVJlZik7XG5cbiAgZXhlY3V0ZVN0YXRlLmVmZmVjdFJlZnMuZm9yRWFjaCgocmVmKSA9PiByZWYuZGVzdHJveSgpKTtcbiAgZXhlY3V0ZVN0YXRlLmVmZmVjdFJlZnMubGVuZ3RoID0gMDtcbn07XG4iXX0=
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { cleanupPreviousExecute, queryExecute, resetExecuteState, setupQueryExecuteState } from './query-execute-utils';
|
|
2
|
+
export const createExecuteFn = (options) => {
|
|
3
|
+
const executeState = setupQueryExecuteState();
|
|
4
|
+
const reset = () => resetExecuteState({ executeState, executeOptions: options });
|
|
5
|
+
const exec = (args = options.state.args()) => {
|
|
6
|
+
cleanupPreviousExecute({ executeOptions: options, executeState, args });
|
|
7
|
+
queryExecute({ executeOptions: options, executeState, args });
|
|
8
|
+
};
|
|
9
|
+
exec['reset'] = reset;
|
|
10
|
+
return exec;
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktZXhlY3V0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcXVlcnkvc3JjL2xpYi9leHBlcmltZW50YWwvcXVlcnktZXhlY3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFnQnhILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUM3QixPQUF5QyxFQUNwQixFQUFFO0lBQ3ZCLE1BQU0sWUFBWSxHQUFHLHNCQUFzQixFQUFFLENBQUM7SUFFOUMsTUFBTSxLQUFLLEdBQUcsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUMsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFFakYsTUFBTSxJQUFJLEdBQUcsQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFO1FBQzNDLHNCQUFzQixDQUFDLEVBQUUsY0FBYyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN4RSxZQUFZLENBQUMsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2hFLENBQUMsQ0FBQztJQUVGLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxLQUFLLENBQUM7SUFFdEIsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBRdWVyeUFyZ3MsIFJlcXVlc3RBcmdzIH0gZnJvbSAnLi9xdWVyeSc7XG5pbXBvcnQgeyBDcmVhdGVRdWVyeUNyZWF0b3JPcHRpb25zLCBJbnRlcm5hbENyZWF0ZVF1ZXJ5Q3JlYXRvck9wdGlvbnMsIFF1ZXJ5Q29uZmlnIH0gZnJvbSAnLi9xdWVyeS1jcmVhdG9yJztcbmltcG9ydCB7IFF1ZXJ5RGVwZW5kZW5jaWVzIH0gZnJvbSAnLi9xdWVyeS1kZXBlbmRlbmNpZXMnO1xuaW1wb3J0IHsgY2xlYW51cFByZXZpb3VzRXhlY3V0ZSwgcXVlcnlFeGVjdXRlLCByZXNldEV4ZWN1dGVTdGF0ZSwgc2V0dXBRdWVyeUV4ZWN1dGVTdGF0ZSB9IGZyb20gJy4vcXVlcnktZXhlY3V0ZS11dGlscyc7XG5pbXBvcnQgeyBRdWVyeVN0YXRlIH0gZnJvbSAnLi9xdWVyeS1zdGF0ZSc7XG5cbmV4cG9ydCB0eXBlIENyZWF0ZVF1ZXJ5RXhlY3V0ZU9wdGlvbnM8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+ID0ge1xuICBkZXBzOiBRdWVyeURlcGVuZGVuY2llcztcbiAgc3RhdGU6IFF1ZXJ5U3RhdGU8VEFyZ3M+O1xuICBjcmVhdG9yOiBDcmVhdGVRdWVyeUNyZWF0b3JPcHRpb25zPFRBcmdzPjtcbiAgY3JlYXRvckludGVybmFsczogSW50ZXJuYWxDcmVhdGVRdWVyeUNyZWF0b3JPcHRpb25zO1xuICBxdWVyeUNvbmZpZzogUXVlcnlDb25maWc7XG59O1xuXG5leHBvcnQgdHlwZSBRdWVyeUV4ZWN1dGU8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+ID0ge1xuICAoYXJncz86IFJlcXVlc3RBcmdzPFRBcmdzPiB8IG51bGwpOiB2b2lkO1xuICByZXNldDogKCkgPT4gdm9pZDtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVFeGVjdXRlRm4gPSA8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+KFxuICBvcHRpb25zOiBDcmVhdGVRdWVyeUV4ZWN1dGVPcHRpb25zPFRBcmdzPixcbik6IFF1ZXJ5RXhlY3V0ZTxUQXJncz4gPT4ge1xuICBjb25zdCBleGVjdXRlU3RhdGUgPSBzZXR1cFF1ZXJ5RXhlY3V0ZVN0YXRlKCk7XG5cbiAgY29uc3QgcmVzZXQgPSAoKSA9PiByZXNldEV4ZWN1dGVTdGF0ZSh7IGV4ZWN1dGVTdGF0ZSwgZXhlY3V0ZU9wdGlvbnM6IG9wdGlvbnMgfSk7XG5cbiAgY29uc3QgZXhlYyA9IChhcmdzID0gb3B0aW9ucy5zdGF0ZS5hcmdzKCkpID0+IHtcbiAgICBjbGVhbnVwUHJldmlvdXNFeGVjdXRlKHsgZXhlY3V0ZU9wdGlvbnM6IG9wdGlvbnMsIGV4ZWN1dGVTdGF0ZSwgYXJncyB9KTtcbiAgICBxdWVyeUV4ZWN1dGUoeyBleGVjdXRlT3B0aW9uczogb3B0aW9ucywgZXhlY3V0ZVN0YXRlLCBhcmdzIH0pO1xuICB9O1xuXG4gIGV4ZWNbJ3Jlc2V0J10gPSByZXNldDtcblxuICByZXR1cm4gZXhlYztcbn07XG4iXX0=
|