ng-qubee 1.0.9 → 2.0.2
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/README.md +90 -67
- package/esm2022/lib/enums/sort.enum.mjs +6 -0
- package/esm2022/lib/errors/key-not-found.error.mjs +6 -0
- package/esm2022/lib/errors/unselectable-model.error.mjs +6 -0
- package/esm2022/lib/interfaces/config.interface.mjs +2 -0
- package/esm2022/lib/interfaces/fields.interface.mjs +2 -0
- package/esm2022/lib/interfaces/filters.interface.mjs +2 -0
- package/esm2022/lib/interfaces/normalized.interface.mjs +2 -0
- package/esm2022/lib/interfaces/paginated-object.interface.mjs +2 -0
- package/esm2022/lib/interfaces/pagination-config.interface.mjs +2 -0
- package/esm2022/lib/interfaces/query-builder-config.interface.mjs +2 -0
- package/esm2022/lib/interfaces/query-builder-state.interface.mjs +2 -0
- package/esm2022/lib/interfaces/sort.interface.mjs +2 -0
- package/esm2022/lib/models/paginated-collection.mjs +47 -0
- package/esm2022/lib/models/query-builder-options.mjs +12 -0
- package/esm2022/lib/models/response-options.mjs +17 -0
- package/esm2022/lib/ng-qubee.module.mjs +42 -0
- package/esm2022/lib/provide-ngqubee.mjs +39 -0
- package/esm2022/lib/services/nest.service.mjs +173 -0
- package/esm2022/lib/services/ng-qubee.service.mjs +319 -0
- package/esm2022/lib/services/pagination.service.mjs +23 -0
- package/esm2022/ng-qubee.mjs +5 -0
- package/esm2022/public-api.mjs +9 -0
- package/fesm2022/ng-qubee.mjs +678 -0
- package/fesm2022/ng-qubee.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/interfaces/normalized.interface.d.ts +3 -0
- package/lib/interfaces/paginated-object.interface.d.ts +3 -0
- package/lib/interfaces/query-builder-state.interface.d.ts +1 -2
- package/lib/interfaces/sort.interface.d.ts +2 -1
- package/lib/models/paginated-collection.d.ts +18 -16
- package/lib/ng-qubee.module.d.ts +4 -1
- package/lib/provide-ngqubee.d.ts +21 -0
- package/lib/services/nest.service.d.ts +81 -0
- package/lib/{ng-qubee.service.d.ts → services/ng-qubee.service.d.ts} +30 -8
- package/lib/services/pagination.service.d.ts +5 -1
- package/package.json +20 -18
- package/public-api.d.ts +3 -2
- package/bundles/ng-qubee.umd.js +0 -909
- package/bundles/ng-qubee.umd.js.map +0 -1
- package/bundles/ng-qubee.umd.min.js +0 -16
- package/bundles/ng-qubee.umd.min.js.map +0 -1
- package/esm2015/lib/actions/query-builder.actions.js +0 -17
- package/esm2015/lib/enums/sort.enum.js +0 -6
- package/esm2015/lib/errors/key-not-found.error.js +0 -6
- package/esm2015/lib/errors/unselectable-model.error.js +0 -6
- package/esm2015/lib/interfaces/config.interface.js +0 -2
- package/esm2015/lib/interfaces/fields.interface.js +0 -2
- package/esm2015/lib/interfaces/filters.interface.js +0 -2
- package/esm2015/lib/interfaces/nest-state.interface.js +0 -2
- package/esm2015/lib/interfaces/pagination-config.interface.js +0 -2
- package/esm2015/lib/interfaces/query-builder-config.interface.js +0 -2
- package/esm2015/lib/interfaces/query-builder-state.interface.js +0 -2
- package/esm2015/lib/interfaces/sort.interface.js +0 -2
- package/esm2015/lib/models/paginated-collection.js +0 -45
- package/esm2015/lib/models/query-builder-options.js +0 -12
- package/esm2015/lib/models/response-options.js +0 -17
- package/esm2015/lib/ng-qubee.module.js +0 -33
- package/esm2015/lib/ng-qubee.service.js +0 -280
- package/esm2015/lib/reducers/query-builder.reducer.js +0 -51
- package/esm2015/lib/services/pagination.service.js +0 -18
- package/esm2015/lib/services/store.service.js +0 -26
- package/esm2015/ng-qubee.js +0 -6
- package/esm2015/public-api.js +0 -8
- package/fesm2015/ng-qubee.js +0 -508
- package/fesm2015/ng-qubee.js.map +0 -1
- package/lib/actions/query-builder.actions.d.ts +0 -43
- package/lib/interfaces/nest-state.interface.d.ts +0 -4
- package/lib/reducers/query-builder.reducer.d.ts +0 -2
- package/lib/services/store.service.d.ts +0 -9
- package/ng-qubee.d.ts +0 -7
- package/ng-qubee.metadata.json +0 -1
|
@@ -1,280 +0,0 @@
|
|
|
1
|
-
import { Inject, Injectable, Optional } from '@angular/core';
|
|
2
|
-
import * as qs from 'qs';
|
|
3
|
-
import { QueryBuilderOptions } from './models/query-builder-options';
|
|
4
|
-
import { UnselectableModelError } from './errors/unselectable-model.error';
|
|
5
|
-
import { SortEnum } from './enums/sort.enum';
|
|
6
|
-
import * as qbActions from './actions/query-builder.actions';
|
|
7
|
-
import { BehaviorSubject } from 'rxjs';
|
|
8
|
-
import { filter } from 'rxjs/operators';
|
|
9
|
-
import { StoreService } from './services/store.service';
|
|
10
|
-
export class NgQubeeService {
|
|
11
|
-
constructor(_store, options = {}) {
|
|
12
|
-
this._store = _store;
|
|
13
|
-
/**
|
|
14
|
-
* This property serves as an accumulator for holding the composed string with each query param
|
|
15
|
-
*/
|
|
16
|
-
this._uri = '';
|
|
17
|
-
this._uri$ = new BehaviorSubject('');
|
|
18
|
-
this.uri$ = this._uri$.asObservable().pipe(filter(uri => !!uri));
|
|
19
|
-
this._options = new QueryBuilderOptions(options);
|
|
20
|
-
this._store.subscribe(() => {
|
|
21
|
-
this._uri$.next(this._store.state.nest.uri);
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
_parseFields(s) {
|
|
25
|
-
if (!Object.keys(s.fields).length) {
|
|
26
|
-
return this._uri;
|
|
27
|
-
}
|
|
28
|
-
if (!s.model) {
|
|
29
|
-
throw new Error('While selecting fields, the -> model <- is required');
|
|
30
|
-
}
|
|
31
|
-
if (!(s.model in s.fields)) {
|
|
32
|
-
throw new Error(`Key ${s.model} is missing in the fields object`);
|
|
33
|
-
}
|
|
34
|
-
const f = {};
|
|
35
|
-
for (const k in s.fields) {
|
|
36
|
-
if (s.fields.hasOwnProperty(k)) {
|
|
37
|
-
// Check if the key is the model or is declared in "includes".
|
|
38
|
-
// If not, it means that has not been selected anywhere and that will cause an error on the API
|
|
39
|
-
if (k !== s.model && !s.includes.includes(k)) {
|
|
40
|
-
throw new UnselectableModelError(k);
|
|
41
|
-
}
|
|
42
|
-
Object.assign(f, { [`${this._options.fields}[${k}]`]: s.fields[k].join(',') });
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
const param = `${this._prepend(s.model)}${qs.stringify(f, { encode: false })}`;
|
|
46
|
-
this._uri += param;
|
|
47
|
-
return param;
|
|
48
|
-
}
|
|
49
|
-
_parseFilters(s) {
|
|
50
|
-
const keys = Object.keys(s.filters);
|
|
51
|
-
if (!keys.length) {
|
|
52
|
-
return this._uri;
|
|
53
|
-
}
|
|
54
|
-
const f = {
|
|
55
|
-
[this._options.filters]: keys.reduce((acc, key) => {
|
|
56
|
-
return Object.assign(acc, { [key]: s.filters[key].join(',') });
|
|
57
|
-
}, {})
|
|
58
|
-
};
|
|
59
|
-
const param = `${this._prepend(s.model)}${qs.stringify(f, { encode: false })}`;
|
|
60
|
-
this._uri += param;
|
|
61
|
-
return param;
|
|
62
|
-
}
|
|
63
|
-
_parseIncludes(s) {
|
|
64
|
-
if (!s.includes.length) {
|
|
65
|
-
return this._uri;
|
|
66
|
-
}
|
|
67
|
-
const param = `${this._prepend(s.model)}${this._options.includes}=${s.includes}`;
|
|
68
|
-
this._uri += param;
|
|
69
|
-
return param;
|
|
70
|
-
}
|
|
71
|
-
_parseLimit(s) {
|
|
72
|
-
const param = `${this._prepend(s.model)}${this._options.limit}=${s.limit}`;
|
|
73
|
-
this._uri += param;
|
|
74
|
-
return param;
|
|
75
|
-
}
|
|
76
|
-
_parsePage(s) {
|
|
77
|
-
const param = `${this._prepend(s.model)}${this._options.page}=${s.page}`;
|
|
78
|
-
this._uri += param;
|
|
79
|
-
return param;
|
|
80
|
-
}
|
|
81
|
-
_parseSort(s) {
|
|
82
|
-
let param = '';
|
|
83
|
-
const fields = Object.keys(s.sort);
|
|
84
|
-
if (!fields.length) {
|
|
85
|
-
return param;
|
|
86
|
-
}
|
|
87
|
-
param = `${this._prepend(s.model)}${this._options.sort}=`;
|
|
88
|
-
fields.forEach((field, idx) => {
|
|
89
|
-
param += `${s.sort[field] === SortEnum.DESC ? '-' : ''}${field}`;
|
|
90
|
-
if (idx < fields.length - 1) {
|
|
91
|
-
param += ',';
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
this._uri += param;
|
|
95
|
-
return param;
|
|
96
|
-
}
|
|
97
|
-
_parse(s) {
|
|
98
|
-
if (!s.model) {
|
|
99
|
-
throw new Error('Set the model property BEFORE adding filters or calling the url() / get() methods');
|
|
100
|
-
}
|
|
101
|
-
this._parseIncludes(s);
|
|
102
|
-
this._parseFields(s);
|
|
103
|
-
this._parseFilters(s);
|
|
104
|
-
this._parseLimit(s);
|
|
105
|
-
this._parsePage(s);
|
|
106
|
-
this._parseSort(s);
|
|
107
|
-
this._store.dispatch(qbActions.updateUri({ uri: this._uri }));
|
|
108
|
-
}
|
|
109
|
-
_prepend(model) {
|
|
110
|
-
return this._uri ? '&' : `/${model}?`;
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* Add fields to the select statement for the given model
|
|
114
|
-
*
|
|
115
|
-
* @param model Model that holds the fields
|
|
116
|
-
* @param fields Fields to select
|
|
117
|
-
* @returns {this}
|
|
118
|
-
*/
|
|
119
|
-
addFields(model, fields) {
|
|
120
|
-
this._store.dispatch(qbActions.addFields({
|
|
121
|
-
fields: {
|
|
122
|
-
[model]: fields
|
|
123
|
-
}
|
|
124
|
-
}));
|
|
125
|
-
return this;
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Add a filter with the given value(s)
|
|
129
|
-
* I.e. filter[field]=1 or filter[field]=1,2,3
|
|
130
|
-
*
|
|
131
|
-
* @param {string} field Name of the field to filter
|
|
132
|
-
* @param {string[]} value The needle(s)
|
|
133
|
-
* @returns {this}
|
|
134
|
-
*/
|
|
135
|
-
addFilter(field, ...values) {
|
|
136
|
-
this._store.dispatch(qbActions.addFilters({
|
|
137
|
-
filters: {
|
|
138
|
-
[field]: values
|
|
139
|
-
}
|
|
140
|
-
}));
|
|
141
|
-
return this;
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Add related entities to include in the request
|
|
145
|
-
*
|
|
146
|
-
* @param {string[]} models
|
|
147
|
-
* @returns
|
|
148
|
-
*/
|
|
149
|
-
addIncludes(...models) {
|
|
150
|
-
this._store.dispatch(qbActions.addIncludes({
|
|
151
|
-
includes: models
|
|
152
|
-
}));
|
|
153
|
-
return this;
|
|
154
|
-
}
|
|
155
|
-
/**
|
|
156
|
-
* Add a field with a sort criteria
|
|
157
|
-
*
|
|
158
|
-
* @param field Field to use for sorting
|
|
159
|
-
* @param {SortEnum} value A value from the SortEnum enumeration
|
|
160
|
-
* @returns {this}
|
|
161
|
-
*/
|
|
162
|
-
addSort(field, value) {
|
|
163
|
-
this._store.dispatch(qbActions.addSorts({
|
|
164
|
-
sorts: {
|
|
165
|
-
[field]: value
|
|
166
|
-
}
|
|
167
|
-
}));
|
|
168
|
-
return this;
|
|
169
|
-
}
|
|
170
|
-
/**
|
|
171
|
-
* Delete selected fields for the given model in the current query builder state
|
|
172
|
-
*
|
|
173
|
-
* @param model Model that holds the fields
|
|
174
|
-
* @param {string[]} fields Fields to delete from the state
|
|
175
|
-
* @returns {this}
|
|
176
|
-
*/
|
|
177
|
-
deleteFields(model, ...fields) {
|
|
178
|
-
this._store.dispatch(qbActions.deleteFields({ fields }));
|
|
179
|
-
return this;
|
|
180
|
-
}
|
|
181
|
-
/**
|
|
182
|
-
* Remove given filters from the query builder state
|
|
183
|
-
*
|
|
184
|
-
* @param {string[]} filters Filters to remove
|
|
185
|
-
* @returns {this}
|
|
186
|
-
*/
|
|
187
|
-
deleteFilters(...filters) {
|
|
188
|
-
this._store.dispatch(qbActions.deleteFilters({ filters }));
|
|
189
|
-
return this;
|
|
190
|
-
}
|
|
191
|
-
/**
|
|
192
|
-
* Remove selected related models from the query builder state
|
|
193
|
-
*
|
|
194
|
-
* @param {string[]} includes Models to remove
|
|
195
|
-
* @returns
|
|
196
|
-
*/
|
|
197
|
-
deleteIncludes(...includes) {
|
|
198
|
-
this._store.dispatch(qbActions.deleteIncludes({ includes }));
|
|
199
|
-
return this;
|
|
200
|
-
}
|
|
201
|
-
/**
|
|
202
|
-
* Remove sorts rules from the query builder state
|
|
203
|
-
*
|
|
204
|
-
* @param sorts Fields used for sorting to remove
|
|
205
|
-
* @returns {this}
|
|
206
|
-
*/
|
|
207
|
-
deleteSorts(...sorts) {
|
|
208
|
-
this._store.dispatch(qbActions.deleteSorts({ sorts }));
|
|
209
|
-
return this;
|
|
210
|
-
}
|
|
211
|
-
/**
|
|
212
|
-
* Generate an URI accordingly to the given data
|
|
213
|
-
*
|
|
214
|
-
* @returns {Observable<string>} An observable that emits the generated uri
|
|
215
|
-
*/
|
|
216
|
-
generateUri() {
|
|
217
|
-
// Cleanup the previously generated URI
|
|
218
|
-
this._uri = '';
|
|
219
|
-
this._parse(this._store.state.nest);
|
|
220
|
-
return this.uri$;
|
|
221
|
-
}
|
|
222
|
-
/**
|
|
223
|
-
* Clear the current state and reset the Query Builder to a fresh, clean condition
|
|
224
|
-
*
|
|
225
|
-
* @returns {this}
|
|
226
|
-
*/
|
|
227
|
-
reset() {
|
|
228
|
-
this._store.dispatch(qbActions.reset());
|
|
229
|
-
return this;
|
|
230
|
-
}
|
|
231
|
-
/**
|
|
232
|
-
* Set the base url to use for composing the address
|
|
233
|
-
*
|
|
234
|
-
* @param {string} baseUrl
|
|
235
|
-
* @returns {this}
|
|
236
|
-
*/
|
|
237
|
-
setBaseUrl(baseUrl) {
|
|
238
|
-
this._store.dispatch(qbActions.setBaseUrl({ baseUrl }));
|
|
239
|
-
return this;
|
|
240
|
-
}
|
|
241
|
-
/**
|
|
242
|
-
* Set the items per page number
|
|
243
|
-
*
|
|
244
|
-
* @param limit
|
|
245
|
-
* @returns {this}
|
|
246
|
-
*/
|
|
247
|
-
setLimit(limit) {
|
|
248
|
-
this._store.dispatch(qbActions.setLimit({ limit }));
|
|
249
|
-
return this;
|
|
250
|
-
}
|
|
251
|
-
/**
|
|
252
|
-
* Set the model to use for running the query against
|
|
253
|
-
* - I.e. the model "users" will return /users
|
|
254
|
-
*
|
|
255
|
-
* @param {string} model Model name
|
|
256
|
-
* @returns {this}
|
|
257
|
-
*/
|
|
258
|
-
setModel(model) {
|
|
259
|
-
this._store.dispatch(qbActions.setModel({ model }));
|
|
260
|
-
return this;
|
|
261
|
-
}
|
|
262
|
-
/**
|
|
263
|
-
* Set the page that the backend will use to paginate the result set
|
|
264
|
-
*
|
|
265
|
-
* @param page Page param
|
|
266
|
-
* @returns {this}
|
|
267
|
-
*/
|
|
268
|
-
setPage(page) {
|
|
269
|
-
this._store.dispatch(qbActions.setPage({ page }));
|
|
270
|
-
return this;
|
|
271
|
-
}
|
|
272
|
-
}
|
|
273
|
-
NgQubeeService.decorators = [
|
|
274
|
-
{ type: Injectable }
|
|
275
|
-
];
|
|
276
|
-
NgQubeeService.ctorParameters = () => [
|
|
277
|
-
{ type: StoreService },
|
|
278
|
-
{ type: undefined, decorators: [{ type: Inject, args: ['QUERY_PARAMS_CONFIG',] }, { type: Optional }] }
|
|
279
|
-
];
|
|
280
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctcXViZWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItcXVlcnktYnVpbGRlci9zcmMvbGliL25nLXF1YmVlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ3pCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3QyxPQUFPLEtBQUssU0FBUyxNQUFNLGlDQUFpQyxDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBUSxNQUFNLGdCQUFnQixDQUFDO0FBRTlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUd4RCxNQUFNLE9BQU8sY0FBYztJQWV6QixZQUFvQixNQUFvQixFQUE2QyxVQUErQixFQUFFO1FBQWxHLFdBQU0sR0FBTixNQUFNLENBQWM7UUFYeEM7O1dBRUc7UUFDSyxTQUFJLEdBQUcsRUFBRSxDQUFDO1FBRVYsVUFBSyxHQUE0QixJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUUxRCxTQUFJLEdBQXVCLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUM5RCxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQ3JCLENBQUM7UUFHQSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QyxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFTyxZQUFZLENBQUMsQ0FBcUI7UUFDeEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRTtZQUNqQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDbEI7UUFFRCxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRTtZQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMscURBQXFELENBQUMsQ0FBQztTQUN4RTtRQUVELElBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFHO1lBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxrQ0FBa0MsQ0FBQyxDQUFDO1NBQ25FO1FBRUQsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBRWIsS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQzlCLDhEQUE4RDtnQkFDOUQsK0ZBQStGO2dCQUMvRixJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQzVDLE1BQU0sSUFBSSxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDckM7Z0JBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBQyxDQUFDLENBQUM7YUFDOUU7U0FDRjtRQUVELE1BQU0sS0FBSyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDLENBQUMsRUFBRSxDQUFDO1FBQzdFLElBQUksQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDO1FBRW5CLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLGFBQWEsQ0FBQyxDQUFxQjtRQUN6QyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVwQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNoQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDbEI7UUFFRCxNQUFNLENBQUMsR0FBRztZQUNOLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO2dCQUNoRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEVBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBQyxDQUFDLENBQUM7WUFDL0QsQ0FBQyxFQUFFLEVBQUUsQ0FBQztTQUNQLENBQUM7UUFDSixNQUFNLEtBQUssR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQyxDQUFDLEVBQUUsQ0FBQztRQUM3RSxJQUFJLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQztRQUVuQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTyxjQUFjLENBQUMsQ0FBcUI7UUFDMUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO1lBQ3RCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztTQUNsQjtRQUVELE1BQU0sS0FBSyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pGLElBQUksQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDO1FBRW5CLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLFdBQVcsQ0FBQyxDQUFxQjtRQUN2QyxNQUFNLEtBQUssR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMzRSxJQUFJLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQztRQUVuQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTyxVQUFVLENBQUMsQ0FBcUI7UUFDdEMsTUFBTSxLQUFLLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekUsSUFBSSxDQUFDLElBQUksSUFBSSxLQUFLLENBQUM7UUFFbkIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU8sVUFBVSxDQUFDLENBQXFCO1FBQ3RDLElBQUksS0FBSyxHQUFXLEVBQUUsQ0FBQztRQUN2QixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVuQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUNsQixPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsS0FBSyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsQ0FBQztRQUUxRCxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQzVCLEtBQUssSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUM7WUFFakUsSUFBSSxHQUFHLEdBQUcsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQzNCLEtBQUssSUFBSSxHQUFHLENBQUE7YUFDYjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLElBQUksSUFBSSxLQUFLLENBQUM7UUFFbkIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU8sTUFBTSxDQUFDLENBQXFCO1FBQ2xDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFO1lBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyxtRkFBbUYsQ0FBQyxDQUFDO1NBQ3RHO1FBRUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFTyxRQUFRLENBQUMsS0FBYTtRQUM1QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLEdBQUcsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksU0FBUyxDQUFDLEtBQWEsRUFBRSxNQUFnQjtRQUM5QyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDO1lBQ3ZDLE1BQU0sRUFBRTtnQkFDTixDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU07YUFDaEI7U0FDRixDQUFDLENBQUMsQ0FBQztRQUVKLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxTQUFTLENBQUMsS0FBYSxFQUFFLEdBQUcsTUFBcUM7UUFDdEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQztZQUN4QyxPQUFPLEVBQUU7Z0JBQ1AsQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNO2FBQ2hCO1NBQ0YsQ0FBQyxDQUFDLENBQUM7UUFFSixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLFdBQVcsQ0FBQyxHQUFHLE1BQWdCO1FBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUM7WUFDekMsUUFBUSxFQUFFLE1BQU07U0FDakIsQ0FBQyxDQUFDLENBQUM7UUFFSixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxPQUFPLENBQUMsS0FBYSxFQUFFLEtBQWU7UUFDM0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztZQUN0QyxLQUFLLEVBQUU7Z0JBQ0wsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLO2FBQ2Y7U0FDRixDQUFDLENBQUMsQ0FBQztRQUVKLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLFlBQVksQ0FBQyxLQUFhLEVBQUUsR0FBRyxNQUFnQjtRQUNyRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEVBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksYUFBYSxDQUFDLEdBQUcsT0FBaUI7UUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxFQUFDLE9BQU8sRUFBQyxDQUFDLENBQUMsQ0FBQztRQUN6RCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLGNBQWMsQ0FBQyxHQUFHLFFBQWtCO1FBQ3pDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsRUFBQyxRQUFRLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxXQUFXLENBQUMsR0FBRyxLQUFlO1FBQ25DLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLFdBQVc7UUFDakIsdUNBQXVDO1FBQ3ZDLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxLQUFLO1FBQ1YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDeEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxVQUFVLENBQUMsT0FBZTtRQUMvQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksUUFBUSxDQUFDLEtBQWE7UUFDM0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQztRQUNsRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxRQUFRLENBQUMsS0FBYTtRQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksT0FBTyxDQUFDLElBQVk7UUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFDLElBQUksRUFBQyxDQUFDLENBQUMsQ0FBQztRQUNoRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7OztZQTlURixVQUFVOzs7WUFGRixZQUFZOzRDQWtCd0IsTUFBTSxTQUFDLHFCQUFxQixjQUFHLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJUXVlcnlCdWlsZGVyQ29uZmlnIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3F1ZXJ5LWJ1aWxkZXItY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgKiBhcyBxcyBmcm9tICdxcyc7XG5pbXBvcnQgeyBRdWVyeUJ1aWxkZXJPcHRpb25zIH0gZnJvbSAnLi9tb2RlbHMvcXVlcnktYnVpbGRlci1vcHRpb25zJztcbmltcG9ydCB7IFVuc2VsZWN0YWJsZU1vZGVsRXJyb3IgfSBmcm9tICcuL2Vycm9ycy91bnNlbGVjdGFibGUtbW9kZWwuZXJyb3InO1xuaW1wb3J0IHsgU29ydEVudW0gfSBmcm9tICcuL2VudW1zL3NvcnQuZW51bSc7XG5pbXBvcnQgKiBhcyBxYkFjdGlvbnMgZnJvbSAnLi9hY3Rpb25zL3F1ZXJ5LWJ1aWxkZXIuYWN0aW9ucyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IElRdWVyeUJ1aWxkZXJTdGF0ZSB9IGZyb20gJy4vaW50ZXJmYWNlcy9xdWVyeS1idWlsZGVyLXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTdG9yZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3N0b3JlLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTmdRdWJlZVNlcnZpY2Uge1xuXG4gIHByaXZhdGUgX29wdGlvbnM6IFF1ZXJ5QnVpbGRlck9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIFRoaXMgcHJvcGVydHkgc2VydmVzIGFzIGFuIGFjY3VtdWxhdG9yIGZvciBob2xkaW5nIHRoZSBjb21wb3NlZCBzdHJpbmcgd2l0aCBlYWNoIHF1ZXJ5IHBhcmFtXG4gICAqL1xuICBwcml2YXRlIF91cmkgPSAnJztcblxuICBwcml2YXRlIF91cmkkOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoJycpO1xuXG4gIHB1YmxpYyB1cmkkOiBPYnNlcnZhYmxlPHN0cmluZz4gPSB0aGlzLl91cmkkLmFzT2JzZXJ2YWJsZSgpLnBpcGUoXG4gICAgZmlsdGVyKHVyaSA9PiAhIXVyaSlcbiAgKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9zdG9yZTogU3RvcmVTZXJ2aWNlLCBASW5qZWN0KCdRVUVSWV9QQVJBTVNfQ09ORklHJykgQE9wdGlvbmFsKCkgb3B0aW9uczogSVF1ZXJ5QnVpbGRlckNvbmZpZyA9IHt9KSB7XG4gICAgdGhpcy5fb3B0aW9ucyA9IG5ldyBRdWVyeUJ1aWxkZXJPcHRpb25zKG9wdGlvbnMpO1xuICAgIHRoaXMuX3N0b3JlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLl91cmkkLm5leHQodGhpcy5fc3RvcmUuc3RhdGUubmVzdC51cmkpO1xuICAgIH0pXG4gIH1cblxuICBwcml2YXRlIF9wYXJzZUZpZWxkcyhzOiBJUXVlcnlCdWlsZGVyU3RhdGUpOiBzdHJpbmcge1xuICAgIGlmICghT2JqZWN0LmtleXMocy5maWVsZHMpLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHRoaXMuX3VyaTtcbiAgICB9XG5cbiAgICBpZiAoIXMubW9kZWwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignV2hpbGUgc2VsZWN0aW5nIGZpZWxkcywgdGhlIC0+IG1vZGVsIDwtIGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuXG4gICAgaWYgKCAhKHMubW9kZWwgaW4gcy5maWVsZHMpICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBLZXkgJHtzLm1vZGVsfSBpcyBtaXNzaW5nIGluIHRoZSBmaWVsZHMgb2JqZWN0YCk7XG4gICAgfVxuXG4gICAgY29uc3QgZiA9IHt9O1xuXG4gICAgZm9yIChjb25zdCBrIGluIHMuZmllbGRzKSB7XG4gICAgICBpZiAocy5maWVsZHMuaGFzT3duUHJvcGVydHkoaykpIHtcbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGtleSBpcyB0aGUgbW9kZWwgb3IgaXMgZGVjbGFyZWQgaW4gXCJpbmNsdWRlc1wiLlxuICAgICAgICAvLyBJZiBub3QsIGl0IG1lYW5zIHRoYXQgaGFzIG5vdCBiZWVuIHNlbGVjdGVkIGFueXdoZXJlIGFuZCB0aGF0IHdpbGwgY2F1c2UgYW4gZXJyb3Igb24gdGhlIEFQSVxuICAgICAgICBpZiAoayAhPT0gcy5tb2RlbCAmJiAhcy5pbmNsdWRlcy5pbmNsdWRlcyhrKSkge1xuICAgICAgICAgIHRocm93IG5ldyBVbnNlbGVjdGFibGVNb2RlbEVycm9yKGspO1xuICAgICAgICB9XG5cbiAgICAgICAgT2JqZWN0LmFzc2lnbihmLCB7W2Ake3RoaXMuX29wdGlvbnMuZmllbGRzfVske2t9XWBdOiBzLmZpZWxkc1trXS5qb2luKCcsJyl9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBwYXJhbSA9IGAke3RoaXMuX3ByZXBlbmQocy5tb2RlbCl9JHtxcy5zdHJpbmdpZnkoZiwge2VuY29kZTogZmFsc2V9KX1gO1xuICAgIHRoaXMuX3VyaSArPSBwYXJhbTtcblxuICAgIHJldHVybiBwYXJhbTtcbiAgfVxuXG4gIHByaXZhdGUgX3BhcnNlRmlsdGVycyhzOiBJUXVlcnlCdWlsZGVyU3RhdGUpOiBzdHJpbmcge1xuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhzLmZpbHRlcnMpO1xuXG4gICAgaWYgKCFrZXlzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHRoaXMuX3VyaTtcbiAgICB9XG5cbiAgICBjb25zdCBmID0geyBcbiAgICAgICAgW3RoaXMuX29wdGlvbnMuZmlsdGVyc106IGtleXMucmVkdWNlKChhY2MsIGtleSkgPT4ge1xuICAgICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKGFjYywge1trZXldOiBzLmZpbHRlcnNba2V5XS5qb2luKCcsJyl9KTtcbiAgICAgICAgfSwge30pXG4gICAgICB9O1xuICAgIGNvbnN0IHBhcmFtID0gYCR7dGhpcy5fcHJlcGVuZChzLm1vZGVsKX0ke3FzLnN0cmluZ2lmeShmLCB7ZW5jb2RlOiBmYWxzZX0pfWA7XG4gICAgdGhpcy5fdXJpICs9IHBhcmFtO1xuXG4gICAgcmV0dXJuIHBhcmFtO1xuICB9XG5cbiAgcHJpdmF0ZSBfcGFyc2VJbmNsdWRlcyhzOiBJUXVlcnlCdWlsZGVyU3RhdGUpOiBzdHJpbmcge1xuICAgIGlmICghcy5pbmNsdWRlcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB0aGlzLl91cmk7XG4gICAgfVxuXG4gICAgY29uc3QgcGFyYW0gPSBgJHt0aGlzLl9wcmVwZW5kKHMubW9kZWwpfSR7dGhpcy5fb3B0aW9ucy5pbmNsdWRlc309JHtzLmluY2x1ZGVzfWA7XG4gICAgdGhpcy5fdXJpICs9IHBhcmFtO1xuXG4gICAgcmV0dXJuIHBhcmFtO1xuICB9XG5cbiAgcHJpdmF0ZSBfcGFyc2VMaW1pdChzOiBJUXVlcnlCdWlsZGVyU3RhdGUpOiBzdHJpbmcge1xuICAgIGNvbnN0IHBhcmFtID0gYCR7dGhpcy5fcHJlcGVuZChzLm1vZGVsKX0ke3RoaXMuX29wdGlvbnMubGltaXR9PSR7cy5saW1pdH1gO1xuICAgIHRoaXMuX3VyaSArPSBwYXJhbTtcblxuICAgIHJldHVybiBwYXJhbTtcbiAgfVxuXG4gIHByaXZhdGUgX3BhcnNlUGFnZShzOiBJUXVlcnlCdWlsZGVyU3RhdGUpOiBzdHJpbmcge1xuICAgIGNvbnN0IHBhcmFtID0gYCR7dGhpcy5fcHJlcGVuZChzLm1vZGVsKX0ke3RoaXMuX29wdGlvbnMucGFnZX09JHtzLnBhZ2V9YDtcbiAgICB0aGlzLl91cmkgKz0gcGFyYW07XG5cbiAgICByZXR1cm4gcGFyYW07XG4gIH1cblxuICBwcml2YXRlIF9wYXJzZVNvcnQoczogSVF1ZXJ5QnVpbGRlclN0YXRlKTogc3RyaW5nIHtcbiAgICBsZXQgcGFyYW06IHN0cmluZyA9ICcnO1xuICAgIGNvbnN0IGZpZWxkcyA9IE9iamVjdC5rZXlzKHMuc29ydCk7XG5cbiAgICBpZiAoIWZpZWxkcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBwYXJhbTtcbiAgICB9XG5cbiAgICBwYXJhbSA9IGAke3RoaXMuX3ByZXBlbmQocy5tb2RlbCl9JHt0aGlzLl9vcHRpb25zLnNvcnR9PWA7XG5cbiAgICBmaWVsZHMuZm9yRWFjaCgoZmllbGQsIGlkeCkgPT4ge1xuICAgICAgcGFyYW0gKz0gYCR7cy5zb3J0W2ZpZWxkXSA9PT0gU29ydEVudW0uREVTQyA/ICctJyA6ICcnfSR7ZmllbGR9YDtcblxuICAgICAgaWYgKGlkeCA8IGZpZWxkcy5sZW5ndGggLSAxKSB7XG4gICAgICAgIHBhcmFtICs9ICcsJ1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5fdXJpICs9IHBhcmFtO1xuXG4gICAgcmV0dXJuIHBhcmFtO1xuICB9XG5cbiAgcHJpdmF0ZSBfcGFyc2UoczogSVF1ZXJ5QnVpbGRlclN0YXRlKTogdm9pZCB7XG4gICAgaWYgKCFzLm1vZGVsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1NldCB0aGUgbW9kZWwgcHJvcGVydHkgQkVGT1JFIGFkZGluZyBmaWx0ZXJzIG9yIGNhbGxpbmcgdGhlIHVybCgpIC8gZ2V0KCkgbWV0aG9kcycpO1xuICAgIH1cblxuICAgIHRoaXMuX3BhcnNlSW5jbHVkZXMocyk7XG4gICAgdGhpcy5fcGFyc2VGaWVsZHMocyk7XG4gICAgdGhpcy5fcGFyc2VGaWx0ZXJzKHMpO1xuICAgIHRoaXMuX3BhcnNlTGltaXQocyk7XG4gICAgdGhpcy5fcGFyc2VQYWdlKHMpO1xuICAgIHRoaXMuX3BhcnNlU29ydChzKTtcblxuICAgIHRoaXMuX3N0b3JlLmRpc3BhdGNoKHFiQWN0aW9ucy51cGRhdGVVcmkoe3VyaTogdGhpcy5fdXJpfSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcHJlcGVuZChtb2RlbDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fdXJpID8gJyYnIDogYC8ke21vZGVsfT9gO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBmaWVsZHMgdG8gdGhlIHNlbGVjdCBzdGF0ZW1lbnQgZm9yIHRoZSBnaXZlbiBtb2RlbFxuICAgKiBcbiAgICogQHBhcmFtIG1vZGVsIE1vZGVsIHRoYXQgaG9sZHMgdGhlIGZpZWxkc1xuICAgKiBAcGFyYW0gZmllbGRzIEZpZWxkcyB0byBzZWxlY3RcbiAgICogQHJldHVybnMge3RoaXN9XG4gICAqL1xuICBwdWJsaWMgYWRkRmllbGRzKG1vZGVsOiBzdHJpbmcsIGZpZWxkczogc3RyaW5nW10pOiB0aGlzIHtcbiAgICB0aGlzLl9zdG9yZS5kaXNwYXRjaChxYkFjdGlvbnMuYWRkRmllbGRzKHtcbiAgICAgIGZpZWxkczoge1xuICAgICAgICBbbW9kZWxdOiBmaWVsZHNcbiAgICAgIH1cbiAgICB9KSk7XG4gICAgXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgZmlsdGVyIHdpdGggdGhlIGdpdmVuIHZhbHVlKHMpXG4gICAqICBJLmUuIGZpbHRlcltmaWVsZF09MSBvciBmaWx0ZXJbZmllbGRdPTEsMiwzXG4gICAqIFxuICAgKiBAcGFyYW0ge3N0cmluZ30gZmllbGQgTmFtZSBvZiB0aGUgZmllbGQgdG8gZmlsdGVyXG4gICAqIEBwYXJhbSB7c3RyaW5nW119IHZhbHVlIFRoZSBuZWVkbGUocylcbiAgICogQHJldHVybnMge3RoaXN9XG4gICAqL1xuICBwdWJsaWMgYWRkRmlsdGVyKGZpZWxkOiBzdHJpbmcsIC4uLnZhbHVlczogKHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4pW10pOiB0aGlzIHtcbiAgICB0aGlzLl9zdG9yZS5kaXNwYXRjaChxYkFjdGlvbnMuYWRkRmlsdGVycyh7XG4gICAgICBmaWx0ZXJzOiB7XG4gICAgICAgIFtmaWVsZF06IHZhbHVlc1xuICAgICAgfVxuICAgIH0pKTtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCByZWxhdGVkIGVudGl0aWVzIHRvIGluY2x1ZGUgaW4gdGhlIHJlcXVlc3RcbiAgICogXG4gICAqIEBwYXJhbSB7c3RyaW5nW119IG1vZGVscyBcbiAgICogQHJldHVybnMgXG4gICAqL1xuICBwdWJsaWMgYWRkSW5jbHVkZXMoLi4ubW9kZWxzOiBzdHJpbmdbXSk6IHRoaXMge1xuICAgIHRoaXMuX3N0b3JlLmRpc3BhdGNoKHFiQWN0aW9ucy5hZGRJbmNsdWRlcyh7XG4gICAgICBpbmNsdWRlczogbW9kZWxzXG4gICAgfSkpO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgZmllbGQgd2l0aCBhIHNvcnQgY3JpdGVyaWFcbiAgICogXG4gICAqIEBwYXJhbSBmaWVsZCBGaWVsZCB0byB1c2UgZm9yIHNvcnRpbmdcbiAgICogQHBhcmFtIHtTb3J0RW51bX0gdmFsdWUgQSB2YWx1ZSBmcm9tIHRoZSBTb3J0RW51bSBlbnVtZXJhdGlvblxuICAgKiBAcmV0dXJucyB7dGhpc31cbiAgICovXG4gIHB1YmxpYyBhZGRTb3J0KGZpZWxkOiBzdHJpbmcsIHZhbHVlOiBTb3J0RW51bSk6IHRoaXMge1xuICAgIHRoaXMuX3N0b3JlLmRpc3BhdGNoKHFiQWN0aW9ucy5hZGRTb3J0cyh7XG4gICAgICBzb3J0czoge1xuICAgICAgICBbZmllbGRdOiB2YWx1ZVxuICAgICAgfVxuICAgIH0pKTtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZSBzZWxlY3RlZCBmaWVsZHMgZm9yIHRoZSBnaXZlbiBtb2RlbCBpbiB0aGUgY3VycmVudCBxdWVyeSBidWlsZGVyIHN0YXRlXG4gICAqIFxuICAgKiBAcGFyYW0gbW9kZWwgTW9kZWwgdGhhdCBob2xkcyB0aGUgZmllbGRzXG4gICAqIEBwYXJhbSB7c3RyaW5nW119IGZpZWxkcyBGaWVsZHMgdG8gZGVsZXRlIGZyb20gdGhlIHN0YXRlXG4gICAqIEByZXR1cm5zIHt0aGlzfVxuICAgKi9cbiAgIHB1YmxpYyBkZWxldGVGaWVsZHMobW9kZWw6IHN0cmluZywgLi4uZmllbGRzOiBzdHJpbmdbXSk6IHRoaXMge1xuICAgIHRoaXMuX3N0b3JlLmRpc3BhdGNoKHFiQWN0aW9ucy5kZWxldGVGaWVsZHMoe2ZpZWxkc30pKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgZ2l2ZW4gZmlsdGVycyBmcm9tIHRoZSBxdWVyeSBidWlsZGVyIHN0YXRlXG4gICAqIFxuICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBmaWx0ZXJzIEZpbHRlcnMgdG8gcmVtb3ZlXG4gICAqIEByZXR1cm5zIHt0aGlzfVxuICAgKi9cbiAgcHVibGljIGRlbGV0ZUZpbHRlcnMoLi4uZmlsdGVyczogc3RyaW5nW10pOiB0aGlzIHtcbiAgICB0aGlzLl9zdG9yZS5kaXNwYXRjaChxYkFjdGlvbnMuZGVsZXRlRmlsdGVycyh7ZmlsdGVyc30pKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgc2VsZWN0ZWQgcmVsYXRlZCBtb2RlbHMgZnJvbSB0aGUgcXVlcnkgYnVpbGRlciBzdGF0ZVxuICAgKiBcbiAgICogQHBhcmFtIHtzdHJpbmdbXX0gaW5jbHVkZXMgTW9kZWxzIHRvIHJlbW92ZVxuICAgKiBAcmV0dXJucyBcbiAgICovXG4gIHB1YmxpYyBkZWxldGVJbmNsdWRlcyguLi5pbmNsdWRlczogc3RyaW5nW10pOiB0aGlzIHtcbiAgICB0aGlzLl9zdG9yZS5kaXNwYXRjaChxYkFjdGlvbnMuZGVsZXRlSW5jbHVkZXMoe2luY2x1ZGVzfSkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBzb3J0cyBydWxlcyBmcm9tIHRoZSBxdWVyeSBidWlsZGVyIHN0YXRlXG4gICAqIFxuICAgKiBAcGFyYW0gc29ydHMgRmllbGRzIHVzZWQgZm9yIHNvcnRpbmcgdG8gcmVtb3ZlXG4gICAqIEByZXR1cm5zIHt0aGlzfVxuICAgKi9cbiAgcHVibGljIGRlbGV0ZVNvcnRzKC4uLnNvcnRzOiBzdHJpbmdbXSk6IHRoaXMge1xuICAgIHRoaXMuX3N0b3JlLmRpc3BhdGNoKHFiQWN0aW9ucy5kZWxldGVTb3J0cyh7c29ydHN9KSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGUgYW4gVVJJIGFjY29yZGluZ2x5IHRvIHRoZSBnaXZlbiBkYXRhXG4gICAqXG4gICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPHN0cmluZz59IEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgZ2VuZXJhdGVkIHVyaVxuICAgKi9cbiAgIHB1YmxpYyBnZW5lcmF0ZVVyaSgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIC8vIENsZWFudXAgdGhlIHByZXZpb3VzbHkgZ2VuZXJhdGVkIFVSSVxuICAgIHRoaXMuX3VyaSA9ICcnO1xuICAgIHRoaXMuX3BhcnNlKHRoaXMuX3N0b3JlLnN0YXRlLm5lc3QpO1xuXG4gICAgcmV0dXJuIHRoaXMudXJpJDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhciB0aGUgY3VycmVudCBzdGF0ZSBhbmQgcmVzZXQgdGhlIFF1ZXJ5IEJ1aWxkZXIgdG8gYSBmcmVzaCwgY2xlYW4gY29uZGl0aW9uXG4gICAqIFxuICAgKiBAcmV0dXJucyB7dGhpc31cbiAgICovXG4gIHB1YmxpYyByZXNldCgpOiB0aGlzIHtcbiAgICB0aGlzLl9zdG9yZS5kaXNwYXRjaChxYkFjdGlvbnMucmVzZXQoKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBiYXNlIHVybCB0byB1c2UgZm9yIGNvbXBvc2luZyB0aGUgYWRkcmVzc1xuICAgKiBcbiAgICogQHBhcmFtIHtzdHJpbmd9IGJhc2VVcmwgXG4gICAqIEByZXR1cm5zIHt0aGlzfVxuICAgKi9cbiAgcHVibGljIHNldEJhc2VVcmwoYmFzZVVybDogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy5fc3RvcmUuZGlzcGF0Y2gocWJBY3Rpb25zLnNldEJhc2VVcmwoe2Jhc2VVcmx9KSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBpdGVtcyBwZXIgcGFnZSBudW1iZXJcbiAgICogXG4gICAqIEBwYXJhbSBsaW1pdCBcbiAgICogQHJldHVybnMge3RoaXN9XG4gICAqL1xuICBwdWJsaWMgc2V0TGltaXQobGltaXQ6IG51bWJlcik6IHRoaXMge1xuICAgIHRoaXMuX3N0b3JlLmRpc3BhdGNoKHFiQWN0aW9ucy5zZXRMaW1pdCh7bGltaXR9KSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBtb2RlbCB0byB1c2UgZm9yIHJ1bm5pbmcgdGhlIHF1ZXJ5IGFnYWluc3RcbiAgICogICAtIEkuZS4gdGhlIG1vZGVsIFwidXNlcnNcIiB3aWxsIHJldHVybiAvdXNlcnNcbiAgICogXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBtb2RlbCBNb2RlbCBuYW1lXG4gICAqIEByZXR1cm5zIHt0aGlzfVxuICAgKi9cbiAgcHVibGljIHNldE1vZGVsKG1vZGVsOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLl9zdG9yZS5kaXNwYXRjaChxYkFjdGlvbnMuc2V0TW9kZWwoe21vZGVsfSkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgcGFnZSB0aGF0IHRoZSBiYWNrZW5kIHdpbGwgdXNlIHRvIHBhZ2luYXRlIHRoZSByZXN1bHQgc2V0XG4gICAqIFxuICAgKiBAcGFyYW0gcGFnZSBQYWdlIHBhcmFtXG4gICAqIEByZXR1cm5zIHt0aGlzfVxuICAgKi9cbiAgcHVibGljIHNldFBhZ2UocGFnZTogbnVtYmVyKTogdGhpcyB7XG4gICAgdGhpcy5fc3RvcmUuZGlzcGF0Y2gocWJBY3Rpb25zLnNldFBhZ2Uoe3BhZ2V9KSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { createReducer } from "@reduxjs/toolkit";
|
|
2
|
-
import * as QueryBuilderActions from "../actions/query-builder.actions";
|
|
3
|
-
const initialState = {
|
|
4
|
-
baseUrl: '',
|
|
5
|
-
fields: {},
|
|
6
|
-
filters: {},
|
|
7
|
-
includes: [],
|
|
8
|
-
limit: 15,
|
|
9
|
-
model: '',
|
|
10
|
-
page: 1,
|
|
11
|
-
sort: {},
|
|
12
|
-
uri: ''
|
|
13
|
-
};
|
|
14
|
-
const ɵ0 = builder => {
|
|
15
|
-
builder.addCase(QueryBuilderActions.addFields, (state, { payload: { fields } }) => (Object.assign(Object.assign({}, state), { fields: Object.assign(Object.assign({}, state.fields), fields) }))),
|
|
16
|
-
builder.addCase(QueryBuilderActions.addFilters, (state, { payload: { filters } }) => (Object.assign(Object.assign({}, state), { filters: Object.assign(Object.assign({}, state.filters), filters) }))),
|
|
17
|
-
builder.addCase(QueryBuilderActions.addIncludes, (state, { payload: { includes } }) => (Object.assign(Object.assign({}, state), { includes: [...state.includes, ...includes] }))),
|
|
18
|
-
builder.addCase(QueryBuilderActions.addSorts, (state, { payload: { sorts } }) => (Object.assign(Object.assign({}, state), { sort: Object.assign(Object.assign({}, state.sort), sorts) }))),
|
|
19
|
-
builder.addCase(QueryBuilderActions.deleteFields, (state, { payload: { fields } }) => {
|
|
20
|
-
const f = Object.assign({}, state.fields);
|
|
21
|
-
Object.keys(fields).forEach(k => {
|
|
22
|
-
if (!(k in state.fields)) {
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
f[k] = state.fields[k].filter(v => !fields[k].includes(v));
|
|
26
|
-
});
|
|
27
|
-
return Object.assign(Object.assign({}, state), { fields: f });
|
|
28
|
-
}),
|
|
29
|
-
builder.addCase(QueryBuilderActions.deleteFilters, (state, { payload: { filters } }) => {
|
|
30
|
-
const f = Object.assign({}, state.filters);
|
|
31
|
-
filters.forEach(k => delete f[k]);
|
|
32
|
-
return Object.assign(Object.assign({}, state), { filters: f });
|
|
33
|
-
}),
|
|
34
|
-
builder.addCase(QueryBuilderActions.deleteIncludes, (state, { payload: { includes } }) => {
|
|
35
|
-
return Object.assign(Object.assign({}, state), { includes: state.includes.filter(v => !includes.includes(v)) });
|
|
36
|
-
}),
|
|
37
|
-
builder.addCase(QueryBuilderActions.deleteSorts, (state, { payload: { sorts } }) => {
|
|
38
|
-
const s = Object.assign({}, state.sort);
|
|
39
|
-
sorts.forEach(v => delete s[v]);
|
|
40
|
-
return Object.assign(Object.assign({}, state), { sort: s });
|
|
41
|
-
}),
|
|
42
|
-
builder.addCase(QueryBuilderActions.reset, state => initialState),
|
|
43
|
-
builder.addCase(QueryBuilderActions.setBaseUrl, (state, { payload: { baseUrl } }) => (Object.assign(Object.assign({}, state), { baseUrl }))),
|
|
44
|
-
builder.addCase(QueryBuilderActions.setLimit, (state, { payload: { limit } }) => (Object.assign(Object.assign({}, state), { limit }))),
|
|
45
|
-
builder.addCase(QueryBuilderActions.setModel, (state, { payload: { model } }) => (Object.assign(Object.assign({}, state), { model }))),
|
|
46
|
-
builder.addCase(QueryBuilderActions.setPage, (state, { payload: { page } }) => (Object.assign(Object.assign({}, state), { page }))),
|
|
47
|
-
builder.addCase(QueryBuilderActions.updateUri, (state, { payload: { uri } }) => (Object.assign(Object.assign({}, state), { uri })));
|
|
48
|
-
};
|
|
49
|
-
export const queryBuilderReducer = createReducer(initialState, ɵ0);
|
|
50
|
-
export { ɵ0 };
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci5yZWR1Y2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1xdWVyeS1idWlsZGVyL3NyYy9saWIvcmVkdWNlcnMvcXVlcnktYnVpbGRlci5yZWR1Y2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEtBQUssbUJBQW1CLE1BQU0sa0NBQWtDLENBQUM7QUFHeEUsTUFBTSxZQUFZLEdBQXVCO0lBQ3JDLE9BQU8sRUFBRSxFQUFFO0lBQ1gsTUFBTSxFQUFFLEVBQUU7SUFDVixPQUFPLEVBQUUsRUFBRTtJQUNYLFFBQVEsRUFBRSxFQUFFO0lBQ1osS0FBSyxFQUFFLEVBQUU7SUFDVCxLQUFLLEVBQUUsRUFBRTtJQUNULElBQUksRUFBRSxDQUFDO0lBQ1AsSUFBSSxFQUFFLEVBQUU7SUFDUixHQUFHLEVBQUUsRUFBRTtDQUNWLENBQUM7V0FJRSxPQUFPLENBQUMsRUFBRTtJQUNOLE9BQU8sQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsU0FBUyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUMsT0FBTyxFQUFFLEVBQUMsTUFBTSxFQUFDLEVBQUMsRUFBRSxFQUFFLENBQUMsaUNBQUssS0FBSyxLQUFFLE1BQU0sa0NBQU0sS0FBSyxDQUFDLE1BQU0sR0FBSyxNQUFNLEtBQUcsQ0FBQztRQUNsSSxPQUFPLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFDLE9BQU8sRUFBRSxFQUFDLE9BQU8sRUFBQyxFQUFDLEVBQUUsRUFBRSxDQUFDLGlDQUFLLEtBQUssS0FBRSxPQUFPLGtDQUFNLEtBQUssQ0FBQyxPQUFPLEdBQUssT0FBTyxLQUFHLENBQUM7UUFDdkksT0FBTyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUs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dXhqcy90b29sa2l0XCI7XG5pbXBvcnQgKiBhcyBRdWVyeUJ1aWxkZXJBY3Rpb25zIGZyb20gXCIuLi9hY3Rpb25zL3F1ZXJ5LWJ1aWxkZXIuYWN0aW9uc1wiO1xuaW1wb3J0IHsgSVF1ZXJ5QnVpbGRlclN0YXRlIH0gZnJvbSBcIi4uL2ludGVyZmFjZXMvcXVlcnktYnVpbGRlci1zdGF0ZS5pbnRlcmZhY2VcIjtcblxuY29uc3QgaW5pdGlhbFN0YXRlOiBJUXVlcnlCdWlsZGVyU3RhdGUgPSB7XG4gICAgYmFzZVVybDogJycsXG4gICAgZmllbGRzOiB7fSxcbiAgICBmaWx0ZXJzOiB7fSxcbiAgICBpbmNsdWRlczogW10sXG4gICAgbGltaXQ6IDE1LFxuICAgIG1vZGVsOiAnJyxcbiAgICBwYWdlOiAxLFxuICAgIHNvcnQ6IHt9LFxuICAgIHVyaTogJydcbn07XG5cbmV4cG9ydCBjb25zdCBxdWVyeUJ1aWxkZXJSZWR1Y2VyID0gY3JlYXRlUmVkdWNlcihcbiAgICBpbml0aWFsU3RhdGUsXG4gICAgYnVpbGRlciA9PiB7XG4gICAgICAgIGJ1aWxkZXIuYWRkQ2FzZShRdWVyeUJ1aWxkZXJBY3Rpb25zLmFkZEZpZWxkcywgKHN0YXRlLCB7cGF5bG9hZDoge2ZpZWxkc319KSA9PiAoey4uLnN0YXRlLCBmaWVsZHM6IHsuLi5zdGF0ZS5maWVsZHMsIC4uLmZpZWxkc319KSksXG4gICAgICAgIGJ1aWxkZXIuYWRkQ2FzZShRdWVyeUJ1aWxkZXJBY3Rpb25zLmFkZEZpbHRlcnMsIChzdGF0ZSwge3BheWxvYWQ6IHtmaWx0ZXJzfX0pID0+ICh7Li4uc3RhdGUsIGZpbHRlcnM6IHsuLi5zdGF0ZS5maWx0ZXJzLCAuLi5maWx0ZXJzfX0pKSxcbiAgICAgICAgYnVpbGRlci5hZGRDYXNlKFF1ZXJ5QnVpbGRlckFjdGlvbnMuYWRkSW5jbHVkZXMsIChzdGF0ZSwge3BheWxvYWQ6IHtpbmNsdWRlc319KSA9PiAoey4uLnN0YXRlLCBpbmNsdWRlczogWy4uLnN0YXRlLmluY2x1ZGVzLCAuLi5pbmNsdWRlc119KSksXG4gICAgICAgIGJ1aWxkZXIuYWRkQ2FzZShRdWVyeUJ1aWxkZXJBY3Rpb25zLmFkZFNvcnRzLCAoc3RhdGUsIHtwYXlsb2FkOiB7c29ydHN9fSkgPT4gKHsuLi5zdGF0ZSwgc29ydDogey4uLnN0YXRlLnNvcnQsIC4uLnNvcnRzfX0pKSxcbiAgICBcbiAgICAgICAgYnVpbGRlci5hZGRDYXNlKFF1ZXJ5QnVpbGRlckFjdGlvbnMuZGVsZXRlRmllbGRzLCAoc3RhdGUsIHtwYXlsb2FkOiB7ZmllbGRzfX0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGYgPSBPYmplY3QuYXNzaWduKHt9LCBzdGF0ZS5maWVsZHMpO1xuICAgIFxuICAgICAgICAgICAgT2JqZWN0LmtleXMoZmllbGRzKS5mb3JFYWNoKGsgPT4ge1xuICAgICAgICAgICAgICAgIGlmICggIShrIGluIHN0YXRlLmZpZWxkcykgKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAgICAgZltrXSA9IHN0YXRlLmZpZWxkc1trXS5maWx0ZXIodiA9PiAhZmllbGRzW2tdLmluY2x1ZGVzKHYpKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICAgICAgICBmaWVsZHM6IGZcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pLFxuICAgIFxuICAgICAgICBidWlsZGVyLmFkZENhc2UoUXVlcnlCdWlsZGVyQWN0aW9ucy5kZWxldGVGaWx0ZXJzLCAoc3RhdGUsIHtwYXlsb2FkOiB7ZmlsdGVyc319KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmID0gT2JqZWN0LmFzc2lnbih7fSwgc3RhdGUuZmlsdGVycyk7XG4gICAgXG4gICAgICAgICAgICBmaWx0ZXJzLmZvckVhY2goayA9PiBkZWxldGUgZltrXSk7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICAgICAgZmlsdGVyczogZlxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSksXG4gICAgXG4gICAgICAgIGJ1aWxkZXIuYWRkQ2FzZShRdWVyeUJ1aWxkZXJBY3Rpb25zLmRlbGV0ZUluY2x1ZGVzLCAoc3RhdGUsIHtwYXlsb2FkOiB7aW5jbHVkZXN9fSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICAgICAgICBpbmNsdWRlczogc3RhdGUuaW5jbHVkZXMuZmlsdGVyKHYgPT4gIWluY2x1ZGVzLmluY2x1ZGVzKHYpKVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSksXG4gICAgXG4gICAgICAgIGJ1aWxkZXIuYWRkQ2FzZShRdWVyeUJ1aWxkZXJBY3Rpb25zLmRlbGV0ZVNvcnRzLCAoc3RhdGUsIHtwYXlsb2FkOiB7c29ydHN9fSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcyA9IE9iamVjdC5hc3NpZ24oe30sIHN0YXRlLnNvcnQpO1xuICAgIFxuICAgICAgICAgICAgc29ydHMuZm9yRWFjaCh2ID0+IGRlbGV0ZSBzW3ZdKTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICAgICAgICBzb3J0OiBzXG4gICAgICAgICAgICB9O1xuICAgICAgICB9KSxcbiAgICBcbiAgICAgICAgYnVpbGRlci5hZGRDYXNlKFF1ZXJ5QnVpbGRlckFjdGlvbnMucmVzZXQsIHN0YXRlID0+IGluaXRpYWxTdGF0ZSksXG4gICAgXG4gICAgICAgIGJ1aWxkZXIuYWRkQ2FzZShRdWVyeUJ1aWxkZXJBY3Rpb25zLnNldEJhc2VVcmwsIChzdGF0ZSwge3BheWxvYWQ6IHtiYXNlVXJsfX0pID0+ICh7Li4uc3RhdGUsIGJhc2VVcmx9KSksXG4gICAgICAgIGJ1aWxkZXIuYWRkQ2FzZShRdWVyeUJ1aWxkZXJBY3Rpb25zLnNldExpbWl0LCAoc3RhdGUsIHtwYXlsb2FkOiB7bGltaXR9fSkgPT4gKHsuLi5zdGF0ZSwgbGltaXR9KSksXG4gICAgICAgIGJ1aWxkZXIuYWRkQ2FzZShRdWVyeUJ1aWxkZXJBY3Rpb25zLnNldE1vZGVsLCAoc3RhdGUsIHtwYXlsb2FkOiB7bW9kZWx9fSkgPT4gKHsuLi5zdGF0ZSwgbW9kZWx9KSksXG4gICAgICAgIGJ1aWxkZXIuYWRkQ2FzZShRdWVyeUJ1aWxkZXJBY3Rpb25zLnNldFBhZ2UsIChzdGF0ZSwge3BheWxvYWQ6IHtwYWdlfX0pID0+ICh7Li4uc3RhdGUsIHBhZ2V9KSksXG4gICAgICAgIGJ1aWxkZXIuYWRkQ2FzZShRdWVyeUJ1aWxkZXJBY3Rpb25zLnVwZGF0ZVVyaSwgKHN0YXRlLCB7cGF5bG9hZDoge3VyaX19KSA9PiAoey4uLnN0YXRlLCB1cml9KSlcbiAgICB9XG4pOyJdfQ==
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { Inject, Injectable, Optional } from "@angular/core";
|
|
2
|
-
import { PaginatedCollection } from "../models/paginated-collection";
|
|
3
|
-
import { ResponseOptions } from "../models/response-options";
|
|
4
|
-
export class PaginationService {
|
|
5
|
-
constructor(options = {}) {
|
|
6
|
-
this._options = new ResponseOptions(options);
|
|
7
|
-
}
|
|
8
|
-
paginate(response) {
|
|
9
|
-
return new PaginatedCollection(response[this._options.data], response[this._options.currentPage], response[this._options.from], response[this._options.to], response[this._options.total], response[this._options.perPage], response[this._options.prevPageUrl], response[this._options.nextPageUrl], response[this._options.lastPage], response[this._options.firstPageUrl], response[this._options.lastPageUrl]);
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
PaginationService.decorators = [
|
|
13
|
-
{ type: Injectable }
|
|
14
|
-
];
|
|
15
|
-
PaginationService.ctorParameters = () => [
|
|
16
|
-
{ type: undefined, decorators: [{ type: Inject, args: ['RESPONSE_OPTIONS',] }, { type: Optional }] }
|
|
17
|
-
];
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1xdWVyeS1idWlsZGVyL3NyYy9saWIvc2VydmljZXMvcGFnaW5hdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHN0QsTUFBTSxPQUFPLGlCQUFpQjtJQUc1QixZQUFvRCxVQUE2QixFQUFFO1FBQ2pGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVNLFFBQVEsQ0FBSSxRQUE4QjtRQUMvQyxPQUFPLElBQUksbUJBQW1CLENBQzVCLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUM1QixRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFDbkMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQzVCLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUMxQixRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFDN0IsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQy9CLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUNuQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFDbkMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQ2hDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxFQUNwQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FDcEMsQ0FBQztJQUNKLENBQUM7OztZQXRCRixVQUFVOzs7NENBSUksTUFBTSxTQUFDLGtCQUFrQixjQUFHLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IElQYWdpbmF0aW9uQ29uZmlnIH0gZnJvbSBcIi4uL2ludGVyZmFjZXMvcGFnaW5hdGlvbi1jb25maWcuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBQYWdpbmF0ZWRDb2xsZWN0aW9uIH0gZnJvbSBcIi4uL21vZGVscy9wYWdpbmF0ZWQtY29sbGVjdGlvblwiO1xuaW1wb3J0IHsgUmVzcG9uc2VPcHRpb25zIH0gZnJvbSBcIi4uL21vZGVscy9yZXNwb25zZS1vcHRpb25zXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQYWdpbmF0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgX29wdGlvbnM6IFJlc3BvbnNlT3B0aW9ucztcbiAgXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoJ1JFU1BPTlNFX09QVElPTlMnKSBAT3B0aW9uYWwoKSBvcHRpb25zOiBJUGFnaW5hdGlvbkNvbmZpZyA9IHt9KSB7XG4gICAgdGhpcy5fb3B0aW9ucyA9IG5ldyBSZXNwb25zZU9wdGlvbnMob3B0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgcGFnaW5hdGU8VD4ocmVzcG9uc2U6IHtba2V5OiBzdHJpbmddOiBhbnl9KTogUGFnaW5hdGVkQ29sbGVjdGlvbjxUPiB7XG4gICAgcmV0dXJuIG5ldyBQYWdpbmF0ZWRDb2xsZWN0aW9uKFxuICAgICAgcmVzcG9uc2VbdGhpcy5fb3B0aW9ucy5kYXRhXSxcbiAgICAgIHJlc3BvbnNlW3RoaXMuX29wdGlvbnMuY3VycmVudFBhZ2VdLFxuICAgICAgcmVzcG9uc2VbdGhpcy5fb3B0aW9ucy5mcm9tXSxcbiAgICAgIHJlc3BvbnNlW3RoaXMuX29wdGlvbnMudG9dLFxuICAgICAgcmVzcG9uc2VbdGhpcy5fb3B0aW9ucy50b3RhbF0sXG4gICAgICByZXNwb25zZVt0aGlzLl9vcHRpb25zLnBlclBhZ2VdLFxuICAgICAgcmVzcG9uc2VbdGhpcy5fb3B0aW9ucy5wcmV2UGFnZVVybF0sXG4gICAgICByZXNwb25zZVt0aGlzLl9vcHRpb25zLm5leHRQYWdlVXJsXSxcbiAgICAgIHJlc3BvbnNlW3RoaXMuX29wdGlvbnMubGFzdFBhZ2VdLFxuICAgICAgcmVzcG9uc2VbdGhpcy5fb3B0aW9ucy5maXJzdFBhZ2VVcmxdLFxuICAgICAgcmVzcG9uc2VbdGhpcy5fb3B0aW9ucy5sYXN0UGFnZVVybF1cbiAgICApO1xuICB9XG59Il19
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { combineReducers, createStore } from 'redux';
|
|
3
|
-
import { queryBuilderReducer } from '../reducers/query-builder.reducer';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class StoreService {
|
|
6
|
-
constructor() {
|
|
7
|
-
this._store = createStore(combineReducers({ nest: queryBuilderReducer }));
|
|
8
|
-
}
|
|
9
|
-
get state() {
|
|
10
|
-
return this._store.getState();
|
|
11
|
-
}
|
|
12
|
-
dispatch(action) {
|
|
13
|
-
this._store.dispatch(action);
|
|
14
|
-
}
|
|
15
|
-
subscribe(listener) {
|
|
16
|
-
this._store.subscribe(listener);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
StoreService.ɵprov = i0.ɵɵdefineInjectable({ factory: function StoreService_Factory() { return new StoreService(); }, token: StoreService, providedIn: "root" });
|
|
20
|
-
StoreService.decorators = [
|
|
21
|
-
{ type: Injectable, args: [{
|
|
22
|
-
providedIn: 'root'
|
|
23
|
-
},] }
|
|
24
|
-
];
|
|
25
|
-
StoreService.ctorParameters = () => [];
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItcXVlcnktYnVpbGRlci9zcmMvbGliL3NlcnZpY2VzL3N0b3JlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQVUsZUFBZSxFQUFFLFdBQVcsRUFBUyxNQUFNLE9BQU8sQ0FBQztBQUVwRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFLeEUsTUFBTSxPQUFPLFlBQVk7SUFJdkI7UUFDRSxJQUFJLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQyxlQUFlLENBQUMsRUFBQyxJQUFJLEVBQUUsbUJBQW1CLEVBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRU0sUUFBUSxDQUFDLE1BQWM7UUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVNLFNBQVMsQ0FBQyxRQUFvQjtRQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsQyxDQUFDOzs7O1lBckJGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGlvbiwgY29tYmluZVJlZHVjZXJzLCBjcmVhdGVTdG9yZSwgU3RvcmUgfSBmcm9tICdyZWR1eCc7XG5pbXBvcnQgeyBJTmVzdFN0YXRlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9uZXN0LXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBxdWVyeUJ1aWxkZXJSZWR1Y2VyIH0gZnJvbSAnLi4vcmVkdWNlcnMvcXVlcnktYnVpbGRlci5yZWR1Y2VyJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU3RvcmVTZXJ2aWNlIHtcblxuICBwcml2YXRlIF9zdG9yZTogU3RvcmU8SU5lc3RTdGF0ZT47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5fc3RvcmUgPSBjcmVhdGVTdG9yZShjb21iaW5lUmVkdWNlcnMoe25lc3Q6IHF1ZXJ5QnVpbGRlclJlZHVjZXJ9KSk7XG4gIH1cblxuICBnZXQgc3RhdGUoKTogSU5lc3RTdGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0b3JlLmdldFN0YXRlKCk7XG4gIH1cblxuICBwdWJsaWMgZGlzcGF0Y2goYWN0aW9uOiBBY3Rpb24pOiB2b2lkIHtcbiAgICB0aGlzLl9zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICB9XG5cbiAgcHVibGljIHN1YnNjcmliZShsaXN0ZW5lcjogKCkgPT4gdm9pZCkge1xuICAgIHRoaXMuX3N0b3JlLnN1YnNjcmliZShsaXN0ZW5lcik7XG4gIH1cbn1cbiJdfQ==
|
package/esm2015/ng-qubee.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
export { StoreService as ɵa } from './lib/services/store.service';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctcXViZWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXF1ZXJ5LWJ1aWxkZXIvc3JjL25nLXF1YmVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUM7QUFJN0IsT0FBTyxFQUFDLFlBQVksSUFBSSxFQUFFLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtJUGFnaW5hdGlvbkNvbmZpZyBhcyDJtWN9IGZyb20gJy4vbGliL2ludGVyZmFjZXMvcGFnaW5hdGlvbi1jb25maWcuaW50ZXJmYWNlJztcbmV4cG9ydCB7SVF1ZXJ5QnVpbGRlckNvbmZpZyBhcyDJtWJ9IGZyb20gJy4vbGliL2ludGVyZmFjZXMvcXVlcnktYnVpbGRlci1jb25maWcuaW50ZXJmYWNlJztcbmV4cG9ydCB7U3RvcmVTZXJ2aWNlIGFzIMm1YX0gZnJvbSAnLi9saWIvc2VydmljZXMvc3RvcmUuc2VydmljZSc7Il19
|
package/esm2015/public-api.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Public API Surface of angular-query-builder
|
|
3
|
-
*/
|
|
4
|
-
export * from './lib/ng-qubee.service';
|
|
5
|
-
export * from './lib/ng-qubee.module';
|
|
6
|
-
export * from './lib/models/paginated-collection';
|
|
7
|
-
export * from './lib/services/pagination.service';
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItcXVlcnktYnVpbGRlci9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsbUNBQW1DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGFuZ3VsYXItcXVlcnktYnVpbGRlclxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL25nLXF1YmVlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbmctcXViZWUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wYWdpbmF0ZWQtY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9wYWdpbmF0aW9uLnNlcnZpY2UnO1xuIl19
|