@ngrx/data 11.0.0-rc.0 → 11.1.1
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/bundles/ngrx-data.umd.js +902 -4475
- package/bundles/ngrx-data.umd.js.map +1 -1
- package/bundles/ngrx-data.umd.min.js +15 -1
- package/bundles/ngrx-data.umd.min.js.map +1 -1
- package/esm2015/index.js +2 -7
- package/esm2015/ngrx-data.js +2 -7
- package/esm2015/public_api.js +2 -7
- package/esm2015/src/actions/entity-action-factory.js +6 -31
- package/esm2015/src/actions/entity-action-guard.js +23 -130
- package/esm2015/src/actions/entity-action-operators.js +11 -64
- package/esm2015/src/actions/entity-action.js +2 -68
- package/esm2015/src/actions/entity-cache-action.js +14 -125
- package/esm2015/src/actions/entity-cache-change-set.js +15 -126
- package/esm2015/src/actions/entity-op.js +70 -89
- package/esm2015/src/actions/merge-strategy.js +8 -16
- package/esm2015/src/actions/update-response-data.js +2 -36
- package/esm2015/src/dataservices/data-service-error.js +1 -34
- package/esm2015/src/dataservices/default-data-service-config.js +1 -41
- package/esm2015/src/dataservices/default-data.service.js +5 -163
- package/esm2015/src/dataservices/entity-cache-data.service.js +17 -103
- package/esm2015/src/dataservices/entity-data.service.js +5 -31
- package/esm2015/src/dataservices/http-url-generator.js +11 -97
- package/esm2015/src/dataservices/interfaces.js +2 -71
- package/esm2015/src/dataservices/persistence-result-handler.service.js +7 -66
- package/esm2015/src/dispatchers/entity-cache-dispatcher.js +40 -97
- package/esm2015/src/dispatchers/entity-commands.js +2 -247
- package/esm2015/src/dispatchers/entity-dispatcher-base.js +65 -287
- package/esm2015/src/dispatchers/entity-dispatcher-default-options.js +6 -48
- package/esm2015/src/dispatchers/entity-dispatcher-factory.js +2 -64
- package/esm2015/src/dispatchers/entity-dispatcher.js +1 -74
- package/esm2015/src/effects/entity-cache-effects.js +21 -135
- package/esm2015/src/effects/entity-effects-scheduler.js +2 -10
- package/esm2015/src/effects/entity-effects.js +18 -128
- package/esm2015/src/entity-data-without-effects.module.js +7 -79
- package/esm2015/src/entity-data.module.js +3 -25
- package/esm2015/src/entity-metadata/entity-definition.js +2 -42
- package/esm2015/src/entity-metadata/entity-definition.service.js +14 -52
- package/esm2015/src/entity-metadata/entity-filters.js +5 -33
- package/esm2015/src/entity-metadata/entity-metadata.js +1 -34
- package/esm2015/src/entity-services/entity-collection-service-base.js +56 -208
- package/esm2015/src/entity-services/entity-collection-service-elements-factory.js +3 -60
- package/esm2015/src/entity-services/entity-collection-service-factory.js +5 -20
- package/esm2015/src/entity-services/entity-collection-service.js +2 -53
- package/esm2015/src/entity-services/entity-services-base.js +18 -78
- package/esm2015/src/entity-services/entity-services-elements.js +9 -44
- package/esm2015/src/entity-services/entity-services.js +1 -70
- package/esm2015/src/index.js +1 -6
- package/esm2015/src/reducers/constants.js +1 -11
- package/esm2015/src/reducers/entity-cache-reducer.js +33 -175
- package/esm2015/src/reducers/entity-cache.js +2 -10
- package/esm2015/src/reducers/entity-change-tracker-base.js +115 -262
- package/esm2015/src/reducers/entity-change-tracker.js +2 -179
- package/esm2015/src/reducers/entity-collection-creator.js +5 -29
- package/esm2015/src/reducers/entity-collection-reducer-methods.js +44 -503
- package/esm2015/src/reducers/entity-collection-reducer-registry.js +8 -50
- package/esm2015/src/reducers/entity-collection-reducer.js +5 -34
- package/esm2015/src/reducers/entity-collection.js +9 -65
- package/esm2015/src/selectors/entity-cache-selector.js +1 -12
- package/esm2015/src/selectors/entity-selectors$.js +11 -137
- package/esm2015/src/selectors/entity-selectors.js +23 -262
- package/esm2015/src/utils/correlation-id-generator.js +4 -30
- package/esm2015/src/utils/default-logger.js +1 -21
- package/esm2015/src/utils/default-pluralizer.js +3 -24
- package/esm2015/src/utils/guid-fns.js +9 -41
- package/esm2015/src/utils/interfaces.js +1 -49
- package/esm2015/src/utils/utilities.js +6 -25
- package/fesm2015/ngrx-data.js +721 -4410
- package/fesm2015/ngrx-data.js.map +1 -1
- package/package.json +5 -5
- package/schematics-core/index.js +4 -1
- package/schematics-core/index.js.map +1 -1
- package/schematics-core/utility/ast-utils.js +127 -1
- package/schematics-core/utility/ast-utils.js.map +1 -1
- package/schematics-core/utility/config.js +1 -1
- package/schematics-core/utility/config.js.map +1 -1
- package/schematics-core/utility/find-component.js +101 -0
- package/schematics-core/utility/find-component.js.map +1 -0
- package/schematics-core/utility/libs-version.js +1 -1
- package/schematics-core/utility/libs-version.js.map +1 -1
- package/schematics-core/utility/project.js +4 -2
- package/schematics-core/utility/project.js.map +1 -1
- package/CHANGELOG.md +0 -3
- package/esm2015/index.ngsummary.json +0 -1
- package/esm2015/ngrx-data.ngsummary.json +0 -1
- package/esm2015/public_api.ngsummary.json +0 -1
- package/esm2015/src/actions/entity-action-factory.ngsummary.json +0 -1
- package/esm2015/src/actions/entity-action-guard.ngsummary.json +0 -1
- package/esm2015/src/actions/entity-action-operators.ngsummary.json +0 -1
- package/esm2015/src/actions/entity-action.ngsummary.json +0 -1
- package/esm2015/src/actions/entity-cache-action.ngsummary.json +0 -1
- package/esm2015/src/actions/entity-cache-change-set.ngsummary.json +0 -1
- package/esm2015/src/actions/entity-op.ngsummary.json +0 -1
- package/esm2015/src/actions/merge-strategy.ngsummary.json +0 -1
- package/esm2015/src/actions/update-response-data.ngsummary.json +0 -1
- package/esm2015/src/dataservices/data-service-error.ngsummary.json +0 -1
- package/esm2015/src/dataservices/default-data-service-config.ngsummary.json +0 -1
- package/esm2015/src/dataservices/default-data.service.ngsummary.json +0 -1
- package/esm2015/src/dataservices/entity-cache-data.service.ngsummary.json +0 -1
- package/esm2015/src/dataservices/entity-data.service.ngsummary.json +0 -1
- package/esm2015/src/dataservices/http-url-generator.ngsummary.json +0 -1
- package/esm2015/src/dataservices/interfaces.ngsummary.json +0 -1
- package/esm2015/src/dataservices/persistence-result-handler.service.ngsummary.json +0 -1
- package/esm2015/src/dispatchers/entity-cache-dispatcher.ngsummary.json +0 -1
- package/esm2015/src/dispatchers/entity-commands.ngsummary.json +0 -1
- package/esm2015/src/dispatchers/entity-dispatcher-base.ngsummary.json +0 -1
- package/esm2015/src/dispatchers/entity-dispatcher-default-options.ngsummary.json +0 -1
- package/esm2015/src/dispatchers/entity-dispatcher-factory.ngsummary.json +0 -1
- package/esm2015/src/dispatchers/entity-dispatcher.ngsummary.json +0 -1
- package/esm2015/src/effects/entity-cache-effects.ngsummary.json +0 -1
- package/esm2015/src/effects/entity-effects-scheduler.ngsummary.json +0 -1
- package/esm2015/src/effects/entity-effects.ngsummary.json +0 -1
- package/esm2015/src/entity-data-without-effects.module.ngfactory.js +0 -36
- package/esm2015/src/entity-data-without-effects.module.ngsummary.json +0 -1
- package/esm2015/src/entity-data.module.ngfactory.js +0 -48
- package/esm2015/src/entity-data.module.ngsummary.json +0 -1
- package/esm2015/src/entity-metadata/entity-definition.ngsummary.json +0 -1
- package/esm2015/src/entity-metadata/entity-definition.service.ngsummary.json +0 -1
- package/esm2015/src/entity-metadata/entity-filters.ngsummary.json +0 -1
- package/esm2015/src/entity-metadata/entity-metadata.ngsummary.json +0 -1
- package/esm2015/src/entity-services/entity-collection-service-base.ngsummary.json +0 -1
- package/esm2015/src/entity-services/entity-collection-service-elements-factory.ngsummary.json +0 -1
- package/esm2015/src/entity-services/entity-collection-service-factory.ngsummary.json +0 -1
- package/esm2015/src/entity-services/entity-collection-service.ngsummary.json +0 -1
- package/esm2015/src/entity-services/entity-services-base.ngsummary.json +0 -1
- package/esm2015/src/entity-services/entity-services-elements.ngsummary.json +0 -1
- package/esm2015/src/entity-services/entity-services.ngsummary.json +0 -1
- package/esm2015/src/index.ngsummary.json +0 -1
- package/esm2015/src/reducers/constants.ngsummary.json +0 -1
- package/esm2015/src/reducers/entity-cache-reducer.ngsummary.json +0 -1
- package/esm2015/src/reducers/entity-cache.ngsummary.json +0 -1
- package/esm2015/src/reducers/entity-change-tracker-base.ngsummary.json +0 -1
- package/esm2015/src/reducers/entity-change-tracker.ngsummary.json +0 -1
- package/esm2015/src/reducers/entity-collection-creator.ngsummary.json +0 -1
- package/esm2015/src/reducers/entity-collection-reducer-methods.ngsummary.json +0 -1
- package/esm2015/src/reducers/entity-collection-reducer-registry.ngsummary.json +0 -1
- package/esm2015/src/reducers/entity-collection-reducer.ngsummary.json +0 -1
- package/esm2015/src/reducers/entity-collection.ngsummary.json +0 -1
- package/esm2015/src/selectors/entity-cache-selector.ngsummary.json +0 -1
- package/esm2015/src/selectors/entity-selectors$.ngsummary.json +0 -1
- package/esm2015/src/selectors/entity-selectors.ngsummary.json +0 -1
- package/esm2015/src/utils/correlation-id-generator.ngsummary.json +0 -1
- package/esm2015/src/utils/default-logger.ngsummary.json +0 -1
- package/esm2015/src/utils/default-pluralizer.ngsummary.json +0 -1
- package/esm2015/src/utils/guid-fns.ngsummary.json +0 -1
- package/esm2015/src/utils/interfaces.ngsummary.json +0 -1
- package/esm2015/src/utils/utilities.ngsummary.json +0 -1
- package/schematics/ng-add/files/entity-metadata.ts.template +0 -10
- package/src/entity-data-without-effects.module.ngfactory.d.ts +0 -3
- package/src/entity-data.module.ngfactory.d.ts +0 -3
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: src/dataservices/entity-data.service.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
1
|
import { Injectable } from '@angular/core';
|
|
7
2
|
import { DefaultDataServiceFactory } from './default-data.service';
|
|
8
3
|
/**
|
|
@@ -12,26 +7,20 @@ import { DefaultDataServiceFactory } from './default-data.service';
|
|
|
12
7
|
export class EntityDataService {
|
|
13
8
|
// TODO: Optionally inject specialized entity data services
|
|
14
9
|
// for those that aren't derived from BaseDataService.
|
|
15
|
-
/**
|
|
16
|
-
* @param {?} defaultDataServiceFactory
|
|
17
|
-
*/
|
|
18
10
|
constructor(defaultDataServiceFactory) {
|
|
19
11
|
this.defaultDataServiceFactory = defaultDataServiceFactory;
|
|
20
12
|
this.services = {};
|
|
21
13
|
}
|
|
22
14
|
/**
|
|
23
15
|
* Get (or create) a data service for entity type
|
|
24
|
-
* @
|
|
25
|
-
* @param {?} entityName - the name of the type
|
|
16
|
+
* @param entityName - the name of the type
|
|
26
17
|
*
|
|
27
18
|
* Examples:
|
|
28
19
|
* getService('Hero'); // data service for Heroes, untyped
|
|
29
20
|
* getService<Hero>('Hero'); // data service for Heroes, typed as Hero
|
|
30
|
-
* @return {?}
|
|
31
21
|
*/
|
|
32
22
|
getService(entityName) {
|
|
33
23
|
entityName = entityName.trim();
|
|
34
|
-
/** @type {?} */
|
|
35
24
|
let service = this.services[entityName];
|
|
36
25
|
if (!service) {
|
|
37
26
|
service = this.defaultDataServiceFactory.create(entityName);
|
|
@@ -41,28 +30,25 @@ export class EntityDataService {
|
|
|
41
30
|
}
|
|
42
31
|
/**
|
|
43
32
|
* Register an EntityCollectionDataService for an entity type
|
|
44
|
-
* @
|
|
45
|
-
* @param
|
|
46
|
-
* @param {?} service - data service for that entity type
|
|
33
|
+
* @param entityName - the name of the entity type
|
|
34
|
+
* @param service - data service for that entity type
|
|
47
35
|
*
|
|
48
36
|
* Examples:
|
|
49
37
|
* registerService('Hero', myHeroDataService);
|
|
50
38
|
* registerService('Villain', myVillainDataService);
|
|
51
|
-
* @return {?}
|
|
52
39
|
*/
|
|
53
40
|
registerService(entityName, service) {
|
|
54
41
|
this.services[entityName.trim()] = service;
|
|
55
42
|
}
|
|
56
43
|
/**
|
|
57
44
|
* Register a batch of data services.
|
|
58
|
-
* @param
|
|
45
|
+
* @param services - data services to merge into existing services
|
|
59
46
|
*
|
|
60
47
|
* Examples:
|
|
61
48
|
* registerServices({
|
|
62
49
|
* Hero: myHeroDataService,
|
|
63
50
|
* Villain: myVillainDataService
|
|
64
51
|
* });
|
|
65
|
-
* @return {?}
|
|
66
52
|
*/
|
|
67
53
|
registerServices(services) {
|
|
68
54
|
this.services = Object.assign(Object.assign({}, this.services), services);
|
|
@@ -75,16 +61,4 @@ EntityDataService.decorators = [
|
|
|
75
61
|
EntityDataService.ctorParameters = () => [
|
|
76
62
|
{ type: DefaultDataServiceFactory }
|
|
77
63
|
];
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* @type {?}
|
|
81
|
-
* @protected
|
|
82
|
-
*/
|
|
83
|
-
EntityDataService.prototype.services;
|
|
84
|
-
/**
|
|
85
|
-
* @type {?}
|
|
86
|
-
* @protected
|
|
87
|
-
*/
|
|
88
|
-
EntityDataService.prototype.defaultDataServiceFactory;
|
|
89
|
-
}
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWRhdGEuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi9tb2R1bGVzL2RhdGEvIiwic291cmNlcyI6WyJzcmMvZGF0YXNlcnZpY2VzL2VudGl0eS1kYXRhLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7OztBQU9uRSxNQUFNLE9BQU8saUJBQWlCOzs7Ozs7SUFLNUIsWUFBc0IseUJBQW9EO1FBQXBELDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBMkI7UUFKaEUsYUFBUSxHQUF5RCxFQUFFLENBQUM7SUFJRCxDQUFDOzs7Ozs7Ozs7OztJQVU5RSxVQUFVLENBQUksVUFBa0I7UUFDOUIsVUFBVSxHQUFHLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQzs7WUFDM0IsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDWixPQUFPLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUM1RCxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxHQUFHLE9BQU8sQ0FBQztTQUNyQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Ozs7Ozs7Ozs7OztJQVdELGVBQWUsQ0FDYixVQUFrQixFQUNsQixPQUF1QztRQUV2QyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQztJQUM3QyxDQUFDOzs7Ozs7Ozs7Ozs7SUFZRCxnQkFBZ0IsQ0FBQyxRQUVoQjtRQUNDLElBQUksQ0FBQyxRQUFRLG1DQUFRLElBQUksQ0FBQyxRQUFRLEdBQUssUUFBUSxDQUFFLENBQUM7SUFDcEQsQ0FBQzs7O1lBeERGLFVBQVU7Ozs7WUFORix5QkFBeUI7Ozs7Ozs7SUFRaEMscUNBQThFOzs7OztJQUlsRSxzREFBOEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEVudGl0eUNvbGxlY3Rpb25EYXRhU2VydmljZSB9IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBEZWZhdWx0RGF0YVNlcnZpY2VGYWN0b3J5IH0gZnJvbSAnLi9kZWZhdWx0LWRhdGEuc2VydmljZSc7XG5cbi8qKlxuICogUmVnaXN0cnkgb2YgRW50aXR5Q29sbGVjdGlvbiBkYXRhIHNlcnZpY2VzIHRoYXQgbWFrZSBSRVNULWxpa2UgQ1JVRCBjYWxsc1xuICogdG8gZW50aXR5IGNvbGxlY3Rpb24gZW5kcG9pbnRzLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRW50aXR5RGF0YVNlcnZpY2Uge1xuICBwcm90ZWN0ZWQgc2VydmljZXM6IHsgW25hbWU6IHN0cmluZ106IEVudGl0eUNvbGxlY3Rpb25EYXRhU2VydmljZTxhbnk+IH0gPSB7fTtcblxuICAvLyBUT0RPOiAgT3B0aW9uYWxseSBpbmplY3Qgc3BlY2lhbGl6ZWQgZW50aXR5IGRhdGEgc2VydmljZXNcbiAgLy8gZm9yIHRob3NlIHRoYXQgYXJlbid0IGRlcml2ZWQgZnJvbSBCYXNlRGF0YVNlcnZpY2UuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBkZWZhdWx0RGF0YVNlcnZpY2VGYWN0b3J5OiBEZWZhdWx0RGF0YVNlcnZpY2VGYWN0b3J5KSB7fVxuXG4gIC8qKlxuICAgKiBHZXQgKG9yIGNyZWF0ZSkgYSBkYXRhIHNlcnZpY2UgZm9yIGVudGl0eSB0eXBlXG4gICAqIEBwYXJhbSBlbnRpdHlOYW1lIC0gdGhlIG5hbWUgb2YgdGhlIHR5cGVcbiAgICpcbiAgICogRXhhbXBsZXM6XG4gICAqICAgZ2V0U2VydmljZSgnSGVybycpOyAvLyBkYXRhIHNlcnZpY2UgZm9yIEhlcm9lcywgdW50eXBlZFxuICAgKiAgIGdldFNlcnZpY2U8SGVybz4oJ0hlcm8nKTsgLy8gZGF0YSBzZXJ2aWNlIGZvciBIZXJvZXMsIHR5cGVkIGFzIEhlcm9cbiAgICovXG4gIGdldFNlcnZpY2U8VD4oZW50aXR5TmFtZTogc3RyaW5nKTogRW50aXR5Q29sbGVjdGlvbkRhdGFTZXJ2aWNlPFQ+IHtcbiAgICBlbnRpdHlOYW1lID0gZW50aXR5TmFtZS50cmltKCk7XG4gICAgbGV0IHNlcnZpY2UgPSB0aGlzLnNlcnZpY2VzW2VudGl0eU5hbWVdO1xuICAgIGlmICghc2VydmljZSkge1xuICAgICAgc2VydmljZSA9IHRoaXMuZGVmYXVsdERhdGFTZXJ2aWNlRmFjdG9yeS5jcmVhdGUoZW50aXR5TmFtZSk7XG4gICAgICB0aGlzLnNlcnZpY2VzW2VudGl0eU5hbWVdID0gc2VydmljZTtcbiAgICB9XG4gICAgcmV0dXJuIHNlcnZpY2U7XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXIgYW4gRW50aXR5Q29sbGVjdGlvbkRhdGFTZXJ2aWNlIGZvciBhbiBlbnRpdHkgdHlwZVxuICAgKiBAcGFyYW0gZW50aXR5TmFtZSAtIHRoZSBuYW1lIG9mIHRoZSBlbnRpdHkgdHlwZVxuICAgKiBAcGFyYW0gc2VydmljZSAtIGRhdGEgc2VydmljZSBmb3IgdGhhdCBlbnRpdHkgdHlwZVxuICAgKlxuICAgKiBFeGFtcGxlczpcbiAgICogICByZWdpc3RlclNlcnZpY2UoJ0hlcm8nLCBteUhlcm9EYXRhU2VydmljZSk7XG4gICAqICAgcmVnaXN0ZXJTZXJ2aWNlKCdWaWxsYWluJywgbXlWaWxsYWluRGF0YVNlcnZpY2UpO1xuICAgKi9cbiAgcmVnaXN0ZXJTZXJ2aWNlPFQ+KFxuICAgIGVudGl0eU5hbWU6IHN0cmluZyxcbiAgICBzZXJ2aWNlOiBFbnRpdHlDb2xsZWN0aW9uRGF0YVNlcnZpY2U8VD5cbiAgKSB7XG4gICAgdGhpcy5zZXJ2aWNlc1tlbnRpdHlOYW1lLnRyaW0oKV0gPSBzZXJ2aWNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVyIGEgYmF0Y2ggb2YgZGF0YSBzZXJ2aWNlcy5cbiAgICogQHBhcmFtIHNlcnZpY2VzIC0gZGF0YSBzZXJ2aWNlcyB0byBtZXJnZSBpbnRvIGV4aXN0aW5nIHNlcnZpY2VzXG4gICAqXG4gICAqIEV4YW1wbGVzOlxuICAgKiAgIHJlZ2lzdGVyU2VydmljZXMoe1xuICAgKiAgICAgSGVybzogbXlIZXJvRGF0YVNlcnZpY2UsXG4gICAqICAgICBWaWxsYWluOiBteVZpbGxhaW5EYXRhU2VydmljZVxuICAgKiAgIH0pO1xuICAgKi9cbiAgcmVnaXN0ZXJTZXJ2aWNlcyhzZXJ2aWNlczoge1xuICAgIFtuYW1lOiBzdHJpbmddOiBFbnRpdHlDb2xsZWN0aW9uRGF0YVNlcnZpY2U8YW55PjtcbiAgfSkge1xuICAgIHRoaXMuc2VydmljZXMgPSB7IC4uLnRoaXMuc2VydmljZXMsIC4uLnNlcnZpY2VzIH07XG4gIH1cbn1cbiJdfQ==
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWRhdGEuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvZGF0YS9zcmMvZGF0YXNlcnZpY2VzL2VudGl0eS1kYXRhLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVuRTs7O0dBR0c7QUFFSCxNQUFNLE9BQU8saUJBQWlCO0lBRzVCLDREQUE0RDtJQUM1RCxzREFBc0Q7SUFDdEQsWUFBc0IseUJBQW9EO1FBQXBELDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBMkI7UUFKaEUsYUFBUSxHQUF5RCxFQUFFLENBQUM7SUFJRCxDQUFDO0lBRTlFOzs7Ozs7O09BT0c7SUFDSCxVQUFVLENBQUksVUFBa0I7UUFDOUIsVUFBVSxHQUFHLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMvQixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDWixPQUFPLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUM1RCxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxHQUFHLE9BQU8sQ0FBQztTQUNyQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILGVBQWUsQ0FDYixVQUFrQixFQUNsQixPQUF1QztRQUV2QyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQztJQUM3QyxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0gsZ0JBQWdCLENBQUMsUUFFaEI7UUFDQyxJQUFJLENBQUMsUUFBUSxtQ0FBUSxJQUFJLENBQUMsUUFBUSxHQUFLLFFBQVEsQ0FBRSxDQUFDO0lBQ3BELENBQUM7OztZQXhERixVQUFVOzs7O1lBTkYseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBFbnRpdHlDb2xsZWN0aW9uRGF0YVNlcnZpY2UgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgRGVmYXVsdERhdGFTZXJ2aWNlRmFjdG9yeSB9IGZyb20gJy4vZGVmYXVsdC1kYXRhLnNlcnZpY2UnO1xuXG4vKipcbiAqIFJlZ2lzdHJ5IG9mIEVudGl0eUNvbGxlY3Rpb24gZGF0YSBzZXJ2aWNlcyB0aGF0IG1ha2UgUkVTVC1saWtlIENSVUQgY2FsbHNcbiAqIHRvIGVudGl0eSBjb2xsZWN0aW9uIGVuZHBvaW50cy5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEVudGl0eURhdGFTZXJ2aWNlIHtcbiAgcHJvdGVjdGVkIHNlcnZpY2VzOiB7IFtuYW1lOiBzdHJpbmddOiBFbnRpdHlDb2xsZWN0aW9uRGF0YVNlcnZpY2U8YW55PiB9ID0ge307XG5cbiAgLy8gVE9ETzogIE9wdGlvbmFsbHkgaW5qZWN0IHNwZWNpYWxpemVkIGVudGl0eSBkYXRhIHNlcnZpY2VzXG4gIC8vIGZvciB0aG9zZSB0aGF0IGFyZW4ndCBkZXJpdmVkIGZyb20gQmFzZURhdGFTZXJ2aWNlLlxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgZGVmYXVsdERhdGFTZXJ2aWNlRmFjdG9yeTogRGVmYXVsdERhdGFTZXJ2aWNlRmFjdG9yeSkge31cblxuICAvKipcbiAgICogR2V0IChvciBjcmVhdGUpIGEgZGF0YSBzZXJ2aWNlIGZvciBlbnRpdHkgdHlwZVxuICAgKiBAcGFyYW0gZW50aXR5TmFtZSAtIHRoZSBuYW1lIG9mIHRoZSB0eXBlXG4gICAqXG4gICAqIEV4YW1wbGVzOlxuICAgKiAgIGdldFNlcnZpY2UoJ0hlcm8nKTsgLy8gZGF0YSBzZXJ2aWNlIGZvciBIZXJvZXMsIHVudHlwZWRcbiAgICogICBnZXRTZXJ2aWNlPEhlcm8+KCdIZXJvJyk7IC8vIGRhdGEgc2VydmljZSBmb3IgSGVyb2VzLCB0eXBlZCBhcyBIZXJvXG4gICAqL1xuICBnZXRTZXJ2aWNlPFQ+KGVudGl0eU5hbWU6IHN0cmluZyk6IEVudGl0eUNvbGxlY3Rpb25EYXRhU2VydmljZTxUPiB7XG4gICAgZW50aXR5TmFtZSA9IGVudGl0eU5hbWUudHJpbSgpO1xuICAgIGxldCBzZXJ2aWNlID0gdGhpcy5zZXJ2aWNlc1tlbnRpdHlOYW1lXTtcbiAgICBpZiAoIXNlcnZpY2UpIHtcbiAgICAgIHNlcnZpY2UgPSB0aGlzLmRlZmF1bHREYXRhU2VydmljZUZhY3RvcnkuY3JlYXRlKGVudGl0eU5hbWUpO1xuICAgICAgdGhpcy5zZXJ2aWNlc1tlbnRpdHlOYW1lXSA9IHNlcnZpY2U7XG4gICAgfVxuICAgIHJldHVybiBzZXJ2aWNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVyIGFuIEVudGl0eUNvbGxlY3Rpb25EYXRhU2VydmljZSBmb3IgYW4gZW50aXR5IHR5cGVcbiAgICogQHBhcmFtIGVudGl0eU5hbWUgLSB0aGUgbmFtZSBvZiB0aGUgZW50aXR5IHR5cGVcbiAgICogQHBhcmFtIHNlcnZpY2UgLSBkYXRhIHNlcnZpY2UgZm9yIHRoYXQgZW50aXR5IHR5cGVcbiAgICpcbiAgICogRXhhbXBsZXM6XG4gICAqICAgcmVnaXN0ZXJTZXJ2aWNlKCdIZXJvJywgbXlIZXJvRGF0YVNlcnZpY2UpO1xuICAgKiAgIHJlZ2lzdGVyU2VydmljZSgnVmlsbGFpbicsIG15VmlsbGFpbkRhdGFTZXJ2aWNlKTtcbiAgICovXG4gIHJlZ2lzdGVyU2VydmljZTxUPihcbiAgICBlbnRpdHlOYW1lOiBzdHJpbmcsXG4gICAgc2VydmljZTogRW50aXR5Q29sbGVjdGlvbkRhdGFTZXJ2aWNlPFQ+XG4gICkge1xuICAgIHRoaXMuc2VydmljZXNbZW50aXR5TmFtZS50cmltKCldID0gc2VydmljZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlciBhIGJhdGNoIG9mIGRhdGEgc2VydmljZXMuXG4gICAqIEBwYXJhbSBzZXJ2aWNlcyAtIGRhdGEgc2VydmljZXMgdG8gbWVyZ2UgaW50byBleGlzdGluZyBzZXJ2aWNlc1xuICAgKlxuICAgKiBFeGFtcGxlczpcbiAgICogICByZWdpc3RlclNlcnZpY2VzKHtcbiAgICogICAgIEhlcm86IG15SGVyb0RhdGFTZXJ2aWNlLFxuICAgKiAgICAgVmlsbGFpbjogbXlWaWxsYWluRGF0YVNlcnZpY2VcbiAgICogICB9KTtcbiAgICovXG4gIHJlZ2lzdGVyU2VydmljZXMoc2VydmljZXM6IHtcbiAgICBbbmFtZTogc3RyaW5nXTogRW50aXR5Q29sbGVjdGlvbkRhdGFTZXJ2aWNlPGFueT47XG4gIH0pIHtcbiAgICB0aGlzLnNlcnZpY2VzID0geyAuLi50aGlzLnNlcnZpY2VzLCAuLi5zZXJ2aWNlcyB9O1xuICB9XG59XG4iXX0=
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: src/dataservices/http-url-generator.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
1
|
import { Injectable } from '@angular/core';
|
|
7
2
|
import { Pluralizer } from '../utils/interfaces';
|
|
8
3
|
/**
|
|
@@ -10,72 +5,16 @@ import { Pluralizer } from '../utils/interfaces';
|
|
|
10
5
|
* Each entity's resource URLS are endpoints that
|
|
11
6
|
* target single entity and multi-entity HTTP operations.
|
|
12
7
|
* Used by the `DefaultHttpUrlGenerator`.
|
|
13
|
-
* @abstract
|
|
14
8
|
*/
|
|
15
9
|
export class EntityHttpResourceUrls {
|
|
16
10
|
}
|
|
17
|
-
/**
|
|
18
|
-
* Resource URLS for HTTP operations that target single entity
|
|
19
|
-
* and multi-entity endpoints.
|
|
20
|
-
* @record
|
|
21
|
-
*/
|
|
22
|
-
export function HttpResourceUrls() { }
|
|
23
|
-
if (false) {
|
|
24
|
-
/**
|
|
25
|
-
* The URL path for a single entity endpoint, e.g, `some-api-root/hero/`
|
|
26
|
-
* such as you'd use to add a hero.
|
|
27
|
-
* Example: `httpClient.post<Hero>('some-api-root/hero/', addedHero)`.
|
|
28
|
-
* Note trailing slash (/).
|
|
29
|
-
* @type {?}
|
|
30
|
-
*/
|
|
31
|
-
HttpResourceUrls.prototype.entityResourceUrl;
|
|
32
|
-
/**
|
|
33
|
-
* The URL path for a multiple-entity endpoint, e.g, `some-api-root/heroes/`
|
|
34
|
-
* such as you'd use when getting all heroes.
|
|
35
|
-
* Example: `httpClient.get<Hero[]>('some-api-root/heroes/')`
|
|
36
|
-
* Note trailing slash (/).
|
|
37
|
-
* @type {?}
|
|
38
|
-
*/
|
|
39
|
-
HttpResourceUrls.prototype.collectionResourceUrl;
|
|
40
|
-
}
|
|
41
11
|
/**
|
|
42
12
|
* Generate the base part of an HTTP URL for
|
|
43
13
|
* single entity or entity collection resource
|
|
44
|
-
* @abstract
|
|
45
14
|
*/
|
|
46
15
|
export class HttpUrlGenerator {
|
|
47
16
|
}
|
|
48
|
-
if (false) {
|
|
49
|
-
/**
|
|
50
|
-
* Return the base URL for a single entity resource,
|
|
51
|
-
* e.g., the base URL to get a single hero by its id
|
|
52
|
-
* @abstract
|
|
53
|
-
* @param {?} entityName
|
|
54
|
-
* @param {?} root
|
|
55
|
-
* @return {?}
|
|
56
|
-
*/
|
|
57
|
-
HttpUrlGenerator.prototype.entityResource = function (entityName, root) { };
|
|
58
|
-
/**
|
|
59
|
-
* Return the base URL for a collection resource,
|
|
60
|
-
* e.g., the base URL to get all heroes
|
|
61
|
-
* @abstract
|
|
62
|
-
* @param {?} entityName
|
|
63
|
-
* @param {?} root
|
|
64
|
-
* @return {?}
|
|
65
|
-
*/
|
|
66
|
-
HttpUrlGenerator.prototype.collectionResource = function (entityName, root) { };
|
|
67
|
-
/**
|
|
68
|
-
* Register known single-entity and collection resource URLs for HTTP calls
|
|
69
|
-
* @abstract
|
|
70
|
-
* @param {?=} entityHttpResourceUrls {EntityHttpResourceUrls} resource urls for specific entity type names
|
|
71
|
-
* @return {?}
|
|
72
|
-
*/
|
|
73
|
-
HttpUrlGenerator.prototype.registerHttpResourceUrls = function (entityHttpResourceUrls) { };
|
|
74
|
-
}
|
|
75
17
|
export class DefaultHttpUrlGenerator {
|
|
76
|
-
/**
|
|
77
|
-
* @param {?} pluralizer
|
|
78
|
-
*/
|
|
79
18
|
constructor(pluralizer) {
|
|
80
19
|
this.pluralizer = pluralizer;
|
|
81
20
|
/**
|
|
@@ -88,16 +27,12 @@ export class DefaultHttpUrlGenerator {
|
|
|
88
27
|
}
|
|
89
28
|
/**
|
|
90
29
|
* Get or generate the entity and collection resource URLs for the given entity type name
|
|
91
|
-
* @
|
|
92
|
-
* @param
|
|
93
|
-
* @param {?} root {string} Root path to the resource, e.g., 'some-api`
|
|
94
|
-
* @return {?}
|
|
30
|
+
* @param entityName {string} Name of the entity type, e.g, 'Hero'
|
|
31
|
+
* @param root {string} Root path to the resource, e.g., 'some-api`
|
|
95
32
|
*/
|
|
96
33
|
getResourceUrls(entityName, root) {
|
|
97
|
-
/** @type {?} */
|
|
98
34
|
let resourceUrls = this.knownHttpResourceUrls[entityName];
|
|
99
35
|
if (!resourceUrls) {
|
|
100
|
-
/** @type {?} */
|
|
101
36
|
const nRoot = normalizeRoot(root);
|
|
102
37
|
resourceUrls = {
|
|
103
38
|
entityResourceUrl: `${nRoot}/${entityName}/`.toLowerCase(),
|
|
@@ -109,28 +44,27 @@ export class DefaultHttpUrlGenerator {
|
|
|
109
44
|
}
|
|
110
45
|
/**
|
|
111
46
|
* Create the path to a single entity resource
|
|
112
|
-
* @param
|
|
113
|
-
* @param
|
|
114
|
-
* @
|
|
47
|
+
* @param entityName {string} Name of the entity type, e.g, 'Hero'
|
|
48
|
+
* @param root {string} Root path to the resource, e.g., 'some-api`
|
|
49
|
+
* @returns complete path to resource, e.g, 'some-api/hero'
|
|
115
50
|
*/
|
|
116
51
|
entityResource(entityName, root) {
|
|
117
52
|
return this.getResourceUrls(entityName, root).entityResourceUrl;
|
|
118
53
|
}
|
|
119
54
|
/**
|
|
120
55
|
* Create the path to a multiple entity (collection) resource
|
|
121
|
-
* @param
|
|
122
|
-
* @param
|
|
123
|
-
* @
|
|
56
|
+
* @param entityName {string} Name of the entity type, e.g, 'Hero'
|
|
57
|
+
* @param root {string} Root path to the resource, e.g., 'some-api`
|
|
58
|
+
* @returns complete path to resource, e.g, 'some-api/heroes'
|
|
124
59
|
*/
|
|
125
60
|
collectionResource(entityName, root) {
|
|
126
61
|
return this.getResourceUrls(entityName, root).collectionResourceUrl;
|
|
127
62
|
}
|
|
128
63
|
/**
|
|
129
64
|
* Register known single-entity and collection resource URLs for HTTP calls
|
|
130
|
-
* @param
|
|
65
|
+
* @param entityHttpResourceUrls {EntityHttpResourceUrls} resource urls for specific entity type names
|
|
131
66
|
* Well-formed resource urls end in a '/';
|
|
132
67
|
* Note: this method does not ensure that resource urls are well-formed.
|
|
133
|
-
* @return {?}
|
|
134
68
|
*/
|
|
135
69
|
registerHttpResourceUrls(entityHttpResourceUrls) {
|
|
136
70
|
this.knownHttpResourceUrls = Object.assign(Object.assign({}, this.knownHttpResourceUrls), (entityHttpResourceUrls || {}));
|
|
@@ -143,28 +77,8 @@ DefaultHttpUrlGenerator.decorators = [
|
|
|
143
77
|
DefaultHttpUrlGenerator.ctorParameters = () => [
|
|
144
78
|
{ type: Pluralizer }
|
|
145
79
|
];
|
|
146
|
-
|
|
147
|
-
/**
|
|
148
|
-
* Known single-entity and collection resource URLs for HTTP calls.
|
|
149
|
-
* Generator methods returns these resource URLs for a given entity type name.
|
|
150
|
-
* If the resources for an entity type name are not know, it generates
|
|
151
|
-
* and caches a resource name for future use
|
|
152
|
-
* @type {?}
|
|
153
|
-
* @protected
|
|
154
|
-
*/
|
|
155
|
-
DefaultHttpUrlGenerator.prototype.knownHttpResourceUrls;
|
|
156
|
-
/**
|
|
157
|
-
* @type {?}
|
|
158
|
-
* @private
|
|
159
|
-
*/
|
|
160
|
-
DefaultHttpUrlGenerator.prototype.pluralizer;
|
|
161
|
-
}
|
|
162
|
-
/**
|
|
163
|
-
* Remove leading & trailing spaces or slashes
|
|
164
|
-
* @param {?} root
|
|
165
|
-
* @return {?}
|
|
166
|
-
*/
|
|
80
|
+
/** Remove leading & trailing spaces or slashes */
|
|
167
81
|
export function normalizeRoot(root) {
|
|
168
82
|
return root.replace(/^[\/\s]+|[\/\s]+$/g, '');
|
|
169
83
|
}
|
|
170
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC11cmwtZ2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9kYXRhL3NyYy9kYXRhc2VydmljZXMvaHR0cC11cmwtZ2VuZXJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWpEOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFnQixzQkFBc0I7Q0FFM0M7QUF1QkQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFnQixnQkFBZ0I7Q0FvQnJDO0FBR0QsTUFBTSxPQUFPLHVCQUF1QjtJQVNsQyxZQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBUjFDOzs7OztXQUtHO1FBQ08sMEJBQXFCLEdBQTJCLEVBQUUsQ0FBQztJQUVoQixDQUFDO0lBRTlDOzs7O09BSUc7SUFDTyxlQUFlLENBQ3ZCLFVBQWtCLEVBQ2xCLElBQVk7UUFFWixJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNqQixNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEMsWUFBWSxHQUFHO2dCQUNiLGlCQUFpQixFQUFFLEdBQUcsS0FBSyxJQUFJLFVBQVUsR0FBRyxDQUFDLFdBQVcsRUFBRTtnQkFDMUQscUJBQXFCLEVBQUUsR0FBRyxLQUFLLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQzFELFVBQVUsQ0FDWCxHQUFHLENBQUMsV0FBVyxFQUFFO2FBQ25CLENBQUM7WUFDRixJQUFJLENBQUMsd0JBQXdCLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7U0FDL0Q7UUFDRCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxjQUFjLENBQUMsVUFBa0IsRUFBRSxJQUFZO1FBQzdDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUMsaUJBQWlCLENBQUM7SUFDbEUsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsa0JBQWtCLENBQUMsVUFBa0IsRUFBRSxJQUFZO1FBQ2pELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUMscUJBQXFCLENBQUM7SUFDdEUsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsd0JBQXdCLENBQ3RCLHNCQUE4QztRQUU5QyxJQUFJLENBQUMscUJBQXFCLG1DQUNyQixJQUFJLENBQUMscUJBQXFCLEdBQzFCLENBQUMsc0JBQXNCLElBQUksRUFBRSxDQUFDLENBQ2xDLENBQUM7SUFDSixDQUFDOzs7WUFwRUYsVUFBVTs7OztZQTNERixVQUFVOztBQWtJbkIsa0RBQWtEO0FBQ2xELE1BQU0sVUFBVSxhQUFhLENBQUMsSUFBWTtJQUN4QyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDaEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBsdXJhbGl6ZXIgfSBmcm9tICcuLi91dGlscy9pbnRlcmZhY2VzJztcblxuLyoqXG4gKiBLbm93biByZXNvdXJjZSBVUkxTIGZvciBzcGVjaWZpYyBlbnRpdHkgdHlwZXMuXG4gKiBFYWNoIGVudGl0eSdzIHJlc291cmNlIFVSTFMgYXJlIGVuZHBvaW50cyB0aGF0XG4gKiB0YXJnZXQgc2luZ2xlIGVudGl0eSBhbmQgbXVsdGktZW50aXR5IEhUVFAgb3BlcmF0aW9ucy5cbiAqIFVzZWQgYnkgdGhlIGBEZWZhdWx0SHR0cFVybEdlbmVyYXRvcmAuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBFbnRpdHlIdHRwUmVzb3VyY2VVcmxzIHtcbiAgW2VudGl0eU5hbWU6IHN0cmluZ106IEh0dHBSZXNvdXJjZVVybHM7XG59XG5cbi8qKlxuICogUmVzb3VyY2UgVVJMUyBmb3IgSFRUUCBvcGVyYXRpb25zIHRoYXQgdGFyZ2V0IHNpbmdsZSBlbnRpdHlcbiAqIGFuZCBtdWx0aS1lbnRpdHkgZW5kcG9pbnRzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBSZXNvdXJjZVVybHMge1xuICAvKipcbiAgICogVGhlIFVSTCBwYXRoIGZvciBhIHNpbmdsZSBlbnRpdHkgZW5kcG9pbnQsIGUuZywgYHNvbWUtYXBpLXJvb3QvaGVyby9gXG4gICAqIHN1Y2ggYXMgeW91J2QgdXNlIHRvIGFkZCBhIGhlcm8uXG4gICAqIEV4YW1wbGU6IGBodHRwQ2xpZW50LnBvc3Q8SGVybz4oJ3NvbWUtYXBpLXJvb3QvaGVyby8nLCBhZGRlZEhlcm8pYC5cbiAgICogTm90ZSB0cmFpbGluZyBzbGFzaCAoLykuXG4gICAqL1xuICBlbnRpdHlSZXNvdXJjZVVybDogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIFVSTCBwYXRoIGZvciBhIG11bHRpcGxlLWVudGl0eSBlbmRwb2ludCwgZS5nLCBgc29tZS1hcGktcm9vdC9oZXJvZXMvYFxuICAgKiBzdWNoIGFzIHlvdSdkIHVzZSB3aGVuIGdldHRpbmcgYWxsIGhlcm9lcy5cbiAgICogRXhhbXBsZTogYGh0dHBDbGllbnQuZ2V0PEhlcm9bXT4oJ3NvbWUtYXBpLXJvb3QvaGVyb2VzLycpYFxuICAgKiBOb3RlIHRyYWlsaW5nIHNsYXNoICgvKS5cbiAgICovXG4gIGNvbGxlY3Rpb25SZXNvdXJjZVVybDogc3RyaW5nO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlIHRoZSBiYXNlIHBhcnQgb2YgYW4gSFRUUCBVUkwgZm9yXG4gKiBzaW5nbGUgZW50aXR5IG9yIGVudGl0eSBjb2xsZWN0aW9uIHJlc291cmNlXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBIdHRwVXJsR2VuZXJhdG9yIHtcbiAgLyoqXG4gICAqIFJldHVybiB0aGUgYmFzZSBVUkwgZm9yIGEgc2luZ2xlIGVudGl0eSByZXNvdXJjZSxcbiAgICogZS5nLiwgdGhlIGJhc2UgVVJMIHRvIGdldCBhIHNpbmdsZSBoZXJvIGJ5IGl0cyBpZFxuICAgKi9cbiAgYWJzdHJhY3QgZW50aXR5UmVzb3VyY2UoZW50aXR5TmFtZTogc3RyaW5nLCByb290OiBzdHJpbmcpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgYmFzZSBVUkwgZm9yIGEgY29sbGVjdGlvbiByZXNvdXJjZSxcbiAgICogZS5nLiwgdGhlIGJhc2UgVVJMIHRvIGdldCBhbGwgaGVyb2VzXG4gICAqL1xuICBhYnN0cmFjdCBjb2xsZWN0aW9uUmVzb3VyY2UoZW50aXR5TmFtZTogc3RyaW5nLCByb290OiBzdHJpbmcpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVyIGtub3duIHNpbmdsZS1lbnRpdHkgYW5kIGNvbGxlY3Rpb24gcmVzb3VyY2UgVVJMcyBmb3IgSFRUUCBjYWxsc1xuICAgKiBAcGFyYW0gZW50aXR5SHR0cFJlc291cmNlVXJscyB7RW50aXR5SHR0cFJlc291cmNlVXJsc30gcmVzb3VyY2UgdXJscyBmb3Igc3BlY2lmaWMgZW50aXR5IHR5cGUgbmFtZXNcbiAgICovXG4gIGFic3RyYWN0IHJlZ2lzdGVySHR0cFJlc291cmNlVXJscyhcbiAgICBlbnRpdHlIdHRwUmVzb3VyY2VVcmxzPzogRW50aXR5SHR0cFJlc291cmNlVXJsc1xuICApOiB2b2lkO1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGVmYXVsdEh0dHBVcmxHZW5lcmF0b3IgaW1wbGVtZW50cyBIdHRwVXJsR2VuZXJhdG9yIHtcbiAgLyoqXG4gICAqIEtub3duIHNpbmdsZS1lbnRpdHkgYW5kIGNvbGxlY3Rpb24gcmVzb3VyY2UgVVJMcyBmb3IgSFRUUCBjYWxscy5cbiAgICogR2VuZXJhdG9yIG1ldGhvZHMgcmV0dXJucyB0aGVzZSByZXNvdXJjZSBVUkxzIGZvciBhIGdpdmVuIGVudGl0eSB0eXBlIG5hbWUuXG4gICAqIElmIHRoZSByZXNvdXJjZXMgZm9yIGFuIGVudGl0eSB0eXBlIG5hbWUgYXJlIG5vdCBrbm93LCBpdCBnZW5lcmF0ZXNcbiAgICogYW5kIGNhY2hlcyBhIHJlc291cmNlIG5hbWUgZm9yIGZ1dHVyZSB1c2VcbiAgICovXG4gIHByb3RlY3RlZCBrbm93bkh0dHBSZXNvdXJjZVVybHM6IEVudGl0eUh0dHBSZXNvdXJjZVVybHMgPSB7fTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBsdXJhbGl6ZXI6IFBsdXJhbGl6ZXIpIHt9XG5cbiAgLyoqXG4gICAqIEdldCBvciBnZW5lcmF0ZSB0aGUgZW50aXR5IGFuZCBjb2xsZWN0aW9uIHJlc291cmNlIFVSTHMgZm9yIHRoZSBnaXZlbiBlbnRpdHkgdHlwZSBuYW1lXG4gICAqIEBwYXJhbSBlbnRpdHlOYW1lIHtzdHJpbmd9IE5hbWUgb2YgdGhlIGVudGl0eSB0eXBlLCBlLmcsICdIZXJvJ1xuICAgKiBAcGFyYW0gcm9vdCB7c3RyaW5nfSBSb290IHBhdGggdG8gdGhlIHJlc291cmNlLCBlLmcuLCAnc29tZS1hcGlgXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0UmVzb3VyY2VVcmxzKFxuICAgIGVudGl0eU5hbWU6IHN0cmluZyxcbiAgICByb290OiBzdHJpbmdcbiAgKTogSHR0cFJlc291cmNlVXJscyB7XG4gICAgbGV0IHJlc291cmNlVXJscyA9IHRoaXMua25vd25IdHRwUmVzb3VyY2VVcmxzW2VudGl0eU5hbWVdO1xuICAgIGlmICghcmVzb3VyY2VVcmxzKSB7XG4gICAgICBjb25zdCBuUm9vdCA9IG5vcm1hbGl6ZVJvb3Qocm9vdCk7XG4gICAgICByZXNvdXJjZVVybHMgPSB7XG4gICAgICAgIGVudGl0eVJlc291cmNlVXJsOiBgJHtuUm9vdH0vJHtlbnRpdHlOYW1lfS9gLnRvTG93ZXJDYXNlKCksXG4gICAgICAgIGNvbGxlY3Rpb25SZXNvdXJjZVVybDogYCR7blJvb3R9LyR7dGhpcy5wbHVyYWxpemVyLnBsdXJhbGl6ZShcbiAgICAgICAgICBlbnRpdHlOYW1lXG4gICAgICAgICl9L2AudG9Mb3dlckNhc2UoKSxcbiAgICAgIH07XG4gICAgICB0aGlzLnJlZ2lzdGVySHR0cFJlc291cmNlVXJscyh7IFtlbnRpdHlOYW1lXTogcmVzb3VyY2VVcmxzIH0pO1xuICAgIH1cbiAgICByZXR1cm4gcmVzb3VyY2VVcmxzO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSB0aGUgcGF0aCB0byBhIHNpbmdsZSBlbnRpdHkgcmVzb3VyY2VcbiAgICogQHBhcmFtIGVudGl0eU5hbWUge3N0cmluZ30gTmFtZSBvZiB0aGUgZW50aXR5IHR5cGUsIGUuZywgJ0hlcm8nXG4gICAqIEBwYXJhbSByb290IHtzdHJpbmd9IFJvb3QgcGF0aCB0byB0aGUgcmVzb3VyY2UsIGUuZy4sICdzb21lLWFwaWBcbiAgICogQHJldHVybnMgY29tcGxldGUgcGF0aCB0byByZXNvdXJjZSwgZS5nLCAnc29tZS1hcGkvaGVybydcbiAgICovXG4gIGVudGl0eVJlc291cmNlKGVudGl0eU5hbWU6IHN0cmluZywgcm9vdDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5nZXRSZXNvdXJjZVVybHMoZW50aXR5TmFtZSwgcm9vdCkuZW50aXR5UmVzb3VyY2VVcmw7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIHRoZSBwYXRoIHRvIGEgbXVsdGlwbGUgZW50aXR5IChjb2xsZWN0aW9uKSByZXNvdXJjZVxuICAgKiBAcGFyYW0gZW50aXR5TmFtZSB7c3RyaW5nfSBOYW1lIG9mIHRoZSBlbnRpdHkgdHlwZSwgZS5nLCAnSGVybydcbiAgICogQHBhcmFtIHJvb3Qge3N0cmluZ30gUm9vdCBwYXRoIHRvIHRoZSByZXNvdXJjZSwgZS5nLiwgJ3NvbWUtYXBpYFxuICAgKiBAcmV0dXJucyBjb21wbGV0ZSBwYXRoIHRvIHJlc291cmNlLCBlLmcsICdzb21lLWFwaS9oZXJvZXMnXG4gICAqL1xuICBjb2xsZWN0aW9uUmVzb3VyY2UoZW50aXR5TmFtZTogc3RyaW5nLCByb290OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmdldFJlc291cmNlVXJscyhlbnRpdHlOYW1lLCByb290KS5jb2xsZWN0aW9uUmVzb3VyY2VVcmw7XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXIga25vd24gc2luZ2xlLWVudGl0eSBhbmQgY29sbGVjdGlvbiByZXNvdXJjZSBVUkxzIGZvciBIVFRQIGNhbGxzXG4gICAqIEBwYXJhbSBlbnRpdHlIdHRwUmVzb3VyY2VVcmxzIHtFbnRpdHlIdHRwUmVzb3VyY2VVcmxzfSByZXNvdXJjZSB1cmxzIGZvciBzcGVjaWZpYyBlbnRpdHkgdHlwZSBuYW1lc1xuICAgKiBXZWxsLWZvcm1lZCByZXNvdXJjZSB1cmxzIGVuZCBpbiBhICcvJztcbiAgICogTm90ZTogdGhpcyBtZXRob2QgZG9lcyBub3QgZW5zdXJlIHRoYXQgcmVzb3VyY2UgdXJscyBhcmUgd2VsbC1mb3JtZWQuXG4gICAqL1xuICByZWdpc3Rlckh0dHBSZXNvdXJjZVVybHMoXG4gICAgZW50aXR5SHR0cFJlc291cmNlVXJsczogRW50aXR5SHR0cFJlc291cmNlVXJsc1xuICApOiB2b2lkIHtcbiAgICB0aGlzLmtub3duSHR0cFJlc291cmNlVXJscyA9IHtcbiAgICAgIC4uLnRoaXMua25vd25IdHRwUmVzb3VyY2VVcmxzLFxuICAgICAgLi4uKGVudGl0eUh0dHBSZXNvdXJjZVVybHMgfHwge30pLFxuICAgIH07XG4gIH1cbn1cblxuLyoqIFJlbW92ZSBsZWFkaW5nICYgdHJhaWxpbmcgc3BhY2VzIG9yIHNsYXNoZXMgKi9cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVSb290KHJvb3Q6IHN0cmluZykge1xuICByZXR1cm4gcm9vdC5yZXBsYWNlKC9eW1xcL1xcc10rfFtcXC9cXHNdKyQvZywgJycpO1xufVxuIl19
|
|
@@ -1,71 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
* Generated from: src/dataservices/interfaces.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* A service that performs REST-like HTTP data operations for an entity collection
|
|
8
|
-
* @record
|
|
9
|
-
* @template T
|
|
10
|
-
*/
|
|
11
|
-
export function EntityCollectionDataService() { }
|
|
12
|
-
if (false) {
|
|
13
|
-
/** @type {?} */
|
|
14
|
-
EntityCollectionDataService.prototype.name;
|
|
15
|
-
/**
|
|
16
|
-
* @param {?} entity
|
|
17
|
-
* @return {?}
|
|
18
|
-
*/
|
|
19
|
-
EntityCollectionDataService.prototype.add = function (entity) { };
|
|
20
|
-
/**
|
|
21
|
-
* @param {?} id
|
|
22
|
-
* @return {?}
|
|
23
|
-
*/
|
|
24
|
-
EntityCollectionDataService.prototype.delete = function (id) { };
|
|
25
|
-
/**
|
|
26
|
-
* @return {?}
|
|
27
|
-
*/
|
|
28
|
-
EntityCollectionDataService.prototype.getAll = function () { };
|
|
29
|
-
/**
|
|
30
|
-
* @param {?} id
|
|
31
|
-
* @return {?}
|
|
32
|
-
*/
|
|
33
|
-
EntityCollectionDataService.prototype.getById = function (id) { };
|
|
34
|
-
/**
|
|
35
|
-
* @param {?} params
|
|
36
|
-
* @return {?}
|
|
37
|
-
*/
|
|
38
|
-
EntityCollectionDataService.prototype.getWithQuery = function (params) { };
|
|
39
|
-
/**
|
|
40
|
-
* @param {?} update
|
|
41
|
-
* @return {?}
|
|
42
|
-
*/
|
|
43
|
-
EntityCollectionDataService.prototype.update = function (update) { };
|
|
44
|
-
/**
|
|
45
|
-
* @param {?} entity
|
|
46
|
-
* @return {?}
|
|
47
|
-
*/
|
|
48
|
-
EntityCollectionDataService.prototype.upsert = function (entity) { };
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* @record
|
|
52
|
-
*/
|
|
53
|
-
export function RequestData() { }
|
|
54
|
-
if (false) {
|
|
55
|
-
/** @type {?} */
|
|
56
|
-
RequestData.prototype.method;
|
|
57
|
-
/** @type {?} */
|
|
58
|
-
RequestData.prototype.url;
|
|
59
|
-
/** @type {?|undefined} */
|
|
60
|
-
RequestData.prototype.data;
|
|
61
|
-
/** @type {?|undefined} */
|
|
62
|
-
RequestData.prototype.options;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* A key/value map of parameters to be turned into an HTTP query string
|
|
66
|
-
* Same as HttpClient's HttpParamsOptions which is NOT exported at package level
|
|
67
|
-
* https://github.com/angular/angular/issues/22013
|
|
68
|
-
* @record
|
|
69
|
-
*/
|
|
70
|
-
export function QueryParams() { }
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi9tb2R1bGVzL2RhdGEvIiwic291cmNlcyI6WyJzcmMvZGF0YXNlcnZpY2VzL2ludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUlBLGlEQVNDOzs7SUFSQywyQ0FBc0I7Ozs7O0lBQ3RCLGtFQUE4Qjs7Ozs7SUFDOUIsaUVBQXlEOzs7O0lBQ3pELCtEQUEwQjs7Ozs7SUFDMUIsa0VBQWdDOzs7OztJQUNoQywyRUFBNEQ7Ozs7O0lBQzVELHFFQUF5Qzs7Ozs7SUFDekMscUVBQWlDOzs7OztBQUtuQyxpQ0FLQzs7O0lBSkMsNkJBQW9COztJQUNwQiwwQkFBWTs7SUFDWiwyQkFBVzs7SUFDWCw4QkFBYzs7Ozs7Ozs7QUFRaEIsaUNBRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBVcGRhdGUgfSBmcm9tICdAbmdyeC9lbnRpdHknO1xuXG4vKiogQSBzZXJ2aWNlIHRoYXQgcGVyZm9ybXMgUkVTVC1saWtlIEhUVFAgZGF0YSBvcGVyYXRpb25zIGZvciBhbiBlbnRpdHkgY29sbGVjdGlvbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlDb2xsZWN0aW9uRGF0YVNlcnZpY2U8VD4ge1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIGFkZChlbnRpdHk6IFQpOiBPYnNlcnZhYmxlPFQ+O1xuICBkZWxldGUoaWQ6IG51bWJlciB8IHN0cmluZyk6IE9ic2VydmFibGU8bnVtYmVyIHwgc3RyaW5nPjtcbiAgZ2V0QWxsKCk6IE9ic2VydmFibGU8VFtdPjtcbiAgZ2V0QnlJZChpZDogYW55KTogT2JzZXJ2YWJsZTxUPjtcbiAgZ2V0V2l0aFF1ZXJ5KHBhcmFtczogUXVlcnlQYXJhbXMgfCBzdHJpbmcpOiBPYnNlcnZhYmxlPFRbXT47XG4gIHVwZGF0ZSh1cGRhdGU6IFVwZGF0ZTxUPik6IE9ic2VydmFibGU8VD47XG4gIHVwc2VydChlbnRpdHk6IFQpOiBPYnNlcnZhYmxlPFQ+O1xufVxuXG5leHBvcnQgdHlwZSBIdHRwTWV0aG9kcyA9ICdERUxFVEUnIHwgJ0dFVCcgfCAnUE9TVCcgfCAnUFVUJztcblxuZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0RGF0YSB7XG4gIG1ldGhvZDogSHR0cE1ldGhvZHM7XG4gIHVybDogc3RyaW5nO1xuICBkYXRhPzogYW55O1xuICBvcHRpb25zPzogYW55O1xufVxuXG4vKipcbiAqIEEga2V5L3ZhbHVlIG1hcCBvZiBwYXJhbWV0ZXJzIHRvIGJlIHR1cm5lZCBpbnRvIGFuIEhUVFAgcXVlcnkgc3RyaW5nXG4gKiBTYW1lIGFzIEh0dHBDbGllbnQncyBIdHRwUGFyYW1zT3B0aW9ucyB3aGljaCBpcyBOT1QgZXhwb3J0ZWQgYXQgcGFja2FnZSBsZXZlbFxuICogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMjIwMTNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBRdWVyeVBhcmFtcyB7XG4gIFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcbn1cbiJdfQ==
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvZGF0YS9zcmMvZGF0YXNlcnZpY2VzL2ludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFVwZGF0ZSB9IGZyb20gJ0BuZ3J4L2VudGl0eSc7XG5cbi8qKiBBIHNlcnZpY2UgdGhhdCBwZXJmb3JtcyBSRVNULWxpa2UgSFRUUCBkYXRhIG9wZXJhdGlvbnMgZm9yIGFuIGVudGl0eSBjb2xsZWN0aW9uICovXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eUNvbGxlY3Rpb25EYXRhU2VydmljZTxUPiB7XG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgYWRkKGVudGl0eTogVCk6IE9ic2VydmFibGU8VD47XG4gIGRlbGV0ZShpZDogbnVtYmVyIHwgc3RyaW5nKTogT2JzZXJ2YWJsZTxudW1iZXIgfCBzdHJpbmc+O1xuICBnZXRBbGwoKTogT2JzZXJ2YWJsZTxUW10+O1xuICBnZXRCeUlkKGlkOiBhbnkpOiBPYnNlcnZhYmxlPFQ+O1xuICBnZXRXaXRoUXVlcnkocGFyYW1zOiBRdWVyeVBhcmFtcyB8IHN0cmluZyk6IE9ic2VydmFibGU8VFtdPjtcbiAgdXBkYXRlKHVwZGF0ZTogVXBkYXRlPFQ+KTogT2JzZXJ2YWJsZTxUPjtcbiAgdXBzZXJ0KGVudGl0eTogVCk6IE9ic2VydmFibGU8VD47XG59XG5cbmV4cG9ydCB0eXBlIEh0dHBNZXRob2RzID0gJ0RFTEVURScgfCAnR0VUJyB8ICdQT1NUJyB8ICdQVVQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVlc3REYXRhIHtcbiAgbWV0aG9kOiBIdHRwTWV0aG9kcztcbiAgdXJsOiBzdHJpbmc7XG4gIGRhdGE/OiBhbnk7XG4gIG9wdGlvbnM/OiBhbnk7XG59XG5cbi8qKlxuICogQSBrZXkvdmFsdWUgbWFwIG9mIHBhcmFtZXRlcnMgdG8gYmUgdHVybmVkIGludG8gYW4gSFRUUCBxdWVyeSBzdHJpbmdcbiAqIFNhbWUgYXMgSHR0cENsaWVudCdzIEh0dHBQYXJhbXNPcHRpb25zIHdoaWNoIGlzIE5PVCBleHBvcnRlZCBhdCBwYWNrYWdlIGxldmVsXG4gKiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8yMjAxM1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXJ5UGFyYW1zIHtcbiAgW25hbWU6IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdO1xufVxuIl19
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: src/dataservices/persistence-result-handler.service.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
1
|
import { Injectable } from '@angular/core';
|
|
7
2
|
import { DataServiceError, } from './data-service-error';
|
|
8
3
|
import { EntityActionFactory } from '../actions/entity-action-factory';
|
|
@@ -10,81 +5,39 @@ import { makeErrorOp, makeSuccessOp } from '../actions/entity-op';
|
|
|
10
5
|
import { Logger } from '../utils/interfaces';
|
|
11
6
|
/**
|
|
12
7
|
* Handling of responses from persistence operation
|
|
13
|
-
* @abstract
|
|
14
8
|
*/
|
|
15
9
|
export class PersistenceResultHandler {
|
|
16
10
|
}
|
|
17
|
-
if (false) {
|
|
18
|
-
/**
|
|
19
|
-
* Handle successful result of persistence operation for an action
|
|
20
|
-
* @abstract
|
|
21
|
-
* @param {?} originalAction
|
|
22
|
-
* @return {?}
|
|
23
|
-
*/
|
|
24
|
-
PersistenceResultHandler.prototype.handleSuccess = function (originalAction) { };
|
|
25
|
-
/**
|
|
26
|
-
* Handle error result of persistence operation for an action
|
|
27
|
-
* @abstract
|
|
28
|
-
* @param {?} originalAction
|
|
29
|
-
* @return {?}
|
|
30
|
-
*/
|
|
31
|
-
PersistenceResultHandler.prototype.handleError = function (originalAction) { };
|
|
32
|
-
}
|
|
33
11
|
/**
|
|
34
12
|
* Default handling of responses from persistence operation,
|
|
35
13
|
* specifically an EntityDataService
|
|
36
14
|
*/
|
|
37
15
|
export class DefaultPersistenceResultHandler {
|
|
38
|
-
/**
|
|
39
|
-
* @param {?} logger
|
|
40
|
-
* @param {?} entityActionFactory
|
|
41
|
-
*/
|
|
42
16
|
constructor(logger, entityActionFactory) {
|
|
43
17
|
this.logger = logger;
|
|
44
18
|
this.entityActionFactory = entityActionFactory;
|
|
45
19
|
}
|
|
46
|
-
/**
|
|
47
|
-
* Handle successful result of persistence operation on an EntityAction
|
|
48
|
-
* @param {?} originalAction
|
|
49
|
-
* @return {?}
|
|
50
|
-
*/
|
|
20
|
+
/** Handle successful result of persistence operation on an EntityAction */
|
|
51
21
|
handleSuccess(originalAction) {
|
|
52
|
-
/** @type {?} */
|
|
53
22
|
const successOp = makeSuccessOp(originalAction.payload.entityOp);
|
|
54
|
-
return (
|
|
55
|
-
* @param {?} data
|
|
56
|
-
* @return {?}
|
|
57
|
-
*/
|
|
58
|
-
(data) => this.entityActionFactory.createFromAction(originalAction, {
|
|
23
|
+
return (data) => this.entityActionFactory.createFromAction(originalAction, {
|
|
59
24
|
entityOp: successOp,
|
|
60
25
|
data,
|
|
61
|
-
})
|
|
26
|
+
});
|
|
62
27
|
}
|
|
63
|
-
/**
|
|
64
|
-
* Handle error result of persistence operation on an EntityAction
|
|
65
|
-
* @param {?} originalAction
|
|
66
|
-
* @return {?}
|
|
67
|
-
*/
|
|
28
|
+
/** Handle error result of persistence operation on an EntityAction */
|
|
68
29
|
handleError(originalAction) {
|
|
69
|
-
/** @type {?} */
|
|
70
30
|
const errorOp = makeErrorOp(originalAction.payload.entityOp);
|
|
71
|
-
return (
|
|
72
|
-
* @param {?} err
|
|
73
|
-
* @return {?}
|
|
74
|
-
*/
|
|
75
|
-
(err) => {
|
|
76
|
-
/** @type {?} */
|
|
31
|
+
return (err) => {
|
|
77
32
|
const error = err instanceof DataServiceError ? err : new DataServiceError(err, null);
|
|
78
|
-
/** @type {?} */
|
|
79
33
|
const errorData = { error, originalAction };
|
|
80
34
|
this.logger.error(errorData);
|
|
81
|
-
/** @type {?} */
|
|
82
35
|
const action = this.entityActionFactory.createFromAction(originalAction, {
|
|
83
36
|
entityOp: errorOp,
|
|
84
37
|
data: errorData,
|
|
85
38
|
});
|
|
86
39
|
return action;
|
|
87
|
-
}
|
|
40
|
+
};
|
|
88
41
|
}
|
|
89
42
|
}
|
|
90
43
|
DefaultPersistenceResultHandler.decorators = [
|
|
@@ -95,16 +48,4 @@ DefaultPersistenceResultHandler.ctorParameters = () => [
|
|
|
95
48
|
{ type: Logger },
|
|
96
49
|
{ type: EntityActionFactory }
|
|
97
50
|
];
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* @type {?}
|
|
101
|
-
* @private
|
|
102
|
-
*/
|
|
103
|
-
DefaultPersistenceResultHandler.prototype.logger;
|
|
104
|
-
/**
|
|
105
|
-
* @type {?}
|
|
106
|
-
* @private
|
|
107
|
-
*/
|
|
108
|
-
DefaultPersistenceResultHandler.prototype.entityActionFactory;
|
|
109
|
-
}
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc2lzdGVuY2UtcmVzdWx0LWhhbmRsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi9tb2R1bGVzL2RhdGEvIiwic291cmNlcyI6WyJzcmMvZGF0YXNlcnZpY2VzL3BlcnNpc3RlbmNlLXJlc3VsdC1oYW5kbGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFDTCxnQkFBZ0IsR0FFakIsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUFLN0MsTUFBTSxPQUFnQix3QkFBd0I7Q0FVN0M7Ozs7Ozs7O0lBUkMsaUZBQTRFOzs7Ozs7O0lBRzVFLCtFQUlnRDs7Ozs7O0FBUWxELE1BQU0sT0FBTywrQkFBK0I7Ozs7O0lBRTFDLFlBQ1UsTUFBYyxFQUNkLG1CQUF3QztRQUR4QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2Qsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtJQUMvQyxDQUFDOzs7Ozs7SUFHSixhQUFhLENBQUMsY0FBNEI7O2NBQ2xDLFNBQVMsR0FBRyxhQUFhLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDaEU7Ozs7UUFBTyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQ25CLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUU7WUFDeEQsUUFBUSxFQUFFLFNBQVM7WUFDbkIsSUFBSTtTQUNMLENBQUMsRUFBQztJQUNQLENBQUM7Ozs7OztJQUdELFdBQVcsQ0FDVCxjQUE0Qjs7Y0FJdEIsT0FBTyxHQUFHLFdBQVcsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUU1RDs7OztRQUFPLENBQUMsR0FBNkIsRUFBRSxFQUFFOztrQkFDakMsS0FBSyxHQUNULEdBQUcsWUFBWSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUM7O2tCQUNuRSxTQUFTLEdBQWlDLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRTtZQUN6RSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQzs7a0JBQ3ZCLE1BQU0sR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsZ0JBQWdCLENBRXRELGNBQWMsRUFBRTtnQkFDaEIsUUFBUSxFQUFFLE9BQU87Z0JBQ2pCLElBQUksRUFBRSxTQUFTO2FBQ2hCLENBQUM7WUFDRixPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLEVBQUM7SUFDSixDQUFDOzs7WUF2Q0YsVUFBVTs7OztZQXJCRixNQUFNO1lBRk4sbUJBQW1COzs7Ozs7O0lBMkJ4QixpREFBc0I7Ozs7O0lBQ3RCLDhEQUFnRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGlvbiB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcblxuaW1wb3J0IHtcbiAgRGF0YVNlcnZpY2VFcnJvcixcbiAgRW50aXR5QWN0aW9uRGF0YVNlcnZpY2VFcnJvcixcbn0gZnJvbSAnLi9kYXRhLXNlcnZpY2UtZXJyb3InO1xuaW1wb3J0IHsgRW50aXR5QWN0aW9uIH0gZnJvbSAnLi4vYWN0aW9ucy9lbnRpdHktYWN0aW9uJztcbmltcG9ydCB7IEVudGl0eUFjdGlvbkZhY3RvcnkgfSBmcm9tICcuLi9hY3Rpb25zL2VudGl0eS1hY3Rpb24tZmFjdG9yeSc7XG5pbXBvcnQgeyBtYWtlRXJyb3JPcCwgbWFrZVN1Y2Nlc3NPcCB9IGZyb20gJy4uL2FjdGlvbnMvZW50aXR5LW9wJztcbmltcG9ydCB7IExvZ2dlciB9IGZyb20gJy4uL3V0aWxzL2ludGVyZmFjZXMnO1xuXG4vKipcbiAqIEhhbmRsaW5nIG9mIHJlc3BvbnNlcyBmcm9tIHBlcnNpc3RlbmNlIG9wZXJhdGlvblxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUGVyc2lzdGVuY2VSZXN1bHRIYW5kbGVyIHtcbiAgLyoqIEhhbmRsZSBzdWNjZXNzZnVsIHJlc3VsdCBvZiBwZXJzaXN0ZW5jZSBvcGVyYXRpb24gZm9yIGFuIGFjdGlvbiAqL1xuICBhYnN0cmFjdCBoYW5kbGVTdWNjZXNzKG9yaWdpbmFsQWN0aW9uOiBFbnRpdHlBY3Rpb24pOiAoZGF0YTogYW55KSA9PiBBY3Rpb247XG5cbiAgLyoqIEhhbmRsZSBlcnJvciByZXN1bHQgb2YgcGVyc2lzdGVuY2Ugb3BlcmF0aW9uIGZvciBhbiBhY3Rpb24gKi9cbiAgYWJzdHJhY3QgaGFuZGxlRXJyb3IoXG4gICAgb3JpZ2luYWxBY3Rpb246IEVudGl0eUFjdGlvblxuICApOiAoXG4gICAgZXJyb3I6IERhdGFTZXJ2aWNlRXJyb3IgfCBFcnJvclxuICApID0+IEVudGl0eUFjdGlvbjxFbnRpdHlBY3Rpb25EYXRhU2VydmljZUVycm9yPjtcbn1cblxuLyoqXG4gKiBEZWZhdWx0IGhhbmRsaW5nIG9mIHJlc3BvbnNlcyBmcm9tIHBlcnNpc3RlbmNlIG9wZXJhdGlvbixcbiAqIHNwZWNpZmljYWxseSBhbiBFbnRpdHlEYXRhU2VydmljZVxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGVmYXVsdFBlcnNpc3RlbmNlUmVzdWx0SGFuZGxlclxuICBpbXBsZW1lbnRzIFBlcnNpc3RlbmNlUmVzdWx0SGFuZGxlciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbG9nZ2VyOiBMb2dnZXIsXG4gICAgcHJpdmF0ZSBlbnRpdHlBY3Rpb25GYWN0b3J5OiBFbnRpdHlBY3Rpb25GYWN0b3J5XG4gICkge31cblxuICAvKiogSGFuZGxlIHN1Y2Nlc3NmdWwgcmVzdWx0IG9mIHBlcnNpc3RlbmNlIG9wZXJhdGlvbiBvbiBhbiBFbnRpdHlBY3Rpb24gKi9cbiAgaGFuZGxlU3VjY2VzcyhvcmlnaW5hbEFjdGlvbjogRW50aXR5QWN0aW9uKTogKGRhdGE6IGFueSkgPT4gQWN0aW9uIHtcbiAgICBjb25zdCBzdWNjZXNzT3AgPSBtYWtlU3VjY2Vzc09wKG9yaWdpbmFsQWN0aW9uLnBheWxvYWQuZW50aXR5T3ApO1xuICAgIHJldHVybiAoZGF0YTogYW55KSA9PlxuICAgICAgdGhpcy5lbnRpdHlBY3Rpb25GYWN0b3J5LmNyZWF0ZUZyb21BY3Rpb24ob3JpZ2luYWxBY3Rpb24sIHtcbiAgICAgICAgZW50aXR5T3A6IHN1Y2Nlc3NPcCxcbiAgICAgICAgZGF0YSxcbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqIEhhbmRsZSBlcnJvciByZXN1bHQgb2YgcGVyc2lzdGVuY2Ugb3BlcmF0aW9uIG9uIGFuIEVudGl0eUFjdGlvbiAqL1xuICBoYW5kbGVFcnJvcihcbiAgICBvcmlnaW5hbEFjdGlvbjogRW50aXR5QWN0aW9uXG4gICk6IChcbiAgICBlcnJvcjogRGF0YVNlcnZpY2VFcnJvciB8IEVycm9yXG4gICkgPT4gRW50aXR5QWN0aW9uPEVudGl0eUFjdGlvbkRhdGFTZXJ2aWNlRXJyb3I+IHtcbiAgICBjb25zdCBlcnJvck9wID0gbWFrZUVycm9yT3Aob3JpZ2luYWxBY3Rpb24ucGF5bG9hZC5lbnRpdHlPcCk7XG5cbiAgICByZXR1cm4gKGVycjogRGF0YVNlcnZpY2VFcnJvciB8IEVycm9yKSA9PiB7XG4gICAgICBjb25zdCBlcnJvciA9XG4gICAgICAgIGVyciBpbnN0YW5jZW9mIERhdGFTZXJ2aWNlRXJyb3IgPyBlcnIgOiBuZXcgRGF0YVNlcnZpY2VFcnJvcihlcnIsIG51bGwpO1xuICAgICAgY29uc3QgZXJyb3JEYXRhOiBFbnRpdHlBY3Rpb25EYXRhU2VydmljZUVycm9yID0geyBlcnJvciwgb3JpZ2luYWxBY3Rpb24gfTtcbiAgICAgIHRoaXMubG9nZ2VyLmVycm9yKGVycm9yRGF0YSk7XG4gICAgICBjb25zdCBhY3Rpb24gPSB0aGlzLmVudGl0eUFjdGlvbkZhY3RvcnkuY3JlYXRlRnJvbUFjdGlvbjxcbiAgICAgICAgRW50aXR5QWN0aW9uRGF0YVNlcnZpY2VFcnJvclxuICAgICAgPihvcmlnaW5hbEFjdGlvbiwge1xuICAgICAgICBlbnRpdHlPcDogZXJyb3JPcCxcbiAgICAgICAgZGF0YTogZXJyb3JEYXRhLFxuICAgICAgfSk7XG4gICAgICByZXR1cm4gYWN0aW9uO1xuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc2lzdGVuY2UtcmVzdWx0LWhhbmRsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvZGF0YS9zcmMvZGF0YXNlcnZpY2VzL3BlcnNpc3RlbmNlLXJlc3VsdC1oYW5kbGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQ0wsZ0JBQWdCLEdBRWpCLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFN0M7O0dBRUc7QUFDSCxNQUFNLE9BQWdCLHdCQUF3QjtDQVU3QztBQUVEOzs7R0FHRztBQUVILE1BQU0sT0FBTywrQkFBK0I7SUFFMUMsWUFDVSxNQUFjLEVBQ2QsbUJBQXdDO1FBRHhDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO0lBQy9DLENBQUM7SUFFSiwyRUFBMkU7SUFDM0UsYUFBYSxDQUFDLGNBQTRCO1FBQ3hDLE1BQU0sU0FBUyxHQUFHLGFBQWEsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pFLE9BQU8sQ0FBQyxJQUFTLEVBQUUsRUFBRSxDQUNuQixJQUFJLENBQUMsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxFQUFFO1lBQ3hELFFBQVEsRUFBRSxTQUFTO1lBQ25CLElBQUk7U0FDTCxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsc0VBQXNFO0lBQ3RFLFdBQVcsQ0FDVCxjQUE0QjtRQUk1QixNQUFNLE9BQU8sR0FBRyxXQUFXLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU3RCxPQUFPLENBQUMsR0FBNkIsRUFBRSxFQUFFO1lBQ3ZDLE1BQU0sS0FBSyxHQUNULEdBQUcsWUFBWSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUMxRSxNQUFNLFNBQVMsR0FBaUMsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLENBQUM7WUFDMUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDN0IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGdCQUFnQixDQUV0RCxjQUFjLEVBQUU7Z0JBQ2hCLFFBQVEsRUFBRSxPQUFPO2dCQUNqQixJQUFJLEVBQUUsU0FBUzthQUNoQixDQUFDLENBQUM7WUFDSCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLENBQUM7SUFDSixDQUFDOzs7WUF2Q0YsVUFBVTs7OztZQXJCRixNQUFNO1lBRk4sbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuXG5pbXBvcnQge1xuICBEYXRhU2VydmljZUVycm9yLFxuICBFbnRpdHlBY3Rpb25EYXRhU2VydmljZUVycm9yLFxufSBmcm9tICcuL2RhdGEtc2VydmljZS1lcnJvcic7XG5pbXBvcnQgeyBFbnRpdHlBY3Rpb24gfSBmcm9tICcuLi9hY3Rpb25zL2VudGl0eS1hY3Rpb24nO1xuaW1wb3J0IHsgRW50aXR5QWN0aW9uRmFjdG9yeSB9IGZyb20gJy4uL2FjdGlvbnMvZW50aXR5LWFjdGlvbi1mYWN0b3J5JztcbmltcG9ydCB7IG1ha2VFcnJvck9wLCBtYWtlU3VjY2Vzc09wIH0gZnJvbSAnLi4vYWN0aW9ucy9lbnRpdHktb3AnO1xuaW1wb3J0IHsgTG9nZ2VyIH0gZnJvbSAnLi4vdXRpbHMvaW50ZXJmYWNlcyc7XG5cbi8qKlxuICogSGFuZGxpbmcgb2YgcmVzcG9uc2VzIGZyb20gcGVyc2lzdGVuY2Ugb3BlcmF0aW9uXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQZXJzaXN0ZW5jZVJlc3VsdEhhbmRsZXIge1xuICAvKiogSGFuZGxlIHN1Y2Nlc3NmdWwgcmVzdWx0IG9mIHBlcnNpc3RlbmNlIG9wZXJhdGlvbiBmb3IgYW4gYWN0aW9uICovXG4gIGFic3RyYWN0IGhhbmRsZVN1Y2Nlc3Mob3JpZ2luYWxBY3Rpb246IEVudGl0eUFjdGlvbik6IChkYXRhOiBhbnkpID0+IEFjdGlvbjtcblxuICAvKiogSGFuZGxlIGVycm9yIHJlc3VsdCBvZiBwZXJzaXN0ZW5jZSBvcGVyYXRpb24gZm9yIGFuIGFjdGlvbiAqL1xuICBhYnN0cmFjdCBoYW5kbGVFcnJvcihcbiAgICBvcmlnaW5hbEFjdGlvbjogRW50aXR5QWN0aW9uXG4gICk6IChcbiAgICBlcnJvcjogRGF0YVNlcnZpY2VFcnJvciB8IEVycm9yXG4gICkgPT4gRW50aXR5QWN0aW9uPEVudGl0eUFjdGlvbkRhdGFTZXJ2aWNlRXJyb3I+O1xufVxuXG4vKipcbiAqIERlZmF1bHQgaGFuZGxpbmcgb2YgcmVzcG9uc2VzIGZyb20gcGVyc2lzdGVuY2Ugb3BlcmF0aW9uLFxuICogc3BlY2lmaWNhbGx5IGFuIEVudGl0eURhdGFTZXJ2aWNlXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEZWZhdWx0UGVyc2lzdGVuY2VSZXN1bHRIYW5kbGVyXG4gIGltcGxlbWVudHMgUGVyc2lzdGVuY2VSZXN1bHRIYW5kbGVyIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBsb2dnZXI6IExvZ2dlcixcbiAgICBwcml2YXRlIGVudGl0eUFjdGlvbkZhY3Rvcnk6IEVudGl0eUFjdGlvbkZhY3RvcnlcbiAgKSB7fVxuXG4gIC8qKiBIYW5kbGUgc3VjY2Vzc2Z1bCByZXN1bHQgb2YgcGVyc2lzdGVuY2Ugb3BlcmF0aW9uIG9uIGFuIEVudGl0eUFjdGlvbiAqL1xuICBoYW5kbGVTdWNjZXNzKG9yaWdpbmFsQWN0aW9uOiBFbnRpdHlBY3Rpb24pOiAoZGF0YTogYW55KSA9PiBBY3Rpb24ge1xuICAgIGNvbnN0IHN1Y2Nlc3NPcCA9IG1ha2VTdWNjZXNzT3Aob3JpZ2luYWxBY3Rpb24ucGF5bG9hZC5lbnRpdHlPcCk7XG4gICAgcmV0dXJuIChkYXRhOiBhbnkpID0+XG4gICAgICB0aGlzLmVudGl0eUFjdGlvbkZhY3RvcnkuY3JlYXRlRnJvbUFjdGlvbihvcmlnaW5hbEFjdGlvbiwge1xuICAgICAgICBlbnRpdHlPcDogc3VjY2Vzc09wLFxuICAgICAgICBkYXRhLFxuICAgICAgfSk7XG4gIH1cblxuICAvKiogSGFuZGxlIGVycm9yIHJlc3VsdCBvZiBwZXJzaXN0ZW5jZSBvcGVyYXRpb24gb24gYW4gRW50aXR5QWN0aW9uICovXG4gIGhhbmRsZUVycm9yKFxuICAgIG9yaWdpbmFsQWN0aW9uOiBFbnRpdHlBY3Rpb25cbiAgKTogKFxuICAgIGVycm9yOiBEYXRhU2VydmljZUVycm9yIHwgRXJyb3JcbiAgKSA9PiBFbnRpdHlBY3Rpb248RW50aXR5QWN0aW9uRGF0YVNlcnZpY2VFcnJvcj4ge1xuICAgIGNvbnN0IGVycm9yT3AgPSBtYWtlRXJyb3JPcChvcmlnaW5hbEFjdGlvbi5wYXlsb2FkLmVudGl0eU9wKTtcblxuICAgIHJldHVybiAoZXJyOiBEYXRhU2VydmljZUVycm9yIHwgRXJyb3IpID0+IHtcbiAgICAgIGNvbnN0IGVycm9yID1cbiAgICAgICAgZXJyIGluc3RhbmNlb2YgRGF0YVNlcnZpY2VFcnJvciA/IGVyciA6IG5ldyBEYXRhU2VydmljZUVycm9yKGVyciwgbnVsbCk7XG4gICAgICBjb25zdCBlcnJvckRhdGE6IEVudGl0eUFjdGlvbkRhdGFTZXJ2aWNlRXJyb3IgPSB7IGVycm9yLCBvcmlnaW5hbEFjdGlvbiB9O1xuICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoZXJyb3JEYXRhKTtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IHRoaXMuZW50aXR5QWN0aW9uRmFjdG9yeS5jcmVhdGVGcm9tQWN0aW9uPFxuICAgICAgICBFbnRpdHlBY3Rpb25EYXRhU2VydmljZUVycm9yXG4gICAgICA+KG9yaWdpbmFsQWN0aW9uLCB7XG4gICAgICAgIGVudGl0eU9wOiBlcnJvck9wLFxuICAgICAgICBkYXRhOiBlcnJvckRhdGEsXG4gICAgICB9KTtcbiAgICAgIHJldHVybiBhY3Rpb247XG4gICAgfTtcbiAgfVxufVxuIl19
|