@ngrx/data 18.1.0 → 19.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/fesm2022/ngrx-data.mjs +86 -86
  2. package/fesm2022/ngrx-data.mjs.map +1 -1
  3. package/package.json +6 -8
  4. package/schematics-core/utility/libs-version.js +1 -1
  5. package/schematics-core/utility/libs-version.js.map +1 -1
  6. package/schematics-core/utility/visitors.js +2 -2
  7. package/src/index.d.ts +1 -1
  8. package/esm2022/index.mjs +0 -7
  9. package/esm2022/ngrx-data.mjs +0 -5
  10. package/esm2022/public_api.mjs +0 -2
  11. package/esm2022/src/actions/entity-action-factory.mjs +0 -50
  12. package/esm2022/src/actions/entity-action-guard.mjs +0 -130
  13. package/esm2022/src/actions/entity-action-operators.mjs +0 -33
  14. package/esm2022/src/actions/entity-action.mjs +0 -2
  15. package/esm2022/src/actions/entity-cache-action.mjs +0 -116
  16. package/esm2022/src/actions/entity-cache-change-set.mjs +0 -50
  17. package/esm2022/src/actions/entity-op.mjs +0 -82
  18. package/esm2022/src/actions/merge-strategy.mjs +0 -22
  19. package/esm2022/src/actions/update-response-data.mjs +0 -2
  20. package/esm2022/src/dataservices/data-service-error.mjs +0 -36
  21. package/esm2022/src/dataservices/default-data-service-config.mjs +0 -7
  22. package/esm2022/src/dataservices/default-data.service.mjs +0 -209
  23. package/esm2022/src/dataservices/entity-cache-data.service.mjs +0 -146
  24. package/esm2022/src/dataservices/entity-data.service.mjs +0 -63
  25. package/esm2022/src/dataservices/http-url-generator.mjs +0 -87
  26. package/esm2022/src/dataservices/interfaces.mjs +0 -2
  27. package/esm2022/src/dataservices/persistence-result-handler.service.mjs +0 -49
  28. package/esm2022/src/dispatchers/entity-cache-dispatcher.mjs +0 -163
  29. package/esm2022/src/dispatchers/entity-commands.mjs +0 -2
  30. package/esm2022/src/dispatchers/entity-dispatcher-base.mjs +0 -420
  31. package/esm2022/src/dispatchers/entity-dispatcher-default-options.mjs +0 -30
  32. package/esm2022/src/dispatchers/entity-dispatcher-factory.mjs +0 -67
  33. package/esm2022/src/dispatchers/entity-dispatcher.mjs +0 -10
  34. package/esm2022/src/effects/entity-cache-effects.mjs +0 -115
  35. package/esm2022/src/effects/entity-effects-scheduler.mjs +0 -5
  36. package/esm2022/src/effects/entity-effects.mjs +0 -148
  37. package/esm2022/src/entity-data-config.mjs +0 -2
  38. package/esm2022/src/entity-data-without-effects.module.mjs +0 -27
  39. package/esm2022/src/entity-data.module.mjs +0 -28
  40. package/esm2022/src/entity-metadata/entity-definition.mjs +0 -33
  41. package/esm2022/src/entity-metadata/entity-definition.service.mjs +0 -93
  42. package/esm2022/src/entity-metadata/entity-filters.mjs +0 -23
  43. package/esm2022/src/entity-metadata/entity-metadata.mjs +0 -3
  44. package/esm2022/src/entity-services/entity-collection-service-base.mjs +0 -271
  45. package/esm2022/src/entity-services/entity-collection-service-elements-factory.mjs +0 -38
  46. package/esm2022/src/entity-services/entity-collection-service-factory.mjs +0 -28
  47. package/esm2022/src/entity-services/entity-collection-service.mjs +0 -2
  48. package/esm2022/src/entity-services/entity-services-base.mjs +0 -118
  49. package/esm2022/src/entity-services/entity-services-elements.mjs +0 -33
  50. package/esm2022/src/entity-services/entity-services.mjs +0 -10
  51. package/esm2022/src/index.mjs +0 -67
  52. package/esm2022/src/provide-entity-data.mjs +0 -222
  53. package/esm2022/src/reducers/constants.mjs +0 -7
  54. package/esm2022/src/reducers/entity-cache-reducer.mjs +0 -271
  55. package/esm2022/src/reducers/entity-cache.mjs +0 -2
  56. package/esm2022/src/reducers/entity-change-tracker-base.mjs +0 -587
  57. package/esm2022/src/reducers/entity-change-tracker.mjs +0 -2
  58. package/esm2022/src/reducers/entity-collection-creator.mjs +0 -37
  59. package/esm2022/src/reducers/entity-collection-reducer-methods.mjs +0 -807
  60. package/esm2022/src/reducers/entity-collection-reducer-registry.mjs +0 -68
  61. package/esm2022/src/reducers/entity-collection-reducer.mjs +0 -24
  62. package/esm2022/src/reducers/entity-collection.mjs +0 -13
  63. package/esm2022/src/selectors/entity-cache-selector.mjs +0 -14
  64. package/esm2022/src/selectors/entity-selectors$.mjs +0 -52
  65. package/esm2022/src/selectors/entity-selectors.mjs +0 -96
  66. package/esm2022/src/utils/correlation-id-generator.mjs +0 -30
  67. package/esm2022/src/utils/default-logger.mjs +0 -40
  68. package/esm2022/src/utils/default-pluralizer.mjs +0 -71
  69. package/esm2022/src/utils/guid-fns.mjs +0 -69
  70. package/esm2022/src/utils/interfaces.mjs +0 -7
  71. package/esm2022/src/utils/utilities.mjs +0 -52
@@ -1,68 +0,0 @@
1
- import { Inject, Injectable, Optional } from '@angular/core';
2
- import { compose } from '@ngrx/store';
3
- import { ENTITY_COLLECTION_META_REDUCERS } from './constants';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "./entity-collection-reducer";
6
- /**
7
- * Registry of entity types and their previously-constructed reducers.
8
- * Can create a new CollectionReducer, which it registers for subsequent use.
9
- */
10
- export class EntityCollectionReducerRegistry {
11
- constructor(entityCollectionReducerFactory, entityCollectionMetaReducers) {
12
- this.entityCollectionReducerFactory = entityCollectionReducerFactory;
13
- this.entityCollectionReducers = {};
14
- // eslint-disable-next-line prefer-spread
15
- this.entityCollectionMetaReducer = compose.apply(null, entityCollectionMetaReducers || []);
16
- }
17
- /**
18
- * Get the registered EntityCollectionReducer<T> for this entity type or create one and register it.
19
- * @param entityName Name of the entity type for this reducer
20
- */
21
- getOrCreateReducer(entityName) {
22
- let reducer = this.entityCollectionReducers[entityName];
23
- if (!reducer) {
24
- reducer = this.entityCollectionReducerFactory.create(entityName);
25
- reducer = this.registerReducer(entityName, reducer);
26
- this.entityCollectionReducers[entityName] = reducer;
27
- }
28
- return reducer;
29
- }
30
- /**
31
- * Register an EntityCollectionReducer for an entity type
32
- * @param entityName - the name of the entity type
33
- * @param reducer - reducer for that entity type
34
- *
35
- * Examples:
36
- * registerReducer('Hero', myHeroReducer);
37
- * registerReducer('Villain', myVillainReducer);
38
- */
39
- registerReducer(entityName, reducer) {
40
- reducer = this.entityCollectionMetaReducer(reducer);
41
- return (this.entityCollectionReducers[entityName.trim()] = reducer);
42
- }
43
- /**
44
- * Register a batch of EntityCollectionReducers.
45
- * @param reducers - reducers to merge into existing reducers
46
- *
47
- * Examples:
48
- * registerReducers({
49
- * Hero: myHeroReducer,
50
- * Villain: myVillainReducer
51
- * });
52
- */
53
- registerReducers(reducers) {
54
- const keys = reducers ? Object.keys(reducers) : [];
55
- keys.forEach((key) => this.registerReducer(key, reducers[key]));
56
- }
57
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: EntityCollectionReducerRegistry, deps: [{ token: i1.EntityCollectionReducerFactory }, { token: ENTITY_COLLECTION_META_REDUCERS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
58
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: EntityCollectionReducerRegistry }); }
59
- }
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: EntityCollectionReducerRegistry, decorators: [{
61
- type: Injectable
62
- }], ctorParameters: () => [{ type: i1.EntityCollectionReducerFactory }, { type: undefined, decorators: [{
63
- type: Optional
64
- }, {
65
- type: Inject,
66
- args: [ENTITY_COLLECTION_META_REDUCERS]
67
- }] }] });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWNvbGxlY3Rpb24tcmVkdWNlci1yZWdpc3RyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvZGF0YS9zcmMvcmVkdWNlcnMvZW50aXR5LWNvbGxlY3Rpb24tcmVkdWNlci1yZWdpc3RyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLE9BQU8sRUFBZSxNQUFNLGFBQWEsQ0FBQztBQUluRCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQVc5RDs7O0dBR0c7QUFFSCxNQUFNLE9BQU8sK0JBQStCO0lBTzFDLFlBQ1UsOEJBQThELEVBR3RFLDRCQUE0RTtRQUhwRSxtQ0FBOEIsR0FBOUIsOEJBQThCLENBQWdDO1FBUDlELDZCQUF3QixHQUE2QixFQUFFLENBQUM7UUFZaEUseUNBQXlDO1FBQ3pDLElBQUksQ0FBQywyQkFBMkIsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUM5QyxJQUFJLEVBQ0osNEJBQTRCLElBQUksRUFBRSxDQUM1QixDQUFDO0lBQ1gsQ0FBQztJQUVEOzs7T0FHRztJQUNILGtCQUFrQixDQUFJLFVBQWtCO1FBQ3RDLElBQUksT0FBTyxHQUNULElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU1QyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDYixPQUFPLEdBQUcsSUFBSSxDQUFDLDhCQUE4QixDQUFDLE1BQU0sQ0FBSSxVQUFVLENBQUMsQ0FBQztZQUNwRSxPQUFPLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBSSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDdkQsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFVBQVUsQ0FBQyxHQUFHLE9BQU8sQ0FBQztRQUN0RCxDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsZUFBZSxDQUNiLFVBQWtCLEVBQ2xCLE9BQW1DO1FBRW5DLE9BQU8sR0FBRyxJQUFJLENBQUMsMkJBQTJCLENBQUMsT0FBYyxDQUFDLENBQUM7UUFDM0QsT0FBTyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0gsZ0JBQWdCLENBQUMsUUFBa0M7UUFDakQsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDbkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO2lJQWxFVSwrQkFBK0IsZ0VBVWhDLCtCQUErQjtxSUFWOUIsK0JBQStCOzsyRkFBL0IsK0JBQStCO2tCQUQzQyxVQUFVOzswQkFVTixRQUFROzswQkFDUixNQUFNOzJCQUFDLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNvbXBvc2UsIE1ldGFSZWR1Y2VyIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuXG5pbXBvcnQgeyBFbnRpdHlBY3Rpb24gfSBmcm9tICcuLi9hY3Rpb25zL2VudGl0eS1hY3Rpb24nO1xuaW1wb3J0IHsgRW50aXR5Q29sbGVjdGlvbiB9IGZyb20gJy4vZW50aXR5LWNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgRU5USVRZX0NPTExFQ1RJT05fTUVUQV9SRURVQ0VSUyB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7XG4gIEVudGl0eUNvbGxlY3Rpb25SZWR1Y2VyLFxuICBFbnRpdHlDb2xsZWN0aW9uUmVkdWNlckZhY3RvcnksXG59IGZyb20gJy4vZW50aXR5LWNvbGxlY3Rpb24tcmVkdWNlcic7XG5cbi8qKiBBIGhhc2ggb2YgRW50aXR5Q29sbGVjdGlvblJlZHVjZXJzICovXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eUNvbGxlY3Rpb25SZWR1Y2VycyB7XG4gIFtlbnRpdHk6IHN0cmluZ106IEVudGl0eUNvbGxlY3Rpb25SZWR1Y2VyPGFueT47XG59XG5cbi8qKlxuICogUmVnaXN0cnkgb2YgZW50aXR5IHR5cGVzIGFuZCB0aGVpciBwcmV2aW91c2x5LWNvbnN0cnVjdGVkIHJlZHVjZXJzLlxuICogQ2FuIGNyZWF0ZSBhIG5ldyBDb2xsZWN0aW9uUmVkdWNlciwgd2hpY2ggaXQgcmVnaXN0ZXJzIGZvciBzdWJzZXF1ZW50IHVzZS5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEVudGl0eUNvbGxlY3Rpb25SZWR1Y2VyUmVnaXN0cnkge1xuICBwcm90ZWN0ZWQgZW50aXR5Q29sbGVjdGlvblJlZHVjZXJzOiBFbnRpdHlDb2xsZWN0aW9uUmVkdWNlcnMgPSB7fTtcbiAgcHJpdmF0ZSBlbnRpdHlDb2xsZWN0aW9uTWV0YVJlZHVjZXI6IE1ldGFSZWR1Y2VyPFxuICAgIEVudGl0eUNvbGxlY3Rpb24sXG4gICAgRW50aXR5QWN0aW9uXG4gID47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbnRpdHlDb2xsZWN0aW9uUmVkdWNlckZhY3Rvcnk6IEVudGl0eUNvbGxlY3Rpb25SZWR1Y2VyRmFjdG9yeSxcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBJbmplY3QoRU5USVRZX0NPTExFQ1RJT05fTUVUQV9SRURVQ0VSUylcbiAgICBlbnRpdHlDb2xsZWN0aW9uTWV0YVJlZHVjZXJzPzogTWV0YVJlZHVjZXI8RW50aXR5Q29sbGVjdGlvbiwgRW50aXR5QWN0aW9uPltdXG4gICkge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItc3ByZWFkXG4gICAgdGhpcy5lbnRpdHlDb2xsZWN0aW9uTWV0YVJlZHVjZXIgPSBjb21wb3NlLmFwcGx5KFxuICAgICAgbnVsbCxcbiAgICAgIGVudGl0eUNvbGxlY3Rpb25NZXRhUmVkdWNlcnMgfHwgW11cbiAgICApIGFzIGFueTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHJlZ2lzdGVyZWQgRW50aXR5Q29sbGVjdGlvblJlZHVjZXI8VD4gZm9yIHRoaXMgZW50aXR5IHR5cGUgb3IgY3JlYXRlIG9uZSBhbmQgcmVnaXN0ZXIgaXQuXG4gICAqIEBwYXJhbSBlbnRpdHlOYW1lIE5hbWUgb2YgdGhlIGVudGl0eSB0eXBlIGZvciB0aGlzIHJlZHVjZXJcbiAgICovXG4gIGdldE9yQ3JlYXRlUmVkdWNlcjxUPihlbnRpdHlOYW1lOiBzdHJpbmcpOiBFbnRpdHlDb2xsZWN0aW9uUmVkdWNlcjxUPiB7XG4gICAgbGV0IHJlZHVjZXI6IEVudGl0eUNvbGxlY3Rpb25SZWR1Y2VyPFQ+ID1cbiAgICAgIHRoaXMuZW50aXR5Q29sbGVjdGlvblJlZHVjZXJzW2VudGl0eU5hbWVdO1xuXG4gICAgaWYgKCFyZWR1Y2VyKSB7XG4gICAgICByZWR1Y2VyID0gdGhpcy5lbnRpdHlDb2xsZWN0aW9uUmVkdWNlckZhY3RvcnkuY3JlYXRlPFQ+KGVudGl0eU5hbWUpO1xuICAgICAgcmVkdWNlciA9IHRoaXMucmVnaXN0ZXJSZWR1Y2VyPFQ+KGVudGl0eU5hbWUsIHJlZHVjZXIpO1xuICAgICAgdGhpcy5lbnRpdHlDb2xsZWN0aW9uUmVkdWNlcnNbZW50aXR5TmFtZV0gPSByZWR1Y2VyO1xuICAgIH1cbiAgICByZXR1cm4gcmVkdWNlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlciBhbiBFbnRpdHlDb2xsZWN0aW9uUmVkdWNlciBmb3IgYW4gZW50aXR5IHR5cGVcbiAgICogQHBhcmFtIGVudGl0eU5hbWUgLSB0aGUgbmFtZSBvZiB0aGUgZW50aXR5IHR5cGVcbiAgICogQHBhcmFtIHJlZHVjZXIgLSByZWR1Y2VyIGZvciB0aGF0IGVudGl0eSB0eXBlXG4gICAqXG4gICAqIEV4YW1wbGVzOlxuICAgKiAgIHJlZ2lzdGVyUmVkdWNlcignSGVybycsIG15SGVyb1JlZHVjZXIpO1xuICAgKiAgIHJlZ2lzdGVyUmVkdWNlcignVmlsbGFpbicsIG15VmlsbGFpblJlZHVjZXIpO1xuICAgKi9cbiAgcmVnaXN0ZXJSZWR1Y2VyPFQ+KFxuICAgIGVudGl0eU5hbWU6IHN0cmluZyxcbiAgICByZWR1Y2VyOiBFbnRpdHlDb2xsZWN0aW9uUmVkdWNlcjxUPlxuICApOiBFbnRpdHlDb2xsZWN0aW9uUmVkdWNlcjxUPiB7XG4gICAgcmVkdWNlciA9IHRoaXMuZW50aXR5Q29sbGVjdGlvbk1ldGFSZWR1Y2VyKHJlZHVjZXIgYXMgYW55KTtcbiAgICByZXR1cm4gKHRoaXMuZW50aXR5Q29sbGVjdGlvblJlZHVjZXJzW2VudGl0eU5hbWUudHJpbSgpXSA9IHJlZHVjZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVyIGEgYmF0Y2ggb2YgRW50aXR5Q29sbGVjdGlvblJlZHVjZXJzLlxuICAgKiBAcGFyYW0gcmVkdWNlcnMgLSByZWR1Y2VycyB0byBtZXJnZSBpbnRvIGV4aXN0aW5nIHJlZHVjZXJzXG4gICAqXG4gICAqIEV4YW1wbGVzOlxuICAgKiAgIHJlZ2lzdGVyUmVkdWNlcnMoe1xuICAgKiAgICAgSGVybzogbXlIZXJvUmVkdWNlcixcbiAgICogICAgIFZpbGxhaW46IG15VmlsbGFpblJlZHVjZXJcbiAgICogICB9KTtcbiAgICovXG4gIHJlZ2lzdGVyUmVkdWNlcnMocmVkdWNlcnM6IEVudGl0eUNvbGxlY3Rpb25SZWR1Y2Vycykge1xuICAgIGNvbnN0IGtleXMgPSByZWR1Y2VycyA/IE9iamVjdC5rZXlzKHJlZHVjZXJzKSA6IFtdO1xuICAgIGtleXMuZm9yRWFjaCgoa2V5KSA9PiB0aGlzLnJlZ2lzdGVyUmVkdWNlcihrZXksIHJlZHVjZXJzW2tleV0pKTtcbiAgfVxufVxuIl19
@@ -1,24 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "./entity-collection-reducer-methods";
4
- /** Create a default reducer for a specific entity collection */
5
- export class EntityCollectionReducerFactory {
6
- constructor(methodsFactory) {
7
- this.methodsFactory = methodsFactory;
8
- }
9
- /** Create a default reducer for a collection of entities of T */
10
- create(entityName) {
11
- const methods = this.methodsFactory.create(entityName);
12
- /** Perform Actions against a particular entity collection in the EntityCache */
13
- return function entityCollectionReducer(collection, action) {
14
- const reducerMethod = methods[action.payload.entityOp];
15
- return reducerMethod ? reducerMethod(collection, action) : collection;
16
- };
17
- }
18
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: EntityCollectionReducerFactory, deps: [{ token: i1.EntityCollectionReducerMethodsFactory }], target: i0.ɵɵFactoryTarget.Injectable }); }
19
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: EntityCollectionReducerFactory }); }
20
- }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: EntityCollectionReducerFactory, decorators: [{
22
- type: Injectable
23
- }], ctorParameters: () => [{ type: i1.EntityCollectionReducerMethodsFactory }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWNvbGxlY3Rpb24tcmVkdWNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvZGF0YS9zcmMvcmVkdWNlcnMvZW50aXR5LWNvbGxlY3Rpb24tcmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFXM0MsZ0VBQWdFO0FBRWhFLE1BQU0sT0FBTyw4QkFBOEI7SUFDekMsWUFBb0IsY0FBcUQ7UUFBckQsbUJBQWMsR0FBZCxjQUFjLENBQXVDO0lBQUcsQ0FBQztJQUU3RSxpRUFBaUU7SUFDakUsTUFBTSxDQUFVLFVBQWtCO1FBQ2hDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFJLFVBQVUsQ0FBQyxDQUFDO1FBRTFELGdGQUFnRjtRQUNoRixPQUFPLFNBQVMsdUJBQXVCLENBQ3JDLFVBQStCLEVBQy9CLE1BQW9CO1lBRXBCLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3ZELE9BQU8sYUFBYSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7UUFDeEUsQ0FBQyxDQUFDO0lBQ0osQ0FBQztpSUFmVSw4QkFBOEI7cUlBQTlCLDhCQUE4Qjs7MkZBQTlCLDhCQUE4QjtrQkFEMUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRW50aXR5QWN0aW9uIH0gZnJvbSAnLi4vYWN0aW9ucy9lbnRpdHktYWN0aW9uJztcbmltcG9ydCB7IEVudGl0eUNvbGxlY3Rpb24gfSBmcm9tICcuL2VudGl0eS1jb2xsZWN0aW9uJztcbmltcG9ydCB7IEVudGl0eUNvbGxlY3Rpb25SZWR1Y2VyTWV0aG9kc0ZhY3RvcnkgfSBmcm9tICcuL2VudGl0eS1jb2xsZWN0aW9uLXJlZHVjZXItbWV0aG9kcyc7XG5cbmV4cG9ydCB0eXBlIEVudGl0eUNvbGxlY3Rpb25SZWR1Y2VyPFQgPSBhbnk+ID0gKFxuICBjb2xsZWN0aW9uOiBFbnRpdHlDb2xsZWN0aW9uPFQ+LFxuICBhY3Rpb246IEVudGl0eUFjdGlvblxuKSA9PiBFbnRpdHlDb2xsZWN0aW9uPFQ+O1xuXG4vKiogQ3JlYXRlIGEgZGVmYXVsdCByZWR1Y2VyIGZvciBhIHNwZWNpZmljIGVudGl0eSBjb2xsZWN0aW9uICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRW50aXR5Q29sbGVjdGlvblJlZHVjZXJGYWN0b3J5IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBtZXRob2RzRmFjdG9yeTogRW50aXR5Q29sbGVjdGlvblJlZHVjZXJNZXRob2RzRmFjdG9yeSkge31cblxuICAvKiogQ3JlYXRlIGEgZGVmYXVsdCByZWR1Y2VyIGZvciBhIGNvbGxlY3Rpb24gb2YgZW50aXRpZXMgb2YgVCAqL1xuICBjcmVhdGU8VCA9IGFueT4oZW50aXR5TmFtZTogc3RyaW5nKTogRW50aXR5Q29sbGVjdGlvblJlZHVjZXI8VD4ge1xuICAgIGNvbnN0IG1ldGhvZHMgPSB0aGlzLm1ldGhvZHNGYWN0b3J5LmNyZWF0ZTxUPihlbnRpdHlOYW1lKTtcblxuICAgIC8qKiBQZXJmb3JtIEFjdGlvbnMgYWdhaW5zdCBhIHBhcnRpY3VsYXIgZW50aXR5IGNvbGxlY3Rpb24gaW4gdGhlIEVudGl0eUNhY2hlICovXG4gICAgcmV0dXJuIGZ1bmN0aW9uIGVudGl0eUNvbGxlY3Rpb25SZWR1Y2VyKFxuICAgICAgY29sbGVjdGlvbjogRW50aXR5Q29sbGVjdGlvbjxUPixcbiAgICAgIGFjdGlvbjogRW50aXR5QWN0aW9uXG4gICAgKTogRW50aXR5Q29sbGVjdGlvbjxUPiB7XG4gICAgICBjb25zdCByZWR1Y2VyTWV0aG9kID0gbWV0aG9kc1thY3Rpb24ucGF5bG9hZC5lbnRpdHlPcF07XG4gICAgICByZXR1cm4gcmVkdWNlck1ldGhvZCA/IHJlZHVjZXJNZXRob2QoY29sbGVjdGlvbiwgYWN0aW9uKSA6IGNvbGxlY3Rpb247XG4gICAgfTtcbiAgfVxufVxuIl19
@@ -1,13 +0,0 @@
1
- /** Types of change in a ChangeState instance */
2
- export var ChangeType;
3
- (function (ChangeType) {
4
- /** The entity has not changed from its last known server state. */
5
- ChangeType[ChangeType["Unchanged"] = 0] = "Unchanged";
6
- /** The entity was added to the collection */
7
- ChangeType[ChangeType["Added"] = 1] = "Added";
8
- /** The entity is scheduled for delete and was removed from the collection */
9
- ChangeType[ChangeType["Deleted"] = 2] = "Deleted";
10
- /** The entity in the collection was updated */
11
- ChangeType[ChangeType["Updated"] = 3] = "Updated";
12
- })(ChangeType || (ChangeType = {}));
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2RhdGEvc3JjL3JlZHVjZXJzL2VudGl0eS1jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGdEQUFnRDtBQUNoRCxNQUFNLENBQU4sSUFBWSxVQVNYO0FBVEQsV0FBWSxVQUFVO0lBQ3BCLG1FQUFtRTtJQUNuRSxxREFBYSxDQUFBO0lBQ2IsNkNBQTZDO0lBQzdDLDZDQUFLLENBQUE7SUFDTCw2RUFBNkU7SUFDN0UsaURBQU8sQ0FBQTtJQUNQLCtDQUErQztJQUMvQyxpREFBTyxDQUFBO0FBQ1QsQ0FBQyxFQVRXLFVBQVUsS0FBVixVQUFVLFFBU3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW50aXR5U3RhdGUsIERpY3Rpb25hcnkgfSBmcm9tICdAbmdyeC9lbnRpdHknO1xuXG4vKiogVHlwZXMgb2YgY2hhbmdlIGluIGEgQ2hhbmdlU3RhdGUgaW5zdGFuY2UgKi9cbmV4cG9ydCBlbnVtIENoYW5nZVR5cGUge1xuICAvKiogVGhlIGVudGl0eSBoYXMgbm90IGNoYW5nZWQgZnJvbSBpdHMgbGFzdCBrbm93biBzZXJ2ZXIgc3RhdGUuICovXG4gIFVuY2hhbmdlZCA9IDAsXG4gIC8qKiBUaGUgZW50aXR5IHdhcyBhZGRlZCB0byB0aGUgY29sbGVjdGlvbiAqL1xuICBBZGRlZCxcbiAgLyoqIFRoZSBlbnRpdHkgaXMgc2NoZWR1bGVkIGZvciBkZWxldGUgYW5kIHdhcyByZW1vdmVkIGZyb20gdGhlIGNvbGxlY3Rpb24gKi9cbiAgRGVsZXRlZCxcbiAgLyoqIFRoZSBlbnRpdHkgaW4gdGhlIGNvbGxlY3Rpb24gd2FzIHVwZGF0ZWQgKi9cbiAgVXBkYXRlZCxcbn1cblxuLyoqXG4gKiBDaGFuZ2Ugc3RhdGUgZm9yIGFuIGVudGl0eSB3aXRoIHVuc2F2ZWQgY2hhbmdlcztcbiAqIGFuIGVudHJ5IGluIGFuIEVudGl0eUNvbGxlY3Rpb24uY2hhbmdlU3RhdGUgbWFwXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhbmdlU3RhdGU8VD4ge1xuICBjaGFuZ2VUeXBlOiBDaGFuZ2VUeXBlO1xuICBvcmlnaW5hbFZhbHVlPzogVCB8IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBNYXAgb2YgZW50aXR5IHByaW1hcnkga2V5cyB0byBlbnRpdHkgQ2hhbmdlU3RhdGVzLlxuICogRWFjaCBlbnRyeSByZXByZXNlbnRzIGFuIGVudGl0eSB3aXRoIHVuc2F2ZWQgY2hhbmdlcy5cbiAqL1xuZXhwb3J0IHR5cGUgQ2hhbmdlU3RhdGVNYXA8VD4gPSBEaWN0aW9uYXJ5PENoYW5nZVN0YXRlPFQ+PjtcblxuLyoqXG4gKiBEYXRhIGFuZCBpbmZvcm1hdGlvbiBhYm91dCBhIGNvbGxlY3Rpb24gb2YgZW50aXRpZXMgb2YgYSBzaW5nbGUgdHlwZS5cbiAqIEVudGl0eUNvbGxlY3Rpb25zIGFyZSBtYWludGFpbmVkIGluIHRoZSBFbnRpdHlDYWNoZSB3aXRoaW4gdGhlIG5ncnggc3RvcmUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5Q29sbGVjdGlvbjxUID0gYW55PiBleHRlbmRzIEVudGl0eVN0YXRlPFQ+IHtcbiAgLyoqIE5hbWUgb2YgdGhlIGVudGl0eSB0eXBlIGZvciB0aGlzIGNvbGxlY3Rpb24gKi9cbiAgZW50aXR5TmFtZTogc3RyaW5nO1xuICAvKiogQSBtYXAgb2YgQ2hhbmdlU3RhdGVzLCBrZXllZCBieSBpZCwgZm9yIGVudGl0aWVzIHdpdGggdW5zYXZlZCBjaGFuZ2VzICovXG4gIGNoYW5nZVN0YXRlOiBDaGFuZ2VTdGF0ZU1hcDxUPjtcbiAgLyoqIFRoZSB1c2VyJ3MgY3VycmVudCBjb2xsZWN0aW9uIGZpbHRlciBwYXR0ZXJuICovXG4gIGZpbHRlcj86IHN0cmluZztcbiAgLyoqIHRydWUgaWYgY29sbGVjdGlvbiB3YXMgZXZlciBmaWxsZWQgYnkgUXVlcnlBbGw7IGZvcmNlZCBmYWxzZSBpZiBjbGVhcmVkICovXG4gIGxvYWRlZDogYm9vbGVhbjtcbiAgLyoqIHRydWUgd2hlbiBhIHF1ZXJ5IG9yIHNhdmUgb3BlcmF0aW9uIGlzIGluIHByb2dyZXNzICovXG4gIGxvYWRpbmc6IGJvb2xlYW47XG59XG4iXX0=
@@ -1,14 +0,0 @@
1
- import { InjectionToken, Optional } from '@angular/core';
2
- import { createFeatureSelector } from '@ngrx/store';
3
- import { ENTITY_CACHE_NAME, ENTITY_CACHE_NAME_TOKEN, } from '../reducers/constants';
4
- export const ENTITY_CACHE_SELECTOR_TOKEN = new InjectionToken('@ngrx/data Entity Cache Selector');
5
- export const entityCacheSelectorProvider = {
6
- provide: ENTITY_CACHE_SELECTOR_TOKEN,
7
- useFactory: createEntityCacheSelector,
8
- deps: [[new Optional(), ENTITY_CACHE_NAME_TOKEN]],
9
- };
10
- export function createEntityCacheSelector(entityCacheName) {
11
- entityCacheName = entityCacheName || ENTITY_CACHE_NAME;
12
- return createFeatureSelector(entityCacheName);
13
- }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWNhY2hlLXNlbGVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9kYXRhL3NyYy9zZWxlY3RvcnMvZW50aXR5LWNhY2hlLXNlbGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFtQixNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUscUJBQXFCLEVBQW9CLE1BQU0sYUFBYSxDQUFDO0FBRXRFLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsdUJBQXVCLEdBQ3hCLE1BQU0sdUJBQXVCLENBQUM7QUFFL0IsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsSUFBSSxjQUFjLENBRTNELGtDQUFrQyxDQUFDLENBQUM7QUFFdEMsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQW9CO0lBQzFELE9BQU8sRUFBRSwyQkFBMkI7SUFDcEMsVUFBVSxFQUFFLHlCQUF5QjtJQUNyQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztDQUNsRCxDQUFDO0FBSUYsTUFBTSxVQUFVLHlCQUF5QixDQUN2QyxlQUF3QjtJQUV4QixlQUFlLEdBQUcsZUFBZSxJQUFJLGlCQUFpQixDQUFDO0lBQ3ZELE9BQU8scUJBQXFCLENBQWMsZUFBZSxDQUFDLENBQUM7QUFDN0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBPcHRpb25hbCwgRmFjdG9yeVByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjcmVhdGVGZWF0dXJlU2VsZWN0b3IsIE1lbW9pemVkU2VsZWN0b3IgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBFbnRpdHlDYWNoZSB9IGZyb20gJy4uL3JlZHVjZXJzL2VudGl0eS1jYWNoZSc7XG5pbXBvcnQge1xuICBFTlRJVFlfQ0FDSEVfTkFNRSxcbiAgRU5USVRZX0NBQ0hFX05BTUVfVE9LRU4sXG59IGZyb20gJy4uL3JlZHVjZXJzL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBjb25zdCBFTlRJVFlfQ0FDSEVfU0VMRUNUT1JfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48XG4gIE1lbW9pemVkU2VsZWN0b3I8T2JqZWN0LCBFbnRpdHlDYWNoZT5cbj4oJ0BuZ3J4L2RhdGEgRW50aXR5IENhY2hlIFNlbGVjdG9yJyk7XG5cbmV4cG9ydCBjb25zdCBlbnRpdHlDYWNoZVNlbGVjdG9yUHJvdmlkZXI6IEZhY3RvcnlQcm92aWRlciA9IHtcbiAgcHJvdmlkZTogRU5USVRZX0NBQ0hFX1NFTEVDVE9SX1RPS0VOLFxuICB1c2VGYWN0b3J5OiBjcmVhdGVFbnRpdHlDYWNoZVNlbGVjdG9yLFxuICBkZXBzOiBbW25ldyBPcHRpb25hbCgpLCBFTlRJVFlfQ0FDSEVfTkFNRV9UT0tFTl1dLFxufTtcblxuZXhwb3J0IHR5cGUgRW50aXR5Q2FjaGVTZWxlY3RvciA9IE1lbW9pemVkU2VsZWN0b3I8T2JqZWN0LCBFbnRpdHlDYWNoZT47XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVFbnRpdHlDYWNoZVNlbGVjdG9yKFxuICBlbnRpdHlDYWNoZU5hbWU/OiBzdHJpbmdcbik6IE1lbW9pemVkU2VsZWN0b3I8T2JqZWN0LCBFbnRpdHlDYWNoZT4ge1xuICBlbnRpdHlDYWNoZU5hbWUgPSBlbnRpdHlDYWNoZU5hbWUgfHwgRU5USVRZX0NBQ0hFX05BTUU7XG4gIHJldHVybiBjcmVhdGVGZWF0dXJlU2VsZWN0b3I8RW50aXR5Q2FjaGU+KGVudGl0eUNhY2hlTmFtZSk7XG59XG4iXX0=
@@ -1,52 +0,0 @@
1
- import { Inject, Injectable } from '@angular/core';
2
- import { filter, shareReplay } from 'rxjs/operators';
3
- import { OP_ERROR } from '../actions/entity-op';
4
- import { ofEntityType } from '../actions/entity-action-operators';
5
- import { ENTITY_CACHE_SELECTOR_TOKEN, } from './entity-cache-selector';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@ngrx/store";
8
- import * as i2 from "@ngrx/effects";
9
- /** Creates observable EntitySelectors$ for entity collections. */
10
- export class EntitySelectors$Factory {
11
- constructor(store, actions, selectEntityCache) {
12
- this.store = store;
13
- this.actions = actions;
14
- this.selectEntityCache = selectEntityCache;
15
- // This service applies to the cache in ngrx/store named `cacheName`
16
- this.entityCache$ = this.store.select(this.selectEntityCache);
17
- this.entityActionErrors$ = actions.pipe(filter((ea) => ea.payload &&
18
- ea.payload.entityOp &&
19
- ea.payload.entityOp.endsWith(OP_ERROR)), shareReplay(1));
20
- }
21
- /**
22
- * Creates an entity collection's selectors$ observables for this factory's store.
23
- * `selectors$` are observable selectors of the cached entity collection.
24
- * @param entityName - is also the name of the collection.
25
- * @param selectors - selector functions for this collection.
26
- **/
27
- create(entityName, selectors) {
28
- const selectors$ = {
29
- entityName,
30
- };
31
- Object.keys(selectors).forEach((name) => {
32
- if (name.startsWith('select')) {
33
- // strip 'select' prefix from the selector fn name and append `$`
34
- // Ex: 'selectEntities' => 'entities$'
35
- const name$ = name[6].toLowerCase() + name.substring(7) + '$';
36
- selectors$[name$] = this.store.select(selectors[name]);
37
- }
38
- });
39
- selectors$['entityActions$'] = this.actions.pipe(ofEntityType(entityName));
40
- selectors$['errors$'] = this.entityActionErrors$.pipe(ofEntityType(entityName));
41
- return selectors$;
42
- }
43
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: EntitySelectors$Factory, deps: [{ token: i1.Store }, { token: i2.Actions }, { token: ENTITY_CACHE_SELECTOR_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable }); }
44
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: EntitySelectors$Factory }); }
45
- }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: EntitySelectors$Factory, decorators: [{
47
- type: Injectable
48
- }], ctorParameters: () => [{ type: i1.Store }, { type: i2.Actions }, { type: undefined, decorators: [{
49
- type: Inject,
50
- args: [ENTITY_CACHE_SELECTOR_TOKEN]
51
- }] }] });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXNlbGVjdG9ycyQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2RhdGEvc3JjL3NlbGVjdG9ycy9lbnRpdHktc2VsZWN0b3JzJC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU1uRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3JELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbEUsT0FBTyxFQUNMLDJCQUEyQixHQUU1QixNQUFNLHlCQUF5QixDQUFDOzs7O0FBeURqQyxrRUFBa0U7QUFFbEUsTUFBTSxPQUFPLHVCQUF1QjtJQU9sQyxZQUNVLEtBQWlCLEVBQ2pCLE9BQThCLEVBRTlCLGlCQUFzQztRQUh0QyxVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2pCLFlBQU8sR0FBUCxPQUFPLENBQXVCO1FBRTlCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBcUI7UUFFOUMsb0VBQW9FO1FBQ3BFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQ3JDLE1BQU0sQ0FDSixDQUFDLEVBQWdCLEVBQUUsRUFBRSxDQUNuQixFQUFFLENBQUMsT0FBTztZQUNWLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUTtZQUNuQixFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQ3pDLEVBQ0QsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7O1FBS0k7SUFDSixNQUFNLENBQ0osVUFBa0IsRUFDbEIsU0FBNkI7UUFFN0IsTUFBTSxVQUFVLEdBQTRCO1lBQzFDLFVBQVU7U0FDWCxDQUFDO1FBRUYsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUN0QyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztnQkFDOUIsaUVBQWlFO2dCQUNqRSxzQ0FBc0M7Z0JBQ3RDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztnQkFDOUQsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFPLFNBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ2hFLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQzNFLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUNuRCxZQUFZLENBQUMsVUFBVSxDQUFDLENBQ3pCLENBQUM7UUFDRixPQUFPLFVBQWdCLENBQUM7SUFDMUIsQ0FBQztpSUFyRFUsdUJBQXVCLDhEQVV4QiwyQkFBMkI7cUlBVjFCLHVCQUF1Qjs7MkZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVTs7MEJBV04sTUFBTTsyQkFBQywyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgQWN0aW9ucyB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJ0BuZ3J4L2VudGl0eSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEVudGl0eUFjdGlvbiB9IGZyb20gJy4uL2FjdGlvbnMvZW50aXR5LWFjdGlvbic7XG5pbXBvcnQgeyBPUF9FUlJPUiB9IGZyb20gJy4uL2FjdGlvbnMvZW50aXR5LW9wJztcbmltcG9ydCB7IG9mRW50aXR5VHlwZSB9IGZyb20gJy4uL2FjdGlvbnMvZW50aXR5LWFjdGlvbi1vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgRU5USVRZX0NBQ0hFX1NFTEVDVE9SX1RPS0VOLFxuICBFbnRpdHlDYWNoZVNlbGVjdG9yLFxufSBmcm9tICcuL2VudGl0eS1jYWNoZS1zZWxlY3Rvcic7XG5pbXBvcnQgeyBFbnRpdHlTZWxlY3RvcnMgfSBmcm9tICcuL2VudGl0eS1zZWxlY3RvcnMnO1xuaW1wb3J0IHsgRW50aXR5Q2FjaGUgfSBmcm9tICcuLi9yZWR1Y2Vycy9lbnRpdHktY2FjaGUnO1xuaW1wb3J0IHtcbiAgRW50aXR5Q29sbGVjdGlvbixcbiAgQ2hhbmdlU3RhdGVNYXAsXG59IGZyb20gJy4uL3JlZHVjZXJzL2VudGl0eS1jb2xsZWN0aW9uJztcblxuLyoqXG4gKiBUaGUgc2VsZWN0b3Igb2JzZXJ2YWJsZSBmdW5jdGlvbnMgZm9yIGVudGl0eSBjb2xsZWN0aW9uIG1lbWJlcnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5U2VsZWN0b3JzJDxUPiB7XG4gIC8qKiBOYW1lIG9mIHRoZSBlbnRpdHkgY29sbGVjdGlvbiBmb3IgdGhlc2Ugc2VsZWN0b3JzJCAqL1xuICByZWFkb25seSBlbnRpdHlOYW1lOiBzdHJpbmc7XG5cbiAgLyoqIE5hbWVzIGZyb20gY3VzdG9tIHNlbGVjdG9ycyBmcm9tIGFkZGl0aW9uYWxDb2xsZWN0aW9uU3RhdGUgZml0cyBoZXJlLCAnYW55JyB0byBhdm9pZCBjb25mbGljdCB3aXRoIGVudGl0eU5hbWUgKi9cbiAgcmVhZG9ubHkgW25hbWU6IHN0cmluZ106IE9ic2VydmFibGU8YW55PiB8IFN0b3JlPGFueT4gfCBhbnk7XG5cbiAgLyoqIE9ic2VydmFibGUgb2YgdGhlIGNvbGxlY3Rpb24gYXMgYSB3aG9sZSAqL1xuICByZWFkb25seSBjb2xsZWN0aW9uJDogT2JzZXJ2YWJsZTxFbnRpdHlDb2xsZWN0aW9uPiB8IFN0b3JlPEVudGl0eUNvbGxlY3Rpb24+O1xuXG4gIC8qKiBPYnNlcnZhYmxlIG9mIGNvdW50IG9mIGVudGl0aWVzIGluIHRoZSBjYWNoZWQgY29sbGVjdGlvbi4gKi9cbiAgcmVhZG9ubHkgY291bnQkOiBPYnNlcnZhYmxlPG51bWJlcj4gfCBTdG9yZTxudW1iZXI+O1xuXG4gIC8qKiBPYnNlcnZhYmxlIG9mIGFsbCBlbnRpdGllcyBpbiB0aGUgY2FjaGVkIGNvbGxlY3Rpb24uICovXG4gIHJlYWRvbmx5IGVudGl0aWVzJDogT2JzZXJ2YWJsZTxUW10+IHwgU3RvcmU8VFtdPjtcblxuICAvKiogT2JzZXJ2YWJsZSBvZiBhY3Rpb25zIHJlbGF0ZWQgdG8gdGhpcyBlbnRpdHkgdHlwZS4gKi9cbiAgcmVhZG9ubHkgZW50aXR5QWN0aW9ucyQ6IE9ic2VydmFibGU8RW50aXR5QWN0aW9uPjtcblxuICAvKiogT2JzZXJ2YWJsZSBvZiB0aGUgbWFwIG9mIGVudGl0eSBrZXlzIHRvIGVudGl0aWVzICovXG4gIHJlYWRvbmx5IGVudGl0eU1hcCQ6IE9ic2VydmFibGU8RGljdGlvbmFyeTxUPj4gfCBTdG9yZTxEaWN0aW9uYXJ5PFQ+PjtcblxuICAvKiogT2JzZXJ2YWJsZSBvZiBlcnJvciBhY3Rpb25zIHJlbGF0ZWQgdG8gdGhpcyBlbnRpdHkgdHlwZS4gKi9cbiAgcmVhZG9ubHkgZXJyb3JzJDogT2JzZXJ2YWJsZTxFbnRpdHlBY3Rpb24+O1xuXG4gIC8qKiBPYnNlcnZhYmxlIG9mIHRoZSBmaWx0ZXIgcGF0dGVybiBhcHBsaWVkIGJ5IHRoZSBlbnRpdHkgY29sbGVjdGlvbidzIGZpbHRlciBmdW5jdGlvbiAqL1xuICByZWFkb25seSBmaWx0ZXIkOiBPYnNlcnZhYmxlPHN0cmluZz4gfCBTdG9yZTxzdHJpbmc+O1xuXG4gIC8qKiBPYnNlcnZhYmxlIG9mIGVudGl0aWVzIGluIHRoZSBjYWNoZWQgY29sbGVjdGlvbiB0aGF0IHBhc3MgdGhlIGZpbHRlciBmdW5jdGlvbiAqL1xuICByZWFkb25seSBmaWx0ZXJlZEVudGl0aWVzJDogT2JzZXJ2YWJsZTxUW10+IHwgU3RvcmU8VFtdPjtcblxuICAvKiogT2JzZXJ2YWJsZSBvZiB0aGUga2V5cyBvZiB0aGUgY2FjaGVkIGNvbGxlY3Rpb24sIGluIHRoZSBjb2xsZWN0aW9uJ3MgbmF0aXZlIHNvcnQgb3JkZXIgKi9cbiAgcmVhZG9ubHkga2V5cyQ6IE9ic2VydmFibGU8c3RyaW5nW10gfCBudW1iZXJbXT4gfCBTdG9yZTxzdHJpbmdbXSB8IG51bWJlcltdPjtcblxuICAvKiogT2JzZXJ2YWJsZSB0cnVlIHdoZW4gdGhlIGNvbGxlY3Rpb24gaGFzIGJlZW4gbG9hZGVkICovXG4gIHJlYWRvbmx5IGxvYWRlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gfCBTdG9yZTxib29sZWFuPjtcblxuICAvKiogT2JzZXJ2YWJsZSB0cnVlIHdoZW4gYSBtdWx0aS1lbnRpdHkgcXVlcnkgY29tbWFuZCBpcyBpbiBwcm9ncmVzcy4gKi9cbiAgcmVhZG9ubHkgbG9hZGluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gfCBTdG9yZTxib29sZWFuPjtcblxuICAvKiogQ2hhbmdlU3RhdGUgKGluY2x1ZGluZyBvcmlnaW5hbCB2YWx1ZXMpIG9mIGVudGl0aWVzIHdpdGggdW5zYXZlZCBjaGFuZ2VzICovXG4gIHJlYWRvbmx5IGNoYW5nZVN0YXRlJDpcbiAgICB8IE9ic2VydmFibGU8Q2hhbmdlU3RhdGVNYXA8VD4+XG4gICAgfCBTdG9yZTxDaGFuZ2VTdGF0ZU1hcDxUPj47XG59XG5cbi8qKiBDcmVhdGVzIG9ic2VydmFibGUgRW50aXR5U2VsZWN0b3JzJCBmb3IgZW50aXR5IGNvbGxlY3Rpb25zLiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEVudGl0eVNlbGVjdG9ycyRGYWN0b3J5IHtcbiAgLyoqIE9ic2VydmFibGUgb2YgdGhlIEVudGl0eUNhY2hlICovXG4gIGVudGl0eUNhY2hlJDogT2JzZXJ2YWJsZTxFbnRpdHlDYWNoZT47XG5cbiAgLyoqIE9ic2VydmFibGUgb2YgZXJyb3IgRW50aXR5QWN0aW9ucyAoZS5nLiBRVUVSWV9BTExfRVJST1IpIGZvciBhbGwgZW50aXR5IHR5cGVzICovXG4gIGVudGl0eUFjdGlvbkVycm9ycyQ6IE9ic2VydmFibGU8RW50aXR5QWN0aW9uPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxhbnk+LFxuICAgIHByaXZhdGUgYWN0aW9uczogQWN0aW9uczxFbnRpdHlBY3Rpb24+LFxuICAgIEBJbmplY3QoRU5USVRZX0NBQ0hFX1NFTEVDVE9SX1RPS0VOKVxuICAgIHByaXZhdGUgc2VsZWN0RW50aXR5Q2FjaGU6IEVudGl0eUNhY2hlU2VsZWN0b3JcbiAgKSB7XG4gICAgLy8gVGhpcyBzZXJ2aWNlIGFwcGxpZXMgdG8gdGhlIGNhY2hlIGluIG5ncngvc3RvcmUgbmFtZWQgYGNhY2hlTmFtZWBcbiAgICB0aGlzLmVudGl0eUNhY2hlJCA9IHRoaXMuc3RvcmUuc2VsZWN0KHRoaXMuc2VsZWN0RW50aXR5Q2FjaGUpO1xuICAgIHRoaXMuZW50aXR5QWN0aW9uRXJyb3JzJCA9IGFjdGlvbnMucGlwZShcbiAgICAgIGZpbHRlcihcbiAgICAgICAgKGVhOiBFbnRpdHlBY3Rpb24pID0+XG4gICAgICAgICAgZWEucGF5bG9hZCAmJlxuICAgICAgICAgIGVhLnBheWxvYWQuZW50aXR5T3AgJiZcbiAgICAgICAgICBlYS5wYXlsb2FkLmVudGl0eU9wLmVuZHNXaXRoKE9QX0VSUk9SKVxuICAgICAgKSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGFuIGVudGl0eSBjb2xsZWN0aW9uJ3Mgc2VsZWN0b3JzJCBvYnNlcnZhYmxlcyBmb3IgdGhpcyBmYWN0b3J5J3Mgc3RvcmUuXG4gICAqIGBzZWxlY3RvcnMkYCBhcmUgb2JzZXJ2YWJsZSBzZWxlY3RvcnMgb2YgdGhlIGNhY2hlZCBlbnRpdHkgY29sbGVjdGlvbi5cbiAgICogQHBhcmFtIGVudGl0eU5hbWUgLSBpcyBhbHNvIHRoZSBuYW1lIG9mIHRoZSBjb2xsZWN0aW9uLlxuICAgKiBAcGFyYW0gc2VsZWN0b3JzIC0gc2VsZWN0b3IgZnVuY3Rpb25zIGZvciB0aGlzIGNvbGxlY3Rpb24uXG4gICAqKi9cbiAgY3JlYXRlPFQsIFMkIGV4dGVuZHMgRW50aXR5U2VsZWN0b3JzJDxUPiA9IEVudGl0eVNlbGVjdG9ycyQ8VD4+KFxuICAgIGVudGl0eU5hbWU6IHN0cmluZyxcbiAgICBzZWxlY3RvcnM6IEVudGl0eVNlbGVjdG9yczxUPlxuICApOiBTJCB7XG4gICAgY29uc3Qgc2VsZWN0b3JzJDogeyBbcHJvcDogc3RyaW5nXTogYW55IH0gPSB7XG4gICAgICBlbnRpdHlOYW1lLFxuICAgIH07XG5cbiAgICBPYmplY3Qua2V5cyhzZWxlY3RvcnMpLmZvckVhY2goKG5hbWUpID0+IHtcbiAgICAgIGlmIChuYW1lLnN0YXJ0c1dpdGgoJ3NlbGVjdCcpKSB7XG4gICAgICAgIC8vIHN0cmlwICdzZWxlY3QnIHByZWZpeCBmcm9tIHRoZSBzZWxlY3RvciBmbiBuYW1lIGFuZCBhcHBlbmQgYCRgXG4gICAgICAgIC8vIEV4OiAnc2VsZWN0RW50aXRpZXMnID0+ICdlbnRpdGllcyQnXG4gICAgICAgIGNvbnN0IG5hbWUkID0gbmFtZVs2XS50b0xvd2VyQ2FzZSgpICsgbmFtZS5zdWJzdHJpbmcoNykgKyAnJCc7XG4gICAgICAgIHNlbGVjdG9ycyRbbmFtZSRdID0gdGhpcy5zdG9yZS5zZWxlY3QoKDxhbnk+c2VsZWN0b3JzKVtuYW1lXSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgc2VsZWN0b3JzJFsnZW50aXR5QWN0aW9ucyQnXSA9IHRoaXMuYWN0aW9ucy5waXBlKG9mRW50aXR5VHlwZShlbnRpdHlOYW1lKSk7XG4gICAgc2VsZWN0b3JzJFsnZXJyb3JzJCddID0gdGhpcy5lbnRpdHlBY3Rpb25FcnJvcnMkLnBpcGUoXG4gICAgICBvZkVudGl0eVR5cGUoZW50aXR5TmFtZSlcbiAgICApO1xuICAgIHJldHVybiBzZWxlY3RvcnMkIGFzIFMkO1xuICB9XG59XG4iXX0=
@@ -1,96 +0,0 @@
1
- import { Inject, Injectable, Optional } from '@angular/core';
2
- import { createSelector } from '@ngrx/store';
3
- import { ENTITY_CACHE_SELECTOR_TOKEN, createEntityCacheSelector, } from './entity-cache-selector';
4
- import { ENTITY_CACHE_NAME } from '../reducers/constants';
5
- import { EntityCollectionCreator } from '../reducers/entity-collection-creator';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../reducers/entity-collection-creator";
8
- /** Creates EntitySelector functions for entity collections. */
9
- export class EntitySelectorsFactory {
10
- constructor(entityCollectionCreator, selectEntityCache) {
11
- this.entityCollectionCreator =
12
- entityCollectionCreator || new EntityCollectionCreator();
13
- this.selectEntityCache =
14
- selectEntityCache || createEntityCacheSelector(ENTITY_CACHE_NAME);
15
- }
16
- /**
17
- * Create the NgRx selector from the store root to the named collection,
18
- * e.g. from Object to Heroes.
19
- * @param entityName the name of the collection
20
- */
21
- createCollectionSelector(entityName) {
22
- const getCollection = (cache = {}) => ((cache[entityName] ||
23
- this.entityCollectionCreator.create(entityName)));
24
- return createSelector(this.selectEntityCache, getCollection);
25
- }
26
- // createCollectionSelectors implementation
27
- createCollectionSelectors(metadataOrName) {
28
- const metadata = typeof metadataOrName === 'string'
29
- ? { entityName: metadataOrName }
30
- : metadataOrName;
31
- const selectKeys = (c) => c.ids;
32
- const selectEntityMap = (c) => c.entities;
33
- const selectEntities = createSelector(selectKeys, selectEntityMap, (keys, entities) => keys.map((key) => entities[key]));
34
- const selectCount = createSelector(selectKeys, (keys) => keys.length);
35
- // EntityCollection selectors that go beyond the ngrx/entity/EntityState selectors
36
- const selectFilter = (c) => c.filter;
37
- const filterFn = metadata.filterFn;
38
- const selectFilteredEntities = filterFn
39
- ? createSelector(selectEntities, selectFilter, (entities, pattern) => filterFn(entities, pattern))
40
- : selectEntities;
41
- const selectLoaded = (c) => c.loaded;
42
- const selectLoading = (c) => c.loading;
43
- const selectChangeState = (c) => c.changeState;
44
- // Create collection selectors for each `additionalCollectionState` property.
45
- // These all extend from `selectCollection`
46
- const extra = metadata.additionalCollectionState || {};
47
- const extraSelectors = {};
48
- Object.keys(extra).forEach((k) => {
49
- extraSelectors['select' + k[0].toUpperCase() + k.slice(1)] = (c) => c[k];
50
- });
51
- return {
52
- selectCount,
53
- selectEntities,
54
- selectEntityMap,
55
- selectFilter,
56
- selectFilteredEntities,
57
- selectKeys,
58
- selectLoaded,
59
- selectLoading,
60
- selectChangeState,
61
- ...extraSelectors,
62
- };
63
- }
64
- // createCollectionSelectors implementation
65
- create(metadataOrName) {
66
- const metadata = typeof metadataOrName === 'string'
67
- ? { entityName: metadataOrName }
68
- : metadataOrName;
69
- const entityName = metadata.entityName;
70
- const selectCollection = this.createCollectionSelector(entityName);
71
- const collectionSelectors = this.createCollectionSelectors(metadata);
72
- const entitySelectors = {};
73
- Object.keys(collectionSelectors).forEach((k) => {
74
- entitySelectors[k] = createSelector(selectCollection, collectionSelectors[k]);
75
- });
76
- return {
77
- entityName,
78
- selectCollection,
79
- selectEntityCache: this.selectEntityCache,
80
- ...entitySelectors,
81
- };
82
- }
83
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: EntitySelectorsFactory, deps: [{ token: i1.EntityCollectionCreator, optional: true }, { token: ENTITY_CACHE_SELECTOR_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
84
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: EntitySelectorsFactory }); }
85
- }
86
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: EntitySelectorsFactory, decorators: [{
87
- type: Injectable
88
- }], ctorParameters: () => [{ type: i1.EntityCollectionCreator, decorators: [{
89
- type: Optional
90
- }] }, { type: undefined, decorators: [{
91
- type: Optional
92
- }, {
93
- type: Inject,
94
- args: [ENTITY_CACHE_SELECTOR_TOKEN]
95
- }] }] });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXNlbGVjdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvZGF0YS9zcmMvc2VsZWN0b3JzL2VudGl0eS1zZWxlY3RvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTdELE9BQU8sRUFBRSxjQUFjLEVBQVksTUFBTSxhQUFhLENBQUM7QUFJdkQsT0FBTyxFQUNMLDJCQUEyQixFQUUzQix5QkFBeUIsR0FDMUIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUsxRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7O0FBb0ZoRiwrREFBK0Q7QUFFL0QsTUFBTSxPQUFPLHNCQUFzQjtJQUlqQyxZQUNjLHVCQUFpRCxFQUc3RCxpQkFBdUM7UUFFdkMsSUFBSSxDQUFDLHVCQUF1QjtZQUMxQix1QkFBdUIsSUFBSSxJQUFJLHVCQUF1QixFQUFFLENBQUM7UUFDM0QsSUFBSSxDQUFDLGlCQUFpQjtZQUNwQixpQkFBaUIsSUFBSSx5QkFBeUIsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsd0JBQXdCLENBR3RCLFVBQWtCO1FBQ2xCLE1BQU0sYUFBYSxHQUFHLENBQUMsUUFBcUIsRUFBRSxFQUFFLEVBQUUsQ0FDN0MsQ0FDRCxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7WUFDaEIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBSSxVQUFVLENBQUMsQ0FBQyxDQUN0RCxDQUFDO1FBQ0osT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUE4QkQsMkNBQTJDO0lBQzNDLHlCQUF5QixDQUd2QixjQUEwQztRQUMxQyxNQUFNLFFBQVEsR0FDWixPQUFPLGNBQWMsS0FBSyxRQUFRO1lBQ2hDLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUU7WUFDaEMsQ0FBQyxDQUFDLGNBQWMsQ0FBQztRQUNyQixNQUFNLFVBQVUsR0FBRyxDQUFDLENBQXNCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDckQsTUFBTSxlQUFlLEdBQUcsQ0FBQyxDQUFzQixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBRS9ELE1BQU0sY0FBYyxHQUF1QyxjQUFjLENBQ3ZFLFVBQVUsRUFDVixlQUFlLEVBQ2YsQ0FBQyxJQUF5QixFQUFFLFFBQXVCLEVBQU8sRUFBRSxDQUMxRCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFNLENBQUMsQ0FDeEMsQ0FBQztRQUVGLE1BQU0sV0FBVyxHQUEwQyxjQUFjLENBQ3ZFLFVBQVUsRUFDVixDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FDdEIsQ0FBQztRQUVGLGtGQUFrRjtRQUNsRixNQUFNLFlBQVksR0FBRyxDQUFDLENBQXNCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFFMUQsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQztRQUNuQyxNQUFNLHNCQUFzQixHQUF1QyxRQUFRO1lBQ3pFLENBQUMsQ0FBQyxjQUFjLENBQ1osY0FBYyxFQUNkLFlBQVksRUFDWixDQUFDLFFBQWEsRUFBRSxPQUFZLEVBQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQ2xFO1lBQ0gsQ0FBQyxDQUFDLGNBQWMsQ0FBQztRQUVuQixNQUFNLFlBQVksR0FBRyxDQUFDLENBQXNCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDMUQsTUFBTSxhQUFhLEdBQUcsQ0FBQyxDQUFzQixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1FBQzVELE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxDQUFzQixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO1FBRXBFLDZFQUE2RTtRQUM3RSwyQ0FBMkM7UUFDM0MsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLHlCQUF5QixJQUFJLEVBQUUsQ0FBQztRQUN2RCxNQUFNLGNBQWMsR0FFaEIsRUFBRSxDQUFDO1FBQ1AsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUMvQixjQUFjLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FDM0QsQ0FBc0IsRUFDdEIsRUFBRSxDQUFPLENBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQztRQUVILE9BQU87WUFDTCxXQUFXO1lBQ1gsY0FBYztZQUNkLGVBQWU7WUFDZixZQUFZO1lBQ1osc0JBQXNCO1lBQ3RCLFVBQVU7WUFDVixZQUFZO1lBQ1osYUFBYTtZQUNiLGlCQUFpQjtZQUNqQixHQUFHLGNBQWM7U0FDYixDQUFDO0lBQ1QsQ0FBQztJQXFDRCwyQ0FBMkM7SUFDM0MsTUFBTSxDQUNKLGNBQTBDO1FBRTFDLE1BQU0sUUFBUSxHQUNaLE9BQU8sY0FBYyxLQUFLLFFBQVE7WUFDaEMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRTtZQUNoQyxDQUFDLENBQUMsY0FBYyxDQUFDO1FBQ3JCLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUM7UUFDdkMsTUFBTSxnQkFBZ0IsR0FHbEIsSUFBSSxDQUFDLHdCQUF3QixDQUFJLFVBQVUsQ0FBQyxDQUFDO1FBQ2pELE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFJLFFBQVEsQ0FBQyxDQUFDO1FBRXhFLE1BQU0sZUFBZSxHQUVqQixFQUFFLENBQUM7UUFDUCxNQUFNLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDN0MsZUFBZSxDQUFDLENBQUMsQ0FBQyxHQUFHLGNBQWMsQ0FDakMsZ0JBQWdCLEVBQ2hCLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUN2QixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPO1lBQ0wsVUFBVTtZQUNWLGdCQUFnQjtZQUNoQixpQkFBaUIsRUFBRSxJQUFJLENBQUMsaUJBQWlCO1lBQ3pDLEdBQUcsZUFBZTtTQUNkLENBQUM7SUFDVCxDQUFDO2lJQWpNVSxzQkFBc0IseUVBT3ZCLDJCQUEyQjtxSUFQMUIsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVOzswQkFNTixRQUFROzswQkFDUixRQUFROzswQkFDUixNQUFNOzJCQUFDLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLy8gUHJvZCBidWlsZCByZXF1aXJlcyBgTWVtb2l6ZWRTZWxlY3RvciBldmVuIHRob3VnaCBub3QgdXNlZC5cbmltcG9ydCB7IE1lbW9pemVkU2VsZWN0b3IgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBjcmVhdGVTZWxlY3RvciwgU2VsZWN0b3IgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnQG5ncngvZW50aXR5JztcblxuaW1wb3J0IHsgRW50aXR5Q2FjaGUgfSBmcm9tICcuLi9yZWR1Y2Vycy9lbnRpdHktY2FjaGUnO1xuaW1wb3J0IHtcbiAgRU5USVRZX0NBQ0hFX1NFTEVDVE9SX1RPS0VOLFxuICBFbnRpdHlDYWNoZVNlbGVjdG9yLFxuICBjcmVhdGVFbnRpdHlDYWNoZVNlbGVjdG9yLFxufSBmcm9tICcuL2VudGl0eS1jYWNoZS1zZWxlY3Rvcic7XG5pbXBvcnQgeyBFTlRJVFlfQ0FDSEVfTkFNRSB9IGZyb20gJy4uL3JlZHVjZXJzL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICBFbnRpdHlDb2xsZWN0aW9uLFxuICBDaGFuZ2VTdGF0ZU1hcCxcbn0gZnJvbSAnLi4vcmVkdWNlcnMvZW50aXR5LWNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgRW50aXR5Q29sbGVjdGlvbkNyZWF0b3IgfSBmcm9tICcuLi9yZWR1Y2Vycy9lbnRpdHktY29sbGVjdGlvbi1jcmVhdG9yJztcbmltcG9ydCB7IEVudGl0eU1ldGFkYXRhIH0gZnJvbSAnLi4vZW50aXR5LW1ldGFkYXRhL2VudGl0eS1tZXRhZGF0YSc7XG5cbi8qKlxuICogVGhlIHNlbGVjdG9yIGZ1bmN0aW9ucyBmb3IgZW50aXR5IGNvbGxlY3Rpb24gbWVtYmVycyxcbiAqIFNlbGVjdHMgZnJvbSB0aGUgZW50aXR5IGNvbGxlY3Rpb24gdG8gdGhlIGNvbGxlY3Rpb24gbWVtYmVyXG4gKiBDb250cmFzdCB3aXRoIHtFbnRpdHlTZWxlY3RvcnN9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbGxlY3Rpb25TZWxlY3RvcnM8VD4ge1xuICByZWFkb25seSBbc2VsZWN0b3I6IHN0cmluZ106IGFueTtcblxuICAvKiogQ291bnQgb2YgZW50aXRpZXMgaW4gdGhlIGNhY2hlZCBjb2xsZWN0aW9uLiAqL1xuICByZWFkb25seSBzZWxlY3RDb3VudDogU2VsZWN0b3I8RW50aXR5Q29sbGVjdGlvbjxUPiwgbnVtYmVyPjtcblxuICAvKiogQWxsIGVudGl0aWVzIGluIHRoZSBjYWNoZWQgY29sbGVjdGlvbi4gKi9cbiAgcmVhZG9ubHkgc2VsZWN0RW50aXRpZXM6IFNlbGVjdG9yPEVudGl0eUNvbGxlY3Rpb248VD4sIFRbXT47XG5cbiAgLyoqIE1hcCBvZiBlbnRpdHkga2V5cyB0byBlbnRpdGllcyAqL1xuICByZWFkb25seSBzZWxlY3RFbnRpdHlNYXA6IFNlbGVjdG9yPEVudGl0eUNvbGxlY3Rpb248VD4sIERpY3Rpb25hcnk8VD4+O1xuXG4gIC8qKiBGaWx0ZXIgcGF0dGVybiBhcHBsaWVkIGJ5IHRoZSBlbnRpdHkgY29sbGVjdGlvbidzIGZpbHRlciBmdW5jdGlvbiAqL1xuICByZWFkb25seSBzZWxlY3RGaWx0ZXI6IFNlbGVjdG9yPEVudGl0eUNvbGxlY3Rpb248VD4sIHN0cmluZz47XG5cbiAgLyoqIEVudGl0aWVzIGluIHRoZSBjYWNoZWQgY29sbGVjdGlvbiB0aGF0IHBhc3MgdGhlIGZpbHRlciBmdW5jdGlvbiAqL1xuICByZWFkb25seSBzZWxlY3RGaWx0ZXJlZEVudGl0aWVzOiBTZWxlY3RvcjxFbnRpdHlDb2xsZWN0aW9uPFQ+LCBUW10+O1xuXG4gIC8qKiBLZXlzIG9mIHRoZSBjYWNoZWQgY29sbGVjdGlvbiwgaW4gdGhlIGNvbGxlY3Rpb24ncyBuYXRpdmUgc29ydCBvcmRlciAqL1xuICByZWFkb25seSBzZWxlY3RLZXlzOiBTZWxlY3RvcjxFbnRpdHlDb2xsZWN0aW9uPFQ+LCBzdHJpbmdbXSB8IG51bWJlcltdPjtcblxuICAvKiogVHJ1ZSB3aGVuIHRoZSBjb2xsZWN0aW9uIGhhcyBiZWVuIGZ1bGx5IGxvYWRlZC4gKi9cbiAgcmVhZG9ubHkgc2VsZWN0TG9hZGVkOiBTZWxlY3RvcjxFbnRpdHlDb2xsZWN0aW9uPFQ+LCBib29sZWFuPjtcblxuICAvKiogVHJ1ZSB3aGVuIGEgbXVsdGktZW50aXR5IHF1ZXJ5IGNvbW1hbmQgaXMgaW4gcHJvZ3Jlc3MuICovXG4gIHJlYWRvbmx5IHNlbGVjdExvYWRpbmc6IFNlbGVjdG9yPEVudGl0eUNvbGxlY3Rpb248VD4sIGJvb2xlYW4+O1xuXG4gIC8qKiBDaGFuZ2VTdGF0ZSAoaW5jbHVkaW5nIG9yaWdpbmFsIHZhbHVlcykgb2YgZW50aXRpZXMgd2l0aCB1bnNhdmVkIGNoYW5nZXMgKi9cbiAgcmVhZG9ubHkgc2VsZWN0Q2hhbmdlU3RhdGU6IFNlbGVjdG9yPEVudGl0eUNvbGxlY3Rpb248VD4sIENoYW5nZVN0YXRlTWFwPFQ+Pjtcbn1cblxuLyoqXG4gKiBUaGUgc2VsZWN0b3IgZnVuY3Rpb25zIGZvciBlbnRpdHkgY29sbGVjdGlvbiBtZW1iZXJzLFxuICogU2VsZWN0cyBmcm9tIHN0b3JlIHJvb3QsIHRocm91Z2ggRW50aXR5Q2FjaGUsIHRvIHRoZSBlbnRpdHkgY29sbGVjdGlvbiBtZW1iZXJcbiAqIENvbnRyYXN0IHdpdGgge0NvbGxlY3Rpb25TZWxlY3RvcnN9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eVNlbGVjdG9yczxUPiB7XG4gIC8qKiBOYW1lIG9mIHRoZSBlbnRpdHkgY29sbGVjdGlvbiBmb3IgdGhlc2Ugc2VsZWN0b3JzICovXG4gIHJlYWRvbmx5IGVudGl0eU5hbWU6IHN0cmluZztcblxuICByZWFkb25seSBbbmFtZTogc3RyaW5nXTogTWVtb2l6ZWRTZWxlY3RvcjxFbnRpdHlDb2xsZWN0aW9uPFQ+LCBhbnk+IHwgc3RyaW5nO1xuXG4gIC8qKiBUaGUgY2FjaGVkIEVudGl0eUNvbGxlY3Rpb24gaXRzZWxmICovXG4gIHJlYWRvbmx5IHNlbGVjdENvbGxlY3Rpb246IE1lbW9pemVkU2VsZWN0b3I8T2JqZWN0LCBFbnRpdHlDb2xsZWN0aW9uPFQ+PjtcblxuICAvKiogQ291bnQgb2YgZW50aXRpZXMgaW4gdGhlIGNhY2hlZCBjb2xsZWN0aW9uLiAqL1xuICByZWFkb25seSBzZWxlY3RDb3VudDogTWVtb2l6ZWRTZWxlY3RvcjxPYmplY3QsIG51bWJlcj47XG5cbiAgLyoqIEFsbCBlbnRpdGllcyBpbiB0aGUgY2FjaGVkIGNvbGxlY3Rpb24uICovXG4gIHJlYWRvbmx5IHNlbGVjdEVudGl0aWVzOiBNZW1vaXplZFNlbGVjdG9yPE9iamVjdCwgVFtdPjtcblxuICAvKiogVGhlIEVudGl0eUNhY2hlICovXG4gIHJlYWRvbmx5IHNlbGVjdEVudGl0eUNhY2hlOiBNZW1vaXplZFNlbGVjdG9yPE9iamVjdCwgRW50aXR5Q2FjaGU+O1xuXG4gIC8qKiBNYXAgb2YgZW50aXR5IGtleXMgdG8gZW50aXRpZXMgKi9cbiAgcmVhZG9ubHkgc2VsZWN0RW50aXR5TWFwOiBNZW1vaXplZFNlbGVjdG9yPE9iamVjdCwgRGljdGlvbmFyeTxUPj47XG5cbiAgLyoqIEZpbHRlciBwYXR0ZXJuIGFwcGxpZWQgYnkgdGhlIGVudGl0eSBjb2xsZWN0aW9uJ3MgZmlsdGVyIGZ1bmN0aW9uICovXG4gIHJlYWRvbmx5IHNlbGVjdEZpbHRlcjogTWVtb2l6ZWRTZWxlY3RvcjxPYmplY3QsIHN0cmluZz47XG5cbiAgLyoqIEVudGl0aWVzIGluIHRoZSBjYWNoZWQgY29sbGVjdGlvbiB0aGF0IHBhc3MgdGhlIGZpbHRlciBmdW5jdGlvbiAqL1xuICByZWFkb25seSBzZWxlY3RGaWx0ZXJlZEVudGl0aWVzOiBNZW1vaXplZFNlbGVjdG9yPE9iamVjdCwgVFtdPjtcblxuICAvKiogS2V5cyBvZiB0aGUgY2FjaGVkIGNvbGxlY3Rpb24sIGluIHRoZSBjb2xsZWN0aW9uJ3MgbmF0aXZlIHNvcnQgb3JkZXIgKi9cbiAgcmVhZG9ubHkgc2VsZWN0S2V5czogTWVtb2l6ZWRTZWxlY3RvcjxPYmplY3QsIHN0cmluZ1tdIHwgbnVtYmVyW10+O1xuXG4gIC8qKiBUcnVlIHdoZW4gdGhlIGNvbGxlY3Rpb24gaGFzIGJlZW4gZnVsbHkgbG9hZGVkLiAqL1xuICByZWFkb25seSBzZWxlY3RMb2FkZWQ6IE1lbW9pemVkU2VsZWN0b3I8T2JqZWN0LCBib29sZWFuPjtcblxuICAvKiogVHJ1ZSB3aGVuIGEgbXVsdGktZW50aXR5IHF1ZXJ5IGNvbW1hbmQgaXMgaW4gcHJvZ3Jlc3MuICovXG4gIHJlYWRvbmx5IHNlbGVjdExvYWRpbmc6IE1lbW9pemVkU2VsZWN0b3I8T2JqZWN0LCBib29sZWFuPjtcblxuICAvKiogQ2hhbmdlU3RhdGUgKGluY2x1ZGluZyBvcmlnaW5hbCB2YWx1ZXMpIG9mIGVudGl0aWVzIHdpdGggdW5zYXZlZCBjaGFuZ2VzICovXG4gIHJlYWRvbmx5IHNlbGVjdENoYW5nZVN0YXRlOiBNZW1vaXplZFNlbGVjdG9yPE9iamVjdCwgQ2hhbmdlU3RhdGVNYXA8VD4+O1xufVxuXG4vKiogQ3JlYXRlcyBFbnRpdHlTZWxlY3RvciBmdW5jdGlvbnMgZm9yIGVudGl0eSBjb2xsZWN0aW9ucy4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBFbnRpdHlTZWxlY3RvcnNGYWN0b3J5IHtcbiAgcHJpdmF0ZSBlbnRpdHlDb2xsZWN0aW9uQ3JlYXRvcjogRW50aXR5Q29sbGVjdGlvbkNyZWF0b3I7XG4gIHByaXZhdGUgc2VsZWN0RW50aXR5Q2FjaGU6IEVudGl0eUNhY2hlU2VsZWN0b3I7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgZW50aXR5Q29sbGVjdGlvbkNyZWF0b3I/OiBFbnRpdHlDb2xsZWN0aW9uQ3JlYXRvcixcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBJbmplY3QoRU5USVRZX0NBQ0hFX1NFTEVDVE9SX1RPS0VOKVxuICAgIHNlbGVjdEVudGl0eUNhY2hlPzogRW50aXR5Q2FjaGVTZWxlY3RvclxuICApIHtcbiAgICB0aGlzLmVudGl0eUNvbGxlY3Rpb25DcmVhdG9yID1cbiAgICAgIGVudGl0eUNvbGxlY3Rpb25DcmVhdG9yIHx8IG5ldyBFbnRpdHlDb2xsZWN0aW9uQ3JlYXRvcigpO1xuICAgIHRoaXMuc2VsZWN0RW50aXR5Q2FjaGUgPVxuICAgICAgc2VsZWN0RW50aXR5Q2FjaGUgfHwgY3JlYXRlRW50aXR5Q2FjaGVTZWxlY3RvcihFTlRJVFlfQ0FDSEVfTkFNRSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIHRoZSBOZ1J4IHNlbGVjdG9yIGZyb20gdGhlIHN0b3JlIHJvb3QgdG8gdGhlIG5hbWVkIGNvbGxlY3Rpb24sXG4gICAqIGUuZy4gZnJvbSBPYmplY3QgdG8gSGVyb2VzLlxuICAgKiBAcGFyYW0gZW50aXR5TmFtZSB0aGUgbmFtZSBvZiB0aGUgY29sbGVjdGlvblxuICAgKi9cbiAgY3JlYXRlQ29sbGVjdGlvblNlbGVjdG9yPFxuICAgIFQgPSBhbnksXG4gICAgQyBleHRlbmRzIEVudGl0eUNvbGxlY3Rpb248VD4gPSBFbnRpdHlDb2xsZWN0aW9uPFQ+XG4gID4oZW50aXR5TmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3QgZ2V0Q29sbGVjdGlvbiA9IChjYWNoZTogRW50aXR5Q2FjaGUgPSB7fSkgPT5cbiAgICAgIDxDPihcbiAgICAgICAgKGNhY2hlW2VudGl0eU5hbWVdIHx8XG4gICAgICAgICAgdGhpcy5lbnRpdHlDb2xsZWN0aW9uQ3JlYXRvci5jcmVhdGU8VD4oZW50aXR5TmFtZSkpXG4gICAgICApO1xuICAgIHJldHVybiBjcmVhdGVTZWxlY3Rvcih0aGlzLnNlbGVjdEVudGl0eUNhY2hlLCBnZXRDb2xsZWN0aW9uKTtcbiAgfVxuXG4gIC8vLy8vLy8gY3JlYXRlQ29sbGVjdGlvblNlbGVjdG9ycyAvLy8vLy8vLy8vXG5cbiAgLy8gQmFzZWQgb24gQG5ncngvZW50aXR5L3N0YXRlX3NlbGVjdG9ycy50c1xuXG4gIC8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC91bmlmaWVkLXNpZ25hdHVyZXMgKi9cbiAgLy8gY3JlYXRlQ29sbGVjdGlvblNlbGVjdG9ycyhtZXRhZGF0YSkgb3ZlcmxvYWRcbiAgLyoqXG4gICAqIENyZWF0ZXMgZW50aXR5IGNvbGxlY3Rpb24gc2VsZWN0b3JzIGZyb20gbWV0YWRhdGEuXG4gICAqIEBwYXJhbSBtZXRhZGF0YSAtIEVudGl0eU1ldGFkYXRhIGZvciB0aGUgY29sbGVjdGlvbi5cbiAgICogTWF5IGJlIHBhcnRpYWwgYnV0IG11Y2ggaGF2ZSBgZW50aXR5TmFtZWAuXG4gICAqL1xuICBjcmVhdGVDb2xsZWN0aW9uU2VsZWN0b3JzPFxuICAgIFQsXG4gICAgUyBleHRlbmRzIENvbGxlY3Rpb25TZWxlY3RvcnM8VD4gPSBDb2xsZWN0aW9uU2VsZWN0b3JzPFQ+XG4gID4obWV0YWRhdGE6IEVudGl0eU1ldGFkYXRhPFQ+KTogUztcblxuICAvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvdW5pZmllZC1zaWduYXR1cmVzICovXG4gIC8vIGNyZWF0ZUNvbGxlY3Rpb25TZWxlY3RvcnMoZW50aXR5TmFtZSkgb3ZlcmxvYWRcbiAgLyoqXG4gICAqIENyZWF0ZXMgZGVmYXVsdCBlbnRpdHkgY29sbGVjdGlvbiBzZWxlY3RvcnMgZm9yIGFuIGVudGl0eSB0eXBlLlxuICAgKiBVc2UgdGhlIG1ldGFkYXRhIG92ZXJsb2FkIGZvciBhZGRpdGlvbmFsIGNvbGxlY3Rpb24gc2VsZWN0b3JzLlxuICAgKiBAcGFyYW0gZW50aXR5TmFtZSAtIG5hbWUgb2YgdGhlIGVudGl0eSB0eXBlXG4gICAqL1xuICBjcmVhdGVDb2xsZWN0aW9uU2VsZWN0b3JzPFxuICAgIFQsXG4gICAgUyBleHRlbmRzIENvbGxlY3Rpb25TZWxlY3RvcnM8VD4gPSBDb2xsZWN0aW9uU2VsZWN0b3JzPFQ+XG4gID4oZW50aXR5TmFtZTogc3RyaW5nKTogUztcblxuICAvLyBjcmVhdGVDb2xsZWN0aW9uU2VsZWN0b3JzIGltcGxlbWVudGF0aW9uXG4gIGNyZWF0ZUNvbGxlY3Rpb25TZWxlY3RvcnM8XG4gICAgVCxcbiAgICBTIGV4dGVuZHMgQ29sbGVjdGlvblNlbGVjdG9yczxUPiA9IENvbGxlY3Rpb25TZWxlY3RvcnM8VD5cbiAgPihtZXRhZGF0YU9yTmFtZTogRW50aXR5TWV0YWRhdGE8VD4gfCBzdHJpbmcpOiBTIHtcbiAgICBjb25zdCBtZXRhZGF0YSA9XG4gICAgICB0eXBlb2YgbWV0YWRhdGFPck5hbWUgPT09ICdzdHJpbmcnXG4gICAgICAgID8geyBlbnRpdHlOYW1lOiBtZXRhZGF0YU9yTmFtZSB9XG4gICAgICAgIDogbWV0YWRhdGFPck5hbWU7XG4gICAgY29uc3Qgc2VsZWN0S2V5cyA9IChjOiBFbnRpdHlDb2xsZWN0aW9uPFQ+KSA9PiBjLmlkcztcbiAgICBjb25zdCBzZWxlY3RFbnRpdHlNYXAgPSAoYzogRW50aXR5Q29sbGVjdGlvbjxUPikgPT4gYy5lbnRpdGllcztcblxuICAgIGNvbnN0IHNlbGVjdEVudGl0aWVzOiBTZWxlY3RvcjxFbnRpdHlDb2xsZWN0aW9uPFQ+LCBUW10+ID0gY3JlYXRlU2VsZWN0b3IoXG4gICAgICBzZWxlY3RLZXlzLFxuICAgICAgc2VsZWN0RW50aXR5TWFwLFxuICAgICAgKGtleXM6IChudW1iZXIgfCBzdHJpbmcpW10sIGVudGl0aWVzOiBEaWN0aW9uYXJ5PFQ+KTogVFtdID0+XG4gICAgICAgIGtleXMubWFwKChrZXkpID0+IGVudGl0aWVzW2tleV0gYXMgVClcbiAgICApO1xuXG4gICAgY29uc3Qgc2VsZWN0Q291bnQ6IFNlbGVjdG9yPEVudGl0eUNvbGxlY3Rpb248VD4sIG51bWJlcj4gPSBjcmVhdGVTZWxlY3RvcihcbiAgICAgIHNlbGVjdEtleXMsXG4gICAgICAoa2V5cykgPT4ga2V5cy5sZW5ndGhcbiAgICApO1xuXG4gICAgLy8gRW50aXR5Q29sbGVjdGlvbiBzZWxlY3RvcnMgdGhhdCBnbyBiZXlvbmQgdGhlIG5ncngvZW50aXR5L0VudGl0eVN0YXRlIHNlbGVjdG9yc1xuICAgIGNvbnN0IHNlbGVjdEZpbHRlciA9IChjOiBFbnRpdHlDb2xsZWN0aW9uPFQ+KSA9PiBjLmZpbHRlcjtcblxuICAgIGNvbnN0IGZpbHRlckZuID0gbWV0YWRhdGEuZmlsdGVyRm47XG4gICAgY29uc3Qgc2VsZWN0RmlsdGVyZWRFbnRpdGllczogU2VsZWN0b3I8RW50aXR5Q29sbGVjdGlvbjxUPiwgVFtdPiA9IGZpbHRlckZuXG4gICAgICA/IGNyZWF0ZVNlbGVjdG9yKFxuICAgICAgICAgIHNlbGVjdEVudGl0aWVzLFxuICAgICAgICAgIHNlbGVjdEZpbHRlcixcbiAgICAgICAgICAoZW50aXRpZXM6IFRbXSwgcGF0dGVybjogYW55KTogVFtdID0+IGZpbHRlckZuKGVudGl0aWVzLCBwYXR0ZXJuKVxuICAgICAgICApXG4gICAgICA6IHNlbGVjdEVudGl0aWVzO1xuXG4gICAgY29uc3Qgc2VsZWN0TG9hZGVkID0gKGM6IEVudGl0eUNvbGxlY3Rpb248VD4pID0+IGMubG9hZGVkO1xuICAgIGNvbnN0IHNlbGVjdExvYWRpbmcgPSAoYzogRW50aXR5Q29sbGVjdGlvbjxUPikgPT4gYy5sb2FkaW5nO1xuICAgIGNvbnN0IHNlbGVjdENoYW5nZVN0YXRlID0gKGM6IEVudGl0eUNvbGxlY3Rpb248VD4pID0+IGMuY2hhbmdlU3RhdGU7XG5cbiAgICAvLyBDcmVhdGUgY29sbGVjdGlvbiBzZWxlY3RvcnMgZm9yIGVhY2ggYGFkZGl0aW9uYWxDb2xsZWN0aW9uU3RhdGVgIHByb3BlcnR5LlxuICAgIC8vIFRoZXNlIGFsbCBleHRlbmQgZnJvbSBgc2VsZWN0Q29sbGVjdGlvbmBcbiAgICBjb25zdCBleHRyYSA9IG1ldGFkYXRhLmFkZGl0aW9uYWxDb2xsZWN0aW9uU3RhdGUgfHwge307XG4gICAgY29uc3QgZXh0cmFTZWxlY3RvcnM6IHtcbiAgICAgIFtuYW1lOiBzdHJpbmddOiBTZWxlY3RvcjxFbnRpdHlDb2xsZWN0aW9uPFQ+LCBhbnk+O1xuICAgIH0gPSB7fTtcbiAgICBPYmplY3Qua2V5cyhleHRyYSkuZm9yRWFjaCgoaykgPT4ge1xuICAgICAgZXh0cmFTZWxlY3RvcnNbJ3NlbGVjdCcgKyBrWzBdLnRvVXBwZXJDYXNlKCkgKyBrLnNsaWNlKDEpXSA9IChcbiAgICAgICAgYzogRW50aXR5Q29sbGVjdGlvbjxUPlxuICAgICAgKSA9PiAoPGFueT5jKVtrXTtcbiAgICB9KTtcblxuICAgIHJldHVybiB7XG4gICAgICBzZWxlY3RDb3VudCxcbiAgICAgIHNlbGVjdEVudGl0aWVzLFxuICAgICAgc2VsZWN0RW50aXR5TWFwLFxuICAgICAgc2VsZWN0RmlsdGVyLFxuICAgICAgc2VsZWN0RmlsdGVyZWRFbnRpdGllcyxcbiAgICAgIHNlbGVjdEtleXMsXG4gICAgICBzZWxlY3RMb2FkZWQsXG4gICAgICBzZWxlY3RMb2FkaW5nLFxuICAgICAgc2VsZWN0Q2hhbmdlU3RhdGUsXG4gICAgICAuLi5leHRyYVNlbGVjdG9ycyxcbiAgICB9IGFzIFM7XG4gIH1cblxuICAvLy8vLy8vIGNyZWF0ZSAvLy8vLy8vLy8vXG5cbiAgLy8gY3JlYXRlKG1ldGFkYXRhKSBvdmVybG9hZFxuICAvKipcbiAgICogQ3JlYXRlcyB0aGUgc3RvcmUtcm9vdGVkIHNlbGVjdG9ycyBmb3IgYW4gZW50aXR5IGNvbGxlY3Rpb24uXG4gICAqIHtFbnRpdHlTZWxlY3RvcnMkRmFjdG9yeX0gdHVybnMgdGhlbSBpbnRvIHNlbGVjdG9ycyQuXG4gICAqXG4gICAqIEBwYXJhbSBtZXRhZGF0YSAtIEVudGl0eU1ldGFkYXRhIGZvciB0aGUgY29sbGVjdGlvbi5cbiAgICogTWF5IGJlIHBhcnRpYWwgYnV0IG11Y2ggaGF2ZSBgZW50aXR5TmFtZWAuXG4gICAqXG4gICAqIEJhc2VkIG9uIG5ncngvZW50aXR5L3N0YXRlX3NlbGVjdG9ycy50c1xuICAgKiBEaWZmZXJzIGluIHRoYXQgdGhlc2Ugc2VsZWN0b3JzIHNlbGVjdCBmcm9tIHRoZSBOZ1J4IHN0b3JlIHJvb3QsXG4gICAqIHRocm91Z2ggdGhlIGNvbGxlY3Rpb24sIHRvIHRoZSBjb2xsZWN0aW9uIG1lbWJlcnMuXG4gICAqL1xuICBjcmVhdGU8VCwgUyBleHRlbmRzIEVudGl0eVNlbGVjdG9yczxUPiA9IEVudGl0eVNlbGVjdG9yczxUPj4oXG4gICAgbWV0YWRhdGE6IEVudGl0eU1ldGFkYXRhPFQ+XG4gICk6IFM7XG5cbiAgLy8gY3JlYXRlKGVudGl0eU5hbWUpIG92ZXJsb2FkXG4gIC8qKlxuICAgKiBDcmVhdGVzIHRoZSBkZWZhdWx0IHN0b3JlLXJvb3RlZCBzZWxlY3RvcnMgZm9yIGFuIGVudGl0eSBjb2xsZWN0aW9uLlxuICAgKiB7RW50aXR5U2VsZWN0b3JzJEZhY3Rvcnl9IHR1cm5zIHRoZW0gaW50byBzZWxlY3RvcnMkLlxuICAgKiBVc2UgdGhlIG1ldGFkYXRhIG92ZXJsb2FkIGZvciBhZGRpdGlvbmFsIGNvbGxlY3Rpb24gc2VsZWN0b3JzLlxuICAgKlxuICAgKiBAcGFyYW0gZW50aXR5TmFtZSAtIG5hbWUgb2YgdGhlIGVudGl0eSB0eXBlLlxuICAgKlxuICAgKiBCYXNlZCBvbiBuZ3J4L2VudGl0eS9zdGF0ZV9zZWxlY3RvcnMudHNcbiAgICogRGlmZmVycyBpbiB0aGF0IHRoZXNlIHNlbGVjdG9ycyBzZWxlY3QgZnJvbSB0aGUgTmdSeCBzdG9yZSByb290LFxuICAgKiB0aHJvdWdoIHRoZSBjb2xsZWN0aW9uLCB0byB0aGUgY29sbGVjdGlvbiBtZW1iZXJzLlxuICAgKi9cbiAgY3JlYXRlPFQsIFMgZXh0ZW5kcyBFbnRpdHlTZWxlY3RvcnM8VD4gPSBFbnRpdHlTZWxlY3RvcnM8VD4+KFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvdW5pZmllZC1zaWduYXR1cmVzXG4gICAgZW50aXR5TmFtZTogc3RyaW5nXG4gICk6IFM7XG5cbiAgLy8gY3JlYXRlQ29sbGVjdGlvblNlbGVjdG9ycyBpbXBsZW1lbnRhdGlvblxuICBjcmVhdGU8VCwgUyBleHRlbmRzIEVudGl0eVNlbGVjdG9yczxUPiA9IEVudGl0eVNlbGVjdG9yczxUPj4oXG4gICAgbWV0YWRhdGFPck5hbWU6IEVudGl0eU1ldGFkYXRhPFQ+IHwgc3RyaW5nXG4gICk6IFMge1xuICAgIGNvbnN0IG1ldGFkYXRhID1cbiAgICAgIHR5cGVvZiBtZXRhZGF0YU9yTmFtZSA9PT0gJ3N0cmluZydcbiAgICAgICAgPyB7IGVudGl0eU5hbWU6IG1ldGFkYXRhT3JOYW1lIH1cbiAgICAgICAgOiBtZXRhZGF0YU9yTmFtZTtcbiAgICBjb25zdCBlbnRpdHlOYW1lID0gbWV0YWRhdGEuZW50aXR5TmFtZTtcbiAgICBjb25zdCBzZWxlY3RDb2xsZWN0aW9uOiBTZWxlY3RvcjxcbiAgICAgIE9iamVjdCxcbiAgICAgIEVudGl0eUNvbGxlY3Rpb248VD5cbiAgICA+ID0gdGhpcy5jcmVhdGVDb2xsZWN0aW9uU2VsZWN0b3I8VD4oZW50aXR5TmFtZSk7XG4gICAgY29uc3QgY29sbGVjdGlvblNlbGVjdG9ycyA9IHRoaXMuY3JlYXRlQ29sbGVjdGlvblNlbGVjdG9yczxUPihtZXRhZGF0YSk7XG5cbiAgICBjb25zdCBlbnRpdHlTZWxlY3RvcnM6IHtcbiAgICAgIFtuYW1lOiBzdHJpbmddOiBTZWxlY3RvcjxFbnRpdHlDb2xsZWN0aW9uPFQ+LCBhbnk+O1xuICAgIH0gPSB7fTtcbiAgICBPYmplY3Qua2V5cyhjb2xsZWN0aW9uU2VsZWN0b3JzKS5mb3JFYWNoKChrKSA9PiB7XG4gICAgICBlbnRpdHlTZWxlY3RvcnNba10gPSBjcmVhdGVTZWxlY3RvcihcbiAgICAgICAgc2VsZWN0Q29sbGVjdGlvbixcbiAgICAgICAgY29sbGVjdGlvblNlbGVjdG9yc1trXVxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIHJldHVybiB7XG4gICAgICBlbnRpdHlOYW1lLFxuICAgICAgc2VsZWN0Q29sbGVjdGlvbixcbiAgICAgIHNlbGVjdEVudGl0eUNhY2hlOiB0aGlzLnNlbGVjdEVudGl0eUNhY2hlLFxuICAgICAgLi4uZW50aXR5U2VsZWN0b3JzLFxuICAgIH0gYXMgUztcbiAgfVxufVxuIl19
@@ -1,30 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * Generates a string id beginning 'CRID',
5
- * followed by a monotonically increasing integer for use as a correlation id.
6
- * As they are produced locally by a singleton service,
7
- * these ids are guaranteed to be unique only
8
- * for the duration of a single client browser instance.
9
- * Ngrx entity dispatcher query and save methods call this service to generate default correlation ids.
10
- * Do NOT use for entity keys.
11
- */
12
- export class CorrelationIdGenerator {
13
- constructor() {
14
- /** Seed for the ids */
15
- this.seed = 0;
16
- /** Prefix of the id, 'CRID; */
17
- this.prefix = 'CRID';
18
- }
19
- /** Return the next correlation id */
20
- next() {
21
- this.seed += 1;
22
- return this.prefix + this.seed;
23
- }
24
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: CorrelationIdGenerator, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
25
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: CorrelationIdGenerator }); }
26
- }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: CorrelationIdGenerator, decorators: [{
28
- type: Injectable
29
- }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ycmVsYXRpb24taWQtZ2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9kYXRhL3NyYy91dGlscy9jb3JyZWxhdGlvbi1pZC1nZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFM0M7Ozs7Ozs7O0dBUUc7QUFFSCxNQUFNLE9BQU8sc0JBQXNCO0lBRG5DO1FBRUUsdUJBQXVCO1FBQ2IsU0FBSSxHQUFHLENBQUMsQ0FBQztRQUNuQiwrQkFBK0I7UUFDckIsV0FBTSxHQUFHLE1BQU0sQ0FBQztLQU0zQjtJQUxDLHFDQUFxQztJQUNyQyxJQUFJO1FBQ0YsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUM7UUFDZixPQUFPLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztJQUNqQyxDQUFDO2lJQVRVLHNCQUFzQjtxSUFBdEIsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEdlbmVyYXRlcyBhIHN0cmluZyBpZCBiZWdpbm5pbmcgJ0NSSUQnLFxuICogZm9sbG93ZWQgYnkgYSBtb25vdG9uaWNhbGx5IGluY3JlYXNpbmcgaW50ZWdlciBmb3IgdXNlIGFzIGEgY29ycmVsYXRpb24gaWQuXG4gKiBBcyB0aGV5IGFyZSBwcm9kdWNlZCBsb2NhbGx5IGJ5IGEgc2luZ2xldG9uIHNlcnZpY2UsXG4gKiB0aGVzZSBpZHMgYXJlIGd1YXJhbnRlZWQgdG8gYmUgdW5pcXVlIG9ubHlcbiAqIGZvciB0aGUgZHVyYXRpb24gb2YgYSBzaW5nbGUgY2xpZW50IGJyb3dzZXIgaW5zdGFuY2UuXG4gKiBOZ3J4IGVudGl0eSBkaXNwYXRjaGVyIHF1ZXJ5IGFuZCBzYXZlIG1ldGhvZHMgY2FsbCB0aGlzIHNlcnZpY2UgdG8gZ2VuZXJhdGUgZGVmYXVsdCBjb3JyZWxhdGlvbiBpZHMuXG4gKiBEbyBOT1QgdXNlIGZvciBlbnRpdHkga2V5cy5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvcnJlbGF0aW9uSWRHZW5lcmF0b3Ige1xuICAvKiogU2VlZCBmb3IgdGhlIGlkcyAqL1xuICBwcm90ZWN0ZWQgc2VlZCA9IDA7XG4gIC8qKiBQcmVmaXggb2YgdGhlIGlkLCAnQ1JJRDsgKi9cbiAgcHJvdGVjdGVkIHByZWZpeCA9ICdDUklEJztcbiAgLyoqIFJldHVybiB0aGUgbmV4dCBjb3JyZWxhdGlvbiBpZCAqL1xuICBuZXh0KCkge1xuICAgIHRoaXMuc2VlZCArPSAxO1xuICAgIHJldHVybiB0aGlzLnByZWZpeCArIHRoaXMuc2VlZDtcbiAgfVxufVxuIl19
@@ -1,40 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class DefaultLogger {
4
- error(message, extra) {
5
- if (message) {
6
- if (extra) {
7
- console.error(message, extra);
8
- }
9
- else {
10
- console.error(message);
11
- }
12
- }
13
- }
14
- log(message, extra) {
15
- if (message) {
16
- if (extra) {
17
- console.log(message, extra);
18
- }
19
- else {
20
- console.log(message);
21
- }
22
- }
23
- }
24
- warn(message, extra) {
25
- if (message) {
26
- if (extra) {
27
- console.warn(message, extra);
28
- }
29
- else {
30
- console.warn(message);
31
- }
32
- }
33
- }
34
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: DefaultLogger, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
35
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: DefaultLogger }); }
36
- }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: DefaultLogger, decorators: [{
38
- type: Injectable
39
- }] });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1sb2dnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2RhdGEvc3JjL3V0aWxzL2RlZmF1bHQtbG9nZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSTNDLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLEtBQUssQ0FBQyxPQUFhLEVBQUUsS0FBVztRQUM5QixJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDVixPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNoQyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN6QixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxHQUFHLENBQUMsT0FBYSxFQUFFLEtBQVc7UUFDNUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ1YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDOUIsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdkIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxDQUFDLE9BQWEsRUFBRSxLQUFXO1FBQzdCLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUNWLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQy9CLENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3hCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztpSUE3QlUsYUFBYTtxSUFBYixhQUFhOzsyRkFBYixhQUFhO2tCQUR6QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9nZ2VyIH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERlZmF1bHRMb2dnZXIgaW1wbGVtZW50cyBMb2dnZXIge1xuICBlcnJvcihtZXNzYWdlPzogYW55LCBleHRyYT86IGFueSkge1xuICAgIGlmIChtZXNzYWdlKSB7XG4gICAgICBpZiAoZXh0cmEpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihtZXNzYWdlLCBleHRyYSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmVycm9yKG1lc3NhZ2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGxvZyhtZXNzYWdlPzogYW55LCBleHRyYT86IGFueSkge1xuICAgIGlmIChtZXNzYWdlKSB7XG4gICAgICBpZiAoZXh0cmEpIHtcbiAgICAgICAgY29uc29sZS5sb2cobWVzc2FnZSwgZXh0cmEpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS5sb2cobWVzc2FnZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgd2FybihtZXNzYWdlPzogYW55LCBleHRyYT86IGFueSkge1xuICAgIGlmIChtZXNzYWdlKSB7XG4gICAgICBpZiAoZXh0cmEpIHtcbiAgICAgICAgY29uc29sZS53YXJuKG1lc3NhZ2UsIGV4dHJhKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUud2FybihtZXNzYWdlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,71 +0,0 @@
1
- import { Inject, Injectable, Optional } from '@angular/core';
2
- import { PLURAL_NAMES_TOKEN } from './interfaces';
3
- import * as i0 from "@angular/core";
4
- const uncountable = [
5
- // 'sheep',
6
- // 'fish',
7
- // 'deer',
8
- // 'moose',
9
- // 'rice',
10
- // 'species',
11
- 'equipment',
12
- 'information',
13
- 'money',
14
- 'series',
15
- ];
16
- export class DefaultPluralizer {
17
- constructor(pluralNames) {
18
- this.pluralNames = {};
19
- // merge each plural names object
20
- if (pluralNames) {
21
- pluralNames.forEach((pn) => this.registerPluralNames(pn));
22
- }
23
- }
24
- /**
25
- * Pluralize a singular name using common English language pluralization rules
26
- * Examples: "company" -> "companies", "employee" -> "employees", "tax" -> "taxes"
27
- */
28
- pluralize(name) {
29
- const plural = this.pluralNames[name];
30
- if (plural) {
31
- return plural;
32
- }
33
- // singular and plural are the same
34
- if (uncountable.indexOf(name.toLowerCase()) >= 0) {
35
- return name;
36
- // vowel + y
37
- }
38
- else if (/[aeiou]y$/.test(name)) {
39
- return name + 's';
40
- // consonant + y
41
- }
42
- else if (name.endsWith('y')) {
43
- return name.substring(0, name.length - 1) + 'ies';
44
- // endings typically pluralized with 'es'
45
- }
46
- else if (/[s|ss|sh|ch|x|z]$/.test(name)) {
47
- return name + 'es';
48
- }
49
- else {
50
- return name + 's';
51
- }
52
- }
53
- /**
54
- * Register a mapping of entity type name to the entity name's plural
55
- * @param pluralNames {EntityPluralNames} plural names for entity types
56
- */
57
- registerPluralNames(pluralNames) {
58
- this.pluralNames = { ...this.pluralNames, ...(pluralNames || {}) };
59
- }
60
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: DefaultPluralizer, deps: [{ token: PLURAL_NAMES_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
61
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: DefaultPluralizer }); }
62
- }
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: DefaultPluralizer, decorators: [{
64
- type: Injectable
65
- }], ctorParameters: () => [{ type: undefined, decorators: [{
66
- type: Optional
67
- }, {
68
- type: Inject,
69
- args: [PLURAL_NAMES_TOKEN]
70
- }] }] });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1wbHVyYWxpemVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9kYXRhL3NyYy91dGlscy9kZWZhdWx0LXBsdXJhbGl6ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBcUIsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBRXJFLE1BQU0sV0FBVyxHQUFHO0lBQ2xCLFdBQVc7SUFDWCxVQUFVO0lBQ1YsVUFBVTtJQUNWLFdBQVc7SUFDWCxVQUFVO0lBQ1YsYUFBYTtJQUNiLFdBQVc7SUFDWCxhQUFhO0lBQ2IsT0FBTztJQUNQLFFBQVE7Q0FDVCxDQUFDO0FBR0YsTUFBTSxPQUFPLGlCQUFpQjtJQUc1QixZQUdFLFdBQWdDO1FBTGxDLGdCQUFXLEdBQXNCLEVBQUUsQ0FBQztRQU9sQyxpQ0FBaUM7UUFDakMsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNoQixXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM1RCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILFNBQVMsQ0FBQyxJQUFZO1FBQ3BCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEMsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNYLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUM7UUFDRCxtQ0FBbUM7UUFDbkMsSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ2pELE9BQU8sSUFBSSxDQUFDO1lBQ1osWUFBWTtRQUNkLENBQUM7YUFBTSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNsQyxPQUFPLElBQUksR0FBRyxHQUFHLENBQUM7WUFDbEIsZ0JBQWdCO1FBQ2xCLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM5QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQ2xELHlDQUF5QztRQUMzQyxDQUFDO2FBQU0sSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMxQyxPQUFPLElBQUksR0FBRyxJQUFJLENBQUM7UUFDckIsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLElBQUksR0FBRyxHQUFHLENBQUM7UUFDcEIsQ0FBQztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxtQkFBbUIsQ0FBQyxXQUE4QjtRQUNoRCxJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUNyRSxDQUFDO2lJQTlDVSxpQkFBaUIsa0JBS2xCLGtCQUFrQjtxSUFMakIsaUJBQWlCOzsyRkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVOzswQkFLTixRQUFROzswQkFDUixNQUFNOzJCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVudGl0eVBsdXJhbE5hbWVzLCBQTFVSQUxfTkFNRVNfVE9LRU4gfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuXG5jb25zdCB1bmNvdW50YWJsZSA9IFtcbiAgLy8gJ3NoZWVwJyxcbiAgLy8gJ2Zpc2gnLFxuICAvLyAnZGVlcicsXG4gIC8vICdtb29zZScsXG4gIC8vICdyaWNlJyxcbiAgLy8gJ3NwZWNpZXMnLFxuICAnZXF1aXBtZW50JyxcbiAgJ2luZm9ybWF0aW9uJyxcbiAgJ21vbmV5JyxcbiAgJ3NlcmllcycsXG5dO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGVmYXVsdFBsdXJhbGl6ZXIge1xuICBwbHVyYWxOYW1lczogRW50aXR5UGx1cmFsTmFtZXMgPSB7fTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBJbmplY3QoUExVUkFMX05BTUVTX1RPS0VOKVxuICAgIHBsdXJhbE5hbWVzOiBFbnRpdHlQbHVyYWxOYW1lc1tdXG4gICkge1xuICAgIC8vIG1lcmdlIGVhY2ggcGx1cmFsIG5hbWVzIG9iamVjdFxuICAgIGlmIChwbHVyYWxOYW1lcykge1xuICAgICAgcGx1cmFsTmFtZXMuZm9yRWFjaCgocG4pID0+IHRoaXMucmVnaXN0ZXJQbHVyYWxOYW1lcyhwbikpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBQbHVyYWxpemUgYSBzaW5ndWxhciBuYW1lIHVzaW5nIGNvbW1vbiBFbmdsaXNoIGxhbmd1YWdlIHBsdXJhbGl6YXRpb24gcnVsZXNcbiAgICogRXhhbXBsZXM6IFwiY29tcGFueVwiIC0+IFwiY29tcGFuaWVzXCIsIFwiZW1wbG95ZWVcIiAtPiBcImVtcGxveWVlc1wiLCBcInRheFwiIC0+IFwidGF4ZXNcIlxuICAgKi9cbiAgcGx1cmFsaXplKG5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IHBsdXJhbCA9IHRoaXMucGx1cmFsTmFtZXNbbmFtZV07XG4gICAgaWYgKHBsdXJhbCkge1xuICAgICAgcmV0dXJuIHBsdXJhbDtcbiAgICB9XG4gICAgLy8gc2luZ3VsYXIgYW5kIHBsdXJhbCBhcmUgdGhlIHNhbWVcbiAgICBpZiAodW5jb3VudGFibGUuaW5kZXhPZihuYW1lLnRvTG93ZXJDYXNlKCkpID49IDApIHtcbiAgICAgIHJldHVybiBuYW1lO1xuICAgICAgLy8gdm93ZWwgKyB5XG4gICAgfSBlbHNlIGlmICgvW2FlaW91XXkkLy50ZXN0KG5hbWUpKSB7XG4gICAgICByZXR1cm4gbmFtZSArICdzJztcbiAgICAgIC8vIGNvbnNvbmFudCArIHlcbiAgICB9IGVsc2UgaWYgKG5hbWUuZW5kc1dpdGgoJ3knKSkge1xuICAgICAgcmV0dXJuIG5hbWUuc3Vic3RyaW5nKDAsIG5hbWUubGVuZ3RoIC0gMSkgKyAnaWVzJztcbiAgICAgIC8vIGVuZGluZ3MgdHlwaWNhbGx5IHBsdXJhbGl6ZWQgd2l0aCAnZXMnXG4gICAgfSBlbHNlIGlmICgvW3N8c3N8c2h8Y2h8eHx6XSQvLnRlc3QobmFtZSkpIHtcbiAgICAgIHJldHVybiBuYW1lICsgJ2VzJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG5hbWUgKyAncyc7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVyIGEgbWFwcGluZyBvZiBlbnRpdHkgdHlwZSBuYW1lIHRvIHRoZSBlbnRpdHkgbmFtZSdzIHBsdXJhbFxuICAgKiBAcGFyYW0gcGx1cmFsTmFtZXMge0VudGl0eVBsdXJhbE5hbWVzfSBwbHVyYWwgbmFtZXMgZm9yIGVudGl0eSB0eXBlc1xuICAgKi9cbiAgcmVnaXN0ZXJQbHVyYWxOYW1lcyhwbHVyYWxOYW1lczogRW50aXR5UGx1cmFsTmFtZXMpOiB2b2lkIHtcbiAgICB0aGlzLnBsdXJhbE5hbWVzID0geyAuLi50aGlzLnBsdXJhbE5hbWVzLCAuLi4ocGx1cmFsTmFtZXMgfHwge30pIH07XG4gIH1cbn1cbiJdfQ==
@@ -1,69 +0,0 @@
1
- /**
2
- Client-side id-generators
3
-
4
- These GUID utility functions are not used by @ngrx/data itself at this time.
5
- They are included as candidates for generating persistable correlation ids if that becomes desirable.
6
- They are also safe for generating unique entity ids on the client.
7
-
8
- Note they produce 32-character hexadecimal UUID strings,
9
- not the 128-bit representation found in server-side languages and databases.
10
-
11
- These utilities are experimental and may be withdrawn or replaced in future.
12
- */
13
- /**
14
- * Creates a Universally Unique Identifier (AKA GUID)
15
- */
16
- function getUuid() {
17
- // The original implementation is based on this SO answer:
18
- // http://stackoverflow.com/a/2117523/200253
19
- return 'xxxxxxxxxx4xxyxxxxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
20
- // eslint-disable-next-line no-bitwise
21
- const r = (Math.random() * 16) | 0,
22
- // eslint-disable-next-line no-bitwise
23
- v = c === 'x' ? r : (r & 0x3) | 0x8;
24
- return v.toString(16);
25
- });
26
- }
27
- /** Alias for getUuid(). Compare with getGuidComb(). */
28
- export function getGuid() {
29
- return getUuid();
30
- }
31
- /**
32
- * Creates a sortable, pseudo-GUID (globally unique identifier)
33
- * whose trailing 6 bytes (12 hex digits) are time-based
34
- * Start either with the given getTime() value, seedTime,
35
- * or get the current time in ms.
36
- *
37
- * @param seed {number} - optional seed for reproducible time-part
38
- */
39
- export function getGuidComb(seed) {
40
- // Each new Guid is greater than next if more than 1ms passes
41
- // See http://thatextramile.be/blog/2009/05/using-the-guidcomb-identifier-strategy
42
- // Based on breeze.core.getUuid which is based on this StackOverflow answer
43
- // http://stackoverflow.com/a/2117523/200253
44
- //
45
- // Convert time value to hex: n.toString(16)
46
- // Make sure it is 6 bytes long: ('00'+ ...).slice(-12) ... from the rear
47
- // Replace LAST 6 bytes (12 hex digits) of regular Guid (that's where they sort in a Db)
48
- //
49
- // Play with this in jsFiddle: http://jsfiddle.net/wardbell/qS8aN/
50
- const timePart = ('00' + (seed || new Date().getTime()).toString(16)).slice(-12);
51
- return ('xxxxxxxxxx4xxyxxx'.replace(/[xy]/g, function (c) {
52
- /* eslint-disable no-bitwise */
53
- const r = (Math.random() * 16) | 0, v = c === 'x' ? r : (r & 0x3) | 0x8;
54
- return v.toString(16);
55
- }) + timePart);
56
- }
57
- // Sort comparison value that's good enough
58
- export function guidComparer(l, r) {
59
- const lLow = l.slice(-12);
60
- const rLow = r.slice(-12);
61
- return lLow !== rLow
62
- ? lLow < rLow
63
- ? -1
64
- : +(lLow !== rLow)
65
- : l < r
66
- ? -1
67
- : +(l !== r);
68
- }
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpZC1mbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2RhdGEvc3JjL3V0aWxzL2d1aWQtZm5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztFQVdFO0FBRUY7O0dBRUc7QUFDSCxTQUFTLE9BQU87SUFDZCwwREFBMEQ7SUFDMUQsNENBQTRDO0lBQzVDLE9BQU8sOEJBQThCLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUM7UUFDaEUsc0NBQXNDO1FBQ3RDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUM7UUFDaEMsc0NBQXNDO1FBQ3RDLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUN0QyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDeEIsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsdURBQXVEO0FBQ3ZELE1BQU0sVUFBVSxPQUFPO0lBQ3JCLE9BQU8sT0FBTyxFQUFFLENBQUM7QUFDbkIsQ0FBQztBQUVEOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUFDLElBQWE7SUFDdkMsNkRBQTZEO0lBQzdELGtGQUFrRjtJQUNsRiwyRUFBMkU7SUFDM0UsNENBQTRDO0lBQzVDLEVBQUU7SUFDRiw0Q0FBNEM7SUFDNUMseUVBQXlFO0lBQ3pFLHdGQUF3RjtJQUN4RixFQUFFO0lBQ0Ysa0VBQWtFO0lBQ2xFLE1BQU0sUUFBUSxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQ3pFLENBQUMsRUFBRSxDQUNKLENBQUM7SUFDRixPQUFPLENBQ0wsbUJBQW1CLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUM7UUFDOUMsK0JBQStCO1FBQy9CLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFDaEMsQ0FBQyxHQUFHLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBQ3RDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN4QixDQUFDLENBQUMsR0FBRyxRQUFRLENBQ2QsQ0FBQztBQUNKLENBQUM7QUFFRCwyQ0FBMkM7QUFDM0MsTUFBTSxVQUFVLFlBQVksQ0FBQyxDQUFTLEVBQUUsQ0FBUztJQUMvQyxNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDMUIsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzFCLE9BQU8sSUFBSSxLQUFLLElBQUk7UUFDbEIsQ0FBQyxDQUFDLElBQUksR0FBRyxJQUFJO1lBQ1gsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDUCxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICBDbGllbnQtc2lkZSBpZC1nZW5lcmF0b3JzXG5cbiAgVGhlc2UgR1VJRCB1dGlsaXR5IGZ1bmN0aW9ucyBhcmUgbm90IHVzZWQgYnkgQG5ncngvZGF0YSBpdHNlbGYgYXQgdGhpcyB0aW1lLlxuICBUaGV5IGFyZSBpbmNsdWRlZCBhcyBjYW5kaWRhdGVzIGZvciBnZW5lcmF0aW5nIHBlcnNpc3RhYmxlIGNvcnJlbGF0aW9uIGlkcyBpZiB0aGF0IGJlY29tZXMgZGVzaXJhYmxlLlxuICBUaGV5IGFyZSBhbHNvIHNhZmUgZm9yIGdlbmVyYXRpbmcgdW5pcXVlIGVudGl0eSBpZHMgb24gdGhlIGNsaWVudC5cblxuICBOb3RlIHRoZXkgcHJvZHVjZSAzMi1jaGFyYWN0ZXIgaGV4YWRlY2ltYWwgVVVJRCBzdHJpbmdzLFxuICBub3QgdGhlIDEyOC1iaXQgcmVwcmVzZW50YXRpb24gZm91bmQgaW4gc2VydmVyLXNpZGUgbGFuZ3VhZ2VzIGFuZCBkYXRhYmFzZXMuXG5cbiAgVGhlc2UgdXRpbGl0aWVzIGFyZSBleHBlcmltZW50YWwgYW5kIG1heSBiZSB3aXRoZHJhd24gb3IgcmVwbGFjZWQgaW4gZnV0dXJlLlxuKi9cblxuLyoqXG4gKiBDcmVhdGVzIGEgVW5pdmVyc2FsbHkgVW5pcXVlIElkZW50aWZpZXIgKEFLQSBHVUlEKVxuICovXG5mdW5jdGlvbiBnZXRVdWlkKCkge1xuICAvLyBUaGUgb3JpZ2luYWwgaW1wbGVtZW50YXRpb24gaXMgYmFzZWQgb24gdGhpcyBTTyBhbnN3ZXI6XG4gIC8vIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9hLzIxMTc1MjMvMjAwMjUzXG4gIHJldHVybiAneHh4eHh4eHh4eDR4eHl4eHh4eHh4eHh4eHh4eCcucmVwbGFjZSgvW3h5XS9nLCBmdW5jdGlvbiAoYykge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1iaXR3aXNlXG4gICAgY29uc3QgciA9IChNYXRoLnJhbmRvbSgpICogMTYpIHwgMCxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1iaXR3aXNlXG4gICAgICB2ID0gYyA9PT0gJ3gnID8gciA6IChyICYgMHgzKSB8IDB4ODtcbiAgICByZXR1cm4gdi50b1N0cmluZygxNik7XG4gIH0pO1xufVxuXG4vKiogQWxpYXMgZm9yIGdldFV1aWQoKS4gQ29tcGFyZSB3aXRoIGdldEd1aWRDb21iKCkuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0R3VpZCgpIHtcbiAgcmV0dXJuIGdldFV1aWQoKTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgc29ydGFibGUsIHBzZXVkby1HVUlEIChnbG9iYWxseSB1bmlxdWUgaWRlbnRpZmllcilcbiAqIHdob3NlIHRyYWlsaW5nIDYgYnl0ZXMgKDEyIGhleCBkaWdpdHMpIGFyZSB0aW1lLWJhc2VkXG4gKiBTdGFydCBlaXRoZXIgd2l0aCB0aGUgZ2l2ZW4gZ2V0VGltZSgpIHZhbHVlLCBzZWVkVGltZSxcbiAqIG9yIGdldCB0aGUgY3VycmVudCB0aW1lIGluIG1zLlxuICpcbiAqIEBwYXJhbSBzZWVkIHtudW1iZXJ9IC0gb3B0aW9uYWwgc2VlZCBmb3IgcmVwcm9kdWNpYmxlIHRpbWUtcGFydFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0R3VpZENvbWIoc2VlZD86IG51bWJlcikge1xuICAvLyBFYWNoIG5ldyBHdWlkIGlzIGdyZWF0ZXIgdGhhbiBuZXh0IGlmIG1vcmUgdGhhbiAxbXMgcGFzc2VzXG4gIC8vIFNlZSBodHRwOi8vdGhhdGV4dHJhbWlsZS5iZS9ibG9nLzIwMDkvMDUvdXNpbmctdGhlLWd1aWRjb21iLWlkZW50aWZpZXItc3RyYXRlZ3lcbiAgLy8gQmFzZWQgb24gYnJlZXplLmNvcmUuZ2V0VXVpZCB3aGljaCBpcyBiYXNlZCBvbiB0aGlzIFN0YWNrT3ZlcmZsb3cgYW5zd2VyXG4gIC8vIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9hLzIxMTc1MjMvMjAwMjUzXG4gIC8vXG4gIC8vIENvbnZlcnQgdGltZSB2YWx1ZSB0byBoZXg6IG4udG9TdHJpbmcoMTYpXG4gIC8vIE1ha2Ugc3VyZSBpdCBpcyA2IGJ5dGVzIGxvbmc6ICgnMDAnKyAuLi4pLnNsaWNlKC0xMikgLi4uIGZyb20gdGhlIHJlYXJcbiAgLy8gUmVwbGFjZSBMQVNUIDYgYnl0ZXMgKDEyIGhleCBkaWdpdHMpIG9mIHJlZ3VsYXIgR3VpZCAodGhhdCdzIHdoZXJlIHRoZXkgc29ydCBpbiBhIERiKVxuICAvL1xuICAvLyBQbGF5IHdpdGggdGhpcyBpbiBqc0ZpZGRsZTogaHR0cDovL2pzZmlkZGxlLm5ldC93YXJkYmVsbC9xUzhhTi9cbiAgY29uc3QgdGltZVBhcnQgPSAoJzAwJyArIChzZWVkIHx8IG5ldyBEYXRlKCkuZ2V0VGltZSgpKS50b1N0cmluZygxNikpLnNsaWNlKFxuICAgIC0xMlxuICApO1xuICByZXR1cm4gKFxuICAgICd4eHh4eHh4eHh4NHh4eXh4eCcucmVwbGFjZSgvW3h5XS9nLCBmdW5jdGlvbiAoYykge1xuICAgICAgLyogZXNsaW50LWRpc2FibGUgbm8tYml0d2lzZSAqL1xuICAgICAgY29uc3QgciA9IChNYXRoLnJhbmRvbSgpICogMTYpIHwgMCxcbiAgICAgICAgdiA9IGMgPT09ICd4JyA/IHIgOiAociAmIDB4MykgfCAweDg7XG4gICAgICByZXR1cm4gdi50b1N0cmluZygxNik7XG4gICAgfSkgKyB0aW1lUGFydFxuICApO1xufVxuXG4vLyBTb3J0IGNvbXBhcmlzb24gdmFsdWUgdGhhdCdzIGdvb2QgZW5vdWdoXG5leHBvcnQgZnVuY3Rpb24gZ3VpZENvbXBhcmVyKGw6IHN0cmluZywgcjogc3RyaW5nKSB7XG4gIGNvbnN0IGxMb3cgPSBsLnNsaWNlKC0xMik7XG4gIGNvbnN0IHJMb3cgPSByLnNsaWNlKC0xMik7XG4gIHJldHVybiBsTG93ICE9PSByTG93XG4gICAgPyBsTG93IDwgckxvd1xuICAgICAgPyAtMVxuICAgICAgOiArKGxMb3cgIT09IHJMb3cpXG4gICAgOiBsIDwgclxuICAgID8gLTFcbiAgICA6ICsobCAhPT0gcik7XG59XG4iXX0=
@@ -1,7 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- export class Logger {
3
- }
4
- export const PLURAL_NAMES_TOKEN = new InjectionToken('@ngrx/data Plural Names');
5
- export class Pluralizer {
6
- }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvZGF0YS9zcmMvdXRpbHMvaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE1BQU0sT0FBZ0IsTUFBTTtDQUkzQjtBQVNELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksY0FBYyxDQUNsRCx5QkFBeUIsQ0FDMUIsQ0FBQztBQUVGLE1BQU0sT0FBZ0IsVUFBVTtDQUUvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBMb2dnZXIge1xuICBhYnN0cmFjdCBlcnJvcihtZXNzYWdlPzogYW55LCAuLi5vcHRpb25hbFBhcmFtczogYW55W10pOiB2b2lkO1xuICBhYnN0cmFjdCBsb2cobWVzc2FnZT86IGFueSwgLi4ub3B0aW9uYWxQYXJhbXM6IGFueVtdKTogdm9pZDtcbiAgYWJzdHJhY3Qgd2FybihtZXNzYWdlPzogYW55LCAuLi5vcHRpb25hbFBhcmFtczogYW55W10pOiB2b2lkO1xufVxuXG4vKipcbiAqIE1hcHBpbmcgb2YgZW50aXR5IHR5cGUgbmFtZSB0byBpdHMgcGx1cmFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5UGx1cmFsTmFtZXMge1xuICBbZW50aXR5TmFtZTogc3RyaW5nXTogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgUExVUkFMX05BTUVTX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPEVudGl0eVBsdXJhbE5hbWVzPihcbiAgJ0BuZ3J4L2RhdGEgUGx1cmFsIE5hbWVzJ1xuKTtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFBsdXJhbGl6ZXIge1xuICBhYnN0cmFjdCBwbHVyYWxpemUobmFtZTogc3RyaW5nKTogc3RyaW5nO1xufVxuIl19