@ethlete/query 5.21.1 → 5.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/fesm2022/ethlete-query.mjs +21 -37
- package/fesm2022/ethlete-query.mjs.map +1 -1
- package/package.json +5 -7
- package/esm2022/ethlete-query.mjs +0 -5
- package/esm2022/index.mjs +0 -21
- package/esm2022/lib/auth/auth-provider.types.mjs +0 -2
- package/esm2022/lib/auth/auth-provider.utils.mjs +0 -25
- package/esm2022/lib/auth/basic-auth-provider.mjs +0 -15
- package/esm2022/lib/auth/bearer-auth-provider.mjs +0 -168
- package/esm2022/lib/auth/custom-header-auth-provider.mjs +0 -12
- package/esm2022/lib/auth/index.mjs +0 -6
- package/esm2022/lib/class-validator/class-validator.types.mjs +0 -2
- package/esm2022/lib/class-validator/class-validator.utils.mjs +0 -4
- package/esm2022/lib/class-validator/index.mjs +0 -3
- package/esm2022/lib/devtools/components/query-devtools/index.mjs +0 -2
- package/esm2022/lib/devtools/components/query-devtools/query-devtools.component.mjs +0 -297
- package/esm2022/lib/devtools/pipes/index.mjs +0 -2
- package/esm2022/lib/devtools/pipes/query-short-name.pipe.mjs +0 -24
- package/esm2022/lib/devtools/utils/index.mjs +0 -2
- package/esm2022/lib/devtools/utils/query-client.utils.mjs +0 -13
- package/esm2022/lib/directives/index.mjs +0 -4
- package/esm2022/lib/directives/infinity-query-trigger.directive.mjs +0 -56
- package/esm2022/lib/directives/infinity-query.directive.mjs +0 -147
- package/esm2022/lib/directives/query.directive.mjs +0 -123
- package/esm2022/lib/entity/entity-store.mjs +0 -127
- package/esm2022/lib/entity/entity.types.mjs +0 -2
- package/esm2022/lib/entity/entity.utils.mjs +0 -29
- package/esm2022/lib/entity/index.mjs +0 -4
- package/esm2022/lib/experimental/bearer-auth-provider-config.mjs +0 -19
- package/esm2022/lib/experimental/bearer-auth-provider.mjs +0 -245
- package/esm2022/lib/experimental/http-request.mjs +0 -154
- package/esm2022/lib/experimental/index.mjs +0 -23
- package/esm2022/lib/experimental/paged-query.mjs +0 -194
- package/esm2022/lib/experimental/query-client-config.mjs +0 -13
- package/esm2022/lib/experimental/query-client.mjs +0 -16
- package/esm2022/lib/experimental/query-creator-templates.mjs +0 -33
- package/esm2022/lib/experimental/query-creator.mjs +0 -28
- package/esm2022/lib/experimental/query-dependencies.mjs +0 -14
- package/esm2022/lib/experimental/query-errors.mjs +0 -70
- package/esm2022/lib/experimental/query-execute-utils.mjs +0 -54
- package/esm2022/lib/experimental/query-execute.mjs +0 -14
- package/esm2022/lib/experimental/query-features.mjs +0 -126
- package/esm2022/lib/experimental/query-repository.mjs +0 -97
- package/esm2022/lib/experimental/query-snapshot.mjs +0 -45
- package/esm2022/lib/experimental/query-stack.mjs +0 -65
- package/esm2022/lib/experimental/query-state.mjs +0 -20
- package/esm2022/lib/experimental/query-utils.mjs +0 -176
- package/esm2022/lib/experimental/query.mjs +0 -29
- package/esm2022/lib/experimental/secure-query-creator.mjs +0 -15
- package/esm2022/lib/experimental/secure-query-execute.mjs +0 -80
- package/esm2022/lib/experimental/secure-query.mjs +0 -33
- package/esm2022/lib/gql/gql.mjs +0 -23
- package/esm2022/lib/gql/index.mjs +0 -2
- package/esm2022/lib/infinite-query/index.mjs +0 -4
- package/esm2022/lib/infinite-query/infinity-query.mjs +0 -171
- package/esm2022/lib/infinite-query/infinity-query.types.mjs +0 -2
- package/esm2022/lib/infinite-query/infinity-query.utils.mjs +0 -3
- package/esm2022/lib/logger/index.mjs +0 -2
- package/esm2022/lib/logger/logger.mjs +0 -16
- package/esm2022/lib/query/index.mjs +0 -4
- package/esm2022/lib/query/query.mjs +0 -431
- package/esm2022/lib/query/query.types.mjs +0 -2
- package/esm2022/lib/query/query.utils.mjs +0 -253
- package/esm2022/lib/query-client/index.mjs +0 -4
- package/esm2022/lib/query-client/query-client.mjs +0 -80
- package/esm2022/lib/query-client/query-client.types.mjs +0 -2
- package/esm2022/lib/query-client/query-client.utils.mjs +0 -20
- package/esm2022/lib/query-creator/index.mjs +0 -3
- package/esm2022/lib/query-creator/query-creator.mjs +0 -55
- package/esm2022/lib/query-creator/query-creator.types.mjs +0 -2
- package/esm2022/lib/query-form/index.mjs +0 -4
- package/esm2022/lib/query-form/query-form.mjs +0 -412
- package/esm2022/lib/query-form/query-form.types.mjs +0 -2
- package/esm2022/lib/query-form/query-form.utils.mjs +0 -97
- package/esm2022/lib/query-store/index.mjs +0 -2
- package/esm2022/lib/query-store/query-store.mjs +0 -144
- package/esm2022/lib/request/index.mjs +0 -4
- package/esm2022/lib/request/request.mjs +0 -196
- package/esm2022/lib/request/request.types.mjs +0 -2
- package/esm2022/lib/request/request.util.mjs +0 -252
- package/esm2022/lib/symfony/index.mjs +0 -3
- package/esm2022/lib/symfony/symfony.types.mjs +0 -2
- package/esm2022/lib/symfony/symfony.utils.mjs +0 -31
- package/esm2022/lib/utils/data.utils.mjs +0 -138
- package/esm2022/lib/utils/deep-freeze.util.mjs +0 -17
- package/esm2022/lib/utils/def.util.mjs +0 -8
- package/esm2022/lib/utils/index.mjs +0 -4
|
@@ -1,194 +0,0 @@
|
|
|
1
|
-
import { computed, effect, isDevMode, signal, untracked } from '@angular/core';
|
|
2
|
-
import { pagedQueryNextPageCalledWithoutPreviousPage, pagedQueryPageBiggerThanTotalPages, pagedQueryPreviousPageCalledButAlreadyAtFirstPage, } from './query-errors';
|
|
3
|
-
import { withArgs } from './query-features';
|
|
4
|
-
import { createQueryStack, transformArrayResponse } from './query-stack';
|
|
5
|
-
export const ethletePaginationAdapter = (response) => {
|
|
6
|
-
const pagination = {
|
|
7
|
-
items: response.items,
|
|
8
|
-
totalPages: response.totalPageCount,
|
|
9
|
-
currentPage: response.currentPage,
|
|
10
|
-
itemsPerPage: response.itemsPerPage,
|
|
11
|
-
totalHits: response.totalHits,
|
|
12
|
-
};
|
|
13
|
-
return pagination;
|
|
14
|
-
};
|
|
15
|
-
export const ggLikePaginationAdapter = (response) => {
|
|
16
|
-
const pagination = {
|
|
17
|
-
items: response.items,
|
|
18
|
-
totalPages: response.totalPageCount,
|
|
19
|
-
currentPage: response.currentPage,
|
|
20
|
-
itemsPerPage: response.itemsPerPage,
|
|
21
|
-
totalHits: response.totalHits,
|
|
22
|
-
};
|
|
23
|
-
return pagination;
|
|
24
|
-
};
|
|
25
|
-
export const dynLikePaginationAdapter = (response) => {
|
|
26
|
-
const pagination = {
|
|
27
|
-
items: response.items,
|
|
28
|
-
totalPages: response.totalPages,
|
|
29
|
-
currentPage: response.currentPage,
|
|
30
|
-
itemsPerPage: response.limit,
|
|
31
|
-
totalHits: response.totalHits,
|
|
32
|
-
};
|
|
33
|
-
return pagination;
|
|
34
|
-
};
|
|
35
|
-
export const contentfulGqlLikePaginationAdapter = (response) => {
|
|
36
|
-
const totalPages = Math.max(Math.ceil(response.total / response.limit), 1); // If there are no items, there is still one page
|
|
37
|
-
const currentPage = Math.max(Math.ceil(response.skip / response.limit) + 1, 1);
|
|
38
|
-
const pagination = {
|
|
39
|
-
items: response.items,
|
|
40
|
-
totalPages,
|
|
41
|
-
currentPage,
|
|
42
|
-
itemsPerPage: response.limit,
|
|
43
|
-
totalHits: response.total,
|
|
44
|
-
};
|
|
45
|
-
return pagination;
|
|
46
|
-
};
|
|
47
|
-
export const createPagedQuery = (options) => {
|
|
48
|
-
const { responseNormalizer, queryCreator } = options;
|
|
49
|
-
const currentPageArgs = signal(null);
|
|
50
|
-
const initialPage = signal(options.initialPage ?? 1);
|
|
51
|
-
const loadedMinPage = signal(initialPage());
|
|
52
|
-
const loadedMaxPage = signal(initialPage());
|
|
53
|
-
const lastResetTimestamp = signal(Date.now());
|
|
54
|
-
const pageDirection = signal('next');
|
|
55
|
-
const stack = createQueryStack(() => {
|
|
56
|
-
const args = currentPageArgs();
|
|
57
|
-
if (!args)
|
|
58
|
-
return null;
|
|
59
|
-
return queryCreator(withArgs(() => {
|
|
60
|
-
return args;
|
|
61
|
-
}));
|
|
62
|
-
}, {
|
|
63
|
-
append: true,
|
|
64
|
-
appendFn: (oldQueries, newQueries) => {
|
|
65
|
-
const newQuery = newQueries[0];
|
|
66
|
-
const dir = pageDirection();
|
|
67
|
-
if (!newQuery) {
|
|
68
|
-
const lastQuery = oldQueries[oldQueries.length - 1] ?? null;
|
|
69
|
-
return { queries: oldQueries, lastQuery };
|
|
70
|
-
}
|
|
71
|
-
else if (dir === 'previous') {
|
|
72
|
-
return { queries: [newQuery, ...oldQueries], lastQuery: newQuery };
|
|
73
|
-
}
|
|
74
|
-
else {
|
|
75
|
-
return { queries: [...oldQueries, newQuery], lastQuery: newQuery };
|
|
76
|
-
}
|
|
77
|
-
},
|
|
78
|
-
transform: transformArrayResponse,
|
|
79
|
-
});
|
|
80
|
-
effect(() => {
|
|
81
|
-
lastResetTimestamp();
|
|
82
|
-
const args = options.args(initialPage());
|
|
83
|
-
untracked(() => {
|
|
84
|
-
stack.clear();
|
|
85
|
-
currentPageArgs.set(args);
|
|
86
|
-
loadedMinPage.set(initialPage());
|
|
87
|
-
loadedMaxPage.set(initialPage());
|
|
88
|
-
});
|
|
89
|
-
});
|
|
90
|
-
const pagination = computed(() => {
|
|
91
|
-
const res = stack.lastQuery()?.response();
|
|
92
|
-
if (!res)
|
|
93
|
-
return null;
|
|
94
|
-
return responseNormalizer(res);
|
|
95
|
-
});
|
|
96
|
-
const fetchPreviousPage = () => {
|
|
97
|
-
const page = loadedMinPage() - 1;
|
|
98
|
-
if (page < 1) {
|
|
99
|
-
if (isDevMode()) {
|
|
100
|
-
throw pagedQueryPreviousPageCalledButAlreadyAtFirstPage();
|
|
101
|
-
}
|
|
102
|
-
return;
|
|
103
|
-
}
|
|
104
|
-
currentPageArgs.set(options.args(page));
|
|
105
|
-
loadedMinPage.set(page);
|
|
106
|
-
pageDirection.set('previous');
|
|
107
|
-
};
|
|
108
|
-
const fetchNextPage = () => {
|
|
109
|
-
const page = loadedMaxPage() + 1;
|
|
110
|
-
const currentPagination = pagination();
|
|
111
|
-
if (!currentPagination) {
|
|
112
|
-
if (isDevMode()) {
|
|
113
|
-
throw pagedQueryNextPageCalledWithoutPreviousPage();
|
|
114
|
-
}
|
|
115
|
-
return;
|
|
116
|
-
}
|
|
117
|
-
if (page > currentPagination.totalPages) {
|
|
118
|
-
if (isDevMode()) {
|
|
119
|
-
throw pagedQueryPageBiggerThanTotalPages(page, currentPagination.totalPages);
|
|
120
|
-
}
|
|
121
|
-
return;
|
|
122
|
-
}
|
|
123
|
-
currentPageArgs.set(options.args(page));
|
|
124
|
-
loadedMaxPage.set(page);
|
|
125
|
-
pageDirection.set('next');
|
|
126
|
-
};
|
|
127
|
-
const reset = (resetOptions) => {
|
|
128
|
-
const page = resetOptions?.initialPage ?? initialPage();
|
|
129
|
-
initialPage.set(page);
|
|
130
|
-
pageDirection.set('next');
|
|
131
|
-
lastResetTimestamp.set(Date.now());
|
|
132
|
-
};
|
|
133
|
-
const canFetchPreviousPage = computed(() => loadedMinPage() > 1);
|
|
134
|
-
const canFetchNextPage = computed(() => {
|
|
135
|
-
const currentPagination = pagination();
|
|
136
|
-
return currentPagination ? loadedMaxPage() < currentPagination.totalPages : false;
|
|
137
|
-
});
|
|
138
|
-
const items = computed(() => {
|
|
139
|
-
return stack
|
|
140
|
-
.response()
|
|
141
|
-
.map((r) => responseNormalizer(r).items)
|
|
142
|
-
.flat();
|
|
143
|
-
});
|
|
144
|
-
const isFirstLoad = computed(() => {
|
|
145
|
-
return stack.queries().length === 1 && !!stack.lastQuery()?.loading();
|
|
146
|
-
});
|
|
147
|
-
const execute = (options) => {
|
|
148
|
-
if (options?.where) {
|
|
149
|
-
const queriesToExecute = [];
|
|
150
|
-
for (const [index, query] of stack.queries().entries()) {
|
|
151
|
-
// TODO: Use the where condition here.
|
|
152
|
-
if (query.response()) {
|
|
153
|
-
queriesToExecute.push(query);
|
|
154
|
-
if (index !== 0) {
|
|
155
|
-
const prevQuery = stack.queries()[index - 1];
|
|
156
|
-
if (prevQuery) {
|
|
157
|
-
queriesToExecute.push(prevQuery);
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
if (index !== stack.queries().length - 1) {
|
|
161
|
-
const nextQuery = stack.queries()[index + 1];
|
|
162
|
-
if (nextQuery) {
|
|
163
|
-
queriesToExecute.push(nextQuery);
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
for (const query of queriesToExecute) {
|
|
169
|
-
query.execute({ options: { skipCache: options.skipCache } });
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
else {
|
|
173
|
-
stack.execute({ skipCache: options?.skipCache });
|
|
174
|
-
}
|
|
175
|
-
};
|
|
176
|
-
const pagedQuery = {
|
|
177
|
-
pagination,
|
|
178
|
-
fetchPreviousPage,
|
|
179
|
-
fetchNextPage,
|
|
180
|
-
canFetchPreviousPage,
|
|
181
|
-
canFetchNextPage,
|
|
182
|
-
items,
|
|
183
|
-
direction: pageDirection.asReadonly(),
|
|
184
|
-
loading: stack.loading,
|
|
185
|
-
error: stack.error,
|
|
186
|
-
lastQuery: stack.lastQuery,
|
|
187
|
-
isFirstLoad,
|
|
188
|
-
queries: stack.queries(),
|
|
189
|
-
reset,
|
|
190
|
-
execute,
|
|
191
|
-
};
|
|
192
|
-
return pagedQuery;
|
|
193
|
-
};
|
|
194
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZWQtcXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvZXhwZXJpbWVudGFsL3BhZ2VkLXF1ZXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBVS9FLE9BQU8sRUFDTCwyQ0FBMkMsRUFDM0Msa0NBQWtDLEVBQ2xDLGlEQUFpRCxHQUNsRCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekUsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsQ0FBSSxRQUFzQixFQUFFLEVBQUU7SUFDcEUsTUFBTSxVQUFVLEdBQTRCO1FBQzFDLEtBQUssRUFBRSxRQUFRLENBQUMsS0FBSztRQUNyQixVQUFVLEVBQUUsUUFBUSxDQUFDLGNBQWM7UUFDbkMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxXQUFXO1FBQ2pDLFlBQVksRUFBRSxRQUFRLENBQUMsWUFBWTtRQUNuQyxTQUFTLEVBQUUsUUFBUSxDQUFDLFNBQVM7S0FDOUIsQ0FBQztJQUVGLE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLENBQUksUUFBNEIsRUFBRSxFQUFFO0lBQ3pFLE1BQU0sVUFBVSxHQUE0QjtRQUMxQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEtBQUs7UUFDckIsVUFBVSxFQUFFLFFBQVEsQ0FBQyxjQUFjO1FBQ25DLFdBQVcsRUFBRSxRQUFRLENBQUMsV0FBVztRQUNqQyxZQUFZLEVBQUUsUUFBUSxDQUFDLFlBQVk7UUFDbkMsU0FBUyxFQUFFLFFB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QyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUNuRCxDQUFDO0lBQ0gsQ0FBQyxDQUFDO0lBRUYsTUFBTSxVQUFVLEdBQUc7UUFDakIsVUFBVTtRQUNWLGlCQUFpQjtRQUNqQixhQUFhO1FBQ2Isb0JBQW9CO1FBQ3BCLGdCQUFnQjtRQUNoQixLQUFLO1FBQ0wsU0FBUyxFQUFFLGFBQWEsQ0FBQyxVQUFVLEVBQUU7UUFDckMsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1FBQ3RCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztRQUNsQixTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7UUFDMUIsV0FBVztRQUNYLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFO1FBQ3hCLEtBQUs7UUFDTCxPQUFPO0tBQ1IsQ0FBQztJQUVGLE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCBlZmZlY3QsIGlzRGV2TW9kZSwgc2lnbmFsLCB1bnRyYWNrZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENvbnRlbnRmdWxHcWxMaWtlUGFnaW5hdGVkLFxuICBEeW5MaWtlUGFnaW5hdGVkLFxuICBHZ0xpa2VQYWdpbmF0ZWQsXG4gIE5vcm1hbGl6ZWRQYWdpbmF0aW9uLFxuICBQYWdpbmF0ZWQsXG59IGZyb20gJ0BldGhsZXRlL3R5cGVzJztcbmltcG9ydCB7IFF1ZXJ5LCBRdWVyeUFyZ3MsIFJlcXVlc3RBcmdzLCBSZXNwb25zZVR5cGUgfSBmcm9tICcuL3F1ZXJ5JztcbmltcG9ydCB7IFF1ZXJ5Q3JlYXRvciB9IGZyb20gJy4vcXVlcnktY3JlYXRvcic7XG5pbXBvcnQge1xuICBwYWdlZFF1ZXJ5TmV4dFBhZ2VDYWxsZWRXaXRob3V0UHJldmlvdXNQYWdlLFxuICBwYWdlZFF1ZXJ5UGFnZUJpZ2dlclRoYW5Ub3RhbFBhZ2VzLFxuICBwYWdlZFF1ZXJ5UHJldmlvdXNQYWdlQ2FsbGVkQnV0QWxyZWFkeUF0Rmlyc3RQYWdlLFxufSBmcm9tICcuL3F1ZXJ5LWVycm9ycyc7XG5pbXBvcnQgeyB3aXRoQXJncyB9IGZyb20gJy4vcXVlcnktZmVhdHVyZXMnO1xuaW1wb3J0IHsgY3JlYXRlUXVlcnlTdGFjaywgdHJhbnNmb3JtQXJyYXlSZXNwb25zZSB9IGZyb20gJy4vcXVlcnktc3RhY2snO1xuXG5leHBvcnQgY29uc3QgZXRobGV0ZVBhZ2luYXRpb25BZGFwdGVyID0gPFQ+KHJlc3BvbnNlOiBQYWdpbmF0ZWQ8VD4pID0+IHtcbiAgY29uc3QgcGFnaW5hdGlvbjogTm9ybWFsaXplZFBhZ2luYXRpb248VD4gPSB7XG4gICAgaXRlbXM6IHJlc3BvbnNlLml0ZW1zLFxuICAgIHRvdGFsUGFnZXM6IHJlc3BvbnNlLnRvdGFsUGFnZUNvdW50LFxuICAgIGN1cnJlbnRQYWdlOiByZXNwb25zZS5jdXJyZW50UGFnZSxcbiAgICBpdGVtc1BlclBhZ2U6IHJlc3BvbnNlLml0ZW1zUGVyUGFnZSxcbiAgICB0b3RhbEhpdHM6IHJlc3BvbnNlLnRvdGFsSGl0cyxcbiAgfTtcblxuICByZXR1cm4gcGFnaW5hdGlvbjtcbn07XG5cbmV4cG9ydCBjb25zdCBnZ0xpa2VQYWdpbmF0aW9uQWRhcHRlciA9IDxUPihyZXNwb25zZTogR2dMaWtlUGFnaW5hdGVkPFQ+KSA9PiB7XG4gIGNvbnN0IHBhZ2luYXRpb246IE5vcm1hbGl6ZWRQYWdpbmF0aW9uPFQ+ID0ge1xuICAgIGl0ZW1zOiByZXNwb25zZS5pdGVtcyxcbiAgICB0b3RhbFBhZ2VzOiByZXNwb25zZS50b3RhbFBhZ2VDb3VudCxcbiAgICBjdXJyZW50UGFnZTogcmVzcG9uc2UuY3VycmVudFBhZ2UsXG4gICAgaXRlbXNQZXJQYWdlOiByZXNwb25zZS5pdGVtc1BlclBhZ2UsXG4gICAgdG90YWxIaXRzOiByZXNwb25zZS50b3RhbEhpdHMsXG4gIH07XG5cbiAgcmV0dXJuIHBhZ2luYXRpb247XG59O1xuXG5leHBvcnQgY29uc3QgZHluTGlrZVBhZ2luYXRpb25BZGFwdGVyID0gPFQ+KHJlc3BvbnNlOiBEeW5MaWtlUGFnaW5hdGVkPFQ+KSA9PiB7XG4gIGNvbnN0IHBhZ2luYXRpb246IE5vcm1hbGl6ZWRQYWdpbmF0aW9uPFQ+ID0ge1xuICAgIGl0ZW1zOiByZXNwb25zZS5pdGVtcyxcbiAgICB0b3RhbFBhZ2VzOiByZXNwb25zZS50b3RhbFBhZ2VzLFxuICAgIGN1cnJlbnRQYWdlOiByZXNwb25zZS5jdXJyZW50UGFnZSxcbiAgICBpdGVtc1BlclBhZ2U6IHJlc3BvbnNlLmxpbWl0LFxuICAgIHRvdGFsSGl0czogcmVzcG9uc2UudG90YWxIaXRzLFxuICB9O1xuXG4gIHJldHVybiBwYWdpbmF0aW9uO1xufTtcblxuZXhwb3J0IGNvbnN0IGNvbnRlbnRmdWxHcWxMaWtlUGFnaW5hdGlvbkFkYXB0ZXIgPSA8VD4ocmVzcG9uc2U6IENvbnRlbnRmdWxHcWxMaWtlUGFnaW5hdGVkPFQ+KSA9PiB7XG4gIGNvbnN0IHRvdGFsUGFnZXMgPSBNYXRoLm1heChNYXRoLmNlaWwocmVzcG9uc2UudG90YWwgLyByZXNwb25zZS5saW1pdCksIDEpOyAvLyBJZiB0aGVyZSBhcmUgbm8gaXRlbXMsIHRoZXJlIGlzIHN0aWxsIG9uZSBwYWdlXG4gIGNvbnN0IGN1cnJlbnRQYWdlID0gTWF0aC5tYXgoTWF0aC5jZWlsKHJlc3BvbnNlLnNraXAgLyByZXNwb25zZS5saW1pdCkgKyAxLCAxKTtcblxuICBjb25zdCBwYWdpbmF0aW9uOiBOb3JtYWxpemVkUGFnaW5hdGlvbjxUPiA9IHtcbiAgICBpdGVtczogcmVzcG9uc2UuaXRlbXMsXG4gICAgdG90YWxQYWdlcyxcbiAgICBjdXJyZW50UGFnZSxcbiAgICBpdGVtc1BlclBhZ2U6IHJlc3BvbnNlLmxpbWl0LFxuICAgIHRvdGFsSGl0czogcmVzcG9uc2UudG90YWwsXG4gIH07XG5cbiAgcmV0dXJuIHBhZ2luYXRpb247XG59O1xuXG5leHBvcnQgdHlwZSBDcmVhdGVQYWdlZFF1ZXJ5T3B0aW9uczxUQXJncyBleHRlbmRzIFF1ZXJ5QXJncz4gPSB7XG4gIHJlc3BvbnNlTm9ybWFsaXplcjogKHJlc3BvbnNlOiBSZXNwb25zZVR5cGU8VEFyZ3M+KSA9PiBOb3JtYWxpemVkUGFnaW5hdGlvbjxSZXNwb25zZVR5cGU8VEFyZ3M+PjtcbiAgcXVlcnlDcmVhdG9yOiBRdWVyeUNyZWF0b3I8VEFyZ3M+O1xuICBhcmdzOiAocGFnZTogbnVtYmVyKSA9PiBSZXF1ZXN0QXJnczxUQXJncz47XG4gIGluaXRpYWxQYWdlPzogbnVtYmVyO1xufTtcblxuZXhwb3J0IHR5cGUgUGFnZWRRdWVyeVJlc2V0T3B0aW9ucyA9IHtcbiAgaW5pdGlhbFBhZ2U/OiBudW1iZXI7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlUGFnZWRRdWVyeSA9IDxUQXJncyBleHRlbmRzIFF1ZXJ5QXJncz4ob3B0aW9uczogQ3JlYXRlUGFnZWRRdWVyeU9wdGlvbnM8VEFyZ3M+KSA9PiB7XG4gIGNvbnN0IHsgcmVzcG9uc2VOb3JtYWxpemVyLCBxdWVyeUNyZWF0b3IgfSA9IG9wdGlvbnM7XG5cbiAgY29uc3QgY3VycmVudFBhZ2VBcmdzID0gc2lnbmFsPFJlcXVlc3RBcmdzPFRBcmdzPiB8IG51bGw+KG51bGwpO1xuICBjb25zdCBpbml0aWFsUGFnZSA9IHNpZ25hbChvcHRpb25zLmluaXRpYWxQYWdlID8/IDEpO1xuICBjb25zdCBsb2FkZWRNaW5QYWdlID0gc2lnbmFsKGluaXRpYWxQYWdlKCkpO1xuICBjb25zdCBsb2FkZWRNYXhQYWdlID0gc2lnbmFsKGluaXRpYWxQYWdlKCkpO1xuICBjb25zdCBsYXN0UmVzZXRUaW1lc3RhbXAgPSBzaWduYWwoRGF0ZS5ub3coKSk7XG5cbiAgY29uc3QgcGFnZURpcmVjdGlvbiA9IHNpZ25hbDwnbmV4dCcgfCAncHJldmlvdXMnPignbmV4dCcpO1xuXG4gIGNvbnN0IHN0YWNrID0gY3JlYXRlUXVlcnlTdGFjayhcbiAgICAoKSA9PiB7XG4gICAgICBjb25zdCBhcmdzID0gY3VycmVudFBhZ2VBcmdzKCk7XG5cbiAgICAgIGlmICghYXJncykgcmV0dXJuIG51bGw7XG5cbiAgICAgIHJldHVybiBxdWVyeUNyZWF0b3IoXG4gICAgICAgIHdpdGhBcmdzKCgpID0+IHtcbiAgICAgICAgICByZXR1cm4gYXJncztcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgIH0sXG4gICAge1xuICAgICAgYXBwZW5kOiB0cnVlLFxuICAgICAgYXBwZW5kRm46IChvbGRRdWVyaWVzLCBuZXdRdWVyaWVzKSA9PiB7XG4gICAgICAgIGNvbnN0IG5ld1F1ZXJ5ID0gbmV3UXVlcmllc1swXTtcbiAgICAgICAgY29uc3QgZGlyID0gcGFnZURpcmVjdGlvbigpO1xuXG4gICAgICAgIGlmICghbmV3UXVlcnkpIHtcbiAgICAgICAgICBjb25zdCBsYXN0UXVlcnkgPSBvbGRRdWVyaWVzW29sZFF1ZXJpZXMubGVuZ3RoIC0gMV0gPz8gbnVsbDtcbiAgICAgICAgICByZXR1cm4geyBxdWVyaWVzOiBvbGRRdWVyaWVzLCBsYXN0UXVlcnkgfTtcbiAgICAgICAgfSBlbHNlIGlmIChkaXIgPT09ICdwcmV2aW91cycpIHtcbiAgICAgICAgICByZXR1cm4geyBxdWVyaWVzOiBbbmV3UXVlcnksIC4uLm9sZFF1ZXJpZXNdLCBsYXN0UXVlcnk6IG5ld1F1ZXJ5IH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHsgcXVlcmllczogWy4uLm9sZFF1ZXJpZXMsIG5ld1F1ZXJ5XSwgbGFzdFF1ZXJ5OiBuZXdRdWVyeSB9O1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2Zvcm1BcnJheVJlc3BvbnNlLFxuICAgIH0sXG4gICk7XG5cbiAgZWZmZWN0KCgpID0+IHtcbiAgICBsYXN0UmVzZXRUaW1lc3RhbXAoKTtcblxuICAgIGNvbnN0IGFyZ3MgPSBvcHRpb25zLmFyZ3MoaW5pdGlhbFBhZ2UoKSk7XG5cbiAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgc3RhY2suY2xlYXIoKTtcbiAgICAgIGN1cnJlbnRQYWdlQXJncy5zZXQoYXJncyk7XG4gICAgICBsb2FkZWRNaW5QYWdlLnNldChpbml0aWFsUGFnZSgpKTtcbiAgICAgIGxvYWRlZE1heFBhZ2Uuc2V0KGluaXRpYWxQYWdlKCkpO1xuICAgIH0pO1xuICB9KTtcblxuICBjb25zdCBwYWdpbmF0aW9uID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHJlcyA9IHN0YWNrLmxhc3RRdWVyeSgpPy5yZXNwb25zZSgpO1xuXG4gICAgaWYgKCFyZXMpIHJldHVybiBudWxsO1xuXG4gICAgcmV0dXJuIHJlc3BvbnNlTm9ybWFsaXplcihyZXMpO1xuICB9KTtcblxuICBjb25zdCBmZXRjaFByZXZpb3VzUGFnZSA9ICgpID0+IHtcbiAgICBjb25zdCBwYWdlID0gbG9hZGVkTWluUGFnZSgpIC0gMTtcblxuICAgIGlmIChwYWdlIDwgMSkge1xuICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XG4gICAgICAgIHRocm93IHBhZ2VkUXVlcnlQcmV2aW91c1BhZ2VDYWxsZWRCdXRBbHJlYWR5QXRGaXJzdFBhZ2UoKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGN1cnJlbnRQYWdlQXJncy5zZXQob3B0aW9ucy5hcmdzKHBhZ2UpKTtcbiAgICBsb2FkZWRNaW5QYWdlLnNldChwYWdlKTtcbiAgICBwYWdlRGlyZWN0aW9uLnNldCgncHJldmlvdXMnKTtcbiAgfTtcblxuICBjb25zdCBmZXRjaE5leHRQYWdlID0gKCkgPT4ge1xuICAgIGNvbnN0IHBhZ2UgPSBsb2FkZWRNYXhQYWdlKCkgKyAxO1xuICAgIGNvbnN0IGN1cnJlbnRQYWdpbmF0aW9uID0gcGFnaW5hdGlvbigpO1xuXG4gICAgaWYgKCFjdXJyZW50UGFnaW5hdGlvbikge1xuICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XG4gICAgICAgIHRocm93IHBhZ2VkUXVlcnlOZXh0UGFnZUNhbGxlZFdpdGhvdXRQcmV2aW91c1BhZ2UoKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChwYWdlID4gY3VycmVudFBhZ2luYXRpb24udG90YWxQYWdlcykge1xuICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XG4gICAgICAgIHRocm93IHBhZ2VkUXVlcnlQYWdlQmlnZ2VyVGhhblRvdGFsUGFnZXMocGFnZSwgY3VycmVudFBhZ2luYXRpb24udG90YWxQYWdlcyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjdXJyZW50UGFnZUFyZ3Muc2V0KG9wdGlvbnMuYXJncyhwYWdlKSk7XG4gICAgbG9hZGVkTWF4UGFnZS5zZXQocGFnZSk7XG4gICAgcGFnZURpcmVjdGlvbi5zZXQoJ25leHQnKTtcbiAgfTtcblxuICBjb25zdCByZXNldCA9IChyZXNldE9wdGlvbnM/OiBQYWdlZFF1ZXJ5UmVzZXRPcHRpb25zKSA9PiB7XG4gICAgY29uc3QgcGFnZSA9IHJlc2V0T3B0aW9ucz8uaW5pdGlhbFBhZ2UgPz8gaW5pdGlhbFBhZ2UoKTtcblxuICAgIGluaXRpYWxQYWdlLnNldChwYWdlKTtcbiAgICBwYWdlRGlyZWN0aW9uLnNldCgnbmV4dCcpO1xuICAgIGxhc3RSZXNldFRpbWVzdGFtcC5zZXQoRGF0ZS5ub3coKSk7XG4gIH07XG5cbiAgY29uc3QgY2FuRmV0Y2hQcmV2aW91c1BhZ2UgPSBjb21wdXRlZCgoKSA9PiBsb2FkZWRNaW5QYWdlKCkgPiAxKTtcbiAgY29uc3QgY2FuRmV0Y2hOZXh0UGFnZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBjdXJyZW50UGFnaW5hdGlvbiA9IHBhZ2luYXRpb24oKTtcblxuICAgIHJldHVybiBjdXJyZW50UGFnaW5hdGlvbiA/IGxvYWRlZE1heFBhZ2UoKSA8IGN1cnJlbnRQYWdpbmF0aW9uLnRvdGFsUGFnZXMgOiBmYWxzZTtcbiAgfSk7XG5cbiAgY29uc3QgaXRlbXMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIHN0YWNrXG4gICAgICAucmVzcG9uc2UoKVxuICAgICAgLm1hcCgocikgPT4gcmVzcG9uc2VOb3JtYWxpemVyKHIpLml0ZW1zKVxuICAgICAgLmZsYXQoKTtcbiAgfSk7XG5cbiAgY29uc3QgaXNGaXJzdExvYWQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIHN0YWNrLnF1ZXJpZXMoKS5sZW5ndGggPT09IDEgJiYgISFzdGFjay5sYXN0UXVlcnkoKT8ubG9hZGluZygpO1xuICB9KTtcblxuICBjb25zdCBleGVjdXRlID0gKG9wdGlvbnM/OiB7IHdoZXJlPzogKGl0ZW1zOiBSZXNwb25zZVR5cGU8VEFyZ3M+KSA9PiBib29sZWFuOyBza2lwQ2FjaGU/OiBib29sZWFuIH0pID0+IHtcbiAgICBpZiAob3B0aW9ucz8ud2hlcmUpIHtcbiAgICAgIGNvbnN0IHF1ZXJpZXNUb0V4ZWN1dGU6IFF1ZXJ5PFRBcmdzPltdID0gW107XG5cbiAgICAgIGZvciAoY29uc3QgW2luZGV4LCBxdWVyeV0gb2Ygc3RhY2sucXVlcmllcygpLmVudHJpZXMoKSkge1xuICAgICAgICAvLyBUT0RPOiBVc2UgdGhlIHdoZXJlIGNvbmRpdGlvbiBoZXJlLlxuICAgICAgICBpZiAocXVlcnkucmVzcG9uc2UoKSkge1xuICAgICAgICAgIHF1ZXJpZXNUb0V4ZWN1dGUucHVzaChxdWVyeSk7XG5cbiAgICAgICAgICBpZiAoaW5kZXggIT09IDApIHtcbiAgICAgICAgICAgIGNvbnN0IHByZXZRdWVyeSA9IHN0YWNrLnF1ZXJpZXMoKVtpbmRleCAtIDFdO1xuXG4gICAgICAgICAgICBpZiAocHJldlF1ZXJ5KSB7XG4gICAgICAgICAgICAgIHF1ZXJpZXNUb0V4ZWN1dGUucHVzaChwcmV2UXVlcnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChpbmRleCAhPT0gc3RhY2sucXVlcmllcygpLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgIGNvbnN0IG5leHRRdWVyeSA9IHN0YWNrLnF1ZXJpZXMoKVtpbmRleCArIDFdO1xuXG4gICAgICAgICAgICBpZiAobmV4dFF1ZXJ5KSB7XG4gICAgICAgICAgICAgIHF1ZXJpZXNUb0V4ZWN1dGUucHVzaChuZXh0UXVlcnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmb3IgKGNvbnN0IHF1ZXJ5IG9mIHF1ZXJpZXNUb0V4ZWN1dGUpIHtcbiAgICAgICAgcXVlcnkuZXhlY3V0ZSh7IG9wdGlvbnM6IHsgc2tpcENhY2hlOiBvcHRpb25zLnNraXBDYWNoZSB9IH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBzdGFjay5leGVjdXRlKHsgc2tpcENhY2hlOiBvcHRpb25zPy5za2lwQ2FjaGUgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IHBhZ2VkUXVlcnkgPSB7XG4gICAgcGFnaW5hdGlvbixcbiAgICBmZXRjaFByZXZpb3VzUGFnZSxcbiAgICBmZXRjaE5leHRQYWdlLFxuICAgIGNhbkZldGNoUHJldmlvdXNQYWdlLFxuICAgIGNhbkZldGNoTmV4dFBhZ2UsXG4gICAgaXRlbXMsXG4gICAgZGlyZWN0aW9uOiBwYWdlRGlyZWN0aW9uLmFzUmVhZG9ubHkoKSxcbiAgICBsb2FkaW5nOiBzdGFjay5sb2FkaW5nLFxuICAgIGVycm9yOiBzdGFjay5lcnJvcixcbiAgICBsYXN0UXVlcnk6IHN0YWNrLmxhc3RRdWVyeSxcbiAgICBpc0ZpcnN0TG9hZCxcbiAgICBxdWVyaWVzOiBzdGFjay5xdWVyaWVzKCksXG4gICAgcmVzZXQsXG4gICAgZXhlY3V0ZSxcbiAgfTtcblxuICByZXR1cm4gcGFnZWRRdWVyeTtcbn07XG4iXX0=
|
|
@@ -1,13 +0,0 @@
|
|
|
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==
|
|
@@ -1,16 +0,0 @@
|
|
|
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=
|
|
@@ -1,33 +0,0 @@
|
|
|
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=
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { createQuery } from './query';
|
|
2
|
-
export const splitQueryConfig = (args) => {
|
|
3
|
-
let queryConfig = {};
|
|
4
|
-
let features = [];
|
|
5
|
-
const first = args[0];
|
|
6
|
-
if (first) {
|
|
7
|
-
if ('type' in first) {
|
|
8
|
-
features = args;
|
|
9
|
-
}
|
|
10
|
-
else {
|
|
11
|
-
[queryConfig, ...features] = args;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
return { features, queryConfig };
|
|
15
|
-
};
|
|
16
|
-
export const createQueryCreator = (options, internals) => {
|
|
17
|
-
function queryCreator(...args) {
|
|
18
|
-
const { features, queryConfig } = splitQueryConfig(args);
|
|
19
|
-
return createQuery({
|
|
20
|
-
creator: options,
|
|
21
|
-
creatorInternals: internals,
|
|
22
|
-
features,
|
|
23
|
-
queryConfig,
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
return queryCreator;
|
|
27
|
-
};
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktY3JlYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcXVlcnkvc3JjL2xpYi9leHBlcmltZW50YWwvcXVlcnktY3JlYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9DLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQTRDeEUsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBMEIsSUFBMkMsRUFBRSxFQUFFO0lBQ3ZHLElBQUksV0FBVyxHQUFnQixFQUFFLENBQUM7SUFDbEMsSUFBSSxRQUFRLEdBQTBCLEVBQUUsQ0FBQztJQUV6QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFdEIsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUNWLElBQUksTUFBTSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ3BCLFFBQVEsR0FBRyxJQUE2QixDQUFDO1FBQzNDLENBQUM7YUFBTSxDQUFDO1lBQ04sQ0FBQyxXQUFXLEVBQUUsR0FBRyxRQUFRLENBQUMsR0FBRyxJQUErQyxDQUFDO1FBQy9FLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsQ0FBQztBQUNuQyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUNoQyxPQUF5QyxFQUN6QyxTQUE0QyxFQUN2QixFQUFFO0lBSXZCLFNBQVMsWUFBWSxDQUFDLEdBQUcsSUFBMkM7UUFDbEUsTUFBTSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBUSxJQUFJLENBQUMsQ0FBQztRQUVoRSxPQUFPLFdBQVcsQ0FBUTtZQUN4QixPQUFPLEVBQUUsT0FBTztZQUNoQixnQkFBZ0IsRUFBRSxTQUFTO1lBQzNCLFFBQVE7WUFDUixXQUFXO1NBQ1osQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sWUFBWSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhdGhQYXJhbXNUeXBlLCBRdWVyeSwgUXVlcnlBcmdzLCBjcmVhdGVRdWVyeSB9IGZyb20gJy4vcXVlcnknO1xuaW1wb3J0IHsgUXVlcnlDbGllbnRDb25maWcgfSBmcm9tICcuL3F1ZXJ5LWNsaWVudC1jb25maWcnO1xuaW1wb3J0IHsgUXVlcnlGZWF0dXJlIH0gZnJvbSAnLi9xdWVyeS1mZWF0dXJlcyc7XG5cbmV4cG9ydCB0eXBlIFJvdXRlVHlwZTxUQXJncyBleHRlbmRzIFF1ZXJ5QXJncz4gPVxuICBQYXRoUGFyYW1zVHlwZTxUQXJncz4gZXh0ZW5kcyB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID8gKGFyZ3M6IFRBcmdzWydwYXRoUGFyYW1zJ10pID0+IFJvdXRlU3RyaW5nIDogUm91dGVTdHJpbmc7XG5cbmV4cG9ydCB0eXBlIFJvdXRlU3RyaW5nID0gYC8ke3N0cmluZ31gO1xuXG5leHBvcnQgdHlwZSBDcmVhdGVRdWVyeUNyZWF0b3JPcHRpb25zPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPiA9IHtcbiAgcm91dGU6IFJvdXRlVHlwZTxUQXJncz47XG4gIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbjtcbiAgcmVzcG9uc2VUeXBlPzogJ2pzb24nO1xuICB3aXRoQ3JlZGVudGlhbHM/OiBib29sZWFuO1xuICB0cmFuc2ZlckNhY2hlPzpcbiAgICB8IHtcbiAgICAgICAgaW5jbHVkZUhlYWRlcnM/OiBzdHJpbmdbXTtcbiAgICAgIH1cbiAgICB8IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBRdWVyeUNyZWF0b3I8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+ID0ge1xuICAoLi4uZmVhdHVyZXM6IFF1ZXJ5RmVhdHVyZTxUQXJncz5bXSk6IFF1ZXJ5PFRBcmdzPjtcbiAgKHF1ZXJ5Q29uZmlnOiBRdWVyeUNvbmZpZywgLi4uZmVhdHVyZXM6IFF1ZXJ5RmVhdHVyZTxUQXJncz5bXSk6IFF1ZXJ5PFRBcmdzPjtcbn07XG5cbmV4cG9ydCB0eXBlIFF1ZXJ5TWV0aG9kID0gJ0dFVCcgfCAnT1BUSU9OUycgfCAnSEVBRCcgfCAnUE9TVCcgfCAnUFVUJyB8ICdERUxFVEUnIHwgJ1BBVENIJyB8ICdUUkFDRScgfCAnQ09OTkVDVCc7XG5cbmV4cG9ydCB0eXBlIEludGVybmFsQ3JlYXRlUXVlcnlDcmVhdG9yT3B0aW9ucyA9IHtcbiAgbWV0aG9kOiBRdWVyeU1ldGhvZDtcbiAgY2xpZW50OiBRdWVyeUNsaWVudENvbmZpZztcbn07XG5cbmV4cG9ydCB0eXBlIFF1ZXJ5Q29uZmlnID0ge1xuICAvKiogQSBjdXN0b20gaWQgdG8gdXNlIGZvciB0aGlzIHF1ZXJ5LiBPbmx5IGFmZmVjdHMgcXVlcmllcyB0aGF0IGNhbiBiZSBjYWNoZWQuICovXG4gIGtleT86IHN0cmluZztcblxuICAvKipcbiAgICogSWYgdHJ1ZSwgdGhlIHF1ZXJ5IHdpbGwgbm90IGJlIGV4ZWN1dGVkIGF1dG9tYXRpY2FsbHkuXG4gICAqIERvZXMgbm90IGFmZmVjdCBtdXRhdGlvbnMgc3VjaCBhcyBQT1NULCBQVVQgZXRjLiBzaW5jZSB0aG9zZSBhcmUgbmV2ZXIgZXhlY3V0ZWQgYXV0b21hdGljYWxseS5cbiAgICovXG4gIG9ubHlNYW51YWxFeGVjdXRpb24/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IGNvbnN0IHNwbGl0UXVlcnlDb25maWcgPSA8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+KGFyZ3M6IChRdWVyeUZlYXR1cmU8VEFyZ3M+IHwgUXVlcnlDb25maWcpW10pID0+IHtcbiAgbGV0IHF1ZXJ5Q29uZmlnOiBRdWVyeUNvbmZpZyA9IHt9O1xuICBsZXQgZmVhdHVyZXM6IFF1ZXJ5RmVhdHVyZTxUQXJncz5bXSA9IFtdO1xuXG4gIGNvbnN0IGZpcnN0ID0gYXJnc1swXTtcblxuICBpZiAoZmlyc3QpIHtcbiAgICBpZiAoJ3R5cGUnIGluIGZpcnN0KSB7XG4gICAgICBmZWF0dXJlcyA9IGFyZ3MgYXMgUXVlcnlGZWF0dXJlPFRBcmdzPltdO1xuICAgIH0gZWxzZSB7XG4gICAgICBbcXVlcnlDb25maWcsIC4uLmZlYXR1cmVzXSA9IGFyZ3MgYXMgW1F1ZXJ5Q29uZmlnLCAuLi5RdWVyeUZlYXR1cmU8VEFyZ3M+W11dO1xuICAgIH1cbiAgfVxuICByZXR1cm4geyBmZWF0dXJlcywgcXVlcnlDb25maWcgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVRdWVyeUNyZWF0b3IgPSA8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+KFxuICBvcHRpb25zOiBDcmVhdGVRdWVyeUNyZWF0b3JPcHRpb25zPFRBcmdzPixcbiAgaW50ZXJuYWxzOiBJbnRlcm5hbENyZWF0ZVF1ZXJ5Q3JlYXRvck9wdGlvbnMsXG4pOiBRdWVyeUNyZWF0b3I8VEFyZ3M+ID0+IHtcbiAgZnVuY3Rpb24gcXVlcnlDcmVhdG9yKC4uLmZlYXR1cmVzOiBRdWVyeUZlYXR1cmU8VEFyZ3M+W10pOiBRdWVyeTxUQXJncz47XG4gIGZ1bmN0aW9uIHF1ZXJ5Q3JlYXRvcihxdWVyeUNvbmZpZzogUXVlcnlDb25maWcsIC4uLmZlYXR1cmVzOiBRdWVyeUZlYXR1cmU8VEFyZ3M+W10pOiBRdWVyeTxUQXJncz47XG5cbiAgZnVuY3Rpb24gcXVlcnlDcmVhdG9yKC4uLmFyZ3M6IChRdWVyeUZlYXR1cmU8VEFyZ3M+IHwgUXVlcnlDb25maWcpW10pOiBRdWVyeTxUQXJncz4ge1xuICAgIGNvbnN0IHsgZmVhdHVyZXMsIHF1ZXJ5Q29uZmlnIH0gPSBzcGxpdFF1ZXJ5Q29uZmlnPFRBcmdzPihhcmdzKTtcblxuICAgIHJldHVybiBjcmVhdGVRdWVyeTxUQXJncz4oe1xuICAgICAgY3JlYXRvcjogb3B0aW9ucyxcbiAgICAgIGNyZWF0b3JJbnRlcm5hbHM6IGludGVybmFscyxcbiAgICAgIGZlYXR1cmVzLFxuICAgICAgcXVlcnlDb25maWcsXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gcXVlcnlDcmVhdG9yO1xufTtcbiJdfQ==
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { DestroyRef, EnvironmentInjector, createEnvironmentInjector, inject } from '@angular/core';
|
|
2
|
-
export const setupQueryDependencies = (options) => {
|
|
3
|
-
const environmentInjector = inject(EnvironmentInjector);
|
|
4
|
-
const queryEnvironmentInjector = createEnvironmentInjector([], environmentInjector);
|
|
5
|
-
const destroyRef = queryEnvironmentInjector.get(DestroyRef);
|
|
6
|
-
const client = inject(options.clientConfig.token);
|
|
7
|
-
const dependencies = {
|
|
8
|
-
destroyRef,
|
|
9
|
-
client,
|
|
10
|
-
injector: queryEnvironmentInjector,
|
|
11
|
-
};
|
|
12
|
-
return dependencies;
|
|
13
|
-
};
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktZGVwZW5kZW5jaWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xdWVyeS9zcmMvbGliL2V4cGVyaW1lbnRhbC9xdWVyeS1kZXBlbmRlbmNpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFjbkcsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxPQUFzQyxFQUFFLEVBQUU7SUFDL0UsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN4RCxNQUFNLHdCQUF3QixHQUFHLHlCQUF5QixDQUFDLEVBQUUsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3BGLE1BQU0sVUFBVSxHQUFHLHdCQUF3QixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM1RCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVsRCxNQUFNLFlBQVksR0FBc0I7UUFDdEMsVUFBVTtRQUNWLE1BQU07UUFDTixRQUFRLEVBQUUsd0JBQXdCO0tBQ25DLENBQUM7SUFFRixPQUFPLFlBQVksQ0FBQztBQUN0QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXN0cm95UmVmLCBFbnZpcm9ubWVudEluamVjdG9yLCBjcmVhdGVFbnZpcm9ubWVudEluamVjdG9yLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFF1ZXJ5Q2xpZW50IH0gZnJvbSAnLi9xdWVyeS1jbGllbnQnO1xuaW1wb3J0IHsgUXVlcnlDbGllbnRDb25maWcgfSBmcm9tICcuL3F1ZXJ5LWNsaWVudC1jb25maWcnO1xuXG5leHBvcnQgdHlwZSBTZXR1cFF1ZXJ5RGVwZW5kZW5jaWVzT3B0aW9ucyA9IHtcbiAgY2xpZW50Q29uZmlnOiBRdWVyeUNsaWVudENvbmZpZztcbn07XG5cbmV4cG9ydCB0eXBlIFF1ZXJ5RGVwZW5kZW5jaWVzID0ge1xuICBkZXN0cm95UmVmOiBEZXN0cm95UmVmO1xuICBjbGllbnQ6IFF1ZXJ5Q2xpZW50O1xuICBpbmplY3RvcjogRW52aXJvbm1lbnRJbmplY3Rvcjtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXR1cFF1ZXJ5RGVwZW5kZW5jaWVzID0gKG9wdGlvbnM6IFNldHVwUXVlcnlEZXBlbmRlbmNpZXNPcHRpb25zKSA9PiB7XG4gIGNvbnN0IGVudmlyb25tZW50SW5qZWN0b3IgPSBpbmplY3QoRW52aXJvbm1lbnRJbmplY3Rvcik7XG4gIGNvbnN0IHF1ZXJ5RW52aXJvbm1lbnRJbmplY3RvciA9IGNyZWF0ZUVudmlyb25tZW50SW5qZWN0b3IoW10sIGVudmlyb25tZW50SW5qZWN0b3IpO1xuICBjb25zdCBkZXN0cm95UmVmID0gcXVlcnlFbnZpcm9ubWVudEluamVjdG9yLmdldChEZXN0cm95UmVmKTtcbiAgY29uc3QgY2xpZW50ID0gaW5qZWN0KG9wdGlvbnMuY2xpZW50Q29uZmlnLnRva2VuKTtcblxuICBjb25zdCBkZXBlbmRlbmNpZXM6IFF1ZXJ5RGVwZW5kZW5jaWVzID0ge1xuICAgIGRlc3Ryb3lSZWYsXG4gICAgY2xpZW50LFxuICAgIGluamVjdG9yOiBxdWVyeUVudmlyb25tZW50SW5qZWN0b3IsXG4gIH07XG5cbiAgcmV0dXJuIGRlcGVuZGVuY2llcztcbn07XG4iXX0=
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-empty-function */
|
|
2
|
-
import { RuntimeError } from '@ethlete/core';
|
|
3
|
-
export const queryFeatureUsedMultipleTimes = (type) => {
|
|
4
|
-
return new RuntimeError(0 /* RuntimeErrorCode.QUERY_FEATURE_USED_MULTIPLE_TIMES */, `The query feature "${type}()" was used multiple times.`);
|
|
5
|
-
};
|
|
6
|
-
export const withArgsQueryFeatureMissingButRouteIsFunction = () => {
|
|
7
|
-
return new RuntimeError(100 /* RuntimeErrorCode.WITH_ARGS_QUERY_FEATURE_MISSING_BUT_ROUTE_IS_FUNCTION */, `This queries route is a function, but a "withArgs()" feature is missing.`);
|
|
8
|
-
};
|
|
9
|
-
export const withPollingUsedOnUnsupportedHttpMethod = (method) => {
|
|
10
|
-
return new RuntimeError(101 /* RuntimeErrorCode.WITH_POLLING_USED_ON_UNSUPPORTED_HTTP_METHOD */, `This is a "${method}" request, "withPolling()" is only supported for GET, HEAD, OPTIONS requests and GQL queries.`);
|
|
11
|
-
};
|
|
12
|
-
export const withAutoRefreshUsedOnUnsupportedHttpMethod = (method) => {
|
|
13
|
-
return new RuntimeError(102 /* RuntimeErrorCode.WITH_AUTO_REFRESH_USED_ON_UNSUPPORTED_HTTP_METHOD */, `This is a "${method}" request, "withAutoRefresh()" is only supported for GET, HEAD, OPTIONS requests and GQL queries.`);
|
|
14
|
-
};
|
|
15
|
-
export const withAutoRefreshUsedInManualQuery = () => {
|
|
16
|
-
return new RuntimeError(103 /* RuntimeErrorCode.WITH_AUTO_REFRESH_USED_IN_MANUAL_QUERY */, `"withAutoRefresh()" has been used inside a query that has "onlyManualExecution" set to true.` +
|
|
17
|
-
` If this is intentional, set "ignoreOnlyManualExecution" to true inside the auto refresh config.`);
|
|
18
|
-
};
|
|
19
|
-
export const cookieLoginTriedButCookieDisabled = () => {
|
|
20
|
-
return new RuntimeError(200 /* RuntimeErrorCode.COOKIE_LOGIN_TRIED_BUT_COOKIE_DISABLED */, `Cookie login has been tried, but the cookie is disabled.`);
|
|
21
|
-
};
|
|
22
|
-
export const enableCookieCalledWithoutCookieConfig = () => {
|
|
23
|
-
return new RuntimeError(201 /* RuntimeErrorCode.ENABLE_COOKIE_CALLED_WITHOUT_COOKIE_CONFIG */, `enableCookie() has been called but there is no cookie config. Please set it during the auth provider creation.`);
|
|
24
|
-
};
|
|
25
|
-
export const disableCookieCalledWithoutCookieConfig = () => {
|
|
26
|
-
return new RuntimeError(202 /* RuntimeErrorCode.DISABLE_COOKIE_CALLED_WITHOUT_COOKIE_CONFIG */, `disableCookie() has been called but there is no cookie config. Please set it during the auth provider creation.`);
|
|
27
|
-
};
|
|
28
|
-
export const loginCalledWithoutConfig = () => {
|
|
29
|
-
return new RuntimeError(203 /* RuntimeErrorCode.LOGIN_CALLED_WITHOUT_CONFIG */, `login() has been called without a config. Please set it during the auth provider creation.`);
|
|
30
|
-
};
|
|
31
|
-
export const loginWithTokenCalledWithoutConfig = () => {
|
|
32
|
-
return new RuntimeError(204 /* RuntimeErrorCode.LOGIN_WITH_TOKEN_CALLED_WITHOUT_CONFIG */, `loginWithToken() has been called without a config. Please set it during the auth provider creation.`);
|
|
33
|
-
};
|
|
34
|
-
export const refreshTokenCalledWithoutConfig = () => {
|
|
35
|
-
return new RuntimeError(205 /* RuntimeErrorCode.REFRESH_TOKEN_CALLED_WITHOUT_CONFIG */, `refreshToken() has been called without a config. Please set it during the auth provider creation.`);
|
|
36
|
-
};
|
|
37
|
-
export const selectRoleCalledWithoutConfig = () => {
|
|
38
|
-
return new RuntimeError(206 /* RuntimeErrorCode.SELECT_ROLE_CALLED_WITHOUT_CONFIG */, `selectRole() has been called without a config. Please set it during the auth provider creation.`);
|
|
39
|
-
};
|
|
40
|
-
export const defaultResponseTransformerResponseNotObject = (currentType) => {
|
|
41
|
-
return new RuntimeError(207 /* RuntimeErrorCode.DEFAULT_RESPONSE_TRANSFORMER_RESPONSE_NOT_OBJECT */, `The default response transformer expects the response to be an object, but it is a "${currentType}".`);
|
|
42
|
-
};
|
|
43
|
-
export const defaultResponseTransformerResponseNotContainingAccessToken = () => {
|
|
44
|
-
return new RuntimeError(208 /* RuntimeErrorCode.DEFAULT_RESPONSE_TRANSFORMER_RESPONSE_NOT_CONTAINING_ACCESS_TOKEN */, `The default response transformer expects the response to contain an "accessToken" property.`);
|
|
45
|
-
};
|
|
46
|
-
export const defaultResponseTransformerResponseNotContainingRefreshToken = () => {
|
|
47
|
-
return new RuntimeError(209 /* RuntimeErrorCode.DEFAULT_RESPONSE_TRANSFORMER_RESPONSE_NOT_CONTAINING_REFRESH_TOKEN */, `The default response transformer expects the response to contain a "refreshToken" property.`);
|
|
48
|
-
};
|
|
49
|
-
export const unableToDecryptBearerToken = (token) => {
|
|
50
|
-
return new RuntimeError(210 /* RuntimeErrorCode.UNABLE_TO_DECRYPT_BEARER_TOKEN */, `The bearer token could not be decrypted: ${token}`);
|
|
51
|
-
};
|
|
52
|
-
export const bearerExpiresInPropertyNotNumber = (expiresIn) => {
|
|
53
|
-
return new RuntimeError(211 /* RuntimeErrorCode.BEARER_EXPIRES_IN_PROPERTY_NOT_NUMBER */, `The expires in property is not a number: ${expiresIn}`);
|
|
54
|
-
};
|
|
55
|
-
export const uncacheableRequestHasCacheKeyParam = (key) => {
|
|
56
|
-
return new RuntimeError(300 /* RuntimeErrorCode.UNCACHEABLE_REQUEST_HAS_CACHE_KEY_PARAM */, `This request is uncacheable, but a cache key was provided: ${key}. Please remove it.`);
|
|
57
|
-
};
|
|
58
|
-
export const uncacheableRequestHasSkipCacheParam = () => {
|
|
59
|
-
return new RuntimeError(301 /* RuntimeErrorCode.UNCACHEABLE_REQUEST_HAS_SKIP_CACHE_PARAM */, `This request is uncacheable, but skipCache is set to true. Please remove it.`);
|
|
60
|
-
};
|
|
61
|
-
export const pagedQueryPageBiggerThanTotalPages = (page, totalPages) => {
|
|
62
|
-
return new RuntimeError(400 /* RuntimeErrorCode.PAGED_QUERY_PAGE_BIGGER_THAN_TOTAL_PAGES */, `The page "${page}" is bigger than the total pages "${totalPages}".`);
|
|
63
|
-
};
|
|
64
|
-
export const pagedQueryNextPageCalledWithoutPreviousPage = () => {
|
|
65
|
-
return new RuntimeError(401 /* RuntimeErrorCode.PAGED_QUERY_NEXT_PAGE_CALLED_WITHOUT_PREVIOUS_PAGE */, `fetchNextPage() has been called but the current page is not yet loaded. Please call it after the previous page has been loaded.`);
|
|
66
|
-
};
|
|
67
|
-
export const pagedQueryPreviousPageCalledButAlreadyAtFirstPage = () => {
|
|
68
|
-
return new RuntimeError(402 /* RuntimeErrorCode.PAGED_QUERY_PREVIOUS_PAGE_CALLED_BUT_ALREADY_AT_FIRST_PAGE */, `fetchPreviousPage() has been called but the current page is already the first page.`);
|
|
69
|
-
};
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xdWVyeS9zcmMvbGliL2V4cGVyaW1lbnRhbC9xdWVyeS1lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseURBQXlEO0FBRXpELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFzQzdDLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLENBQUMsSUFBc0IsRUFBRSxFQUFFO0lBQ3RFLE9BQU8sSUFBSSxZQUFZLDZEQUVyQixzQkFBc0IsSUFBSSw4QkFBOEIsQ0FDekQsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDZDQUE2QyxHQUFHLEdBQUcsRUFBRTtJQUNoRSxPQUFPLElBQUksWUFBWSxtRkFFckIsMEVBQTBFLENBQzNFLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxzQ0FBc0MsR0FBRyxDQUFDLE1BQW1CLEVBQUUsRUFBRTtJQUM1RSxPQUFPLElBQUksWUFBWSwwRUFFckIsY0FBYyxNQUFNLCtGQUErRixDQUNwSCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMENBQTBDLEdBQUcsQ0FBQyxNQUFtQixFQUFFLEVBQUU7SUFDaEYsT0FBTyxJQUFJLFlBQVksK0VBRXJCLGNBQWMsTUFBTSxtR0FBbUcsQ0FDeEgsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLEdBQUcsRUFBRTtJQUNuRCxPQUFPLElBQUksWUFBWSxvRUFFckIsOEZBQThGO1FBQzVGLGtHQUFrRyxDQUNyRyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQUcsR0FBRyxFQUFFO0lBQ3BELE9BQU8sSUFBSSxZQUFZLG9FQUVyQiwwREFBMEQsQ0FDM0QsQ0FBQztBQUNKLENB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Ii8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvbiAqL1xuXG5pbXBvcnQgeyBSdW50aW1lRXJyb3IgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IFF1ZXJ5TWV0aG9kIH0gZnJvbSAnLi9xdWVyeS1jcmVhdG9yJztcbmltcG9ydCB7IFF1ZXJ5RmVhdHVyZVR5cGUgfSBmcm9tICcuL3F1ZXJ5LWZlYXR1cmVzJztcblxuZXhwb3J0IGNvbnN0IGVudW0gUnVudGltZUVycm9yQ29kZSB7XG4gIC8vIFF1ZXJ5XG4gIFFVRVJZX0ZFQVRVUkVfVVNFRF9NVUxUSVBMRV9USU1FUyA9IDAsXG5cbiAgLy8gUXVlcnkgZmVhdHVyZXNcbiAgV0lUSF9BUkdTX1FVRVJZX0ZFQVRVUkVfTUlTU0lOR19CVVRfUk9VVEVfSVNfRlVOQ1RJT04gPSAxMDAsXG4gIFdJVEhfUE9MTElOR19VU0VEX09OX1VOU1VQUE9SVEVEX0hUVFBfTUVUSE9EID0gMTAxLFxuICBXSVRIX0FVVE9fUkVGUkVTSF9VU0VEX09OX1VOU1VQUE9SVEVEX0hUVFBfTUVUSE9EID0gMTAyLFxuICBXSVRIX0FVVE9fUkVGUkVTSF9VU0VEX0lOX01BTlVBTF9RVUVSWSA9IDEwMyxcblxuICAvLyBBdXRoIHByb3ZpZGVyXG4gIENPT0tJRV9MT0dJTl9UUklFRF9CVVRfQ09PS0lFX0RJU0FCTEVEID0gMjAwLFxuICBFTkFCTEVfQ09PS0lFX0NBTExFRF9XSVRIT1VUX0NPT0tJRV9DT05GSUcgPSAyMDEsXG4gIERJU0FCTEVfQ09PS0lFX0NBTExFRF9XSVRIT1VUX0NPT0tJRV9DT05GSUcgPSAyMDIsXG4gIExPR0lOX0NBTExFRF9XSVRIT1VUX0NPTkZJRyA9IDIwMyxcbiAgTE9HSU5fV0lUSF9UT0tFTl9DQUxMRURfV0lUSE9VVF9DT05GSUcgPSAyMDQsXG4gIFJFRlJFU0hfVE9LRU5fQ0FMTEVEX1dJVEhPVVRfQ09ORklHID0gMjA1LFxuICBTRUxFQ1RfUk9MRV9DQUxMRURfV0lUSE9VVF9DT05GSUcgPSAyMDYsXG4gIERFRkFVTFRfUkVTUE9OU0VfVFJBTlNGT1JNRVJfUkVTUE9OU0VfTk9UX09CSkVDVCA9IDIwNyxcbiAgREVGQVVMVF9SRVNQT05TRV9UUkFOU0ZPUk1FUl9SRVNQT05TRV9OT1RfQ09OVEFJTklOR19BQ0NFU1NfVE9LRU4gPSAyMDgsXG4gIERFRkFVTFRfUkVTUE9OU0VfVFJBTlNGT1JNRVJfUkVTUE9OU0VfTk9UX0NPTlRBSU5JTkdfUkVGUkVTSF9UT0tFTiA9IDIwOSxcbiAgVU5BQkxFX1RPX0RFQ1JZUFRfQkVBUkVSX1RPS0VOID0gMjEwLFxuICBCRUFSRVJfRVhQSVJFU19JTl9QUk9QRVJUWV9OT1RfTlVNQkVSID0gMjExLFxuXG4gIC8vIFF1ZXJ5IFJlcG9zaXRvcnlcbiAgVU5DQUNIRUFCTEVfUkVRVUVTVF9IQVNfQ0FDSEVfS0VZX1BBUkFNID0gMzAwLFxuICBVTkNBQ0hFQUJMRV9SRVFVRVNUX0hBU19TS0lQX0NBQ0hFX1BBUkFNID0gMzAxLFxuXG4gIC8vIFBhZ2VkIFF1ZXJ5XG4gIFBBR0VEX1FVRVJZX1BBR0VfQklHR0VSX1RIQU5fVE9UQUxfUEFHRVMgPSA0MDAsXG4gIFBBR0VEX1FVRVJZX05FWFRfUEFHRV9DQUxMRURfV0lUSE9VVF9QUkVWSU9VU19QQUdFID0gNDAxLFxuICBQQUdFRF9RVUVSWV9QUkVWSU9VU19QQUdFX0NBTExFRF9CVVRfQUxSRUFEWV9BVF9GSVJTVF9QQUdFID0gNDAyLFxufVxuXG5leHBvcnQgY29uc3QgcXVlcnlGZWF0dXJlVXNlZE11bHRpcGxlVGltZXMgPSAodHlwZTogUXVlcnlGZWF0dXJlVHlwZSkgPT4ge1xuICByZXR1cm4gbmV3IFJ1bnRpbWVFcnJvcihcbiAgICBSdW50aW1lRXJyb3JDb2RlLlFVRVJZX0ZFQVRVUkVfVVNFRF9NVUxUSVBMRV9USU1FUyxcbiAgICBgVGhlIHF1ZXJ5IGZlYXR1cmUgXCIke3R5cGV9KClcIiB3YXMgdXNlZCBtdWx0aXBsZSB0aW1lcy5gLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHdpdGhBcmdzUXVlcnlGZWF0dXJlTWlzc2luZ0J1dFJvdXRlSXNGdW5jdGlvbiA9ICgpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5XSVRIX0FSR1NfUVVFUllfRkVBVFVSRV9NSVNTSU5HX0JVVF9ST1VURV9JU19GVU5DVElPTixcbiAgICBgVGhpcyBxdWVyaWVzIHJvdXRlIGlzIGEgZnVuY3Rpb24sIGJ1dCBhIFwid2l0aEFyZ3MoKVwiIGZlYXR1cmUgaXMgbWlzc2luZy5gLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHdpdGhQb2xsaW5nVXNlZE9uVW5zdXBwb3J0ZWRIdHRwTWV0aG9kID0gKG1ldGhvZDogUXVlcnlNZXRob2QpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5XSVRIX1BPTExJTkdfVVNFRF9PTl9VTlNVUFBPUlRFRF9IVFRQX01FVEhPRCxcbiAgICBgVGhpcyBpcyBhIFwiJHttZXRob2R9XCIgcmVxdWVzdCwgXCJ3aXRoUG9sbGluZygpXCIgaXMgb25seSBzdXBwb3J0ZWQgZm9yIEdFVCwgSEVBRCwgT1BUSU9OUyByZXF1ZXN0cyBhbmQgR1FMIHF1ZXJpZXMuYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCB3aXRoQXV0b1JlZnJlc2hVc2VkT25VbnN1cHBvcnRlZEh0dHBNZXRob2QgPSAobWV0aG9kOiBRdWVyeU1ldGhvZCkgPT4ge1xuICByZXR1cm4gbmV3IFJ1bnRpbWVFcnJvcihcbiAgICBSdW50aW1lRXJyb3JDb2RlLldJVEhfQVVUT19SRUZSRVNIX1VTRURfT05fVU5TVVBQT1JURURfSFRUUF9NRVRIT0QsXG4gICAgYFRoaXMgaXMgYSBcIiR7bWV0aG9kfVwiIHJlcXVlc3QsIFwid2l0aEF1dG9SZWZyZXNoKClcIiBpcyBvbmx5IHN1cHBvcnRlZCBmb3IgR0VULCBIRUFELCBPUFRJT05TIHJlcXVlc3RzIGFuZCBHUUwgcXVlcmllcy5gLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHdpdGhBdXRvUmVmcmVzaFVzZWRJbk1hbnVhbFF1ZXJ5ID0gKCkgPT4ge1xuICByZXR1cm4gbmV3IFJ1bnRpbWVFcnJvcihcbiAgICBSdW50aW1lRXJyb3JDb2RlLldJVEhfQVVUT19SRUZSRVNIX1VTRURfSU5fTUFOVUFMX1FVRVJZLFxuICAgIGBcIndpdGhBdXRvUmVmcmVzaCgpXCIgaGFzIGJlZW4gdXNlZCBpbnNpZGUgYSBxdWVyeSB0aGF0IGhhcyBcIm9ubHlNYW51YWxFeGVjdXRpb25cIiBzZXQgdG8gdHJ1ZS5gICtcbiAgICAgIGAgSWYgdGhpcyBpcyBpbnRlbnRpb25hbCwgc2V0IFwiaWdub3JlT25seU1hbnVhbEV4ZWN1dGlvblwiIHRvIHRydWUgaW5zaWRlIHRoZSBhdXRvIHJlZnJlc2ggY29uZmlnLmAsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgY29va2llTG9naW5UcmllZEJ1dENvb2tpZURpc2FibGVkID0gKCkgPT4ge1xuICByZXR1cm4gbmV3IFJ1bnRpbWVFcnJvcihcbiAgICBSdW50aW1lRXJyb3JDb2RlLkNPT0tJRV9MT0dJTl9UUklFRF9CVVRfQ09PS0lFX0RJU0FCTEVELFxuICAgIGBDb29raWUgbG9naW4gaGFzIGJlZW4gdHJpZWQsIGJ1dCB0aGUgY29va2llIGlzIGRpc2FibGVkLmAsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgZW5hYmxlQ29va2llQ2FsbGVkV2l0aG91dENvb2tpZUNvbmZpZyA9ICgpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5FTkFCTEVfQ09PS0lFX0NBTExFRF9XSVRIT1VUX0NPT0tJRV9DT05GSUcsXG4gICAgYGVuYWJsZUNvb2tpZSgpIGhhcyBiZWVuIGNhbGxlZCBidXQgdGhlcmUgaXMgbm8gY29va2llIGNvbmZpZy4gUGxlYXNlIHNldCBpdCBkdXJpbmcgdGhlIGF1dGggcHJvdmlkZXIgY3JlYXRpb24uYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBkaXNhYmxlQ29va2llQ2FsbGVkV2l0aG91dENvb2tpZUNvbmZpZyA9ICgpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5ESVNBQkxFX0NPT0tJRV9DQUxMRURfV0lUSE9VVF9DT09LSUVfQ09ORklHLFxuICAgIGBkaXNhYmxlQ29va2llKCkgaGFzIGJlZW4gY2FsbGVkIGJ1dCB0aGVyZSBpcyBubyBjb29raWUgY29uZmlnLiBQbGVhc2Ugc2V0IGl0IGR1cmluZyB0aGUgYXV0aCBwcm92aWRlciBjcmVhdGlvbi5gLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGxvZ2luQ2FsbGVkV2l0aG91dENvbmZpZyA9ICgpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5MT0dJTl9DQUxMRURfV0lUSE9VVF9DT05GSUcsXG4gICAgYGxvZ2luKCkgaGFzIGJlZW4gY2FsbGVkIHdpdGhvdXQgYSBjb25maWcuIFBsZWFzZSBzZXQgaXQgZHVyaW5nIHRoZSBhdXRoIHByb3ZpZGVyIGNyZWF0aW9uLmAsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgbG9naW5XaXRoVG9rZW5DYWxsZWRXaXRob3V0Q29uZmlnID0gKCkgPT4ge1xuICByZXR1cm4gbmV3IFJ1bnRpbWVFcnJvcihcbiAgICBSdW50aW1lRXJyb3JDb2RlLkxPR0lOX1dJVEhfVE9LRU5fQ0FMTEVEX1dJVEhPVVRfQ09ORklHLFxuICAgIGBsb2dpbldpdGhUb2tlbigpIGhhcyBiZWVuIGNhbGxlZCB3aXRob3V0IGEgY29uZmlnLiBQbGVhc2Ugc2V0IGl0IGR1cmluZyB0aGUgYXV0aCBwcm92aWRlciBjcmVhdGlvbi5gLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlZnJlc2hUb2tlbkNhbGxlZFdpdGhvdXRDb25maWcgPSAoKSA9PiB7XG4gIHJldHVybiBuZXcgUnVudGltZUVycm9yKFxuICAgIFJ1bnRpbWVFcnJvckNvZGUuUkVGUkVTSF9UT0tFTl9DQUxMRURfV0lUSE9VVF9DT05GSUcsXG4gICAgYHJlZnJlc2hUb2tlbigpIGhhcyBiZWVuIGNhbGxlZCB3aXRob3V0IGEgY29uZmlnLiBQbGVhc2Ugc2V0IGl0IGR1cmluZyB0aGUgYXV0aCBwcm92aWRlciBjcmVhdGlvbi5gLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHNlbGVjdFJvbGVDYWxsZWRXaXRob3V0Q29uZmlnID0gKCkgPT4ge1xuICByZXR1cm4gbmV3IFJ1bnRpbWVFcnJvcihcbiAgICBSdW50aW1lRXJyb3JDb2RlLlNFTEVDVF9ST0xFX0NBTExFRF9XSVRIT1VUX0NPTkZJRyxcbiAgICBgc2VsZWN0Um9sZSgpIGhhcyBiZWVuIGNhbGxlZCB3aXRob3V0IGEgY29uZmlnLiBQbGVhc2Ugc2V0IGl0IGR1cmluZyB0aGUgYXV0aCBwcm92aWRlciBjcmVhdGlvbi5gLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRSZXNwb25zZVRyYW5zZm9ybWVyUmVzcG9uc2VOb3RPYmplY3QgPSAoY3VycmVudFR5cGU6IHN0cmluZykgPT4ge1xuICByZXR1cm4gbmV3IFJ1bnRpbWVFcnJvcihcbiAgICBSdW50aW1lRXJyb3JDb2RlLkRFRkFVTFRfUkVTUE9OU0VfVFJBTlNGT1JNRVJfUkVTUE9OU0VfTk9UX09CSkVDVCxcbiAgICBgVGhlIGRlZmF1bHQgcmVzcG9uc2UgdHJhbnNmb3JtZXIgZXhwZWN0cyB0aGUgcmVzcG9uc2UgdG8gYmUgYW4gb2JqZWN0LCBidXQgaXQgaXMgYSBcIiR7Y3VycmVudFR5cGV9XCIuYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0UmVzcG9uc2VUcmFuc2Zvcm1lclJlc3BvbnNlTm90Q29udGFpbmluZ0FjY2Vzc1Rva2VuID0gKCkgPT4ge1xuICByZXR1cm4gbmV3IFJ1bnRpbWVFcnJvcihcbiAgICBSdW50aW1lRXJyb3JDb2RlLkRFRkFVTFRfUkVTUE9OU0VfVFJBTlNGT1JNRVJfUkVTUE9OU0VfTk9UX0NPTlRBSU5JTkdfQUNDRVNTX1RPS0VOLFxuICAgIGBUaGUgZGVmYXVsdCByZXNwb25zZSB0cmFuc2Zvcm1lciBleHBlY3RzIHRoZSByZXNwb25zZSB0byBjb250YWluIGFuIFwiYWNjZXNzVG9rZW5cIiBwcm9wZXJ0eS5gLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRSZXNwb25zZVRyYW5zZm9ybWVyUmVzcG9uc2VOb3RDb250YWluaW5nUmVmcmVzaFRva2VuID0gKCkgPT4ge1xuICByZXR1cm4gbmV3IFJ1bnRpbWVFcnJvcihcbiAgICBSdW50aW1lRXJyb3JDb2RlLkRFRkFVTFRfUkVTUE9OU0VfVFJBTlNGT1JNRVJfUkVTUE9OU0VfTk9UX0NPTlRBSU5JTkdfUkVGUkVTSF9UT0tFTixcbiAgICBgVGhlIGRlZmF1bHQgcmVzcG9uc2UgdHJhbnNmb3JtZXIgZXhwZWN0cyB0aGUgcmVzcG9uc2UgdG8gY29udGFpbiBhIFwicmVmcmVzaFRva2VuXCIgcHJvcGVydHkuYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCB1bmFibGVUb0RlY3J5cHRCZWFyZXJUb2tlbiA9ICh0b2tlbjogc3RyaW5nKSA9PiB7XG4gIHJldHVybiBuZXcgUnVudGltZUVycm9yKFxuICAgIFJ1bnRpbWVFcnJvckNvZGUuVU5BQkxFX1RPX0RFQ1JZUFRfQkVBUkVSX1RPS0VOLFxuICAgIGBUaGUgYmVhcmVyIHRva2VuIGNvdWxkIG5vdCBiZSBkZWNyeXB0ZWQ6ICR7dG9rZW59YCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBiZWFyZXJFeHBpcmVzSW5Qcm9wZXJ0eU5vdE51bWJlciA9IChleHBpcmVzSW46IHVua25vd24pID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5CRUFSRVJfRVhQSVJFU19JTl9QUk9QRVJUWV9OT1RfTlVNQkVSLFxuICAgIGBUaGUgZXhwaXJlcyBpbiBwcm9wZXJ0eSBpcyBub3QgYSBudW1iZXI6ICR7ZXhwaXJlc0lufWAsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgdW5jYWNoZWFibGVSZXF1ZXN0SGFzQ2FjaGVLZXlQYXJhbSA9IChrZXk6IHN0cmluZykgPT4ge1xuICByZXR1cm4gbmV3IFJ1bnRpbWVFcnJvcihcbiAgICBSdW50aW1lRXJyb3JDb2RlLlVOQ0FDSEVBQkxFX1JFUVVFU1RfSEFTX0NBQ0hFX0tFWV9QQVJBTSxcbiAgICBgVGhpcyByZXF1ZXN0IGlzIHVuY2FjaGVhYmxlLCBidXQgYSBjYWNoZSBrZXkgd2FzIHByb3ZpZGVkOiAke2tleX0uIFBsZWFzZSByZW1vdmUgaXQuYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCB1bmNhY2hlYWJsZVJlcXVlc3RIYXNTa2lwQ2FjaGVQYXJhbSA9ICgpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5VTkNBQ0hFQUJMRV9SRVFVRVNUX0hBU19TS0lQX0NBQ0hFX1BBUkFNLFxuICAgIGBUaGlzIHJlcXVlc3QgaXMgdW5jYWNoZWFibGUsIGJ1dCBza2lwQ2FjaGUgaXMgc2V0IHRvIHRydWUuIFBsZWFzZSByZW1vdmUgaXQuYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBwYWdlZFF1ZXJ5UGFnZUJpZ2dlclRoYW5Ub3RhbFBhZ2VzID0gKHBhZ2U6IG51bWJlciwgdG90YWxQYWdlczogbnVtYmVyKSA9PiB7XG4gIHJldHVybiBuZXcgUnVudGltZUVycm9yKFxuICAgIFJ1bnRpbWVFcnJvckNvZGUuUEFHRURfUVVFUllfUEFHRV9CSUdHRVJfVEhBTl9UT1RBTF9QQUdFUyxcbiAgICBgVGhlIHBhZ2UgXCIke3BhZ2V9XCIgaXMgYmlnZ2VyIHRoYW4gdGhlIHRvdGFsIHBhZ2VzIFwiJHt0b3RhbFBhZ2VzfVwiLmAsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgcGFnZWRRdWVyeU5leHRQYWdlQ2FsbGVkV2l0aG91dFByZXZpb3VzUGFnZSA9ICgpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5QQUdFRF9RVUVSWV9ORVhUX1BBR0VfQ0FMTEVEX1dJVEhPVVRfUFJFVklPVVNfUEFHRSxcbiAgICBgZmV0Y2hOZXh0UGFnZSgpIGhhcyBiZWVuIGNhbGxlZCBidXQgdGhlIGN1cnJlbnQgcGFnZSBpcyBub3QgeWV0IGxvYWRlZC4gUGxlYXNlIGNhbGwgaXQgYWZ0ZXIgdGhlIHByZXZpb3VzIHBhZ2UgaGFzIGJlZW4gbG9hZGVkLmAsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgcGFnZWRRdWVyeVByZXZpb3VzUGFnZUNhbGxlZEJ1dEFscmVhZHlBdEZpcnN0UGFnZSA9ICgpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5QQUdFRF9RVUVSWV9QUkVWSU9VU19QQUdFX0NBTExFRF9CVVRfQUxSRUFEWV9BVF9GSVJTVF9QQUdFLFxuICAgIGBmZXRjaFByZXZpb3VzUGFnZSgpIGhhcyBiZWVuIGNhbGxlZCBidXQgdGhlIGN1cnJlbnQgcGFnZSBpcyBhbHJlYWR5IHRoZSBmaXJzdCBwYWdlLmAsXG4gICk7XG59O1xuIl19
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { runInInjectionContext, signal } from '@angular/core';
|
|
2
|
-
import { syncSignal } from '@ethlete/core';
|
|
3
|
-
export const resetExecuteState = (options) => {
|
|
4
|
-
const { executeState, executeOptions: opts } = options;
|
|
5
|
-
const { state } = opts;
|
|
6
|
-
cleanupPreviousExecute({ executeOptions: opts, executeState });
|
|
7
|
-
opts.deps.client.repository.unbind(executeState.previousKey(), opts.deps.destroyRef);
|
|
8
|
-
state.args.set(null);
|
|
9
|
-
state.error.set(null);
|
|
10
|
-
state.latestHttpEvent.set(null);
|
|
11
|
-
state.loading.set(null);
|
|
12
|
-
state.response.set(null);
|
|
13
|
-
state.lastTimeExecutedAt.set(null);
|
|
14
|
-
};
|
|
15
|
-
export const setupQueryExecuteState = () => {
|
|
16
|
-
return {
|
|
17
|
-
effectRefs: [],
|
|
18
|
-
previousKey: signal(false),
|
|
19
|
-
};
|
|
20
|
-
};
|
|
21
|
-
export const queryExecute = (options) => {
|
|
22
|
-
const { executeOptions, args, executeState, options: runQueryOptions } = options;
|
|
23
|
-
const { deps, state, creator, creatorInternals, queryConfig } = executeOptions;
|
|
24
|
-
const { key, request } = deps.client.repository.request({
|
|
25
|
-
route: creator.route,
|
|
26
|
-
method: creatorInternals.method,
|
|
27
|
-
args,
|
|
28
|
-
clientOptions: {
|
|
29
|
-
reportProgress: creator.reportProgress,
|
|
30
|
-
withCredentials: creator.withCredentials,
|
|
31
|
-
transferCache: creator.transferCache,
|
|
32
|
-
responseType: creator.responseType,
|
|
33
|
-
},
|
|
34
|
-
destroyRef: deps.destroyRef,
|
|
35
|
-
key: queryConfig.key,
|
|
36
|
-
previousKey: executeState.previousKey(),
|
|
37
|
-
runQueryOptions,
|
|
38
|
-
});
|
|
39
|
-
executeState.previousKey.set(key);
|
|
40
|
-
runInInjectionContext(deps.injector, () => {
|
|
41
|
-
const responseRef = syncSignal(request.response, state.response);
|
|
42
|
-
const loadingRef = syncSignal(request.loading, state.loading);
|
|
43
|
-
const errorRef = syncSignal(request.error, state.error);
|
|
44
|
-
const latestHttpEventRef = syncSignal(request.currentEvent, state.latestHttpEvent);
|
|
45
|
-
executeState.effectRefs.push(responseRef, loadingRef, errorRef, latestHttpEventRef);
|
|
46
|
-
});
|
|
47
|
-
state.lastTimeExecutedAt.set(Date.now());
|
|
48
|
-
};
|
|
49
|
-
export const cleanupPreviousExecute = (options) => {
|
|
50
|
-
const { executeState } = options;
|
|
51
|
-
executeState.effectRefs.forEach((ref) => ref.destroy());
|
|
52
|
-
executeState.effectRefs.length = 0;
|
|
53
|
-
};
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktZXhlY3V0ZS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcXVlcnkvc3JjL2xpYi9leHBlcmltZW50YWwvcXVlcnktZXhlY3V0ZS11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWEscUJBQXFCLEVBQUUsTUFBTSxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUN6RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBUzNDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQTBCLE9BQXdDLEVBQUUsRUFBRTtJQUNyRyxNQUFNLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUM7SUFDdkQsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQztJQUV2QixzQkFBc0IsQ0FBQyxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUUvRCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRXJGLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JCLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RCLEtBQUssQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hCLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pCLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDckMsQ0FBQyxDQUFDO0FBT0YsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsR0FBc0IsRUFBRTtJQUM1RCxPQUFPO1FBQ0wsVUFBVSxFQUFFLEVBQUU7UUFDZCxXQUFXLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQztLQUMzQixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBY0YsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQTBCLE9BQW1DLEVBQUUsRUFBRTtJQUMzRixNQUFNLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUNqRixNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLEdBQUcsY0FBYyxDQUFDO0lBRS9FLE1BQU0sRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO1FBQ3RELEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSztRQUNwQixNQUFNLEVBQUUsZ0JBQWdCLENBQUMsTUFBTTtRQUMvQixJQUFJO1FBQ0osYUFBYSxFQUFFO1lBQ2IsY0FBYyxFQUFFLE9BQU8sQ0FBQyxjQUFjO1lBQ3RDLGVBQWUsRUFBRSxPQUFPLENBQUMsZUFBZTtZQUN4QyxhQUFhLEVBQUUsT0FBTyxDQUFDLGFBQWE7WUFDcEMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZO1NBQ25DO1FBQ0QsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1FBQzNCLEdBQUcsRUFBRSxXQUFXLENBQUMsR0FBRztRQUNwQixXQUFXLEVBQUUsWUFBWSxDQUFDLFdBQVcsRUFBRTtRQUN2QyxlQUFlO0tBQ2hCLENBQUMsQ0FBQztJQUVILFlBQVksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRWxDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFO1FBQ3hDLE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNqRSxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUQsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hELE1BQU0sa0JBQWtCLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRW5GLFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDdEYsQ0FBQyxDQUFDLENBQUM7SUFFSCxLQUFLLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0FBQzNDLENBQUMsQ0FBQztBQU9GLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLENBQTBCLE9BQTZDLEVBQUUsRUFBRTtJQUMvRyxNQUFNLEVBQUUsWUFBWSxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBRWpDLFlBQVksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN4RCxZQUFZLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFDckMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWZmZWN0UmVmLCBydW5JbkluamVjdGlvbkNvbnRleHQsIHNpZ25hbCwgV3JpdGFibGVTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHN5bmNTaWduYWwgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IFF1ZXJ5QXJncywgUmVxdWVzdEFyZ3MgfSBmcm9tICcuL3F1ZXJ5JztcbmltcG9ydCB7IENyZWF0ZVF1ZXJ5RXhlY3V0ZU9wdGlvbnMgfSBmcm9tICcuL3F1ZXJ5LWV4ZWN1dGUnO1xuXG5leHBvcnQgdHlwZSBSZXNldEV4ZWN1dGVTdGF0ZU9wdGlvbnM8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+ID0ge1xuICBleGVjdXRlT3B0aW9uczogQ3JlYXRlUXVlcnlFeGVjdXRlT3B0aW9uczxUQXJncz47XG4gIGV4ZWN1dGVTdGF0ZTogUXVlcnlFeGVjdXRlU3RhdGU7XG59O1xuXG5leHBvcnQgY29uc3QgcmVzZXRFeGVjdXRlU3RhdGUgPSA8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+KG9wdGlvbnM6IFJlc2V0RXhlY3V0ZVN0YXRlT3B0aW9uczxUQXJncz4pID0+IHtcbiAgY29uc3QgeyBleGVjdXRlU3RhdGUsIGV4ZWN1dGVPcHRpb25zOiBvcHRzIH0gPSBvcHRpb25zO1xuICBjb25zdCB7IHN0YXRlIH0gPSBvcHRzO1xuXG4gIGNsZWFudXBQcmV2aW91c0V4ZWN1dGUoeyBleGVjdXRlT3B0aW9uczogb3B0cywgZXhlY3V0ZVN0YXRlIH0pO1xuXG4gIG9wdHMuZGVwcy5jbGllbnQucmVwb3NpdG9yeS51bmJpbmQoZXhlY3V0ZVN0YXRlLnByZXZpb3VzS2V5KCksIG9wdHMuZGVwcy5kZXN0cm95UmVmKTtcblxuICBzdGF0ZS5hcmdzLnNldChudWxsKTtcbiAgc3RhdGUuZXJyb3Iuc2V0KG51bGwpO1xuICBzdGF0ZS5sYXRlc3RIdHRwRXZlbnQuc2V0KG51bGwpO1xuICBzdGF0ZS5sb2FkaW5nLnNldChudWxsKTtcbiAgc3RhdGUucmVzcG9uc2Uuc2V0KG51bGwpO1xuICBzdGF0ZS5sYXN0VGltZUV4ZWN1dGVkQXQuc2V0KG51bGwpO1xufTtcblxuZXhwb3J0IHR5cGUgUXVlcnlFeGVjdXRlU3RhdGUgPSB7XG4gIGVmZmVjdFJlZnM6IEVmZmVjdFJlZltdO1xuICBwcmV2aW91c0tleTogV3JpdGFibGVTaWduYWw8c3RyaW5nIHwgZmFsc2U+O1xufTtcblxuZXhwb3J0IGNvbnN0IHNldHVwUXVlcnlFeGVjdXRlU3RhdGUgPSAoKTogUXVlcnlFeGVjdXRlU3RhdGUgPT4ge1xuICByZXR1cm4ge1xuICAgIGVmZmVjdFJlZnM6IFtdLFxuICAgIHByZXZpb3VzS2V5OiBzaWduYWwoZmFsc2UpLFxuICB9O1xufTtcblxuZXhwb3J0IHR5cGUgUnVuUXVlcnlFeGVjdXRlT3B0aW9ucyA9IHtcbiAgc2tpcENhY2hlPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIFF1ZXJ5RXhlY3V0ZU9wdGlvbnM8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+ID0ge1xuICBleGVjdXRlT3B0aW9uczogQ3JlYXRlUXVlcnlFeGVjdXRlT3B0aW9uczxUQXJncz47XG4gIGV4ZWN1dGVTdGF0ZTogUXVlcnlFeGVjdXRlU3RhdGU7XG5cbiAgYXJnczogUmVxdWVzdEFyZ3M8VEFyZ3M+IHwgbnVsbDtcbiAgb3B0aW9ucz86IFJ1blF1ZXJ5RXhlY3V0ZU9wdGlvbnM7XG59O1xuXG5leHBvcnQgY29uc3QgcXVlcnlFeGVjdXRlID0gPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPihvcHRpb25zOiBRdWVyeUV4ZWN1dGVPcHRpb25zPFRBcmdzPikgPT4ge1xuICBjb25zdCB7IGV4ZWN1dGVPcHRpb25zLCBhcmdzLCBleGVjdXRlU3RhdGUsIG9wdGlvbnM6IHJ1blF1ZXJ5T3B0aW9ucyB9ID0gb3B0aW9ucztcbiAgY29uc3QgeyBkZXBzLCBzdGF0ZSwgY3JlYXRvciwgY3JlYXRvckludGVybmFscywgcXVlcnlDb25maWcgfSA9IGV4ZWN1dGVPcHRpb25zO1xuXG4gIGNvbnN0IHsga2V5LCByZXF1ZXN0IH0gPSBkZXBzLmNsaWVudC5yZXBvc2l0b3J5LnJlcXVlc3Qoe1xuICAgIHJvdXRlOiBjcmVhdG9yLnJvdXRlLFxuICAgIG1ldGhvZDogY3JlYXRvckludGVybmFscy5tZXRob2QsXG4gICAgYXJncyxcbiAgICBjbGllbnRPcHRpb25zOiB7XG4gICAgICByZXBvcnRQcm9ncmVzczogY3JlYXRvci5yZXBvcnRQcm9ncmVzcyxcbiAgICAgIHdpdGhDcmVkZW50aWFsczogY3JlYXRvci53aXRoQ3JlZGVudGlhbHMsXG4gICAgICB0cmFuc2ZlckNhY2hlOiBjcmVhdG9yLnRyYW5zZmVyQ2FjaGUsXG4gICAgICByZXNwb25zZVR5cGU6IGNyZWF0b3IucmVzcG9uc2VUeXBlLFxuICAgIH0sXG4gICAgZGVzdHJveVJlZjogZGVwcy5kZXN0cm95UmVmLFxuICAgIGtleTogcXVlcnlDb25maWcua2V5LFxuICAgIHByZXZpb3VzS2V5OiBleGVjdXRlU3RhdGUucHJldmlvdXNLZXkoKSxcbiAgICBydW5RdWVyeU9wdGlvbnMsXG4gIH0pO1xuXG4gIGV4ZWN1dGVTdGF0ZS5wcmV2aW91c0tleS5zZXQoa2V5KTtcblxuICBydW5JbkluamVjdGlvbkNvbnRleHQoZGVwcy5pbmplY3RvciwgKCkgPT4ge1xuICAgIGNvbnN0IHJlc3BvbnNlUmVmID0gc3luY1NpZ25hbChyZXF1ZXN0LnJlc3BvbnNlLCBzdGF0ZS5yZXNwb25zZSk7XG4gICAgY29uc3QgbG9hZGluZ1JlZiA9IHN5bmNTaWduYWwocmVxdWVzdC5sb2FkaW5nLCBzdGF0ZS5sb2FkaW5nKTtcbiAgICBjb25zdCBlcnJvclJlZiA9IHN5bmNTaWduYWwocmVxdWVzdC5lcnJvciwgc3RhdGUuZXJyb3IpO1xuICAgIGNvbnN0IGxhdGVzdEh0dHBFdmVudFJlZiA9IHN5bmNTaWduYWwocmVxdWVzdC5jdXJyZW50RXZlbnQsIHN0YXRlLmxhdGVzdEh0dHBFdmVudCk7XG5cbiAgICBleGVjdXRlU3RhdGUuZWZmZWN0UmVmcy5wdXNoKHJlc3BvbnNlUmVmLCBsb2FkaW5nUmVmLCBlcnJvclJlZiwgbGF0ZXN0SHR0cEV2ZW50UmVmKTtcbiAgfSk7XG5cbiAgc3RhdGUubGFzdFRpbWVFeGVjdXRlZEF0LnNldChEYXRlLm5vdygpKTtcbn07XG5cbmV4cG9ydCB0eXBlIENsZWFudXBQcmV2aW91c0V4ZWN1dGVPcHRpb25zPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPiA9IHtcbiAgZXhlY3V0ZU9wdGlvbnM6IENyZWF0ZVF1ZXJ5RXhlY3V0ZU9wdGlvbnM8VEFyZ3M+O1xuICBleGVjdXRlU3RhdGU6IFF1ZXJ5RXhlY3V0ZVN0YXRlO1xufTtcblxuZXhwb3J0IGNvbnN0IGNsZWFudXBQcmV2aW91c0V4ZWN1dGUgPSA8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+KG9wdGlvbnM6IENsZWFudXBQcmV2aW91c0V4ZWN1dGVPcHRpb25zPFRBcmdzPikgPT4ge1xuICBjb25zdCB7IGV4ZWN1dGVTdGF0ZSB9ID0gb3B0aW9ucztcblxuICBleGVjdXRlU3RhdGUuZWZmZWN0UmVmcy5mb3JFYWNoKChyZWYpID0+IHJlZi5kZXN0cm95KCkpO1xuICBleGVjdXRlU3RhdGUuZWZmZWN0UmVmcy5sZW5ndGggPSAwO1xufTtcbiJdfQ==
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { cleanupPreviousExecute, queryExecute, resetExecuteState, setupQueryExecuteState, } from './query-execute-utils';
|
|
2
|
-
export const createExecuteFn = (executeOptions) => {
|
|
3
|
-
const executeState = setupQueryExecuteState();
|
|
4
|
-
const reset = () => resetExecuteState({ executeState, executeOptions });
|
|
5
|
-
const exec = (executeArgs) => {
|
|
6
|
-
const { args = executeOptions.state.args(), options } = executeArgs ?? {};
|
|
7
|
-
cleanupPreviousExecute({ executeOptions, executeState });
|
|
8
|
-
queryExecute({ executeOptions, executeState, args, options });
|
|
9
|
-
};
|
|
10
|
-
exec['reset'] = reset;
|
|
11
|
-
exec['currentRepositoryKey'] = executeState.previousKey.asReadonly();
|
|
12
|
-
return exec;
|
|
13
|
-
};
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktZXhlY3V0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcXVlcnkvc3JjL2xpYi9leHBlcmltZW50YWwvcXVlcnktZXhlY3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLFlBQVksRUFDWixpQkFBaUIsRUFFakIsc0JBQXNCLEdBQ3ZCLE1BQU0sdUJBQXVCLENBQUM7QUFzQi9CLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUM3QixjQUFnRCxFQUMzQixFQUFFO0lBQ3ZCLE1BQU0sWUFBWSxHQUFHLHNCQUFzQixFQUFFLENBQUM7SUFFOUMsTUFBTSxLQUFLLEdBQUcsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUMsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUV4RSxNQUFNLElBQUksR0FBRyxDQUFDLFdBQXFDLEVBQUUsRUFBRTtRQUNyRCxNQUFNLEVBQUUsSUFBSSxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLEdBQUcsV0FBVyxJQUFJLEVBQUUsQ0FBQztRQUMxRSxzQkFBc0IsQ0FBQyxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELFlBQVksQ0FBQyxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDaEUsQ0FBQyxDQUFDO0lBRUYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUV0QixJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxZQUFZLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBRXJFLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBRdWVyeUFyZ3MsIFJlcXVlc3RBcmdzIH0gZnJvbSAnLi9xdWVyeSc7XG5pbXBvcnQgeyBDcmVhdGVRdWVyeUNyZWF0b3JPcHRpb25zLCBJbnRlcm5hbENyZWF0ZVF1ZXJ5Q3JlYXRvck9wdGlvbnMsIFF1ZXJ5Q29uZmlnIH0gZnJvbSAnLi9xdWVyeS1jcmVhdG9yJztcbmltcG9ydCB7IFF1ZXJ5RGVwZW5kZW5jaWVzIH0gZnJvbSAnLi9xdWVyeS1kZXBlbmRlbmNpZXMnO1xuaW1wb3J0IHtcbiAgY2xlYW51cFByZXZpb3VzRXhlY3V0ZSxcbiAgcXVlcnlFeGVjdXRlLFxuICByZXNldEV4ZWN1dGVTdGF0ZSxcbiAgUnVuUXVlcnlFeGVjdXRlT3B0aW9ucyxcbiAgc2V0dXBRdWVyeUV4ZWN1dGVTdGF0ZSxcbn0gZnJvbSAnLi9xdWVyeS1leGVjdXRlLXV0aWxzJztcbmltcG9ydCB7IFF1ZXJ5U3RhdGUgfSBmcm9tICcuL3F1ZXJ5LXN0YXRlJztcblxuZXhwb3J0IHR5cGUgQ3JlYXRlUXVlcnlFeGVjdXRlT3B0aW9uczxUQXJncyBleHRlbmRzIFF1ZXJ5QXJncz4gPSB7XG4gIGRlcHM6IFF1ZXJ5RGVwZW5kZW5jaWVzO1xuICBzdGF0ZTogUXVlcnlTdGF0ZTxUQXJncz47XG4gIGNyZWF0b3I6IENyZWF0ZVF1ZXJ5Q3JlYXRvck9wdGlvbnM8VEFyZ3M+O1xuICBjcmVhdG9ySW50ZXJuYWxzOiBJbnRlcm5hbENyZWF0ZVF1ZXJ5Q3JlYXRvck9wdGlvbnM7XG4gIHF1ZXJ5Q29uZmlnOiBRdWVyeUNvbmZpZztcbn07XG5cbmV4cG9ydCB0eXBlIFF1ZXJ5RXhlY3V0ZUFyZ3M8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+ID0ge1xuICBhcmdzPzogUmVxdWVzdEFyZ3M8VEFyZ3M+IHwgbnVsbDtcbiAgb3B0aW9ucz86IFJ1blF1ZXJ5RXhlY3V0ZU9wdGlvbnM7XG59O1xuXG5leHBvcnQgdHlwZSBRdWVyeUV4ZWN1dGU8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+ID0ge1xuICAoZXhlY3V0ZUFyZ3M/OiBRdWVyeUV4ZWN1dGVBcmdzPFRBcmdzPik6IHZvaWQ7XG4gIHJlc2V0OiAoKSA9PiB2b2lkO1xuICBjdXJyZW50UmVwb3NpdG9yeUtleTogU2lnbmFsPHN0cmluZyB8IGZhbHNlPjtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVFeGVjdXRlRm4gPSA8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+KFxuICBleGVjdXRlT3B0aW9uczogQ3JlYXRlUXVlcnlFeGVjdXRlT3B0aW9uczxUQXJncz4sXG4pOiBRdWVyeUV4ZWN1dGU8VEFyZ3M+ID0+IHtcbiAgY29uc3QgZXhlY3V0ZVN0YXRlID0gc2V0dXBRdWVyeUV4ZWN1dGVTdGF0ZSgpO1xuXG4gIGNvbnN0IHJlc2V0ID0gKCkgPT4gcmVzZXRFeGVjdXRlU3RhdGUoeyBleGVjdXRlU3RhdGUsIGV4ZWN1dGVPcHRpb25zIH0pO1xuXG4gIGNvbnN0IGV4ZWMgPSAoZXhlY3V0ZUFyZ3M/OiBRdWVyeUV4ZWN1dGVBcmdzPFRBcmdzPikgPT4ge1xuICAgIGNvbnN0IHsgYXJncyA9IGV4ZWN1dGVPcHRpb25zLnN0YXRlLmFyZ3MoKSwgb3B0aW9ucyB9ID0gZXhlY3V0ZUFyZ3MgPz8ge307XG4gICAgY2xlYW51cFByZXZpb3VzRXhlY3V0ZSh7IGV4ZWN1dGVPcHRpb25zLCBleGVjdXRlU3RhdGUgfSk7XG4gICAgcXVlcnlFeGVjdXRlKHsgZXhlY3V0ZU9wdGlvbnMsIGV4ZWN1dGVTdGF0ZSwgYXJncywgb3B0aW9ucyB9KTtcbiAgfTtcblxuICBleGVjWydyZXNldCddID0gcmVzZXQ7XG5cbiAgZXhlY1snY3VycmVudFJlcG9zaXRvcnlLZXknXSA9IGV4ZWN1dGVTdGF0ZS5wcmV2aW91c0tleS5hc1JlYWRvbmx5KCk7XG5cbiAgcmV0dXJuIGV4ZWM7XG59O1xuIl19
|