@ethlete/query 4.20.2 → 4.20.4
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.
|
@@ -2,10 +2,10 @@ import { Injector, assertInInjectionContext, computed, inject } from '@angular/c
|
|
|
2
2
|
import { toObservable, toSignal } from '@angular/core/rxjs-interop';
|
|
3
3
|
import { createDestroy } from '@ethlete/core';
|
|
4
4
|
import { of, pairwise, startWith, switchMap, takeUntil, tap } from 'rxjs';
|
|
5
|
-
import { extractQuery, isQueryStateFailure, isQueryStateLoading, isQueryStateSuccess, } from '../query';
|
|
5
|
+
import { extractQuery, filterQueryStates, isQueryStateFailure, isQueryStateLoading, isQueryStateSuccess, } from '../query';
|
|
6
6
|
export const addQueryContainerHandling = (obs, valueFn, config) => {
|
|
7
7
|
assertInInjectionContext(addQueryContainerHandling);
|
|
8
|
-
const { abortPrevious, abortOnDestroy } = config ?? {};
|
|
8
|
+
const { abortPrevious, abortOnDestroy, stopPreviousPolling } = config ?? {};
|
|
9
9
|
const injector = inject(Injector);
|
|
10
10
|
const destroy$ = createDestroy();
|
|
11
11
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -19,6 +19,11 @@ export const addQueryContainerHandling = (obs, valueFn, config) => {
|
|
|
19
19
|
((abortPrevious === undefined && prevQuery?.canBeCached) || abortPrevious)) {
|
|
20
20
|
prevQuery?.abort();
|
|
21
21
|
}
|
|
22
|
+
if (!prevQuery?._hasDependents() &&
|
|
23
|
+
((stopPreviousPolling === undefined && prevQuery?.canBeCached) || stopPreviousPolling) &&
|
|
24
|
+
prevQuery?.isPolling) {
|
|
25
|
+
prevQuery?.stopPolling();
|
|
26
|
+
}
|
|
22
27
|
}))
|
|
23
28
|
.subscribe();
|
|
24
29
|
destroy$.subscribe(() => {
|
|
@@ -46,13 +51,19 @@ export function toQuerySubject(source, options) {
|
|
|
46
51
|
addQueryContainerHandling(obs, () => source(), options);
|
|
47
52
|
return obs;
|
|
48
53
|
}
|
|
49
|
-
export function queryStateSignal(source) {
|
|
50
|
-
|
|
54
|
+
export function queryStateSignal(source, options) {
|
|
55
|
+
const { cacheResponse } = options ?? {};
|
|
56
|
+
return toSignal(toObservable(source).pipe(switchMap((q) => extractQuery(q)?.state$ ?? of(null)), switchMap((state) => {
|
|
57
|
+
if (cacheResponse) {
|
|
58
|
+
return of(state).pipe(filterQueryStates(["SUCCESS" /* QueryStateType.Success */, "FAILURE" /* QueryStateType.Failure */, "CANCELLED" /* QueryStateType.Cancelled */]));
|
|
59
|
+
}
|
|
60
|
+
return of(state);
|
|
61
|
+
})), {
|
|
51
62
|
initialValue: null,
|
|
52
63
|
});
|
|
53
64
|
}
|
|
54
|
-
export function queryStateResponseSignal(source) {
|
|
55
|
-
const s = queryStateSignal(source);
|
|
65
|
+
export function queryStateResponseSignal(source, options) {
|
|
66
|
+
const s = queryStateSignal(source, options);
|
|
56
67
|
return computed(() => {
|
|
57
68
|
const state = s();
|
|
58
69
|
return isQueryStateSuccess(state) ? state.response : null;
|
|
@@ -72,4 +83,4 @@ export function queryStateLoadingSignal(source) {
|
|
|
72
83
|
return isQueryStateLoading(state) ? state : null;
|
|
73
84
|
});
|
|
74
85
|
}
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcXVlcnkvc3JjL2xpYi91dGlscy9kYXRhLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBeUIsUUFBUSxFQUFVLHdCQUF3QixFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUF3QyxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQTRCLEVBQUUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BHLE9BQU8sRUFLTCxZQUFZLEVBQ1osbUJBQW1CLEVBQ25CLG1CQUFtQixFQUNuQixtQkFBbUIsR0FDcEIsTUFBTSxVQUFVLENBQUM7QUFpQmxCLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLENBQ3ZDLEdBQWdDLEVBQ2hDLE9BQTBDLEVBQzFDLE1BQTZCLEVBQzdCLEVBQUU7SUFDRix3QkFBd0IsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBRXBELE1BQU0sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLEdBQUcsTUFBTSxJQUFJLEVBQUUsQ0FBQztJQUV2RCxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsTUFBTSxRQUFRLEdBQUcsYUFBYSxFQUFFLENBQUM7SUFFakMsOERBQThEO0lBQzlELE1BQU0sS0FBSyxHQUFJLFFBQWdCLENBQUMsTUFBTSxDQUFDO0lBQ3ZDLE1BQU0sV0FBVyxHQUFHLEtBQUssRUFBRSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7SUFFdkMsR0FBRztTQUNBLElBQUksQ0FDSCxTQUFTLENBQUMsUUFBUSxDQUFD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LFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzVELENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxxQkFBcUIsQ0FBeUQsTUFBUztJQUNyRyxNQUFNLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVuQyxPQUFPLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDbkIsTUFBTSxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFFbEIsT0FBTyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3pELENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSx1QkFBdUIsQ0FBeUQsTUFBUztJQUN2RyxNQUFNLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVuQyxPQUFPLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDbkIsTUFBTSxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFFbEIsT0FBTyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDbkQsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3JlYXRlQ29tcHV0ZWRPcHRpb25zLCBJbmplY3RvciwgU2lnbmFsLCBhc3NlcnRJbkluamVjdGlvbkNvbnRleHQsIGNvbXB1dGVkLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRvT2JzZXJ2YWJsZU9wdGlvbnMsIFRvU2lnbmFsT3B0aW9ucywgdG9PYnNlcnZhYmxlLCB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IGNyZWF0ZURlc3Ryb3kgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmliYWJsZSwgb2YsIHBhaXJ3aXNlLCBzdGFydFdpdGgsIHN3aXRjaE1hcCwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIEFueVF1ZXJ5LFxuICBBbnlRdWVyeUNvbGxlY3Rpb24sXG4gIFF1ZXJ5T2YsXG4gIFF1ZXJ5U3RhdGUsXG4gIGV4dHJhY3RRdWVyeSxcbiAgaXNRdWVyeVN0YXRlRmFpbHVyZSxcbiAgaXNRdWVyeVN0YXRlTG9hZGluZyxcbiAgaXNRdWVyeVN0YXRlU3VjY2Vzcyxcbn0gZnJvbSAnLi4vcXVlcnknO1xuaW1wb3J0IHsgUXVlcnlEYXRhT2YgfSBmcm9tICcuLi9xdWVyeS1jcmVhdG9yJztcblxuZXhwb3J0IGludGVyZmFjZSBRdWVyeUNvbnRhaW5lckNvbmZpZyB7XG4gIC8qKlxuICAgKiBJZiBgdHJ1ZWAsIHRoZSBwcmV2aW91cyBxdWVyeSB3aWxsIGJlIGFib3J0ZWQgd2hlbiBhIG5ldyBxdWVyeSBpcyBwdXNoZWQgaW50byB0aGUgY29udGFpbmVyLlxuICAgKiBAZGVmYXVsdCB0cnVlIC8vIE9ubHkgaWYgdGhlIHJlcXVlc3QgY2FuIGJlIGNhY2hlZCAoR0VULCBPUFRJT05TLCBIRUFEIGFuZCBHUUxfUVVFUlkpLiBPdGhlcndpc2UgZmFsc2UuXG4gICAqL1xuICBhYm9ydFByZXZpb3VzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSWYgYHRydWVgLCB0aGUgcXVlcnkgd2lsbCBiZSBhYm9ydGVkIHdoZW4gdGhlIGNvbnRhaW5lciBpcyBkZXN0cm95ZWQuXG4gICAqIEBkZWZhdWx0IHRydWUgLy8gT25seSBpZiB0aGUgcmVxdWVzdCBjYW4gYmUgY2FjaGVkIChHRVQsIE9QVElPTlMsIEhFQUQgYW5kIEdRTF9RVUVSWSkuIE90aGVyd2lzZSBmYWxzZS5cbiAgICovXG4gIGFib3J0T25EZXN0cm95PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IGFkZFF1ZXJ5Q29udGFpbmVySGFuZGxpbmcgPSAoXG4gIG9iczogT2JzZXJ2YWJsZTxBbnlRdWVyeSB8IG51bGw+LFxuICB2YWx1ZUZuOiAoKSA9PiBBbnlRdWVyeSB8IG51bGwgfCB1bmRlZmluZWQsXG4gIGNvbmZpZz86IFF1ZXJ5Q29udGFpbmVyQ29uZmlnLFxuKSA9PiB7XG4gIGFzc2VydEluSW5qZWN0aW9uQ29udGV4dChhZGRRdWVyeUNvbnRhaW5lckhhbmRsaW5nKTtcblxuICBjb25zdCB7IGFib3J0UHJldmlvdXMsIGFib3J0T25EZXN0cm95IH0gPSBjb25maWcgPz8ge307XG5cbiAgY29uc3QgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICBjb25zdCBkZXN0cm95JCA9IGNyZWF0ZURlc3Ryb3koKTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBjb25zdCB0Tm9kZSA9IChpbmplY3RvciBhcyBhbnkpLl90Tm9kZTtcbiAgY29uc3QgY29tcG9uZW50SWQgPSB0Tm9kZT8uaW5kZXggPz8gLTE7XG5cbiAgb2JzXG4gICAgLnBpcGUoXG4gICAgICB0YWtlVW50aWwoZGVzdHJveSQpLFxuICAgICAgc3RhcnRXaXRoKG51bGwpLFxuICAgICAgcGFpcndpc2UoKSxcbiAgICAgIHRhcCgoW3ByZXZRdWVyeSwgY3VyclF1ZXJ5XSkgPT4ge1xuICAgICAgICBwcmV2UXVlcnk/Ll9yZW1vdmVEZXBlbmRlbnQoY29tcG9uZW50SWQpO1xuICAgICAgICBjdXJyUXVlcnk/Ll9hZGREZXBlbmRlbnQoY29tcG9uZW50SWQpO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAhcHJldlF1ZXJ5Py5faGFzRGVwZW5kZW50cygpICYmXG4gICAgICAgICAgKChhYm9ydFByZXZpb3VzID09PSB1bmRlZmluZWQgJiYgcHJldlF1ZXJ5Py5jYW5CZUNhY2hlZCkgfHwgYWJvcnRQcmV2aW91cylcbiAgICAgICAgKSB7XG4gICAgICAgICAgcHJldlF1ZXJ5Py5hYm9ydCgpO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICApXG4gICAgLnN1YnNjcmliZSgpO1xuXG4gIGRlc3Ryb3kkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgY29uc3QgcXVlcnkgPSB2YWx1ZUZuKCk7XG5cbiAgICBxdWVyeT8uX3JlbW92ZURlcGVuZGVudChjb21wb25lbnRJZCk7XG5cbiAgICBpZiAoIXF1ZXJ5Py5faGFzRGVwZW5kZW50cygpICYmICgocXVlcnk/LmNhbkJlQ2FjaGVkICYmIGFib3J0T25EZXN0cm95ID09PSB1bmRlZmluZWQpIHx8IGFib3J0T25EZXN0cm95KSkge1xuICAgICAgcXVlcnk/LmFib3J0KCk7XG4gICAgfVxuICB9KTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1F1ZXJ5U2lnbmFsPFQgZXh0ZW5kcyBBbnlRdWVyeSB8IG51bGw+KFxuICBzb3VyY2U6IE9ic2VydmFibGU8VD4gfCBTdWJzY3JpYmFibGU8VD4sXG4pOiBTaWduYWw8VCB8IHVuZGVmaW5lZD47XG5leHBvcnQgZnVuY3Rpb24gdG9RdWVyeVNpZ25hbDxUIGV4dGVuZHMgQW55UXVlcnkgfCBudWxsPihcbiAgc291cmNlOiBPYnNlcnZhYmxlPFQ+IHwgU3Vic2NyaWJhYmxlPFQ+LFxuICBvcHRpb25zPzogVG9TaWduYWxPcHRpb25zPHVuZGVmaW5lZD4gJiB7IHJlcXVpcmVTeW5jPzogZmFsc2UgfSAmIFF1ZXJ5Q29udGFpbmVyQ29uZmlnLFxuKTogU2lnbmFsPFQgfCB1bmRlZmluZWQ+O1xuZXhwb3J0IGZ1bmN0aW9uIHRvUXVlcnlTaWduYWw8VCBleHRlbmRzIEFueVF1ZXJ5IHwgbnVsbCwgVSBleHRlbmRzIFQgfCBudWxsIHwgdW5kZWZpbmVkPihcbiAgc291cmNlOiBPYnNlcnZhYmxlPFQ+IHwgU3Vic2NyaWJhYmxlPFQ+LFxuICBvcHRpb25zOiBUb1NpZ25hbE9wdGlvbnM8VT4gJiB7IGluaXRpYWxWYWx1ZTogVTsgcmVxdWlyZVN5bmM/OiBmYWxzZSB9ICYgUXVlcnlDb250YWluZXJDb25maWcsXG4pOiBTaWduYWw8VCB8IFU+O1xuZXhwb3J0IGZ1bmN0aW9uIHRvUXVlcnlTaWduYWw8VCBleHRlbmRzIEFueVF1ZXJ5IHwgbnVsbD4oXG4gIHNvdXJjZTogT2JzZXJ2YWJsZTxUPiB8IFN1YnNjcmliYWJsZTxUPixcbiAgb3B0aW9uczogVG9TaWduYWxPcHRpb25zPHVuZGVmaW5lZD4gJiB7IHJlcXVpcmVTeW5jOiB0cnVlIH0gJiBRdWVyeUNvbnRhaW5lckNvbmZpZyxcbik6IFNpZ25hbDxUPjtcbmV4cG9ydCBmdW5jdGlvbiB0b1F1ZXJ5U2lnbmFsPFQgZXh0ZW5kcyBBbnlRdWVyeSB8IG51bGwsIFUgPSB1bmRlZmluZWQ+KFxuICBzb3VyY2U6IE9ic2VydmFibGU8VD4gfCBTdWJzY3JpYmFibGU8VD4sXG4gIG9wdGlvbnM/OiBUb1NpZ25hbE9wdGlvbnM8VT4gJiBRdWVyeUNvbnRhaW5lckNvbmZpZyxcbik6IFNpZ25hbDxUIHwgVT4ge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBjb25zdCBzID0gdG9TaWduYWwoc291cmNlLCBvcHRpb25zIGFzIGFueSk7XG5cbiAgYWRkUXVlcnlDb250YWluZXJIYW5kbGluZyhzb3VyY2UgYXMgT2JzZXJ2YWJsZTxUPiwgKCkgPT4gcygpIGFzIFQsIG9wdGlvbnMpO1xuXG4gIHJldHVybiBzIGFzIFNpZ25hbDxUIHwgVT47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBxdWVyeUNvbXB1dGVkPFQgZXh0ZW5kcyBBbnlRdWVyeSB8IG51bGw+KFxuICBjb21wdXRhdGlvbjogKCkgPT4gVCxcbiAgb3B0aW9ucz86IENyZWF0ZUNvbXB1dGVkT3B0aW9uczxUPiAmIFF1ZXJ5Q29udGFpbmVyQ29uZmlnICYgVG9PYnNlcnZhYmxlT3B0aW9ucyxcbik6IFNpZ25hbDxUPiB7XG4gIGNvbnN0IGMgPSBjb21wdXRlZChjb21wdXRhdGlvbiwgb3B0aW9ucyk7XG4gIGNvbnN0IG9icyA9IHRvT2JzZXJ2YWJsZShjLCBvcHRpb25zKTtcblxuICBhZGRRdWVyeUNvbnRhaW5lckhhbmRsaW5nKG9icywgKCkgPT4gYygpLCBvcHRpb25zKTtcblxuICByZXR1cm4gYztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvUXVlcnlTdWJqZWN0PFQgZXh0ZW5kcyBBbnlRdWVyeSB8IG51bGw+KFxuICBzb3VyY2U6IFNpZ25hbDxUPixcbiAgb3B0aW9ucz86IFRvT2JzZXJ2YWJsZU9wdGlvbnMgJiBRdWVyeUNvbnRhaW5lckNvbmZpZyxcbik6IE9ic2VydmFibGU8VD4ge1xuICBjb25zdCBvYnMgPSB0b09ic2VydmFibGUoc291cmNlLCBvcHRpb25zKTtcblxuICBhZGRRdWVyeUNvbnRhaW5lckhhbmRsaW5nKG9icywgKCkgPT4gc291cmNlKCksIG9wdGlvbnMpO1xuXG4gIHJldHVybiBvYnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBxdWVyeVN0YXRlU2lnbmFsPFQgZXh0ZW5kcyBTaWduYWw8QW55UXVlcnkgfCBBbnlRdWVyeUNvbGxlY3Rpb24gfCBudWxsPj4oc291cmNlOiBUKSB7XG4gIHJldHVybiB0b1NpZ25hbCh0b09ic2VydmFibGUoc291cmNlKS5waXBlKHN3aXRjaE1hcCgocSkgPT4gZXh0cmFjdFF1ZXJ5KHEpPy5zdGF0ZSQgPz8gb2YobnVsbCkpKSwge1xuICAgIGluaXRpYWxWYWx1ZTogbnVsbCxcbiAgfSkgYXMgU2lnbmFsPFF1ZXJ5U3RhdGU8UXVlcnlEYXRhT2Y8UXVlcnlPZjxSZXR1cm5UeXBlPFQ+Pj4+IHwgbnVsbD47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBxdWVyeVN0YXRlUmVzcG9uc2VTaWduYWw8VCBleHRlbmRzIFNpZ25hbDxBbnlRdWVyeSB8IEFueVF1ZXJ5Q29sbGVjdGlvbiB8IG51bGw+Pihzb3VyY2U6IFQpIHtcbiAgY29uc3QgcyA9IHF1ZXJ5U3RhdGVTaWduYWwoc291cmNlKTtcblxuICByZXR1cm4gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHN0YXRlID0gcygpO1xuXG4gICAgcmV0dXJuIGlzUXVlcnlTdGF0ZVN1Y2Nlc3Moc3RhdGUpID8gc3RhdGUucmVzcG9uc2UgOiBudWxsO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHF1ZXJ5U3RhdGVFcnJvclNpZ25hbDxUIGV4dGVuZHMgU2lnbmFsPEFueVF1ZXJ5IHwgQW55UXVlcnlDb2xsZWN0aW9uIHwgbnVsbD4+KHNvdXJjZTogVCkge1xuICBjb25zdCBzID0gcXVlcnlTdGF0ZVNpZ25hbChzb3VyY2UpO1xuXG4gIHJldHVybiBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3Qgc3RhdGUgPSBzKCk7XG5cbiAgICByZXR1cm4gaXNRdWVyeVN0YXRlRmFpbHVyZShzdGF0ZSkgPyBzdGF0ZS5lcnJvciA6IG51bGw7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcXVlcnlTdGF0ZUxvYWRpbmdTaWduYWw8VCBleHRlbmRzIFNpZ25hbDxBbnlRdWVyeSB8IEFueVF1ZXJ5Q29sbGVjdGlvbiB8IG51bGw+Pihzb3VyY2U6IFQpIHtcbiAgY29uc3QgcyA9IHF1ZXJ5U3RhdGVTaWduYWwoc291cmNlKTtcblxuICByZXR1cm4gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHN0YXRlID0gcygpO1xuXG4gICAgcmV0dXJuIGlzUXVlcnlTdGF0ZUxvYWRpbmcoc3RhdGUpID8gc3RhdGUgOiBudWxsO1xuICB9KTtcbn1cbiJdfQ==
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcXVlcnkvc3JjL2xpYi91dGlscy9kYXRhLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBeUIsUUFBUSxFQUFVLHdCQUF3QixFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUF3QyxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQTRCLEVBQUUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BHLE9BQU8sRUFNTCxZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIsbUJBQW1CLEdBQ3BCLE1BQU0sVUFBVSxDQUFDO0FBK0JsQixNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxDQUN2QyxHQUFnQyxFQUNoQyxPQUEwQyxFQUMxQyxNQUE2QixFQUM3QixFQUFFO0lBQ0Ysd0JBQXdCLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUVwRCxNQUFNLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSxHQUFHLE1BQU0sSUFBSSxFQUFFLENBQUM7SUFFNUUsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xDLE1BQU0sUUFBUSxHQUFHLGFBQWEsRUFBRSxDQUFDO0lBRWpDLDhEQUE4RDtJQUM5RCxNQUFNLEtBQUssR0FBSSxRQUFnQixDQUFDLE1BQU0sQ0FBQztJQUN2QyxNQUFNLFdBQVcsR0FBRyxLQUFLLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBRXZDLEdBQUc7U0FDQSxJQUFJ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USxDQUFDLEdBQUcsRUFBRTtRQUNuQixNQUFNLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUVsQixPQUFPLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNuRCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDcmVhdGVDb21wdXRlZE9wdGlvbnMsIEluamVjdG9yLCBTaWduYWwsIGFzc2VydEluSW5qZWN0aW9uQ29udGV4dCwgY29tcHV0ZWQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVG9PYnNlcnZhYmxlT3B0aW9ucywgVG9TaWduYWxPcHRpb25zLCB0b09ic2VydmFibGUsIHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgY3JlYXRlRGVzdHJveSB9IGZyb20gJ0BldGhsZXRlL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaWJhYmxlLCBvZiwgcGFpcndpc2UsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgQW55UXVlcnksXG4gIEFueVF1ZXJ5Q29sbGVjdGlvbixcbiAgUXVlcnlPZixcbiAgUXVlcnlTdGF0ZSxcbiAgUXVlcnlTdGF0ZVR5cGUsXG4gIGV4dHJhY3RRdWVyeSxcbiAgZmlsdGVyUXVlcnlTdGF0ZXMsXG4gIGlzUXVlcnlTdGF0ZUZhaWx1cmUsXG4gIGlzUXVlcnlTdGF0ZUxvYWRpbmcsXG4gIGlzUXVlcnlTdGF0ZVN1Y2Nlc3MsXG59IGZyb20gJy4uL3F1ZXJ5JztcbmltcG9ydCB7IFF1ZXJ5RGF0YU9mIH0gZnJvbSAnLi4vcXVlcnktY3JlYXRvcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUXVlcnlDb250YWluZXJDb25maWcge1xuICAvKipcbiAgICogSWYgYHRydWVgLCB0aGUgcHJldmlvdXMgcXVlcnkgd2lsbCBiZSBhYm9ydGVkIHdoZW4gYSBuZXcgcXVlcnkgaXMgcHVzaGVkIGludG8gdGhlIGNvbnRhaW5lci5cbiAgICogQGRlZmF1bHQgdHJ1ZSAvLyBPbmx5IGlmIHRoZSByZXF1ZXN0IGNhbiBiZSBjYWNoZWQgKEdFVCwgT1BUSU9OUywgSEVBRCBhbmQgR1FMX1FVRVJZKS4gT3RoZXJ3aXNlIGZhbHNlLlxuICAgKi9cbiAgYWJvcnRQcmV2aW91cz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIElmIGB0cnVlYCwgdGhlIHF1ZXJ5IHdpbGwgYmUgYWJvcnRlZCB3aGVuIHRoZSBjb250YWluZXIgaXMgZGVzdHJveWVkLlxuICAgKiBAZGVmYXVsdCB0cnVlIC8vIE9ubHkgaWYgdGhlIHJlcXVlc3QgY2FuIGJlIGNhY2hlZCAoR0VULCBPUFRJT05TLCBIRUFEIGFuZCBHUUxfUVVFUlkpLiBPdGhlcndpc2UgZmFsc2UuXG4gICAqL1xuICBhYm9ydE9uRGVzdHJveT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIElmIGB0cnVlYCwgdGhlIHByZXZpb3VzIHBvbGxpbmcgd2lsbCBiZSBzdG9wcGVkIHdoZW4gYSBuZXcgcXVlcnkgaXMgcHVzaGVkIGludG8gdGhlIGNvbnRhaW5lci5cbiAgICogQGRlZmF1bHQgdHJ1ZSAvLyBPbmx5IGlmIHRoZSBxdWVyeSBoYXMgbm8gb3RoZXIgZGVwZW5kZW50cyBhbmQgdGhlIHJlcXVlc3QgY2FuIGJlIGNhY2hlZCAoR0VULCBPUFRJT05TLCBIRUFEIGFuZCBHUUxfUVVFUlkpLiBPdGhlcndpc2UgZmFsc2UuXG4gICAqL1xuICBzdG9wUHJldmlvdXNQb2xsaW5nPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBRdWVyeUZpbHRlckNvbmZpZyB7XG4gIC8qKlxuICAgKiBJZiBgdHJ1ZWAsIHRoZSByZXNwb25zZSB3aWxsIGJlIGNhY2hlZCB1bnRpbCB0aGUgbmV4dCByZXNwb25zZSBpcyByZWNlaXZlZCBvciB0aGUgcXVlcnkgZmFpbHMuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBjYWNoZVJlc3BvbnNlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IGFkZFF1ZXJ5Q29udGFpbmVySGFuZGxpbmcgPSAoXG4gIG9iczogT2JzZXJ2YWJsZTxBbnlRdWVyeSB8IG51bGw+LFxuICB2YWx1ZUZuOiAoKSA9PiBBbnlRdWVyeSB8IG51bGwgfCB1bmRlZmluZWQsXG4gIGNvbmZpZz86IFF1ZXJ5Q29udGFpbmVyQ29uZmlnLFxuKSA9PiB7XG4gIGFzc2VydEluSW5qZWN0aW9uQ29udGV4dChhZGRRdWVyeUNvbnRhaW5lckhhbmRsaW5nKTtcblxuICBjb25zdCB7IGFib3J0UHJldmlvdXMsIGFib3J0T25EZXN0cm95LCBzdG9wUHJldmlvdXNQb2xsaW5nIH0gPSBjb25maWcgPz8ge307XG5cbiAgY29uc3QgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICBjb25zdCBkZXN0cm95JCA9IGNyZWF0ZURlc3Ryb3koKTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBjb25zdCB0Tm9kZSA9IChpbmplY3RvciBhcyBhbnkpLl90Tm9kZTtcbiAgY29uc3QgY29tcG9uZW50SWQgPSB0Tm9kZT8uaW5kZXggPz8gLTE7XG5cbiAgb2JzXG4gICAgLnBpcGUoXG4gICAgICB0YWtlVW50aWwoZGVzdHJveSQpLFxuICAgICAgc3RhcnRXaXRoKG51bGwpLFxuICAgICAgcGFpcndpc2UoKSxcbiAgICAgIHRhcCgoW3ByZXZRdWVyeSwgY3VyclF1ZXJ5XSkgPT4ge1xuICAgICAgICBwcmV2UXVlcnk/Ll9yZW1vdmVEZXBlbmRlbnQoY29tcG9uZW50SWQpO1xuICAgICAgICBjdXJyUXVlcnk/Ll9hZGREZXBlbmRlbnQoY29tcG9uZW50SWQpO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAhcHJldlF1ZXJ5Py5faGFzRGVwZW5kZW50cygpICYmXG4gICAgICAgICAgKChhYm9ydFByZXZpb3VzID09PSB1bmRlZmluZWQgJiYgcHJldlF1ZXJ5Py5jYW5CZUNhY2hlZCkgfHwgYWJvcnRQcmV2aW91cylcbiAgICAgICAgKSB7XG4gICAgICAgICAgcHJldlF1ZXJ5Py5hYm9ydCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICFwcmV2UXVlcnk/Ll9oYXNEZXBlbmRlbnRzKCkgJiZcbiAgICAgICAgICAoKHN0b3BQcmV2aW91c1BvbGxpbmcgPT09IHVuZGVmaW5lZCAmJiBwcmV2UXVlcnk/LmNhbkJlQ2FjaGVkKSB8fCBzdG9wUHJldmlvdXNQb2xsaW5nKSAmJlxuICAgICAgICAgIHByZXZRdWVyeT8uaXNQb2xsaW5nXG4gICAgICAgICkge1xuICAgICAgICAgIHByZXZRdWVyeT8uc3RvcFBvbGxpbmcoKTtcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgKVxuICAgIC5zdWJzY3JpYmUoKTtcblxuICBkZXN0cm95JC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgIGNvbnN0IHF1ZXJ5ID0gdmFsdWVGbigpO1xuXG4gICAgcXVlcnk/Ll9yZW1vdmVEZXBlbmRlbnQoY29tcG9uZW50SWQpO1xuXG4gICAgaWYgKCFxdWVyeT8uX2hhc0RlcGVuZGVudHMoKSAmJiAoKHF1ZXJ5Py5jYW5CZUNhY2hlZCAmJiBhYm9ydE9uRGVzdHJveSA9PT0gdW5kZWZpbmVkKSB8fCBhYm9ydE9uRGVzdHJveSkpIHtcbiAgICAgIHF1ZXJ5Py5hYm9ydCgpO1xuICAgIH1cbiAgfSk7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gdG9RdWVyeVNpZ25hbDxUIGV4dGVuZHMgQW55UXVlcnkgfCBudWxsPihcbiAgc291cmNlOiBPYnNlcnZhYmxlPFQ+IHwgU3Vic2NyaWJhYmxlPFQ+LFxuKTogU2lnbmFsPFQgfCB1bmRlZmluZWQ+O1xuZXhwb3J0IGZ1bmN0aW9uIHRvUXVlcnlTaWduYWw8VCBleHRlbmRzIEFueVF1ZXJ5IHwgbnVsbD4oXG4gIHNvdXJjZTogT2JzZXJ2YWJsZTxUPiB8IFN1YnNjcmliYWJsZTxUPixcbiAgb3B0aW9ucz86IFRvU2lnbmFsT3B0aW9uczx1bmRlZmluZWQ+ICYgeyByZXF1aXJlU3luYz86IGZhbHNlIH0gJiBRdWVyeUNvbnRhaW5lckNvbmZpZyxcbik6IFNpZ25hbDxUIHwgdW5kZWZpbmVkPjtcbmV4cG9ydCBmdW5jdGlvbiB0b1F1ZXJ5U2lnbmFsPFQgZXh0ZW5kcyBBbnlRdWVyeSB8IG51bGwsIFUgZXh0ZW5kcyBUIHwgbnVsbCB8IHVuZGVmaW5lZD4oXG4gIHNvdXJjZTogT2JzZXJ2YWJsZTxUPiB8IFN1YnNjcmliYWJsZTxUPixcbiAgb3B0aW9uczogVG9TaWduYWxPcHRpb25zPFU+ICYgeyBpbml0aWFsVmFsdWU6IFU7IHJlcXVpcmVTeW5jPzogZmFsc2UgfSAmIFF1ZXJ5Q29udGFpbmVyQ29uZmlnLFxuKTogU2lnbmFsPFQgfCBVPjtcbmV4cG9ydCBmdW5jdGlvbiB0b1F1ZXJ5U2lnbmFsPFQgZXh0ZW5kcyBBbnlRdWVyeSB8IG51bGw+KFxuICBzb3VyY2U6IE9ic2VydmFibGU8VD4gfCBTdWJzY3JpYmFibGU8VD4sXG4gIG9wdGlvbnM6IFRvU2lnbmFsT3B0aW9uczx1bmRlZmluZWQ+ICYgeyByZXF1aXJlU3luYzogdHJ1ZSB9ICYgUXVlcnlDb250YWluZXJDb25maWcsXG4pOiBTaWduYWw8VD47XG5leHBvcnQgZnVuY3Rpb24gdG9RdWVyeVNpZ25hbDxUIGV4dGVuZHMgQW55UXVlcnkgfCBudWxsLCBVID0gdW5kZWZpbmVkPihcbiAgc291cmNlOiBPYnNlcnZhYmxlPFQ+IHwgU3Vic2NyaWJhYmxlPFQ+LFxuICBvcHRpb25zPzogVG9TaWduYWxPcHRpb25zPFU+ICYgUXVlcnlDb250YWluZXJDb25maWcsXG4pOiBTaWduYWw8VCB8IFU+IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgY29uc3QgcyA9IHRvU2lnbmFsKHNvdXJjZSwgb3B0aW9ucyBhcyBhbnkpO1xuXG4gIGFkZFF1ZXJ5Q29udGFpbmVySGFuZGxpbmcoc291cmNlIGFzIE9ic2VydmFibGU8VD4sICgpID0+IHMoKSBhcyBULCBvcHRpb25zKTtcblxuICByZXR1cm4gcyBhcyBTaWduYWw8VCB8IFU+O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcXVlcnlDb21wdXRlZDxUIGV4dGVuZHMgQW55UXVlcnkgfCBudWxsPihcbiAgY29tcHV0YXRpb246ICgpID0+IFQsXG4gIG9wdGlvbnM/OiBDcmVhdGVDb21wdXRlZE9wdGlvbnM8VD4gJiBRdWVyeUNvbnRhaW5lckNvbmZpZyAmIFRvT2JzZXJ2YWJsZU9wdGlvbnMsXG4pOiBTaWduYWw8VD4ge1xuICBjb25zdCBjID0gY29tcHV0ZWQoY29tcHV0YXRpb24sIG9wdGlvbnMpO1xuICBjb25zdCBvYnMgPSB0b09ic2VydmFibGUoYywgb3B0aW9ucyk7XG5cbiAgYWRkUXVlcnlDb250YWluZXJIYW5kbGluZyhvYnMsICgpID0+IGMoKSwgb3B0aW9ucyk7XG5cbiAgcmV0dXJuIGM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1F1ZXJ5U3ViamVjdDxUIGV4dGVuZHMgQW55UXVlcnkgfCBudWxsPihcbiAgc291cmNlOiBTaWduYWw8VD4sXG4gIG9wdGlvbnM/OiBUb09ic2VydmFibGVPcHRpb25zICYgUXVlcnlDb250YWluZXJDb25maWcsXG4pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgY29uc3Qgb2JzID0gdG9PYnNlcnZhYmxlKHNvdXJjZSwgb3B0aW9ucyk7XG5cbiAgYWRkUXVlcnlDb250YWluZXJIYW5kbGluZyhvYnMsICgpID0+IHNvdXJjZSgpLCBvcHRpb25zKTtcblxuICByZXR1cm4gb2JzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcXVlcnlTdGF0ZVNpZ25hbDxUIGV4dGVuZHMgU2lnbmFsPEFueVF1ZXJ5IHwgQW55UXVlcnlDb2xsZWN0aW9uIHwgbnVsbD4+KFxuICBzb3VyY2U6IFQsXG4gIG9wdGlvbnM/OiBRdWVyeUZpbHRlckNvbmZpZyxcbikge1xuICBjb25zdCB7IGNhY2hlUmVzcG9uc2UgfSA9IG9wdGlvbnMgPz8ge307XG5cbiAgcmV0dXJuIHRvU2lnbmFsKFxuICAgIHRvT2JzZXJ2YWJsZShzb3VyY2UpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKHEpID0+IGV4dHJhY3RRdWVyeShxKT8uc3RhdGUkID8/IG9mKG51bGwpKSxcbiAgICAgIHN3aXRjaE1hcCgoc3RhdGUpID0+IHtcbiAgICAgICAgaWYgKGNhY2hlUmVzcG9uc2UpIHtcbiAgICAgICAgICByZXR1cm4gb2Yoc3RhdGUpLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXJRdWVyeVN0YXRlcyhbUXVlcnlTdGF0ZVR5cGUuU3VjY2VzcywgUXVlcnlTdGF0ZVR5cGUuRmFpbHVyZSwgUXVlcnlTdGF0ZVR5cGUuQ2FuY2VsbGVkXSksXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBvZihzdGF0ZSk7XG4gICAgICB9KSxcbiAgICApLFxuICAgIHtcbiAgICAgIGluaXRpYWxWYWx1ZTogbnVsbCxcbiAgICB9LFxuICApIGFzIFNpZ25hbDxRdWVyeVN0YXRlPFF1ZXJ5RGF0YU9mPFF1ZXJ5T2Y8UmV0dXJuVHlwZTxUPj4+PiB8IG51bGw+O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcXVlcnlTdGF0ZVJlc3BvbnNlU2lnbmFsPFQgZXh0ZW5kcyBTaWduYWw8QW55UXVlcnkgfCBBbnlRdWVyeUNvbGxlY3Rpb24gfCBudWxsPj4oXG4gIHNvdXJjZTogVCxcbiAgb3B0aW9ucz86IFF1ZXJ5RmlsdGVyQ29uZmlnLFxuKSB7XG4gIGNvbnN0IHMgPSBxdWVyeVN0YXRlU2lnbmFsKHNvdXJjZSwgb3B0aW9ucyk7XG5cbiAgcmV0dXJuIGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBzdGF0ZSA9IHMoKTtcblxuICAgIHJldHVybiBpc1F1ZXJ5U3RhdGVTdWNjZXNzKHN0YXRlKSA/IHN0YXRlLnJlc3BvbnNlIDogbnVsbDtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBxdWVyeVN0YXRlRXJyb3JTaWduYWw8VCBleHRlbmRzIFNpZ25hbDxBbnlRdWVyeSB8IEFueVF1ZXJ5Q29sbGVjdGlvbiB8IG51bGw+Pihzb3VyY2U6IFQpIHtcbiAgY29uc3QgcyA9IHF1ZXJ5U3RhdGVTaWduYWwoc291cmNlKTtcblxuICByZXR1cm4gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHN0YXRlID0gcygpO1xuXG4gICAgcmV0dXJuIGlzUXVlcnlTdGF0ZUZhaWx1cmUoc3RhdGUpID8gc3RhdGUuZXJyb3IgOiBudWxsO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHF1ZXJ5U3RhdGVMb2FkaW5nU2lnbmFsPFQgZXh0ZW5kcyBTaWduYWw8QW55UXVlcnkgfCBBbnlRdWVyeUNvbGxlY3Rpb24gfCBudWxsPj4oc291cmNlOiBUKSB7XG4gIGNvbnN0IHMgPSBxdWVyeVN0YXRlU2lnbmFsKHNvdXJjZSk7XG5cbiAgcmV0dXJuIGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBzdGF0ZSA9IHMoKTtcblxuICAgIHJldHVybiBpc1F1ZXJ5U3RhdGVMb2FkaW5nKHN0YXRlKSA/IHN0YXRlIDogbnVsbDtcbiAgfSk7XG59XG4iXX0=
|
|
@@ -520,7 +520,7 @@ const request = (config) => {
|
|
|
520
520
|
|
|
521
521
|
const addQueryContainerHandling = (obs, valueFn, config) => {
|
|
522
522
|
assertInInjectionContext(addQueryContainerHandling);
|
|
523
|
-
const { abortPrevious, abortOnDestroy } = config ?? {};
|
|
523
|
+
const { abortPrevious, abortOnDestroy, stopPreviousPolling } = config ?? {};
|
|
524
524
|
const injector = inject(Injector);
|
|
525
525
|
const destroy$ = createDestroy();
|
|
526
526
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -534,6 +534,11 @@ const addQueryContainerHandling = (obs, valueFn, config) => {
|
|
|
534
534
|
((abortPrevious === undefined && prevQuery?.canBeCached) || abortPrevious)) {
|
|
535
535
|
prevQuery?.abort();
|
|
536
536
|
}
|
|
537
|
+
if (!prevQuery?._hasDependents() &&
|
|
538
|
+
((stopPreviousPolling === undefined && prevQuery?.canBeCached) || stopPreviousPolling) &&
|
|
539
|
+
prevQuery?.isPolling) {
|
|
540
|
+
prevQuery?.stopPolling();
|
|
541
|
+
}
|
|
537
542
|
}))
|
|
538
543
|
.subscribe();
|
|
539
544
|
destroy$.subscribe(() => {
|
|
@@ -561,13 +566,19 @@ function toQuerySubject(source, options) {
|
|
|
561
566
|
addQueryContainerHandling(obs, () => source(), options);
|
|
562
567
|
return obs;
|
|
563
568
|
}
|
|
564
|
-
function queryStateSignal(source) {
|
|
565
|
-
|
|
569
|
+
function queryStateSignal(source, options) {
|
|
570
|
+
const { cacheResponse } = options ?? {};
|
|
571
|
+
return toSignal(toObservable(source).pipe(switchMap((q) => extractQuery(q)?.state$ ?? of(null)), switchMap((state) => {
|
|
572
|
+
if (cacheResponse) {
|
|
573
|
+
return of(state).pipe(filterQueryStates(["SUCCESS" /* QueryStateType.Success */, "FAILURE" /* QueryStateType.Failure */, "CANCELLED" /* QueryStateType.Cancelled */]));
|
|
574
|
+
}
|
|
575
|
+
return of(state);
|
|
576
|
+
})), {
|
|
566
577
|
initialValue: null,
|
|
567
578
|
});
|
|
568
579
|
}
|
|
569
|
-
function queryStateResponseSignal(source) {
|
|
570
|
-
const s = queryStateSignal(source);
|
|
580
|
+
function queryStateResponseSignal(source, options) {
|
|
581
|
+
const s = queryStateSignal(source, options);
|
|
571
582
|
return computed(() => {
|
|
572
583
|
const state = s();
|
|
573
584
|
return isQueryStateSuccess(state) ? state.response : null;
|