arlas-web-core 19.2.0 → 19.3.0-dev0

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.
Files changed (43) hide show
  1. package/.editorconfig +13 -0
  2. package/.gitlab-ci.yml +19 -0
  3. package/.travis.yml +27 -0
  4. package/CHANGELOG.md +446 -0
  5. package/CONTRIBUTING.md +48 -0
  6. package/{LICENSE → LICENSE.txt} +0 -0
  7. package/NOTICE.txt +10 -0
  8. package/README-NPM.md +78 -0
  9. package/README.md +2 -2
  10. package/arlas-web-core-19.3.0-dev0.tgz +0 -0
  11. package/build.sh +9 -0
  12. package/jsconfig.json +13 -0
  13. package/mkDocs.sh +18 -0
  14. package/package-release.json +25 -0
  15. package/package.json +12 -6
  16. package/release.sh +429 -0
  17. package/{index.js → src/index.ts} +7 -4
  18. package/{models/collaboration.js → src/models/collaboration.ts} +30 -6
  19. package/src/models/contributor.ts +161 -0
  20. package/src/models/projections.ts +58 -0
  21. package/{services/collaborativesearch.service.js → src/services/collaborativesearch.service.ts} +366 -178
  22. package/{services/config.service.js → src/services/config.service.ts} +15 -11
  23. package/src/utils/utils.ts +80 -0
  24. package/tsconfig-build.json +21 -0
  25. package/tsconfig.json +15 -0
  26. package/tslint.json +116 -0
  27. package/index.d.ts +0 -6
  28. package/index.js.map +0 -1
  29. package/models/collaboration.d.ts +0 -29
  30. package/models/collaboration.js.map +0 -1
  31. package/models/contributor.d.ts +0 -56
  32. package/models/contributor.js +0 -116
  33. package/models/contributor.js.map +0 -1
  34. package/models/projections.d.ts +0 -35
  35. package/models/projections.js +0 -38
  36. package/models/projections.js.map +0 -1
  37. package/services/collaborativesearch.service.d.ts +0 -320
  38. package/services/collaborativesearch.service.js.map +0 -1
  39. package/services/config.service.d.ts +0 -31
  40. package/services/config.service.js.map +0 -1
  41. package/utils/utils.d.ts +0 -22
  42. package/utils/utils.js +0 -63
  43. package/utils/utils.js.map +0 -1
@@ -1,320 +0,0 @@
1
- import { Aggregation, AggregationResponse, CollectionReferenceDescription, Count, ExploreApi, FeatureCollection, Filter, Hits, Search, ComputationRequest, ComputationResponse } from 'arlas-api';
2
- import { Observable, Subject } from 'rxjs';
3
- import { CollectionCount } from '../utils/utils';
4
- import { Collaboration, CollaborationEvent } from '../models/collaboration';
5
- import { Contributor } from '../models/contributor';
6
- import { GeohashAggregation, TiledSearch, projType, GeoTileAggregation } from '../models/projections';
7
- import { ConfigService } from './config.service';
8
- export declare class CollaborativesearchService {
9
- /**
10
- * Bus of CollaborationEvent.
11
- */
12
- collaborationBus: Subject<CollaborationEvent>;
13
- /**
14
- * Bus of CollaborationEvent.
15
- */
16
- contribFilterBus: Subject<Contributor>;
17
- /**
18
- * Registry of Collaborations, Map of contributor identifier,Collaboration.
19
- */
20
- collaborations: Map<string, Collaboration>;
21
- /**
22
- * Registry of Contributor, Map of contributor identifier,Contributor.
23
- */
24
- registry: Map<string, Contributor>;
25
- /**
26
- * ARLAS SERVER collection used by default by the contributors.
27
- */
28
- defaultCollection: string;
29
- /** ARLAS SERVER collections that declared in the contributos */
30
- collections: Set<string>;
31
- /**
32
- * ARLAS SERVER max age cache used by the collaborativesearchService.
33
- */
34
- max_age: number;
35
- /**
36
- * Number of entity return by the collaborativesearchService at any time
37
- */
38
- countAll: Observable<CollectionCount[]>;
39
- /**
40
- * Bus number of ongoing subscribe to the collaborativesearchService
41
- */
42
- ongoingSubscribe: Subject<number>;
43
- /**
44
- * Bus number of ongoing subscribe to the collaborativesearchService
45
- */
46
- totalSubscribe: number;
47
- /**
48
- * Bus of Error.
49
- */
50
- collaborationErrorBus: Subject<Error>;
51
- /**
52
- * ARLAS SERVER Explore Api used by the collaborativesearchService.
53
- */
54
- private exploreApi;
55
- /**
56
- * Configuration Service used by the collaborativesearchService.
57
- */
58
- private configService;
59
- /**
60
- * Configuration object of fetch call. By default all credentials are included.
61
- */
62
- private fetchOptions;
63
- constructor();
64
- /**
65
- * Return options used to fetch call.
66
- * @returns Object.
67
- */
68
- getFetchOptions(): {
69
- credentials: string;
70
- signal?: any;
71
- responseType?: string;
72
- referrerPolicy?: string;
73
- };
74
- /**
75
- * Set the fetch options.
76
- * @param fetchOptions : Object.
77
- */
78
- setFetchOptions(fetchOptions: any): void;
79
- /**
80
- * Return the ARLAS Explore API.
81
- * @returns ExploreApi.
82
- */
83
- getExploreApi(): ExploreApi;
84
- /**
85
- * Set the ARLAS Explore API.
86
- * @param api : ExploreApi.
87
- */
88
- setExploreApi(exploreApi: ExploreApi): void;
89
- /**
90
- * Return the Configuraion Service.
91
- * @returns ConfigService.
92
- */
93
- getConfigService(): ConfigService;
94
- /**
95
- * Set the Configuraion Service.
96
- * @param configService ConfigService.
97
- */
98
- setConfigService(configService: ConfigService): void;
99
- /**
100
- * Register contributor with its identifier in the map contributor registry.
101
- */
102
- register(identifier: string, contributor: Contributor): void;
103
- /**
104
- * Register collections of the given contributor in a collections registry.
105
- */
106
- registerCollections(contributor: Contributor): void;
107
- /**
108
- * Add Filter setted by a contributor in the registry of collaboration, notify the collaborationBus of a changement.
109
- * @param contributorId Sting identifier of contributor.
110
- * @param collaboration Collaboration added by the contributor.
111
- */
112
- setFilter(contributorId: string, collaboration: Collaboration): void;
113
- /**
114
- * Remove Filter from the registry of collaboration , notify the collaborationBus of a removing changement.
115
- * @param contributorId Sting identifier of contributor.
116
- * @param collaboration Collaboration added by the contributor.
117
- */
118
- removeFilter(contributorId: string): void;
119
- /**
120
- * Remove all the collaborations filters, notify the collaborationBus of a all removing changement.
121
- */
122
- removeAll(): void;
123
- dataModelBuilder(filter: string): Object;
124
- urlBuilder(): string;
125
- /**
126
- * Initialize all the contributor in the state of dataModel.
127
- * @param dataModel
128
- */
129
- setCollaborations(dataModel: Object): void;
130
- /**
131
- * Retrieve the collaboration from a contributor identifier.
132
- * @param contributorId Identifier of a contributor.
133
- * @returns Collaboration.
134
- */
135
- getCollaboration(contributorId: string): Collaboration;
136
- /**
137
- * Resolve an ARLAS Server Search or Count request with all the collaborations enabled in the collaboration registry
138
- except for the contributor given in second optionnal parameter.
139
- * @param projection Type of projection of ARLAS Server request:Search or Count.
140
- * @param contributorId Identifier contributor to resolve the request without the collaboration of this contributor.
141
- * @param filter ARLAS API filter to resolve the request with this filter in addition.
142
- * @param isFlat Whether flatten json.
143
- * @param max_age Duration of browser cache.
144
- * @returns ARLAS Server observable.
145
- */
146
- resolveButNotHits(projection: [projType.search, Search] | [projType.count, Count], collaborations: Map<string, Collaboration>, collection: any, contributorId?: string, filter?: Filter, isFlat?: boolean, max_age?: number): Observable<Hits>;
147
- /**
148
- * Resolve an ARLAS Server Search or Count request for an optional contributor and optional filters.
149
- * @param projection Type of projection of ARLAS Server request :Search or Count .
150
- * @param contributorId Identifier contributor to resolve the request with the collaboration of this contributor.
151
- * @param filter ARLAS API filter to resolve the request with this filter in addition.
152
- * @param isFlat Whether flatten json.
153
- * @param max_age Duration of browser cache.
154
- * @returns ARLAS Server observable.
155
- */
156
- resolveHits(projection: [projType.search, Search] | [projType.count, Count], collaborations: Map<string, Collaboration>, collection: any, contributorId?: string, filter?: Filter, isFlat?: boolean, max_age?: number): Observable<Hits>;
157
- /**
158
- * Resolve an ARLAS Server Search or Count request for an array of filter.
159
- * @param projection Type of projection of ARLAS Server request :Search or Count .
160
- * @param filters ARLAS API filters to resolve the request with compute
161
- * @param isFlat Whether flatten json.
162
- * @param max_age Duration of browser cache.
163
- * @returns ARLAS Server observable.
164
- */
165
- resolveComputeHits(projection: [projType.search, Search] | [projType.count, Count], filters: Array<Filter>, collection: any, isFlat?: boolean, max_age?: number): Observable<Hits>;
166
- /**
167
- * Resolve an ARLAS Server Geosearch or Geoaggregate request with all the collaborations enabled in the collaboration registry
168
- except for the contributor given in second optionnal parameter.
169
- * @param projection Type of projection of ARLAS Server request:Geosearch or Geoaggregate.
170
- * @param isFlat Boolean option to isFlat output geojson properties.
171
- * @param contributorId Identifier contributor to resolve the request without the collaboration of this contributor.
172
- * @param filter ARLAS API filter to resolve the request with this filter in addition.
173
- * @param max_age Duration of browser cache.
174
- * @returns ARLAS Server observable.
175
- */
176
- resolveButNotFeatureCollection(projection: [projType.geosearch, Search] | [projType.tiledgeosearch, TiledSearch] | [projType.geohashgeoaggregate, GeohashAggregation] | [projType.geotilegeoaggregate, GeoTileAggregation] | [projType.geoaggregate, Array<Aggregation>], collaborations: Map<string, Collaboration>, collection: any, isFlat?: boolean, contributorId?: string, filter?: Filter, max_age?: number): Observable<FeatureCollection>;
177
- resolveButNotShapefile(projection: [projType.shapeaggregate, Array<Aggregation>] | [projType.shapesearch, Search], collaborations: Map<string, Collaboration>, collection: any, isFlat?: boolean, contributorId?: string, filter?: Filter, max_age?: number): Observable<ArrayBuffer>;
178
- resolveButNotFeatureCollectionWithAbort(projection: [projType.geosearch, Search] | [projType.tiledgeosearch, TiledSearch] | [projType.geohashgeoaggregate, GeohashAggregation] | [projType.geotilegeoaggregate, GeoTileAggregation] | [projType.geoaggregate, Array<Aggregation>], collaborations: Map<string, Collaboration>, collection: any, isFlat: boolean, abortableSignal: any, contributorId?: string, filter?: Filter, max_age?: number): Observable<FeatureCollection>;
179
- /**
180
- * Resolve an ARLAS Server Geosearch or Geoaggregate request for an optional
181
- contributor and optional filters.
182
- * @param projection Type of projection of ARLAS Server request :Geosearch or Geoaggregate.
183
- * @param isFlat Boolean option to flat output geojson properties.
184
- * @param contributorId Identifier contributor to resolve the request with the collaboration of this contributor.
185
- * @param filter ARLAS API filter to resolve the request with this filter in addition.
186
- * @param max_age Duration of browser cache.
187
- * @returns ARLAS Server observable.
188
- */
189
- resolveFeatureCollection(projection: [projType.geosearch, Search] | [projType.tiledgeosearch, TiledSearch] | [projType.geohashgeoaggregate, GeohashAggregation] | [projType.geotilegeoaggregate, GeoTileAggregation] | [projType.geoaggregate, Array<Aggregation>], isFlat: boolean, collaborations: Map<string, Collaboration>, collection: any, contributorId?: string, filter?: Filter, max_age?: number): Observable<FeatureCollection>;
190
- /**
191
- * Resolve an ARLAS Server Aggregation request with all the collaborations enabled in the collaboration registry
192
- except for the contributor given in second optionnal parameter.
193
- * @param projection Type of projection of ARLAS Server request:Aggregation.
194
- * @param contributorId Identifier contributor to resolve the request without the collaboration of this contributor.
195
- * @param filter ARLAS API filter to resolve the request with this filter in addition.
196
- * @param isFlat Whether flatten json.
197
- * @param max_age Duration of browser cache.
198
- * @returns ARLAS Server observable.
199
- */
200
- resolveButNotAggregation(projection: [projType.aggregate, Array<Aggregation>], collaborations: Map<string, Collaboration>, collection: any, contributorId?: string, filter?: Filter, isFlat?: boolean, max_age?: number): Observable<AggregationResponse>;
201
- /**
202
- * Resolve an ARLAS Server Aggregation request for an optional contributor and optional filters.
203
- * @param projection Type of projection of ARLAS Server request :Aggregation.
204
- * @param contributorId Identifier contributor to resolve the request with the collaboration of this contributor.
205
- * @param filter ARLAS API filter to resolve the request with this filter in addition.
206
- * @param isFlat Whether flatten json.
207
- * @param max_age Duration of browser cache.
208
- * @returns ARLAS Server observable.
209
- */
210
- resolveAggregation(projection: [projType.aggregate, Array<Aggregation>], collaborations: Map<string, Collaboration>, collection: any, contributorId?: string, filter?: Filter, isFlat?: boolean, max_age?: number): Observable<AggregationResponse>;
211
- /**
212
- * Resolve an ARLAS Server Computation request with all the collaborations enabled in the collaboration registry
213
- except for the contributor given in second optionnal parameter.
214
- * @param projection Type of projection of ARLAS Server request : ComputationRequest.
215
- * @param collaborations Map<contributorId, itsCollboration>
216
- * @param contributorId Identifier contributor to resolve the request without the collaboration of this contributor.
217
- * @param filter ARLAS API filter to resolve the request with this filter in addition.
218
- * @param isFlat Whether flatten json.
219
- * @param max_age Duration of browser cache.
220
- * @returns ARLAS Server observable.
221
- */
222
- resolveButNotComputation(projection: [projType.compute, ComputationRequest], collaborations: Map<string, Collaboration>, collection: any, contributorId?: string, filter?: Filter, isFlat?: boolean, max_age?: number): Observable<ComputationResponse>;
223
- /**
224
- * Enable a contributor collaboration from its identifier.
225
- */
226
- enable(contributorId: string): void;
227
- /**
228
- * Disable a contributor collaboration from its identifier.
229
- */
230
- disable(contributorId: string): void;
231
- /**
232
- * Retrieve all the contributor identifiers.
233
- * @returns List of contributor idenfiers.
234
- */
235
- getAllContributors(): Array<string>;
236
- /**
237
- * Retrieve the contributor identifiers for which the collaboration is enabled.
238
- * @returns List of contributor idenfiers.
239
- */
240
- getEnableContributors(): Array<string>;
241
- /**
242
- * Retrieve the contributor identifiers for which the collaboration is disabled.
243
- * @returns List of contributor idenfiers.
244
- */
245
- getDisableContributors(): Array<string>;
246
- /**
247
- * Retrieve enabled parameter of collaboration from a contributor identifier.
248
- * @returns Contributor collaboration enabled properties.
249
- */
250
- isEnable(contributorId: string): boolean;
251
- /**
252
- * Update countAll property.
253
- */
254
- setCountAll(collaborations: Map<string, Collaboration>): void;
255
- /**
256
- * Build query parameters from aggregation and filters
257
- * @return Url encoded string
258
- */
259
- getUrl(projection: [projType.geoaggregate | projType.geosearch | projType.aggregate | projType.shapeaggregate | projType.shapesearch | projType.count | projType.geohashgeoaggregate | projType.geotilegeoaggregate | projType.search | projType.tiledgeosearch, Array<Aggregation>], filters: Array<Filter>, max_age?: number): string;
260
- getFinalFilter(filters: Array<Filter>): Filter;
261
- /**
262
- * Describe the structure and the content of the given collection.
263
- * @param collection collection name
264
- * @param pretty Whether pretty print or not
265
- * @param max_age Duration of browser cache.s
266
- */
267
- describe(collection: string, pretty?: boolean, max_age?: number): Observable<CollectionReferenceDescription>;
268
- /**
269
- * Lists the collections configured in ARLAS.
270
- * @param pretty Whether pretty print or not
271
- */
272
- list(pretty?: boolean): Observable<Array<CollectionReferenceDescription>>;
273
- /**
274
- * Set enabled value of a collaboration from a contributor identifier.
275
- * @param enabled Enabled collaboration value.
276
- * @param contributorId Contributor identifier.
277
- */
278
- private setEnable;
279
- /**
280
- * Resolve an ARLAS Server request for an optional contributor and optional filters.
281
- * @param projection Type of projection of ARLAS Server request.
282
- * @param contributorId Identifier contributor to resolve the request with the collaboration of this contributor.
283
- * @param filter ARLAS API filter to resolve the request with this filter in addition.
284
- * @param isFlat Boolean option to flat output geojson properties.
285
- * @returns ARLAS Server observable.
286
- */
287
- private resolve;
288
- /**
289
- * Resolve an ARLAS Server request with all the collaborations enabled in the collaboration registry
290
- except for the contributor given in second optionnal parameter.
291
- * @param projection Type of projection of ARLAS Server request.
292
- * @param contributorId Identifier contributor to resolve the request without the collaboration of this contributor.
293
- * @param filter ARLAS API filter to resolve the request with this filter in addition.
294
- * @param isFlat Boolean option to flat output geojson properties.
295
- * @param max_age Duration of browser cache.
296
- * @returns ARLAS Server observable.
297
- */
298
- private resolveButNot;
299
- /**
300
- * Build an ARLAS Server request from an Array of Filter
301
- * @param projection Type of projection of ARLAS Server request.
302
- * @param filters ARLAS API filters list to resolve the request.
303
- * @param isFlat Boolean option to flat output geojson properties.
304
- * @returns ARLAS Server observable.
305
- */
306
- private computeResolve;
307
- /**
308
- * Build an AggregationsRequest String[] for get mode request
309
- * @param aggregationRequest AggregationsRequest arlas object use in post request.
310
- * @returns aggregations as string[].
311
- */
312
- private buildAggGetParam;
313
- /**
314
- * Build an filter String[] or string for get mode request
315
- * @param field
316
- * @param filter
317
- * @returns aggregations as string[].
318
- */
319
- private buildFilterFieldGetParam;
320
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"collaborativesearch.service.js","sourceRoot":"","sources":["../../src/services/collaborativesearch.service.ts"],"names":[],"mappings":"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"}
@@ -1,31 +0,0 @@
1
- import { Subject } from 'rxjs';
2
- export declare class ConfigService {
3
- /**
4
- * Bus of configuration error.
5
- */
6
- confErrorBus: Subject<string>;
7
- /**
8
- * Object which contains the configuration (json format).
9
- */
10
- private config;
11
- constructor();
12
- /**
13
- * Retrieve Value from key in configuration object.
14
- * @returns configuration value
15
- */
16
- getValue(key: string): any;
17
- /**
18
- * Notify bus error.
19
- */
20
- errorCallBack(key: string): void;
21
- /**
22
- * Get configuration object.
23
- * @returns configuration Object
24
- */
25
- getConfig(): Object;
26
- /**
27
- * Set configuration object.
28
- * @param config Object
29
- */
30
- setConfig(config: Object): void;
31
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.service.js","sourceRoot":"","sources":["../../src/services/config.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,OAAO,aAAa;IAStB;QARA;;UAEE;QACK,iBAAY,GAAG,IAAI,OAAO,EAAU,CAAC;IAM5C,CAAC;IACD;;;MAGE;IACK,QAAQ,CAAC,GAAW;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;QACzB,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,GAAG,CAAC,CAAC;QAC7C,IAAI,KAAK,KAAK,IAAI,EAAE;YAChB,OAAO,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,GAAG,CAAC,CAAC;SACzC;aAAM;YACH,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;SAC3B;IACL,CAAC;IACD;;MAEE;IACK,aAAa,CAAC,GAAW;QAC5B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IACD;;;MAGE;IACK,SAAS;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IACD;;;MAGE;IACK,SAAS,CAAC,MAAc;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;CACJ"}
package/utils/utils.d.ts DELETED
@@ -1,22 +0,0 @@
1
- /**
2
- * Get object or String value of an object from key
3
- * sample usage: getObject(object,key1.key2)
4
- * @param {object} datalayer - datalayer object
5
- * @param {string} objectKey? - optional
6
- * @returns {any} returns object by key or string value
7
- */
8
- export declare function getObject(datalayer: object, objectKey?: string): any;
9
- /** This interface will be used to get on which field to aggregate for a collection */
10
- export interface CollectionAggField {
11
- field?: string;
12
- collectionName: string;
13
- }
14
- /** checks if there is a common string in the given arrays */
15
- export declare function hasAtLeastOneCommon(collections1: string[], collections2: string[]): boolean;
16
- export declare function fromEntries<T = any>(map: Map<string, T>): {
17
- [k: string]: T;
18
- };
19
- export interface CollectionCount {
20
- count: number;
21
- collection: string;
22
- }
package/utils/utils.js DELETED
@@ -1,63 +0,0 @@
1
- /*
2
- * Licensed to Gisaïa under one or more contributor
3
- * license agreements. See the NOTICE.txt file distributed with
4
- * this work for additional information regarding copyright
5
- * ownership. Gisaïa licenses this file to you under
6
- * the Apache License, Version 2.0 (the "License"); you may
7
- * not use this file except in compliance with the License.
8
- * You may obtain a copy of the License at
9
- *
10
- * http://www.apache.org/licenses/LICENSE-2.0
11
- *
12
- * Unless required by applicable law or agreed to in writing,
13
- * software distributed under the License is distributed on an
14
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
- * KIND, either express or implied. See the License for the
16
- * specific language governing permissions and limitations
17
- * under the License.
18
- */
19
- /**
20
- * Get object or String value of an object from key
21
- * sample usage: getObject(object,key1.key2)
22
- * @param {object} datalayer - datalayer object
23
- * @param {string} objectKey? - optional
24
- * @returns {any} returns object by key or string value
25
- */
26
- export function getObject(datalayer, objectKey) {
27
- // if datalayer doesn't exists, just return
28
- if (!datalayer) {
29
- return null;
30
- }
31
- // default return datalayer
32
- let current = datalayer;
33
- // check every layer
34
- if (typeof objectKey === 'string') {
35
- const numberOfObjectHierarchy = objectKey.match(/\./g).length;
36
- for (let i = 1; i <= numberOfObjectHierarchy; i++) {
37
- const currentKey = objectKey.split(/\./)[i];
38
- if (typeof current[currentKey] === 'undefined') {
39
- return null;
40
- }
41
- current = current[currentKey];
42
- }
43
- }
44
- return current;
45
- }
46
- /** checks if there is a common string in the given arrays */
47
- export function hasAtLeastOneCommon(collections1, collections2) {
48
- const cSet1 = new Set(collections1);
49
- if (!!cSet1 && collections2) {
50
- return collections2.filter(c => cSet1.has(c)).length > 0;
51
- }
52
- return false;
53
- }
54
- export function fromEntries(map) {
55
- const object = {};
56
- if (!!map) {
57
- map.forEach((v, k) => {
58
- object[k] = v;
59
- });
60
- }
61
- return object;
62
- }
63
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;;;;GAMG;AAEH,MAAM,UAAU,SAAS,CAAC,SAAiB,EAAE,SAAkB;IAC3D,2CAA2C;IAC7C,IAAI,CAAC,SAAS,EAAE;QACd,OAAO,IAAI,CAAC;KACb;IACD,2BAA2B;IAC3B,IAAI,OAAO,GAAG,SAAS,CAAC;IACxB,oBAAoB;IACpB,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;QACjC,MAAM,uBAAuB,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;QAC9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,uBAAuB,EAAE,CAAC,EAAE,EAAE;YACjD,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,IAAI,OAAO,OAAO,CAAC,UAAU,CAAC,KAAK,WAAW,EAAE;gBAC9C,OAAO,IAAI,CAAC;aACb;YACD,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;SAC/B;KACF;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAQD,6DAA6D;AAC7D,MAAM,UAAU,mBAAmB,CAAC,YAAsB,EAAE,YAAsB;IAChF,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;IACpC,IAAI,CAAC,CAAC,KAAK,IAAI,YAAY,EAAE;QAC3B,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;KAC1D;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,WAAW,CAAU,GAAmB;IAEtD,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,IAAI,CAAC,CAAC,GAAG,EAAE;QACT,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACnB,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;KACJ;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}