@ethlete/query 5.21.1 → 5.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/fesm2022/ethlete-query.mjs +21 -37
  3. package/fesm2022/ethlete-query.mjs.map +1 -1
  4. package/package.json +5 -7
  5. package/esm2022/ethlete-query.mjs +0 -5
  6. package/esm2022/index.mjs +0 -21
  7. package/esm2022/lib/auth/auth-provider.types.mjs +0 -2
  8. package/esm2022/lib/auth/auth-provider.utils.mjs +0 -25
  9. package/esm2022/lib/auth/basic-auth-provider.mjs +0 -15
  10. package/esm2022/lib/auth/bearer-auth-provider.mjs +0 -168
  11. package/esm2022/lib/auth/custom-header-auth-provider.mjs +0 -12
  12. package/esm2022/lib/auth/index.mjs +0 -6
  13. package/esm2022/lib/class-validator/class-validator.types.mjs +0 -2
  14. package/esm2022/lib/class-validator/class-validator.utils.mjs +0 -4
  15. package/esm2022/lib/class-validator/index.mjs +0 -3
  16. package/esm2022/lib/devtools/components/query-devtools/index.mjs +0 -2
  17. package/esm2022/lib/devtools/components/query-devtools/query-devtools.component.mjs +0 -297
  18. package/esm2022/lib/devtools/pipes/index.mjs +0 -2
  19. package/esm2022/lib/devtools/pipes/query-short-name.pipe.mjs +0 -24
  20. package/esm2022/lib/devtools/utils/index.mjs +0 -2
  21. package/esm2022/lib/devtools/utils/query-client.utils.mjs +0 -13
  22. package/esm2022/lib/directives/index.mjs +0 -4
  23. package/esm2022/lib/directives/infinity-query-trigger.directive.mjs +0 -56
  24. package/esm2022/lib/directives/infinity-query.directive.mjs +0 -147
  25. package/esm2022/lib/directives/query.directive.mjs +0 -123
  26. package/esm2022/lib/entity/entity-store.mjs +0 -127
  27. package/esm2022/lib/entity/entity.types.mjs +0 -2
  28. package/esm2022/lib/entity/entity.utils.mjs +0 -29
  29. package/esm2022/lib/entity/index.mjs +0 -4
  30. package/esm2022/lib/experimental/bearer-auth-provider-config.mjs +0 -19
  31. package/esm2022/lib/experimental/bearer-auth-provider.mjs +0 -245
  32. package/esm2022/lib/experimental/http-request.mjs +0 -154
  33. package/esm2022/lib/experimental/index.mjs +0 -23
  34. package/esm2022/lib/experimental/paged-query.mjs +0 -194
  35. package/esm2022/lib/experimental/query-client-config.mjs +0 -13
  36. package/esm2022/lib/experimental/query-client.mjs +0 -16
  37. package/esm2022/lib/experimental/query-creator-templates.mjs +0 -33
  38. package/esm2022/lib/experimental/query-creator.mjs +0 -28
  39. package/esm2022/lib/experimental/query-dependencies.mjs +0 -14
  40. package/esm2022/lib/experimental/query-errors.mjs +0 -70
  41. package/esm2022/lib/experimental/query-execute-utils.mjs +0 -54
  42. package/esm2022/lib/experimental/query-execute.mjs +0 -14
  43. package/esm2022/lib/experimental/query-features.mjs +0 -126
  44. package/esm2022/lib/experimental/query-repository.mjs +0 -97
  45. package/esm2022/lib/experimental/query-snapshot.mjs +0 -45
  46. package/esm2022/lib/experimental/query-stack.mjs +0 -65
  47. package/esm2022/lib/experimental/query-state.mjs +0 -20
  48. package/esm2022/lib/experimental/query-utils.mjs +0 -176
  49. package/esm2022/lib/experimental/query.mjs +0 -29
  50. package/esm2022/lib/experimental/secure-query-creator.mjs +0 -15
  51. package/esm2022/lib/experimental/secure-query-execute.mjs +0 -80
  52. package/esm2022/lib/experimental/secure-query.mjs +0 -33
  53. package/esm2022/lib/gql/gql.mjs +0 -23
  54. package/esm2022/lib/gql/index.mjs +0 -2
  55. package/esm2022/lib/infinite-query/index.mjs +0 -4
  56. package/esm2022/lib/infinite-query/infinity-query.mjs +0 -171
  57. package/esm2022/lib/infinite-query/infinity-query.types.mjs +0 -2
  58. package/esm2022/lib/infinite-query/infinity-query.utils.mjs +0 -3
  59. package/esm2022/lib/logger/index.mjs +0 -2
  60. package/esm2022/lib/logger/logger.mjs +0 -16
  61. package/esm2022/lib/query/index.mjs +0 -4
  62. package/esm2022/lib/query/query.mjs +0 -431
  63. package/esm2022/lib/query/query.types.mjs +0 -2
  64. package/esm2022/lib/query/query.utils.mjs +0 -253
  65. package/esm2022/lib/query-client/index.mjs +0 -4
  66. package/esm2022/lib/query-client/query-client.mjs +0 -80
  67. package/esm2022/lib/query-client/query-client.types.mjs +0 -2
  68. package/esm2022/lib/query-client/query-client.utils.mjs +0 -20
  69. package/esm2022/lib/query-creator/index.mjs +0 -3
  70. package/esm2022/lib/query-creator/query-creator.mjs +0 -55
  71. package/esm2022/lib/query-creator/query-creator.types.mjs +0 -2
  72. package/esm2022/lib/query-form/index.mjs +0 -4
  73. package/esm2022/lib/query-form/query-form.mjs +0 -412
  74. package/esm2022/lib/query-form/query-form.types.mjs +0 -2
  75. package/esm2022/lib/query-form/query-form.utils.mjs +0 -97
  76. package/esm2022/lib/query-store/index.mjs +0 -2
  77. package/esm2022/lib/query-store/query-store.mjs +0 -144
  78. package/esm2022/lib/request/index.mjs +0 -4
  79. package/esm2022/lib/request/request.mjs +0 -196
  80. package/esm2022/lib/request/request.types.mjs +0 -2
  81. package/esm2022/lib/request/request.util.mjs +0 -252
  82. package/esm2022/lib/symfony/index.mjs +0 -3
  83. package/esm2022/lib/symfony/symfony.types.mjs +0 -2
  84. package/esm2022/lib/symfony/symfony.utils.mjs +0 -31
  85. package/esm2022/lib/utils/data.utils.mjs +0 -138
  86. package/esm2022/lib/utils/deep-freeze.util.mjs +0 -17
  87. package/esm2022/lib/utils/def.util.mjs +0 -8
  88. package/esm2022/lib/utils/index.mjs +0 -4
@@ -1,56 +0,0 @@
1
- import { Directive, ElementRef, inject, Input } from '@angular/core';
2
- import { fromEvent, Subject, takeUntil } from 'rxjs';
3
- import { INFINITY_QUERY_TOKEN } from './infinity-query.directive';
4
- import * as i0 from "@angular/core";
5
- export class InfinityQueryTriggerDirective {
6
- constructor() {
7
- this._elementRef = inject((ElementRef));
8
- this._infinityQuery = inject(INFINITY_QUERY_TOKEN);
9
- this._destroy = new Subject();
10
- this._observer = null;
11
- this.click$ = fromEvent(this._elementRef.nativeElement, 'click');
12
- this.scrollContainerSelector = null;
13
- }
14
- ngOnInit() {
15
- const isInteractive = this._elementRef.nativeElement.tagName === 'BUTTON';
16
- if (isInteractive) {
17
- this.click$.pipe(takeUntil(this._destroy)).subscribe(() => this._infinityQuery.loadNextPage());
18
- }
19
- else {
20
- this._setupIntersectionObserver();
21
- }
22
- }
23
- ngOnDestroy() {
24
- this._destroy.next(true);
25
- this._destroy.unsubscribe();
26
- this._observer?.disconnect();
27
- }
28
- _setupIntersectionObserver() {
29
- this._observer = new IntersectionObserver((entries) => {
30
- const entry = entries[0];
31
- if (!entry)
32
- return;
33
- if (entry.isIntersecting && !this._infinityQuery.context.loading) {
34
- this._infinityQuery.loadNextPage();
35
- }
36
- }, {
37
- root: this.scrollContainerSelector ? document.querySelector(this.scrollContainerSelector) : null,
38
- rootMargin: '0px',
39
- threshold: [0.25, 0.5, 0.75, 1],
40
- });
41
- this._observer.observe(this._elementRef.nativeElement);
42
- }
43
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: InfinityQueryTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
44
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: InfinityQueryTriggerDirective, isStandalone: true, selector: "[etInfinityQueryTrigger], et-infinity-query-trigger", inputs: { scrollContainerSelector: "scrollContainerSelector" }, ngImport: i0 }); }
45
- }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: InfinityQueryTriggerDirective, decorators: [{
47
- type: Directive,
48
- args: [{
49
- // eslint-disable-next-line @angular-eslint/directive-selector
50
- selector: '[etInfinityQueryTrigger], et-infinity-query-trigger',
51
- standalone: true,
52
- }]
53
- }], propDecorators: { scrollContainerSelector: [{
54
- type: Input
55
- }] } });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5maW5pdHktcXVlcnktdHJpZ2dlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvZGlyZWN0aXZlcy9pbmZpbml0eS1xdWVyeS10cmlnZ2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBT2xFLE1BQU0sT0FBTyw2QkFBNkI7SUFMMUM7UUFNVSxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxDQUFBLFVBQXVCLENBQUEsQ0FBQyxDQUFDO1FBQzlDLG1CQUFjLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFFOUMsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFDbEMsY0FBUyxHQUFnQyxJQUFJLENBQUM7UUFFdEQsV0FBTSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUc1RCw0QkFBdUIsR0FBa0IsSUFBSSxDQUFDO0tBc0MvQztJQXBDQyxRQUFRO1FBQ04sTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsT0FBTyxLQUFLLFFBQVEsQ0FBQztRQUUxRSxJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQ2pHLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7UUFDcEMsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFTywwQkFBMEI7UUFDaEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLG9CQUFvQixDQUN2QyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ1YsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRXpCLElBQUksQ0FBQyxLQUFLO2dCQUFFLE9BQU87WUFFbkIsSUFBSSxLQUFLLENBQUMsY0FBYyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2pFLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDckMsQ0FBQztRQUNILENBQUMsRUFDRDtZQUNFLElBQUksRUFBRSxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFDaEcsVUFBVSxFQUFFLEtBQUs7WUFDakIsU0FBUyxFQUFFLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ2hDLENBQ0YsQ0FBQztRQUVGLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDekQsQ0FBQzs4R0EvQ1UsNkJBQTZCO2tHQUE3Qiw2QkFBNkI7OzJGQUE3Qiw2QkFBNkI7a0JBTHpDLFNBQVM7bUJBQUM7b0JBQ1QsOERBQThEO29CQUM5RCxRQUFRLEVBQUUscURBQXFEO29CQUMvRCxVQUFVLEVBQUUsSUFBSTtpQkFDakI7OEJBV0MsdUJBQXVCO3NCQUR0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBpbmplY3QsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElORklOSVRZX1FVRVJZX1RPS0VOIH0gZnJvbSAnLi9pbmZpbml0eS1xdWVyeS5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdbZXRJbmZpbml0eVF1ZXJ5VHJpZ2dlcl0sIGV0LWluZmluaXR5LXF1ZXJ5LXRyaWdnZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBJbmZpbml0eVF1ZXJ5VHJpZ2dlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmPEhUTUxFbGVtZW50Pik7XG4gIHByaXZhdGUgX2luZmluaXR5UXVlcnkgPSBpbmplY3QoSU5GSU5JVFlfUVVFUllfVE9LRU4pO1xuXG4gIHByaXZhdGUgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICBwcml2YXRlIF9vYnNlcnZlcjogSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgfCBudWxsID0gbnVsbDtcblxuICBjbGljayQgPSBmcm9tRXZlbnQodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY2xpY2snKTtcblxuICBASW5wdXQoKVxuICBzY3JvbGxDb250YWluZXJTZWxlY3Rvcjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgaXNJbnRlcmFjdGl2ZSA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC50YWdOYW1lID09PSAnQlVUVE9OJztcblxuICAgIGlmIChpc0ludGVyYWN0aXZlKSB7XG4gICAgICB0aGlzLmNsaWNrJC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuX2luZmluaXR5UXVlcnkubG9hZE5leHRQYWdlKCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9zZXR1cEludGVyc2VjdGlvbk9ic2VydmVyKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KHRydWUpO1xuICAgIHRoaXMuX2Rlc3Ryb3kudW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLl9vYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0dXBJbnRlcnNlY3Rpb25PYnNlcnZlcigpOiB2b2lkIHtcbiAgICB0aGlzLl9vYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihcbiAgICAgIChlbnRyaWVzKSA9PiB7XG4gICAgICAgIGNvbnN0IGVudHJ5ID0gZW50cmllc1swXTtcblxuICAgICAgICBpZiAoIWVudHJ5KSByZXR1cm47XG5cbiAgICAgICAgaWYgKGVudHJ5LmlzSW50ZXJzZWN0aW5nICYmICF0aGlzLl9pbmZpbml0eVF1ZXJ5LmNvbnRleHQubG9hZGluZykge1xuICAgICAgICAgIHRoaXMuX2luZmluaXR5UXVlcnkubG9hZE5leHRQYWdlKCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHJvb3Q6IHRoaXMuc2Nyb2xsQ29udGFpbmVyU2VsZWN0b3IgPyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHRoaXMuc2Nyb2xsQ29udGFpbmVyU2VsZWN0b3IpIDogbnVsbCxcbiAgICAgICAgcm9vdE1hcmdpbjogJzBweCcsXG4gICAgICAgIHRocmVzaG9sZDogWzAuMjUsIDAuNSwgMC43NSwgMV0sXG4gICAgICB9LFxuICAgICk7XG5cbiAgICB0aGlzLl9vYnNlcnZlci5vYnNlcnZlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,147 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { ChangeDetectorRef, Directive, ErrorHandler, inject, InjectionToken, Input, TemplateRef, ViewContainerRef, } from '@angular/core';
3
- import { toSignal } from '@angular/core/rxjs-interop';
4
- import { createDestroy, DelayableDirective } from '@ethlete/core';
5
- import { BehaviorSubject, combineLatest, Subject, takeUntil, tap, withLatestFrom } from 'rxjs';
6
- import { InfinityQuery } from '../infinite-query';
7
- import { isQueryStateFailure, isQueryStateLoading, isQueryStateSuccess, switchQueryState, } from '../query';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@ethlete/core";
10
- export const INFINITY_QUERY_TOKEN = new InjectionToken('INFINITY_QUERY_TOKEN');
11
- export class InfinityQueryDirective {
12
- get infinityQuery() {
13
- return this._infinityQuery;
14
- }
15
- set infinityQuery(v) {
16
- this._cleanup();
17
- this._infinityQuery = v;
18
- this._infinityQueryInstance = this._setupInfinityQuery(v);
19
- this._infinityQueryInstance.nextPage();
20
- }
21
- get context() {
22
- return this._viewContext;
23
- }
24
- get instance() {
25
- return this._infinityQueryInstance;
26
- }
27
- get data$() {
28
- return this._data$.asObservable();
29
- }
30
- static ngTemplateContextGuard(dir, ctx) {
31
- return true;
32
- }
33
- constructor() {
34
- this._queryConfigChanged$ = new Subject();
35
- this._viewContext = {
36
- $implicit: null,
37
- etInfinityQuery: null,
38
- loading: false,
39
- error: null,
40
- isFirstLoad: false,
41
- canLoadMore: false,
42
- currentPage: null,
43
- currentCalculatedPage: null,
44
- totalPages: null,
45
- itemsPerPage: null,
46
- currentQuery: null,
47
- };
48
- this._infinityQueryInstance = null;
49
- this._destroy$ = createDestroy();
50
- this._cdr = inject(ChangeDetectorRef);
51
- this._viewContainerRef = inject(ViewContainerRef);
52
- this._mainTemplateRef = inject((TemplateRef));
53
- this._errorHandler = inject(ErrorHandler);
54
- this._delayable = inject(DelayableDirective, { host: true });
55
- this._data$ = new BehaviorSubject([]);
56
- this.data = toSignal(this._data$, { requireSync: true });
57
- this._viewContainerRef.createEmbeddedView(this._mainTemplateRef, this._viewContext);
58
- }
59
- _setupInfinityQuery(config) {
60
- const instance = new InfinityQuery(config, this._destroy$);
61
- combineLatest([
62
- instance.currentQuery$.pipe(switchQueryState(), withLatestFrom(instance.currentQuery$)),
63
- this._delayable.isDelayed$,
64
- instance.data$,
65
- ])
66
- .pipe(tap(([[state, currentQuery], isDelayed, infinityArray]) => {
67
- this._viewContext.currentPage = instance.currentPage;
68
- this._viewContext.totalPages = instance.totalPages;
69
- this._viewContext.itemsPerPage = instance.itemsPerPage;
70
- this._viewContext.canLoadMore =
71
- (instance.totalPages !== null &&
72
- instance.currentPage !== null &&
73
- instance.totalPages > instance.currentPage) ||
74
- false;
75
- this._viewContext.currentCalculatedPage = instance.currentCalculatedPage;
76
- this._viewContext.currentQuery = currentQuery;
77
- if (isQueryStateLoading(state) || isDelayed || !infinityArray) {
78
- this._viewContext.loading = state ? state.meta.triggeredVia !== 'poll' : true;
79
- this._viewContext.error = null;
80
- this._viewContext.isFirstLoad = this.context.etInfinityQuery === null;
81
- }
82
- else if (isQueryStateFailure(state)) {
83
- this._viewContext.loading = false;
84
- this._viewContext.error = state.error;
85
- this._viewContext.isFirstLoad = false;
86
- this._errorHandler.handleError(state.error);
87
- }
88
- else if (isQueryStateSuccess(state)) {
89
- this._viewContext.loading = false;
90
- this._viewContext.error = null;
91
- this._viewContext.isFirstLoad = false;
92
- this._viewContext.etInfinityQuery = this._viewContext.$implicit =
93
- infinityArray;
94
- this._data$.next(infinityArray);
95
- }
96
- this._cdr.markForCheck();
97
- }), takeUntil(this._destroy$), takeUntil(this._queryConfigChanged$))
98
- .subscribe();
99
- return instance;
100
- }
101
- loadNextPage() {
102
- if (!this._infinityQueryInstance) {
103
- return;
104
- }
105
- if (this._viewContext.loading) {
106
- return;
107
- }
108
- this._infinityQueryInstance.nextPage();
109
- }
110
- reset(newConfig) {
111
- if (!this._infinityQueryInstance) {
112
- return;
113
- }
114
- this._infinityQueryInstance.reset(newConfig);
115
- }
116
- _cleanup() {
117
- this._queryConfigChanged$.next(true);
118
- this._viewContext.loading = false;
119
- this._viewContext.error = null;
120
- this._viewContext.etInfinityQuery = null;
121
- this._viewContext.$implicit = null;
122
- this._viewContext.isFirstLoad = false;
123
- this._viewContext.canLoadMore = false;
124
- this._viewContext.currentPage = null;
125
- this._viewContext.itemsPerPage = null;
126
- this._viewContext.totalPages = null;
127
- this._viewContext.currentQuery = null;
128
- this._data$.next([]);
129
- }
130
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: InfinityQueryDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
131
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: InfinityQueryDirective, isStandalone: true, selector: "[etInfinityQuery]", inputs: { infinityQuery: ["etInfinityQuery", "infinityQuery"] }, providers: [{ provide: INFINITY_QUERY_TOKEN, useExisting: InfinityQueryDirective }], exportAs: ["etInfinityQuery"], hostDirectives: [{ directive: i1.DelayableDirective }], ngImport: i0 }); }
132
- }
133
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: InfinityQueryDirective, decorators: [{
134
- type: Directive,
135
- args: [{
136
- // eslint-disable-next-line @angular-eslint/directive-selector
137
- selector: '[etInfinityQuery]',
138
- exportAs: 'etInfinityQuery',
139
- standalone: true,
140
- providers: [{ provide: INFINITY_QUERY_TOKEN, useExisting: InfinityQueryDirective }],
141
- hostDirectives: [DelayableDirective],
142
- }]
143
- }], ctorParameters: () => [], propDecorators: { infinityQuery: [{
144
- type: Input,
145
- args: ['etInfinityQuery']
146
- }] } });
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5maW5pdHktcXVlcnkuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xdWVyeS9zcmMvbGliL2RpcmVjdGl2ZXMvaW5maW5pdHktcXVlcnkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLGNBQWMsRUFDZCxLQUFLLEVBQ0wsV0FBVyxFQUNYLGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0YsT0FBTyxFQUFFLGFBQWEsRUFBd0MsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RixPQUFPLEVBRUwsbUJBQW1CLEVBQ25CLG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIsZ0JBQWdCLEdBQ2pCLE1BQU0sVUFBVSxDQUFDOzs7QUFzQmxCLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLElBQUksY0FBYyxDQUE4QixzQkFBc0IsQ0FBQyxDQUFDO0FBVTVHLE1BQU0sT0FBTyxzQkFBc0I7SUE4QmpDLElBQ0ksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBQ0QsSUFBSSxhQUFhLENBQUMsQ0FBSTtRQUNwQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFaEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FB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LGVBQWUsR0FBRyxJQUFJLENBQUM7UUFDekMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBRW5DLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN0QyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDdEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN0QyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFFcEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBRXRDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7OEdBekpVLHNCQUFzQjtrR0FBdEIsc0JBQXNCLGlJQUh0QixDQUFDLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxzQkFBc0IsRUFBRSxDQUFDOzsyRkFHeEUsc0JBQXNCO2tCQVJsQyxTQUFTO21CQUFDO29CQUNULDhEQUE4RDtvQkFDOUQsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsd0JBQXdCLEVBQUUsQ0FBQztvQkFDbkYsY0FBYyxFQUFFLENBQUMsa0JBQWtCLENBQUM7aUJBQ3JDO3dEQWdDSyxhQUFhO3NCQURoQixLQUFLO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBEaXJlY3RpdmUsXG4gIEVycm9ySGFuZGxlcixcbiAgaW5qZWN0LFxuICBJbmplY3Rpb25Ub2tlbixcbiAgSW5wdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgY3JlYXRlRGVzdHJveSwgRGVsYXlhYmxlRGlyZWN0aXZlIH0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIFN1YmplY3QsIHRha2VVbnRpbCwgdGFwLCB3aXRoTGF0ZXN0RnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW5maW5pdHlRdWVyeSwgSW5maW5pdHlRdWVyeUNvbmZpZywgSW5maW5pdHlRdWVyeU9mIH0gZnJvbSAnLi4vaW5maW5pdGUtcXVlcnknO1xuaW1wb3J0IHtcbiAgQmFzZUFyZ3VtZW50cyxcbiAgaXNRdWVyeVN0YXRlRmFpbHVyZSxcbiAgaXNRdWVyeVN0YXRlTG9hZGluZyxcbiAgaXNRdWVyeVN0YXRlU3VjY2VzcyxcbiAgc3dpdGNoUXVlcnlTdGF0ZSxcbn0gZnJvbSAnLi4vcXVlcnknO1xuaW1wb3J0IHsgQW55UXVlcnlDcmVhdG9yLCBDb25zdHJ1Y3RRdWVyeSB9IGZyb20gJy4uL3F1ZXJ5LWNyZWF0b3InO1xuaW1wb3J0IHsgUmVxdWVzdEVycm9yIH0gZnJvbSAnLi4vcmVxdWVzdCc7XG5cbmludGVyZmFjZSBJbmZpbml0eVF1ZXJ5Q29udGV4dDxcbiAgUSBleHRlbmRzIEluZmluaXR5UXVlcnlDb25maWc8QW55UXVlcnlDcmVhdG9yLCBCYXNlQXJndW1lbnRzIHwgdW5kZWZpbmVkLCBhbnksIHVua25vd25bXT4sXG4+IHtcbiAgJGltcGxpY2l0OiBRWydyZXNwb25zZSddWydhcnJheVR5cGUnXSB8IG51bGw7XG4gIGV0SW5maW5pdHlRdWVyeTogUVsncmVzcG9uc2UnXVsnYXJyYXlUeXBlJ10gfCBudWxsO1xuICBsb2FkaW5nOiBib29sZWFuO1xuICBlcnJvcjogUmVxdWVzdEVycm9yPHVua25vd24+IHwgbnVsbDtcblxuICBpc0ZpcnN0TG9hZDogYm9vbGVhbjtcbiAgY2FuTG9hZE1vcmU6IGJvb2xlYW47XG4gIGN1cnJlbnRQYWdlOiBudW1iZXIgfCBudWxsO1xuICBjdXJyZW50Q2FsY3VsYXRlZFBhZ2U6IG51bWJlciB8IG51bGw7XG4gIHRvdGFsUGFnZXM6IG51bWJlciB8IG51bGw7XG4gIGl0ZW1zUGVyUGFnZTogbnVtYmVyIHwgbnVsbDtcblxuICBjdXJyZW50UXVlcnk6IENvbnN0cnVjdFF1ZXJ5PFFbJ3F1ZXJ5Q3JlYXRvciddPiB8IG51bGw7XG59XG5cbmV4cG9ydCBjb25zdCBJTkZJTklUWV9RVUVSWV9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJbmZpbml0eVF1ZXJ5RGlyZWN0aXZlPGFueT4+KCdJTkZJTklUWV9RVUVSWV9UT0tFTicpO1xuXG5ARGlyZWN0aXZlKHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdbZXRJbmZpbml0eVF1ZXJ5XScsXG4gIGV4cG9ydEFzOiAnZXRJbmZpbml0eVF1ZXJ5JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBJTkZJTklUWV9RVUVSWV9UT0tFTiwgdXNlRXhpc3Rpbmc6IEluZmluaXR5UXVlcnlEaXJlY3RpdmUgfV0sXG4gIGhvc3REaXJlY3RpdmVzOiBbRGVsYXlhYmxlRGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgSW5maW5pdHlRdWVyeURpcmVjdGl2ZTxcbiAgUSBleHRlbmRzIEluZmluaXR5UXVlcnlDb25maWc8QW55UXVlcnlDcmVhdG9yLCBCYXNlQXJndW1lbnRzIHwgdW5kZWZpbmVkLCBhbnksIHVua25vd25bXT4sXG4+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfcXVlcnlDb25maWdDaGFuZ2VkJCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3ZpZXdDb250ZXh0OiBJbmZpbml0eVF1ZXJ5Q29udGV4dDxRPiA9IHtcbiAgICAkaW1wbGljaXQ6IG51bGwsXG4gICAgZXRJbmZpbml0eVF1ZXJ5OiBudWxsLFxuICAgIGxvYWRpbmc6IGZhbHNlLFxuICAgIGVycm9yOiBudWxsLFxuXG4gICAgaXNGaXJzdExvYWQ6IGZhbHNlLFxuICAgIGNhbkxvYWRNb3JlOiBmYWxzZSxcbiAgICBjdXJyZW50UGFnZTogbnVsbCxcbiAgICBjdXJyZW50Q2FsY3VsYXRlZFBhZ2U6IG51bGwsXG4gICAgdG90YWxQYWdlczogbnVsbCxcbiAgICBpdGVtc1BlclBhZ2U6IG51bGwsXG5cbiAgICBjdXJyZW50UXVlcnk6IG51bGwsXG4gIH07XG4gIHByaXZhdGUgX2luZmluaXR5UXVlcnlJbnN0YW5jZTogSW5maW5pdHlRdWVyeU9mPFE+IHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSQgPSBjcmVhdGVEZXN0cm95KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2NkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3ZpZXdDb250YWluZXJSZWYgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX21haW5UZW1wbGF0ZVJlZiA9IGluamVjdChUZW1wbGF0ZVJlZjxJbmZpbml0eVF1ZXJ5Q29udGV4dDxRPj4pO1xuICBwcml2YXRlIHJlYWRvbmx5IF9lcnJvckhhbmRsZXIgPSBpbmplY3QoRXJyb3JIYW5kbGVyKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVsYXlhYmxlID0gaW5qZWN0KERlbGF5YWJsZURpcmVjdGl2ZSwgeyBob3N0OiB0cnVlIH0pO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2RhdGEkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxRWydyZXNwb25zZSddWydhcnJheVR5cGUnXT4oW10pO1xuXG4gIEBJbnB1dCgnZXRJbmZpbml0eVF1ZXJ5JylcbiAgZ2V0IGluZmluaXR5UXVlcnkoKTogUSB7XG4gICAgcmV0dXJuIHRoaXMuX2luZmluaXR5UXVlcnk7XG4gIH1cbiAgc2V0IGluZmluaXR5UXVlcnkodjogUSkge1xuICAgIHRoaXMuX2NsZWFudXAoKTtcblxuICAgIHRoaXMuX2luZmluaXR5UXVlcnkgPSB2O1xuICAgIHRoaXMuX2luZmluaXR5UXVlcnlJbnN0YW5jZSA9IHRoaXMuX3NldHVwSW5maW5pdHlRdWVyeSh2KTtcbiAgICB0aGlzLl9pbmZpbml0eVF1ZXJ5SW5zdGFuY2UubmV4dFBhZ2UoKTtcbiAgfVxuICBwcml2YXRlIF9pbmZpbml0eVF1ZXJ5ITogUTtcblxuICBnZXQgY29udGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5fdmlld0NvbnRleHQ7XG4gIH1cblxuICBnZXQgaW5zdGFuY2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2luZmluaXR5UXVlcnlJbnN0YW5jZTtcbiAgfVxuXG4gIGdldCBkYXRhJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBkYXRhID0gdG9TaWduYWwodGhpcy5fZGF0YSQsIHsgcmVxdWlyZVN5bmM6IHRydWUgfSk7XG5cbiAgc3RhdGljIG5nVGVtcGxhdGVDb250ZXh0R3VhcmQ8XG4gICAgUSBleHRlbmRzIEluZmluaXR5UXVlcnlDb25maWc8QW55UXVlcnlDcmVhdG9yLCBCYXNlQXJndW1lbnRzIHwgdW5kZWZpbmVkLCBhbnksIHVua25vd25bXT4sXG4gID4oZGlyOiBJbmZpbml0eVF1ZXJ5RGlyZWN0aXZlPFE+LCBjdHg6IHVua25vd24pOiBjdHggaXMgSW5maW5pdHlRdWVyeUNvbnRleHQ8UT4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5fdmlld0NvbnRhaW5lclJlZi5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy5fbWFpblRlbXBsYXRlUmVmLCB0aGlzLl92aWV3Q29udGV4dCk7XG4gIH1cblxuICBwcml2YXRlIF9zZXR1cEluZmluaXR5UXVlcnkoY29uZmlnOiBRKSB7XG4gICAgY29uc3QgaW5zdGFuY2UgPSBuZXcgSW5maW5pdHlRdWVyeShjb25maWcsIHRoaXMuX2Rlc3Ryb3kkKSBhcyBJbmZpbml0eVF1ZXJ5T2Y8UT47XG5cbiAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIGluc3RhbmNlLmN1cnJlbnRRdWVyeSQucGlwZShzd2l0Y2hRdWVyeVN0YXRlKCksIHdpdGhMYXRlc3RGcm9tKGluc3RhbmNlLmN1cnJlbnRRdWVyeSQpKSxcbiAgICAgIHRoaXMuX2RlbGF5YWJsZS5pc0RlbGF5ZWQkLFxuICAgICAgaW5zdGFuY2UuZGF0YSQsXG4gICAgXSlcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKFtbc3RhdGUsIGN1cnJlbnRRdWVyeV0sIGlzRGVsYXllZCwgaW5maW5pdHlBcnJheV0pID0+IHtcbiAgICAgICAgICB0aGlzLl92aWV3Q29udGV4dC5jdXJyZW50UGFnZSA9IGluc3RhbmNlLmN1cnJlbnRQYWdlO1xuICAgICAgICAgIHRoaXMuX3ZpZXdDb250ZXh0LnRvdGFsUGFnZXMgPSBpbnN0YW5jZS50b3RhbFBhZ2VzO1xuICAgICAgICAgIHRoaXMuX3ZpZXdDb250ZXh0Lml0ZW1zUGVyUGFnZSA9IGluc3RhbmNlLml0ZW1zUGVyUGFnZTtcbiAgICAgICAgICB0aGlzLl92aWV3Q29udGV4dC5jYW5Mb2FkTW9yZSA9XG4gICAgICAgICAgICAoaW5zdGFuY2UudG90YWxQYWdlcyAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgICBpbnN0YW5jZS5jdXJyZW50UGFnZSAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgICBpbnN0YW5jZS50b3RhbFBhZ2VzID4gaW5zdGFuY2UuY3VycmVudFBhZ2UpIHx8XG4gICAgICAgICAgICBmYWxzZTtcbiAgICAgICAgICB0aGlzLl92aWV3Q29udGV4dC5jdXJyZW50Q2FsY3VsYXRlZFBhZ2UgPSBpbnN0YW5jZS5jdXJyZW50Q2FsY3VsYXRlZFBhZ2U7XG4gICAgICAgICAgdGhpcy5fdmlld0NvbnRleHQuY3VycmVudFF1ZXJ5ID0gY3VycmVudFF1ZXJ5O1xuXG4gICAgICAgICAgaWYgKGlzUXVlcnlTdGF0ZUxvYWRpbmcoc3RhdGUpIHx8IGlzRGVsYXllZCB8fCAhaW5maW5pdHlBcnJheSkge1xuICAgICAgICAgICAgdGhpcy5fdmlld0NvbnRleHQubG9hZGluZyA9IHN0YXRlID8gc3RhdGUubWV0YS50cmlnZ2VyZWRWaWEgIT09ICdwb2xsJyA6IHRydWU7XG4gICAgICAgICAgICB0aGlzLl92aWV3Q29udGV4dC5lcnJvciA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLl92aWV3Q29udGV4dC5pc0ZpcnN0TG9hZCA9IHRoaXMuY29udGV4dC5ldEluZmluaXR5UXVlcnkgPT09IG51bGw7XG4gICAgICAgICAgfSBlbHNlIGlmIChpc1F1ZXJ5U3RhdGVGYWlsdXJlKHN0YXRlKSkge1xuICAgICAgICAgICAgdGhpcy5fdmlld0NvbnRleHQubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5fdmlld0NvbnRleHQuZXJyb3IgPSBzdGF0ZS5lcnJvcjtcbiAgICAgICAgICAgIHRoaXMuX3ZpZXdDb250ZXh0LmlzRmlyc3RMb2FkID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLl9lcnJvckhhbmRsZXIuaGFuZGxlRXJyb3Ioc3RhdGUuZXJyb3IpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoaXNRdWVyeVN0YXRlU3VjY2VzcyhzdGF0ZSkpIHtcbiAgICAgICAgICAgIHRoaXMuX3ZpZXdDb250ZXh0LmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuX3ZpZXdDb250ZXh0LmVycm9yID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuX3ZpZXdDb250ZXh0LmlzRmlyc3RMb2FkID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLl92aWV3Q29udGV4dC5ldEluZmluaXR5UXVlcnkgPSB0aGlzLl92aWV3Q29udGV4dC4kaW1wbGljaXQgPVxuICAgICAgICAgICAgICBpbmZpbml0eUFycmF5IGFzIFFbJ3Jlc3BvbnNlJ11bJ2FycmF5VHlwZSddO1xuICAgICAgICAgICAgdGhpcy5fZGF0YSQubmV4dChpbmZpbml0eUFycmF5KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fcXVlcnlDb25maWdDaGFuZ2VkJCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICByZXR1cm4gaW5zdGFuY2U7XG4gIH1cblxuICBsb2FkTmV4dFBhZ2UoKSB7XG4gICAgaWYgKCF0aGlzLl9pbmZpbml0eVF1ZXJ5SW5zdGFuY2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fdmlld0NvbnRleHQubG9hZGluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2luZmluaXR5UXVlcnlJbnN0YW5jZS5uZXh0UGFnZSgpO1xuICB9XG5cbiAgcmVzZXQobmV3Q29uZmlnPzogT21pdDxRLCAncXVlcnlDcmVhdG9yJyB8ICdyZXNwb25zZSc+KSB7XG4gICAgaWYgKCF0aGlzLl9pbmZpbml0eVF1ZXJ5SW5zdGFuY2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9pbmZpbml0eVF1ZXJ5SW5zdGFuY2UucmVzZXQobmV3Q29uZmlnIGFzIGFueSk7XG4gIH1cblxuICBwcml2YXRlIF9jbGVhbnVwKCkge1xuICAgIHRoaXMuX3F1ZXJ5Q29uZmlnQ2hhbmdlZCQubmV4dCh0cnVlKTtcblxuICAgIHRoaXMuX3ZpZXdDb250ZXh0LmxvYWRpbmcgPSBmYWxzZTtcbiAgICB0aGlzLl92aWV3Q29udGV4dC5lcnJvciA9IG51bGw7XG4gICAgdGhpcy5fdmlld0NvbnRleHQuZXRJbmZpbml0eVF1ZXJ5ID0gbnVsbDtcbiAgICB0aGlzLl92aWV3Q29udGV4dC4kaW1wbGljaXQgPSBudWxsO1xuXG4gICAgdGhpcy5fdmlld0NvbnRleHQuaXNGaXJzdExvYWQgPSBmYWxzZTtcbiAgICB0aGlzLl92aWV3Q29udGV4dC5jYW5Mb2FkTW9yZSA9IGZhbHNlO1xuICAgIHRoaXMuX3ZpZXdDb250ZXh0LmN1cnJlbnRQYWdlID0gbnVsbDtcbiAgICB0aGlzLl92aWV3Q29udGV4dC5pdGVtc1BlclBhZ2UgPSBudWxsO1xuICAgIHRoaXMuX3ZpZXdDb250ZXh0LnRvdGFsUGFnZXMgPSBudWxsO1xuXG4gICAgdGhpcy5fdmlld0NvbnRleHQuY3VycmVudFF1ZXJ5ID0gbnVsbDtcblxuICAgIHRoaXMuX2RhdGEkLm5leHQoW10pO1xuICB9XG59XG4iXX0=
@@ -1,123 +0,0 @@
1
- import { ChangeDetectorRef, Directive, ErrorHandler, Input, TemplateRef, ViewContainerRef, inject, } from '@angular/core';
2
- import { tap } from 'rxjs';
3
- import { extractQuery, isQueryCollection, isQueryStateCancelled, isQueryStateFailure, isQueryStateLoading, isQueryStatePrepared, isQueryStateSuccess, } from '../query';
4
- import * as i0 from "@angular/core";
5
- export class QueryDirective {
6
- constructor() {
7
- this._mainTemplateRef = inject(TemplateRef);
8
- this._viewContainerRef = inject(ViewContainerRef);
9
- this._errorHandler = inject(ErrorHandler);
10
- this._cdr = inject(ChangeDetectorRef);
11
- this._isMainViewCreated = false;
12
- this._subscription = null;
13
- this._viewContext = {
14
- $implicit: null,
15
- etQuery: null,
16
- loading: false,
17
- refreshing: false,
18
- error: null,
19
- progress: null,
20
- scope: null,
21
- query: null,
22
- };
23
- this._cache = false;
24
- }
25
- get query() {
26
- return this._query;
27
- }
28
- set query(v) {
29
- this._query = v;
30
- this._subscribeToQuery();
31
- }
32
- get cache() {
33
- return this._cache;
34
- }
35
- set cache(v) {
36
- this._cache = v;
37
- }
38
- static ngTemplateContextGuard(dir, ctx) {
39
- return true;
40
- }
41
- ngOnInit() {
42
- this._renderMainView();
43
- }
44
- ngOnDestroy() {
45
- this._subscription?.unsubscribe();
46
- }
47
- _subscribeToQuery() {
48
- this._subscription?.unsubscribe();
49
- this._subscription = null;
50
- const query = extractQuery(this.query);
51
- if (!query) {
52
- this._viewContext.$implicit = null;
53
- this._viewContext.etQuery = null;
54
- this._viewContext.loading = false;
55
- this._viewContext.refreshing = false;
56
- this._viewContext.error = null;
57
- this._viewContext.progress = null;
58
- this._viewContext.scope = null;
59
- this._viewContext.query = null;
60
- return;
61
- }
62
- if (isQueryStatePrepared(query.rawState) || isQueryStateCancelled(query.rawState)) {
63
- query.execute();
64
- }
65
- const sub = query.state$.pipe(tap((state) => this._updateView(state))).subscribe();
66
- this._viewContext.scope = isQueryCollection(query) ? query.type : null;
67
- this._viewContext.query = query;
68
- this._subscription = sub;
69
- }
70
- _updateView(state) {
71
- if (isQueryStateLoading(state)) {
72
- this._viewContext.progress = state.progress ?? null;
73
- this._viewContext.refreshing = state.meta.triggeredVia === 'auto' || state.meta.triggeredVia === 'poll';
74
- if (!this._viewContext.refreshing) {
75
- this._viewContext.loading = true;
76
- }
77
- }
78
- else {
79
- this._viewContext.loading = false;
80
- this._viewContext.refreshing = false;
81
- this._viewContext.progress = null;
82
- }
83
- if (isQueryStateSuccess(state)) {
84
- this._viewContext.etQuery = state.response;
85
- this._viewContext.$implicit = state.response;
86
- }
87
- else if (!this.cache) {
88
- this._viewContext.etQuery = null;
89
- this._viewContext.$implicit = null;
90
- }
91
- if (isQueryStateFailure(state)) {
92
- this._viewContext.error = state.error;
93
- this._errorHandler.handleError(state.error);
94
- }
95
- else {
96
- this._viewContext.error = null;
97
- }
98
- this._cdr.markForCheck();
99
- }
100
- _renderMainView() {
101
- if (!this._isMainViewCreated) {
102
- this._isMainViewCreated = true;
103
- this._viewContainerRef.createEmbeddedView(this._mainTemplateRef, this._viewContext);
104
- }
105
- }
106
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: QueryDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
107
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: QueryDirective, isStandalone: true, selector: "[etQuery]", inputs: { query: ["etQuery", "query"], cache: ["etQueryCache", "cache"] }, ngImport: i0 }); }
108
- }
109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: QueryDirective, decorators: [{
110
- type: Directive,
111
- args: [{
112
- // eslint-disable-next-line @angular-eslint/directive-selector
113
- selector: '[etQuery]',
114
- standalone: true,
115
- }]
116
- }], propDecorators: { query: [{
117
- type: Input,
118
- args: ['etQuery']
119
- }], cache: [{
120
- type: Input,
121
- args: ['etQueryCache']
122
- }] } });
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xdWVyeS9zcmMvbGliL2RpcmVjdGl2ZXMvcXVlcnkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsV0FBVyxFQUNYLGdCQUFnQixFQUNoQixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFnQixHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDekMsT0FBTyxFQU1MLFlBQVksRUFDWixpQkFBaUIsRUFDakIscUJBQXFCLEVBQ3JCLG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLG1CQUFtQixHQUNwQixNQUFNLFVBQVUsQ0FBQzs7QUFtRGxCLE1BQU0sT0FBTyxjQUFjO0lBTDNCO1FBTVUscUJBQWdCLEdBQUcsTUFBTSxDQUErQixXQUFXLENBQUMsQ0FBQztRQUNyRSxzQkFBaUIsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM3QyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNyQyxTQUFJLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFakMsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQzNCLGtCQUFhLEdBQXdCLElBQUksQ0FBQztRQUVqQyxpQkFBWSxHQUFvQjtZQUMvQyxTQUFTLEVBQUUsSUFBSTtZQUNmLE9BQU8sRUFBRSxJQUFJO1lBQ2IsT0FBTyxFQUFFLEtBQUs7WUFDZCxVQUFVLEVBQUUsS0FBSztZQUNqQixLQUFLLEVBQUUsSUFBSTtZQUNYLFFBQVEsRUFBRSxJQUFJO1lBQ2QsS0FBSyxFQUFFLElBQUk7WUFDWCxLQUFLLEVBQUUsSUFBSTtTQUNaLENBQUM7UUFvQk0sV0FBTSxHQUFHLEtBQUssQ0FB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LENBQUM7WUFDN0IsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztZQUMvQixJQUFJLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN0RixDQUFDO0lBQ0gsQ0FBQzs4R0EzSFUsY0FBYztrR0FBZCxjQUFjOzsyRkFBZCxjQUFjO2tCQUwxQixTQUFTO21CQUFDO29CQUNULDhEQUE4RDtvQkFDOUQsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFzQkssS0FBSztzQkFEUixLQUFLO3VCQUFDLFNBQVM7Z0JBWVosS0FBSztzQkFEUixLQUFLO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgRGlyZWN0aXZlLFxuICBFcnJvckhhbmRsZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgQW55UXVlcnksXG4gIEFueVF1ZXJ5Q29sbGVjdGlvbixcbiAgUXVlcnlDb2xsZWN0aW9uS2V5c09mLFxuICBRdWVyeU9mLFxuICBRdWVyeVN0YXRlLFxuICBleHRyYWN0UXVlcnksXG4gIGlzUXVlcnlDb2xsZWN0aW9uLFxuICBpc1F1ZXJ5U3RhdGVDYW5jZWxsZWQsXG4gIGlzUXVlcnlTdGF0ZUZhaWx1cmUsXG4gIGlzUXVlcnlTdGF0ZUxvYWRpbmcsXG4gIGlzUXVlcnlTdGF0ZVByZXBhcmVkLFxuICBpc1F1ZXJ5U3RhdGVTdWNjZXNzLFxufSBmcm9tICcuLi9xdWVyeSc7XG5pbXBvcnQgeyBRdWVyeURhdGFPZiB9IGZyb20gJy4uL3F1ZXJ5LWNyZWF0b3InO1xuaW1wb3J0IHsgUmVxdWVzdEVycm9yLCBSZXF1ZXN0UHJvZ3Jlc3MgfSBmcm9tICcuLi9yZXF1ZXN0JztcblxuaW50ZXJmYWNlIFF1ZXJ5Q29udGV4dDxRIGV4dGVuZHMgQW55UXVlcnkgfCBBbnlRdWVyeUNvbGxlY3Rpb24gfCBudWxsPiB7XG4gIC8qKlxuICAgKiBUaGUgcXVlcmllcydzIHJlc3BvbnNlIGRhdGEuXG4gICAqL1xuICAkaW1wbGljaXQ6IFF1ZXJ5RGF0YU9mPFF1ZXJ5T2Y8UT4+IHwgbnVsbDtcblxuICAvKipcbiAgICogVGhlIHF1ZXJpZXMncyByZXNwb25zZSBkYXRhLlxuICAgKi9cbiAgZXRRdWVyeTogUXVlcnlEYXRhT2Y8UXVlcnlPZjxRPj4gfCBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgcXVlcnkgdXNlZCBpbnNpZGUgdGhpcyBkaXJlY3RpdmUuIFVzZWZ1bCBpZiBmb3IgaW5zdGFuY2UgdGhlIHF1ZXJ5IGdldHMgdW53cmFwcGVkIHZpYSBhc3luYyBwaXBlIGluc2lkZSB0aGUgZGlyZWN0aXZlLlxuICAgKi9cbiAgcXVlcnk6IFF1ZXJ5T2Y8UT4gfCBudWxsO1xuXG4gIC8qKlxuICAgKiBJcyB0cnVlIHdoZW4gdGhlIHF1ZXJ5IGlzIHRyaWdnZXJlZCBieSB1c2VyIGludGVyYWN0aW9uLlxuICAgKi9cbiAgbG9hZGluZzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSXMgdHJ1ZSB3aGVuIHRoZSBxdWVyeSBpcyB0cmlnZ2VyZWQgYnkgZWl0aGVyIHBvbGxpbmcgb3IgYXV0byByZWZyZXNoIGV2ZW50LlxuICAgKi9cbiAgcmVmcmVzaGluZzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHF1ZXJ5J3MgcHJvZ3Jlc3Mgc3RhdGUuXG4gICAqL1xuICBwcm9ncmVzczogUmVxdWVzdFByb2dyZXNzIHwgbnVsbDtcblxuICAvKipcbiAgICogVGhlIHF1ZXJ5J3MgZXJyb3Igc3RhdGUuXG4gICAqL1xuICBlcnJvcjogUmVxdWVzdEVycm9yPHVua25vd24+IHwgbnVsbDtcblxuICAvKipcbiAgICogVGhlIHF1ZXJ5J3Mgc2NvcGUgKG9ubHkgYXZhaWxhYmxlIHdoZW4gdGhlIHF1ZXJ5IGlzIGEgY29sbGVjdGlvbilcbiAgICovXG4gIHNjb3BlOiBRdWVyeUNvbGxlY3Rpb25LZXlzT2Y8UT4gfCBudWxsO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdbZXRRdWVyeV0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBRdWVyeURpcmVjdGl2ZTxRIGV4dGVuZHMgQW55UXVlcnkgfCBBbnlRdWVyeUNvbGxlY3Rpb24gfCBudWxsPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfbWFpblRlbXBsYXRlUmVmID0gaW5qZWN0PFRlbXBsYXRlUmVmPFF1ZXJ5Q29udGV4dDxRPj4+KFRlbXBsYXRlUmVmKTtcbiAgcHJpdmF0ZSBfdmlld0NvbnRhaW5lclJlZiA9IGluamVjdChWaWV3Q29udGFpbmVyUmVmKTtcbiAgcHJpdmF0ZSBfZXJyb3JIYW5kbGVyID0gaW5qZWN0KEVycm9ySGFuZGxlcik7XG4gIHByaXZhdGUgX2NkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgcHJpdmF0ZSBfaXNNYWluVmlld0NyZWF0ZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIHJlYWRvbmx5IF92aWV3Q29udGV4dDogUXVlcnlDb250ZXh0PFE+ID0ge1xuICAgICRpbXBsaWNpdDogbnVsbCxcbiAgICBldFF1ZXJ5OiBudWxsLFxuICAgIGxvYWRpbmc6IGZhbHNlLFxuICAgIHJlZnJlc2hpbmc6IGZhbHNlLFxuICAgIGVycm9yOiBudWxsLFxuICAgIHByb2dyZXNzOiBudWxsLFxuICAgIHNjb3BlOiBudWxsLFxuICAgIHF1ZXJ5OiBudWxsLFxuICB9O1xuXG4gIEBJbnB1dCgnZXRRdWVyeScpXG4gIGdldCBxdWVyeSgpOiBRIHtcbiAgICByZXR1cm4gdGhpcy5fcXVlcnk7XG4gIH1cbiAgc2V0IHF1ZXJ5KHY6IFEpIHtcbiAgICB0aGlzLl9xdWVyeSA9IHY7XG5cbiAgICB0aGlzLl9zdWJzY3JpYmVUb1F1ZXJ5KCk7XG4gIH1cbiAgcHJpdmF0ZSBfcXVlcnkhOiBRO1xuXG4gIEBJbnB1dCgnZXRRdWVyeUNhY2hlJylcbiAgZ2V0IGNhY2hlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9jYWNoZTtcbiAgfVxuICBzZXQgY2FjaGUodjogYm9vbGVhbikge1xuICAgIHRoaXMuX2NhY2hlID0gdjtcbiAgfVxuICBwcml2YXRlIF9jYWNoZSA9IGZhbHNlO1xuXG4gIHN0YXRpYyBuZ1RlbXBsYXRlQ29udGV4dEd1YXJkPFEgZXh0ZW5kcyBBbnlRdWVyeSB8IEFueVF1ZXJ5Q29sbGVjdGlvbiB8IG51bGw+KFxuICAgIGRpcjogUXVlcnlEaXJlY3RpdmU8UT4sXG4gICAgY3R4OiB1bmtub3duLFxuICApOiBjdHggaXMgUXVlcnlDb250ZXh0PFE+IHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3JlbmRlck1haW5WaWV3KCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIF9zdWJzY3JpYmVUb1F1ZXJ5KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24gPSBudWxsO1xuXG4gICAgY29uc3QgcXVlcnkgPSBleHRyYWN0UXVlcnkodGhpcy5xdWVyeSk7XG5cbiAgICBpZiAoIXF1ZXJ5KSB7XG4gICAgICB0aGlzLl92aWV3Q29udGV4dC4kaW1wbGljaXQgPSBudWxsO1xuICAgICAgdGhpcy5fdmlld0NvbnRleHQuZXRRdWVyeSA9IG51bGw7XG4gICAgICB0aGlzLl92aWV3Q29udGV4dC5sb2FkaW5nID0gZmFsc2U7XG4gICAgICB0aGlzLl92aWV3Q29udGV4dC5yZWZyZXNoaW5nID0gZmFsc2U7XG4gICAgICB0aGlzLl92aWV3Q29udGV4dC5lcnJvciA9IG51bGw7XG4gICAgICB0aGlzLl92aWV3Q29udGV4dC5wcm9ncmVzcyA9IG51bGw7XG4gICAgICB0aGlzLl92aWV3Q29udGV4dC5zY29wZSA9IG51bGw7XG4gICAgICB0aGlzLl92aWV3Q29udGV4dC5xdWVyeSA9IG51bGw7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGlzUXVlcnlTdGF0ZVByZXBhcmVkKHF1ZXJ5LnJhd1N0YXRlKSB8fCBpc1F1ZXJ5U3RhdGVDYW5jZWxsZWQocXVlcnkucmF3U3RhdGUpKSB7XG4gICAgICBxdWVyeS5leGVjdXRlKCk7XG4gICAgfVxuXG4gICAgY29uc3Qgc3ViID0gcXVlcnkuc3RhdGUkLnBpcGUodGFwKChzdGF0ZSkgPT4gdGhpcy5fdXBkYXRlVmlldyhzdGF0ZSkpKS5zdWJzY3JpYmUoKTtcblxuICAgIHRoaXMuX3ZpZXdDb250ZXh0LnNjb3BlID0gaXNRdWVyeUNvbGxlY3Rpb24ocXVlcnkpID8gKHF1ZXJ5LnR5cGUgYXMgUXVlcnlDb2xsZWN0aW9uS2V5c09mPFE+KSA6IG51bGw7XG4gICAgdGhpcy5fdmlld0NvbnRleHQucXVlcnkgPSBxdWVyeSBhcyBRdWVyeU9mPFE+O1xuXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uID0gc3ViO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlVmlldyhzdGF0ZTogUXVlcnlTdGF0ZSkge1xuICAgIGlmIChpc1F1ZXJ5U3RhdGVMb2FkaW5nKHN0YXRlKSkge1xuICAgICAgdGhpcy5fdmlld0NvbnRleHQucHJvZ3Jlc3MgPSBzdGF0ZS5wcm9ncmVzcyA/PyBudWxsO1xuICAgICAgdGhpcy5fdmlld0NvbnRleHQucmVmcmVzaGluZyA9IHN0YXRlLm1ldGEudHJpZ2dlcmVkVmlhID09PSAnYXV0bycgfHwgc3RhdGUubWV0YS50cmlnZ2VyZWRWaWEgPT09ICdwb2xsJztcblxuICAgICAgaWYgKCF0aGlzLl92aWV3Q29udGV4dC5yZWZyZXNoaW5nKSB7XG4gICAgICAgIHRoaXMuX3ZpZXdDb250ZXh0LmxvYWRpbmcgPSB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl92aWV3Q29udGV4dC5sb2FkaW5nID0gZmFsc2U7XG4gICAgICB0aGlzLl92aWV3Q29udGV4dC5yZWZyZXNoaW5nID0gZmFsc2U7XG4gICAgICB0aGlzLl92aWV3Q29udGV4dC5wcm9ncmVzcyA9IG51bGw7XG4gICAgfVxuXG4gICAgaWYgKGlzUXVlcnlTdGF0ZVN1Y2Nlc3Moc3RhdGUpKSB7XG4gICAgICB0aGlzLl92aWV3Q29udGV4dC5ldFF1ZXJ5ID0gc3RhdGUucmVzcG9uc2UgYXMgUXVlcnlEYXRhT2Y8UXVlcnlPZjxRPj47XG4gICAgICB0aGlzLl92aWV3Q29udGV4dC4kaW1wbGljaXQgPSBzdGF0ZS5yZXNwb25zZSBhcyBRdWVyeURhdGFPZjxRdWVyeU9mPFE+PjtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLmNhY2hlKSB7XG4gICAgICB0aGlzLl92aWV3Q29udGV4dC5ldFF1ZXJ5ID0gbnVsbDtcbiAgICAgIHRoaXMuX3ZpZXdDb250ZXh0LiRpbXBsaWNpdCA9IG51bGw7XG4gICAgfVxuXG4gICAgaWYgKGlzUXVlcnlTdGF0ZUZhaWx1cmUoc3RhdGUpKSB7XG4gICAgICB0aGlzLl92aWV3Q29udGV4dC5lcnJvciA9IHN0YXRlLmVycm9yO1xuXG4gICAgICB0aGlzLl9lcnJvckhhbmRsZXIuaGFuZGxlRXJyb3Ioc3RhdGUuZXJyb3IpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl92aWV3Q29udGV4dC5lcnJvciA9IG51bGw7XG4gICAgfVxuXG4gICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVuZGVyTWFpblZpZXcoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9pc01haW5WaWV3Q3JlYXRlZCkge1xuICAgICAgdGhpcy5faXNNYWluVmlld0NyZWF0ZWQgPSB0cnVlO1xuICAgICAgdGhpcy5fdmlld0NvbnRhaW5lclJlZi5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy5fbWFpblRlbXBsYXRlUmVmLCB0aGlzLl92aWV3Q29udGV4dCk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,127 +0,0 @@
1
- import { Subject, debounceTime, filter, map, shareReplay, startWith } from 'rxjs';
2
- class EntityStoreError extends Error {
3
- constructor(message, detail) {
4
- super(message);
5
- this.detail = detail;
6
- this.name = 'EntityStoreError';
7
- }
8
- }
9
- function flatten(arr) {
10
- return arr.reduce((acc, val) => acc.concat(val), []);
11
- }
12
- export class EntityStore {
13
- constructor(_config) {
14
- this._config = _config;
15
- /**
16
- * @internal
17
- */
18
- this._dictionary = new Map();
19
- /**
20
- * @internal
21
- */
22
- this._change$ = new Subject();
23
- }
24
- select(keyOrKeys) {
25
- if (Array.isArray(keyOrKeys)) {
26
- const _keys = this._normalizeKeys(keyOrKeys);
27
- return this._selectMany(_keys);
28
- }
29
- return this._select(keyOrKeys);
30
- }
31
- /**
32
- * **Note:** Prefer `select` over `selectWhere` when possible.
33
- */
34
- selectWhere(predicate) {
35
- return this._change$.pipe(startWith(null), debounceTime(0), map(() => Array.from(this._dictionary.values()).filter(predicate)), shareReplay({ bufferSize: 1, refCount: true }));
36
- }
37
- set(keyOrKeys, valueOrValues) {
38
- const _keys = this._normalizeKeys(keyOrKeys);
39
- if (Array.isArray(_keys)) {
40
- if (!Array.isArray(valueOrValues)) {
41
- throw new EntityStoreError('When setting multiple keys, values must be an array', {
42
- keyOrValues: _keys,
43
- valueOrValues,
44
- });
45
- }
46
- const _values = (Array.isArray(valueOrValues[0]) ? flatten(valueOrValues) : valueOrValues);
47
- for (let i = 0; i < _keys.length; i++) {
48
- const k = _keys[i];
49
- const v = _values[i];
50
- if (k === undefined || v === undefined)
51
- continue;
52
- this._set(k, v);
53
- }
54
- }
55
- else {
56
- this._set(_keys, valueOrValues);
57
- }
58
- this._change$.next(_keys);
59
- }
60
- remove(keyOrKeys) {
61
- const _keys = this._normalizeKeys(keyOrKeys);
62
- if (Array.isArray(_keys)) {
63
- for (const key of _keys) {
64
- this._remove(key);
65
- }
66
- }
67
- else {
68
- this._remove(_keys);
69
- }
70
- this._change$.next(_keys);
71
- }
72
- logState() {
73
- console.log('EntityStore:', this._config.name, {
74
- dictionary: this._dictionary,
75
- });
76
- }
77
- _select(key) {
78
- if (this._config.logActions) {
79
- console.log('EntityStore: select', this._config.name, key);
80
- }
81
- return this._change$.pipe(startWith(null), filter((v) => {
82
- if (v === null) {
83
- return true;
84
- }
85
- if (Array.isArray(v)) {
86
- return v.includes(key);
87
- }
88
- return v === key;
89
- }), map(() => this._dictionary.get(key) ?? null));
90
- }
91
- _selectMany(keys) {
92
- if (this._config.logActions) {
93
- console.log('EntityStore: selectMany', this._config.name, keys);
94
- }
95
- return this._change$.pipe(startWith(null), filter((v) => {
96
- if (v === null) {
97
- return true;
98
- }
99
- if (Array.isArray(v)) {
100
- return keys.some((key) => v.includes(key));
101
- }
102
- return keys.includes(v);
103
- }), map(() => keys.map((key) => this._dictionary.get(key)).filter((value) => value !== undefined)));
104
- }
105
- _set(key, value) {
106
- if (this._config.logActions) {
107
- console.log('EntityStore: set', this._config.name, key, value);
108
- }
109
- this._dictionary.set(key, value);
110
- }
111
- _remove(key) {
112
- if (this._config.logActions) {
113
- console.log('EntityStore: remove', this._config.name, key);
114
- }
115
- this._dictionary.delete(key);
116
- }
117
- _normalizeKeys(keys) {
118
- if (Array.isArray(keys)) {
119
- if (Array.isArray(keys[0])) {
120
- return flatten(keys);
121
- }
122
- return keys;
123
- }
124
- return keys;
125
- }
126
- }
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xdWVyeS9zcmMvbGliL2VudGl0eS9lbnRpdHktc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRzlGLE1BQU0sZ0JBQWlCLFNBQVEsS0FBSztJQUNsQyxZQUNFLE9BQWUsRUFDUixNQUFnQjtRQUV2QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFGUixXQUFNLEdBQU4sTUFBTSxDQUFVO1FBR3ZCLElBQUksQ0FBQyxJQUFJLEdBQUcsa0JBQWtCLENBQUM7SUFDakMsQ0FBQztDQUNGO0FBRUQsU0FBUyxPQUFPLENBQUksR0FBVTtJQUM1QixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ3ZELENBQUM7QUFFRCxNQUFNLE9BQU8sV0FBVztJQVd0QixZQUE2QixPQUEwQjtRQUExQixZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQVZ2RDs7V0FFRztRQUNNLGdCQUFXLEdBQUcsSUFBSSxHQUFHLEVBQWdCLENBQUM7UUFFL0M7O1dBRUc7UUFDTSxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQTJCLENBQUM7SUFFRCxDQUFDO0lBSzNELE1BQU0sQ0FBQyxTQUFrRDtRQUN2RCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUM3QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzdDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFvQixDQUFD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T0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDeEIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQzNCLE9BQU8sT0FBTyxDQUFDLElBQXFCLENBQUMsQ0FBQztZQUN4QyxDQUFDO1lBRUQsT0FBTyxJQUFtQixDQUFDO1FBQzdCLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIGRlYm91bmNlVGltZSwgZmlsdGVyLCBtYXAsIHNoYXJlUmVwbGF5LCBzdGFydFdpdGggfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEVudGl0eUtleSwgRW50aXR5U3RvcmVDb25maWcgfSBmcm9tICcuL2VudGl0eS50eXBlcyc7XG5cbmNsYXNzIEVudGl0eVN0b3JlRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgICBwdWJsaWMgZGV0YWlsPzogdW5rbm93bixcbiAgKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ0VudGl0eVN0b3JlRXJyb3InO1xuICB9XG59XG5cbmZ1bmN0aW9uIGZsYXR0ZW48VD4oYXJyOiBUW11bXSk6IFRbXSB7XG4gIHJldHVybiBhcnIucmVkdWNlKChhY2MsIHZhbCkgPT4gYWNjLmNvbmNhdCh2YWwpLCBbXSk7XG59XG5cbmV4cG9ydCBjbGFzcyBFbnRpdHlTdG9yZTxUPiB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHJlYWRvbmx5IF9kaWN0aW9uYXJ5ID0gbmV3IE1hcDxFbnRpdHlLZXksIFQ+KCk7XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcmVhZG9ubHkgX2NoYW5nZSQgPSBuZXcgU3ViamVjdDxFbnRpdHlLZXkgfCBFbnRpdHlLZXlbXT4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IF9jb25maWc6IEVudGl0eVN0b3JlQ29uZmlnKSB7fVxuXG4gIHNlbGVjdChrZXk6IEVudGl0eUtleSk6IE9ic2VydmFibGU8VCB8IG51bGw+O1xuICBzZWxlY3Qoa2V5czogRW50aXR5S2V5W10pOiBPYnNlcnZhYmxlPFRbXT47XG4gIHNlbGVjdChrZXlzOiBFbnRpdHlLZXlbXVtdKTogT2JzZXJ2YWJsZTxUW10+O1xuICBzZWxlY3Qoa2V5T3JLZXlzOiBFbnRpdHlLZXkgfCBFbnRpdHlLZXlbXSB8IEVudGl0eUtleVtdW10pOiBPYnNlcnZhYmxlPFQgfCBudWxsPiB8IE9ic2VydmFibGU8VFtdPiB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoa2V5T3JLZXlzKSkge1xuICAgICAgY29uc3QgX2tleXMgPSB0aGlzLl9ub3JtYWxpemVLZXlzKGtleU9yS2V5cyk7XG4gICAgICByZXR1cm4gdGhpcy5fc2VsZWN0TWFueShfa2V5cyBhcyBFbnRpdHlLZXlbXSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdChrZXlPcktleXMpO1xuICB9XG5cbiAgLyoqXG4gICAqICoqTm90ZToqKiBQcmVmZXIgYHNlbGVjdGAgb3ZlciBgc2VsZWN0V2hlcmVgIHdoZW4gcG9zc2libGUuXG4gICAqL1xuICBzZWxlY3RXaGVyZShwcmVkaWNhdGU6ICh2YWx1ZTogVCkgPT4gYm9vbGVhbik6IE9ic2VydmFibGU8VFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NoYW5nZSQucGlwZShcbiAgICAgIHN0YXJ0V2l0aChudWxsKSxcbiAgICAgIGRlYm91bmNlVGltZSgwKSxcbiAgICAgIG1hcCgoKSA9PiBBcnJheS5mcm9tKHRoaXMuX2RpY3Rpb25hcnkudmFsdWVzKCkpLmZpbHRlcihwcmVkaWNhdGUpKSxcbiAgICAgIHNoYXJlUmVwbGF5KHsgYnVmZmVyU2l6ZTogMSwgcmVmQ291bnQ6IHRydWUgfSksXG4gICAgKTtcbiAgfVxuXG4gIHNldChrZXk6IEVudGl0eUtleSwgdmFsdWU6IFQpOiB2b2lkO1xuICBzZXQoa2V5czogRW50aXR5S2V5W10sIHZhbHVlczogVFtdKTogdm9pZDtcbiAgc2V0KGtleXM6IEVudGl0eUtleVtdW10sIHZhbHVlczogVFtdW10pOiB2b2lkO1xuICBzZXQoa2V5T3JLZXlzOiBFbnRpdHlLZXkgfCBFbnRpdHlLZXlbXSB8IEVudGl0eUtleVtdW10sIHZhbHVlT3JWYWx1ZXM6IFQgfCBUW10gfCBUW11bXSkge1xuICAgIGNvbnN0IF9rZXlzID0gdGhpcy5fbm9ybWFsaXplS2V5cyhrZXlPcktleXMpO1xuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoX2tleXMpKSB7XG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWVPclZhbHVlcykpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVudGl0eVN0b3JlRXJyb3IoJ1doZW4gc2V0dGluZyBtdWx0aXBsZSBrZXlzLCB2YWx1ZXMgbXVzdCBiZSBhbiBhcnJheScsIHtcbiAgICAgICAgICBrZXlPclZhbHVlczogX2tleXMsXG4gICAgICAgICAgdmFsdWVPclZhbHVlcyxcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IF92YWx1ZXMgPSAoQXJyYXkuaXNBcnJheSh2YWx1ZU9yVmFsdWVzWzBdKSA/IGZsYXR0ZW4odmFsdWVPclZhbHVlcyBhcyBUW11bXSkgOiB2YWx1ZU9yVmFsdWVzKSBhcyBUW107XG5cbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgX2tleXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgayA9IF9rZXlzW2ldO1xuICAgICAgICBjb25zdCB2ID0gX3ZhbHVlc1tpXTtcblxuICAgICAgICBpZiAoayA9PT0gdW5kZWZpbmVkIHx8IHYgPT09IHVuZGVmaW5lZCkgY29udGludWU7XG5cbiAgICAgICAgdGhpcy5fc2V0KGssIHYpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9zZXQoX2tleXMsIHZhbHVlT3JWYWx1ZXMgYXMgVCk7XG4gICAgfVxuXG4gICAgdGhpcy5fY2hhbmdlJC5uZXh0KF9rZXlzKTtcbiAgfVxuXG4gIHJlbW92ZShrZXk6IEVudGl0eUtleSk6IHZvaWQ7XG4gIHJlbW92ZShrZXlzOiBFbnRpdHlLZXlbXSk6IHZvaWQ7XG4gIHJlbW92ZShrZXlzOiBFbnRpdHlLZXlbXVtdKTogdm9pZDtcbiAgcmVtb3ZlKGtleU9yS2V5czogRW50aXR5S2V5IHwgRW50aXR5S2V5W10gfCBFbnRpdHlLZXlbXVtdKSB7XG4gICAgY29uc3QgX2tleXMgPSB0aGlzLl9ub3JtYWxpemVLZXlzKGtleU9yS2V5cyk7XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShfa2V5cykpIHtcbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIF9rZXlzKSB7XG4gICAgICAgIHRoaXMuX3JlbW92ZShrZXkpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9yZW1vdmUoX2tleXMpO1xuICAgIH1cblxuICAgIHRoaXMuX2NoYW5nZSQubmV4dChfa2V5cyk7XG4gIH1cblxuICBsb2dTdGF0ZSgpIHtcbiAgICBjb25zb2xlLmxvZygnRW50aXR5U3RvcmU6JywgdGhpcy5fY29uZmlnLm5hbWUsIHtcbiAgICAgIGRpY3Rpb25hcnk6IHRoaXMuX2RpY3Rpb25hcnksXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9zZWxlY3Qoa2V5OiBFbnRpdHlLZXkpOiBPYnNlcnZhYmxlPFQgfCBudWxsPiB7XG4gICAgaWYgKHRoaXMuX2NvbmZpZy5sb2dBY3Rpb25zKSB7XG4gICAgICBjb25zb2xlLmxvZygnRW50aXR5U3RvcmU6IHNlbGVjdCcsIHRoaXMuX2NvbmZpZy5uYW1lLCBrZXkpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9jaGFuZ2UkLnBpcGUoXG4gICAgICBzdGFydFdpdGgobnVsbCksXG4gICAgICBmaWx0ZXIoKHYpID0+IHtcbiAgICAgICAgaWYgKHYgPT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHYpKSB7XG4gICAgICAgICAgcmV0dXJuIHYuaW5jbHVkZXMoa2V5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2ID09PSBrZXk7XG4gICAgICB9KSxcbiAgICAgIG1hcCgoKSA9PiB0aGlzLl9kaWN0aW9uYXJ5LmdldChrZXkpID8/IG51bGwpLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9zZWxlY3RNYW55KGtleXM6IEVudGl0eUtleVtdKTogT2JzZXJ2YWJsZTxUW10+IHtcbiAgICBpZiAodGhpcy5fY29uZmlnLmxvZ0FjdGlvbnMpIHtcbiAgICAgIGNvbnNvbGUubG9nKCdFbnRpdHlTdG9yZTogc2VsZWN0TWFueScsIHRoaXMuX2NvbmZpZy5uYW1lLCBrZXlzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fY2hhbmdlJC5waXBlKFxuICAgICAgc3RhcnRXaXRoKG51bGwpLFxuICAgICAgZmlsdGVyKCh2KSA9PiB7XG4gICAgICAgIGlmICh2ID09PSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2KSkge1xuICAgICAgICAgIHJldHVybiBrZXlzLnNvbWUoKGtleSkgPT4gdi5pbmNsdWRlcyhrZXkpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBrZXlzLmluY2x1ZGVzKHYpO1xuICAgICAgfSksXG4gICAgICBtYXAoKCkgPT4ga2V5cy5tYXAoKGtleSkgPT4gdGhpcy5fZGljdGlvbmFyeS5nZXQoa2V5KSkuZmlsdGVyKCh2YWx1ZSk6IHZhbHVlIGlzIFQgPT4gdmFsdWUgIT09IHVuZGVmaW5lZCkpLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9zZXQoa2V5OiBFbnRpdHlLZXksIHZhbHVlOiBUKSB7XG4gICAgaWYgKHRoaXMuX2NvbmZpZy5sb2dBY3Rpb25zKSB7XG4gICAgICBjb25zb2xlLmxvZygnRW50aXR5U3RvcmU6IHNldCcsIHRoaXMuX2NvbmZpZy5uYW1lLCBrZXksIHZhbHVlKTtcbiAgICB9XG5cbiAgICB0aGlzLl9kaWN0aW9uYXJ5LnNldChrZXksIHZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlbW92ZShrZXk6IEVudGl0eUtleSkge1xuICAgIGlmICh0aGlzLl9jb25maWcubG9nQWN0aW9ucykge1xuICAgICAgY29uc29sZS5sb2coJ0VudGl0eVN0b3JlOiByZW1vdmUnLCB0aGlzLl9jb25maWcubmFtZSwga2V5KTtcbiAgICB9XG5cbiAgICB0aGlzLl9kaWN0aW9uYXJ5LmRlbGV0ZShrZXkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfbm9ybWFsaXplS2V5cyhrZXlzOiBFbnRpdHlLZXkgfCBFbnRpdHlLZXlbXSB8IEVudGl0eUtleVtdW10pOiBFbnRpdHlLZXkgfCBFbnRpdHlLZXlbXSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoa2V5cykpIHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGtleXNbMF0pKSB7XG4gICAgICAgIHJldHVybiBmbGF0dGVuKGtleXMgYXMgRW50aXR5S2V5W11bXSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBrZXlzIGFzIEVudGl0eUtleVtdO1xuICAgIH1cblxuICAgIHJldHVybiBrZXlzO1xuICB9XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xdWVyeS9zcmMvbGliL2VudGl0eS9lbnRpdHkudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEVudGl0eUtleSA9IHN0cmluZyB8IG51bWJlcjtcblxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlTdG9yZUNvbmZpZyB7XG4gIG5hbWU6IHN0cmluZztcbiAgbG9nQWN0aW9ucz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5zZXJ0RnJvbUNvbmZpZzxcbiAgT3JpZ2luU3RvcmVUeXBlLFxuICBPcmlnaW5LZXlzIGV4dGVuZHMga2V5b2YgTm9uTnVsbGFibGU8T3JpZ2luU3RvcmVUeXBlPixcbiAgSWRGbiBleHRlbmRzICh2YWx1ZTogTm9uTnVsbGFibGU8T3JpZ2luU3RvcmVUeXBlPikgPT4gRW50aXR5S2V5IHwgRW50aXR5S2V5W10sXG4+IHtcbiAgLyoqXG4gICAqIFRoZSBwcm9wZXJ0eSBrZXkgb2Ygd2hpY2ggdGhlIHZhbHVlIHNob3VsZCBiZSByZXBsYWNlZC5cbiAgICovXG4gIGZvcjogT3JpZ2luS2V5cztcblxuICAvKipcbiAgICogQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgdGhlIGlkIG9mIHRoZSBlbnRpdHkuIENhbiBhbHNvIHJldHVybiBhbiBhcnJheSBvZiBpZHMuXG4gICAqL1xuICBpZDogSWRGbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZW1vdmVGcm9tQ29uZmlnPFQ+IHtcbiAgLyoqXG4gICAqIFRoZSB3aGVyZSBmdW5jdGlvbiB0byBzZWxlY3QgdGhlIGVudGl0aWVzIHRvIHJlbW92ZS5cbiAgICovXG4gIHdoZXJlOiAoZW50aXR5OiBUKSA9PiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0aGUgaWQgb2YgdGhlIGVudGl0eS5cbiAgICovXG4gIGlkOiAoZW50aXR5OiBUKSA9PiBFbnRpdHlLZXk7XG59XG4iXX0=
@@ -1,29 +0,0 @@
1
- import { map, of, switchMap, take, tap } from 'rxjs';
2
- export function mapToPaginated(response) {
3
- return map((items) => ({ ...response, items }));
4
- }
5
- // FIXME: This breaks if SubStoreType is an array
6
- /**
7
- * Use an other store to represent a property of the current entity.
8
- */
9
- export const insertFrom = (store, { for: key, id }) => switchMap((value) => {
10
- if (!value)
11
- return of(null);
12
- const ids = id(value);
13
- if (Array.isArray(ids)) {
14
- return store.select(ids).pipe(map((data) => ({ ...value, [key]: data })));
15
- }
16
- else {
17
- return store.select(ids).pipe(map((data) => ({ ...value, [key]: data })));
18
- }
19
- });
20
- /**
21
- * Remove entities from a store based on a where function.
22
- */
23
- export const removeFrom = (store, { where, id }) => {
24
- store
25
- .selectWhere(where)
26
- .pipe(tap((entities) => store.remove(entities.map(id))), take(1))
27
- .subscribe();
28
- };
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xdWVyeS9zcmMvbGliL2VudGl0eS9lbnRpdHkudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJckQsTUFBTSxVQUFVLGNBQWMsQ0FBSSxRQUFzQjtJQUN0RCxPQUFPLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFpQixDQUFDLENBQUM7QUFDbEUsQ0FBQztBQUVELGlEQUFpRDtBQUNqRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQVd4QixLQUFnQyxFQUNoQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUF1RCxFQUNyRSxFQUFFLENBQ0YsU0FBUyxDQUFDLENBQUMsS0FBc0IsRUFBRSxFQUFFO0lBQ25DLElBQUksQ0FBQyxLQUFLO1FBQUUsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFNUIsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXRCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBdUIsQ0FBQyxDQUFDLENBQUM7SUFDbEcsQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQXVCLENBQUMsQ0FBQyxDQUFDO0lBQ2xHLENBQUM7QUFDSCxDQUFDLENBQUMsQ0FBQztBQUVMOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUksS0FBcUIsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQXVCLEVBQUUsRUFBRTtJQUN6RixLQUFLO1NBQ0YsV0FBVyxDQUFDLEtBQUssQ0FBQztTQUNsQixJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUNqRCxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ1I7U0FDQSxTQUFTLEVBQUUsQ0FBQztBQUNqQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYWdpbmF0ZWQgfSBmcm9tICdAZXRobGV0ZS90eXBlcyc7XG5pbXBvcnQgeyBtYXAsIG9mLCBzd2l0Y2hNYXAsIHRha2UsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRW50aXR5U3RvcmUgfSBmcm9tICcuL2VudGl0eS1zdG9yZSc7XG5pbXBvcnQgeyBFbnRpdHlLZXksIEluc2VydEZyb21Db25maWcsIFJlbW92ZUZyb21Db25maWcgfSBmcm9tICcuL2VudGl0eS50eXBlcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXBUb1BhZ2luYXRlZDxUPihyZXNwb25zZTogUGFnaW5hdGVkPFQ+KSB7XG4gIHJldHVybiBtYXAoKGl0ZW1zKSA9PiAoeyAuLi5yZXNwb25zZSwgaXRlbXMgfSkgYXMgUGFnaW5hdGVkPFQ+KTtcbn1cblxuLy8gRklYTUU6IFRoaXMgYnJlYWtzIGlmIFN1YlN0b3JlVHlwZSBpcyBhbiBhcnJheVxuLyoqXG4gKiBVc2UgYW4gb3RoZXIgc3RvcmUgdG8gcmVwcmVzZW50IGEgcHJvcGVydHkgb2YgdGhlIGN1cnJlbnQgZW50aXR5LlxuICovXG5leHBvcnQgY29uc3QgaW5zZXJ0RnJvbSA9IDxcbiAgT3JpZ2luU3RvcmVUeXBlLFxuICBPcmlnaW5LZXlzIGV4dGVuZHMga2V5b2YgTm9uTnVsbGFibGU8T3JpZ2luU3RvcmVUeXBlPixcbiAgU3ViU3RvcmVUeXBlIGV4dGVuZHMgTm9uTnVsbGFibGU8T3JpZ2luU3RvcmVUeXBlPltPcmlnaW5LZXlzXSBleHRlbmRzIEFycmF5PGluZmVyIFU+XG4gICAgPyBVXG4gICAgOiBOb25OdWxsYWJsZTxPcmlnaW5TdG9yZVR5cGU+W09yaWdpbktleXNdLFxuICBJZEZuIGV4dGVuZHMgKHZhbHVlOiBOb25OdWxsYWJsZTxPcmlnaW5TdG9yZVR5cGU+KSA9PiBFbnRpdHlLZXkgfCBFbnRpdHlLZXlbXSxcbiAgQ29tcHV0ZWRFbnRpdHlUeXBlIGV4dGVuZHMgUmV0dXJuVHlwZTxJZEZuPiBleHRlbmRzIEFycmF5PHVua25vd24+XG4gICAgPyBPcmlnaW5TdG9yZVR5cGVcbiAgICA6IE9taXQ8T3JpZ2luU3RvcmVUeXBlLCBPcmlnaW5LZXlzPiAmIHsgW0sgaW4gT3JpZ2luS2V5c106IFN1YlN0b3JlVHlwZSB8IG51bGwgfSxcbj4oXG4gIHN0b3JlOiBFbnRpdHlTdG9yZTxTdWJTdG9yZVR5cGU+LFxuICB7IGZvcjoga2V5LCBpZCB9OiBJbnNlcnRGcm9tQ29uZmlnPE9yaWdpblN0b3JlVHlwZSwgT3JpZ2luS2V5cywgSWRGbj4sXG4pID0+XG4gIHN3aXRjaE1hcCgodmFsdWU6IE9yaWdpblN0b3JlVHlwZSkgPT4ge1xuICAgIGlmICghdmFsdWUpIHJldHVybiBvZihudWxsKTtcblxuICAgIGNvbnN0IGlkcyA9IGlkKHZhbHVlKTtcblxuICAgIGlmIChBcnJheS5pc0FycmF5KGlkcykpIHtcbiAgICAgIHJldHVybiBzdG9yZS5zZWxlY3QoaWRzKS5waXBlKG1hcCgoZGF0YSkgPT4gKHsgLi4udmFsdWUsIFtrZXldOiBkYXRhIH0pIGFzIENvbXB1dGVkRW50aXR5VHlwZSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gc3RvcmUuc2VsZWN0KGlkcykucGlwZShtYXAoKGRhdGEpID0+ICh7IC4uLnZhbHVlLCBba2V5XTogZGF0YSB9KSBhcyBDb21wdXRlZEVudGl0eVR5cGUpKTtcbiAgICB9XG4gIH0pO1xuXG4vKipcbiAqIFJlbW92ZSBlbnRpdGllcyBmcm9tIGEgc3RvcmUgYmFzZWQgb24gYSB3aGVyZSBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGNvbnN0IHJlbW92ZUZyb20gPSA8VD4oc3RvcmU6IEVudGl0eVN0b3JlPFQ+LCB7IHdoZXJlLCBpZCB9OiBSZW1vdmVGcm9tQ29uZmlnPFQ+KSA9PiB7XG4gIHN0b3JlXG4gICAgLnNlbGVjdFdoZXJlKHdoZXJlKVxuICAgIC5waXBlKFxuICAgICAgdGFwKChlbnRpdGllcykgPT4gc3RvcmUucmVtb3ZlKGVudGl0aWVzLm1hcChpZCkpKSxcbiAgICAgIHRha2UoMSksXG4gICAgKVxuICAgIC5zdWJzY3JpYmUoKTtcbn07XG4iXX0=
@@ -1,4 +0,0 @@
1
- export * from './entity-store';
2
- export * from './entity.types';
3
- export * from './entity.utils';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvZW50aXR5L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lbnRpdHktc3RvcmUnO1xuZXhwb3J0ICogZnJvbSAnLi9lbnRpdHkudHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9lbnRpdHkudXRpbHMnO1xuIl19
@@ -1,19 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- export const createBearerAuthProviderConfig = (options) => {
3
- const token = new InjectionToken(`BearerAuthProvider_${options.name}`);
4
- const bearerAuthProviderConfig = {
5
- name: options.name,
6
- queryClientRef: options.queryClientRef,
7
- token,
8
- cookie: options.cookie,
9
- expiresInPropertyName: options.expiresInPropertyName || 'exp',
10
- refreshBuffer: options.refreshBuffer ?? 300000,
11
- refreshOnUnauthorizedResponse: options.refreshOnUnauthorizedResponse ?? true,
12
- login: options.login,
13
- selectRole: options.selectRole,
14
- tokenLogin: options.tokenLogin,
15
- tokenRefresh: options.tokenRefresh,
16
- };
17
- return bearerAuthProviderConfig;
18
- };
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVhcmVyLWF1dGgtcHJvdmlkZXItY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xdWVyeS9zcmMvbGliL2V4cGVyaW1lbnRhbC9iZWFyZXItYXV0aC1wcm92aWRlci1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQXNKL0MsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsQ0FNNUMsT0FBK0csRUFDL0csRUFBRTtJQUNGLE1BQU0sS0FBSyxHQUFHLElBQUksY0FBYyxDQUU5QixzQkFBc0IsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFFeEMsTUFBTSx3QkFBd0IsR0FLMUI7UUFDRixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7UUFDbEIsY0FBYyxFQUFFLE9BQU8sQ0FBQyxjQUFjO1FBQ3RDLEtBQUs7UUFDTCxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU07UUFDdEIscUJBQXFCLEVBQUUsT0FBTyxDQUFDLHFCQUFxQixJQUFJLEtBQUs7UUFDN0QsYUFBYSxFQUFFLE9BQU8sQ0FBQyxhQUFhLElBQUksTUFBTTtRQUM5Qyw2QkFBNkIsRUFBRSxPQUFPLENBQUMsNkJBQTZCLElBQUksSUFBSTtRQUM1RSxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7UUFDcEIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVO1FBQzlCLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVTtRQUM5QixZQUFZLEVBQUUsT0FBTyxDQUFDLFlBQVk7S0FDbkMsQ0FBQztJQUVGLE9BQU8sd0JBQXdCLENBQUM7QUFDbEMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlYXJlckF1dGhQcm92aWRlciB9IGZyb20gJy4vYmVhcmVyLWF1dGgtcHJvdmlkZXInO1xuaW1wb3J0IHsgUXVlcnlBcmdzLCBSZXF1ZXN0QXJncywgUmVzcG9uc2VUeXBlIH0gZnJvbSAnLi9xdWVyeSc7XG5pbXBvcnQgeyBRdWVyeUNsaWVudFJlZiB9IGZyb20gJy4vcXVlcnktY2xpZW50LWNvbmZpZyc7XG5pbXBvcnQgeyBRdWVyeUNyZWF0b3IgfSBmcm9tICcuL3F1ZXJ5LWNyZWF0b3InO1xuXG5leHBvcnQgdHlwZSBCZWFyZXJBdXRoUHJvdmlkZXJUb2tlbnMgPSB7XG4gIGFjY2Vzc1Rva2VuOiBzdHJpbmc7XG4gIHJlZnJlc2hUb2tlbjogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgQmVhcmVyQXV0aFByb3ZpZGVyUm91dGVDb25maWc8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+ID0ge1xuICBxdWVyeUNyZWF0b3I6IFF1ZXJ5Q3JlYXRvcjxUQXJncz47XG5cbiAgLyoqXG4gICAqIEEgZnVuY3Rpb24gdGhhdCB0cmFuc2Zvcm1zIHRoZSByZXNwb25zZSBpbnRvIHRoZSBmb3JtYXQgdGhhdCB0aGUgYXV0aCBwcm92aWRlciBleHBlY3RzXG4gICAqXG4gICAqIFRoZSBleHBlY3RlZCBmb3JtYXQgaXMgYW4gb2JqZWN0IHdpdGggdGhlIGBhY2Nlc3NUb2tlbmAgYW5kIGByZWZyZXNoVG9rZW5gIHByb3BlcnRpZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IChyZXNwb25zZSkgPT4gcmVzcG9uc2VcbiAgICovXG4gIHJlc3BvbnNlVHJhbnNmb3JtZXI/OiAocmVzcG9uc2U6IFJlc3BvbnNlVHlwZTxUQXJncz4pID0+IEJlYXJlckF1dGhQcm92aWRlclRva2Vucztcbn07XG5cbmV4cG9ydCB0eXBlIEJlYXJlckF1dGhQcm92aWRlckNvb2tpZUNvbmZpZzxUVG9rZW5SZWZyZXNoQXJncyBleHRlbmRzIFF1ZXJ5QXJncz4gPSB7XG4gIC8qKlxuICAgKiBUaGUgY29va2llIG5hbWUgd2hlcmUgdGhlIHJlZnJlc2ggdG9rZW4gaXMgc3RvcmVkXG4gICAqIEBkZWZhdWx0ICdldEF1dGgnXG4gICAqL1xuICBuYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZG9tYWluIG9mIHRoZSBjb29raWUuIElmIG5vdCBzZXQsIHRoZSBjdXJyZW50IG9yaWdpbiB3aWxsIGJlIHVzZWQuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIFwiaHR0cHM6Ly9leGFtcGxlLmNvbVwiIC0+IFwiZXhhbXBsZS5jb21cIlxuICAgKiBcImh0dHBzOi8vc3ViLmV4YW1wbGUuY29tXCIgLT4gXCJleGFtcGxlLmNvbVwiXG4gICAqL1xuICBkb21haW4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkYXlzIHVudGlsIHRoZSBjb29raWUgZXhwaXJlc1xuICAgKiBAZGVmYXVsdCAzMFxuICAgKi9cbiAgZXhwaXJlc0luRGF5cz86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIHBhdGggb2YgdGhlIGNvb2tpZVxuICAgKiBAZGVmYXVsdCAnLydcbiAgICovXG4gIHBhdGg/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBvciBkaXNhYmxlIHRoZSBjb29raWVcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgZW5hYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBzYW1lIHNpdGUgcHJvcGVydHkgb2YgdGhlIGNvb2tpZVxuICAgKiBAZGVmYXVsdCAnbGF4J1xuICAgKi9cbiAgc2FtZVNpdGU/OiAnc3RyaWN0JyB8ICdub25lJyB8ICdsYXgnO1xuXG4gIC8qKlxuICAgKiBBIGZ1bmN0aW9uIHRoYXQgdHVybnMgdGhlIHRva2VuIGdvdHRlbiBmcm9tIHRoZSBjb29raWUgaW50byB0aGUgYm9keSBmb3IgdGhlIHJlZnJlc2ggdG9rZW4gcmVxdWVzdFxuICAgKiBAZGVmYXVsdCAodG9rZW4pID0+ICh7IHRva2VuIH0pXG4gICAqL1xuICByZWZyZXNoQXJnc1RyYW5zZm9ybWVyPzogKHRva2VuOiBzdHJpbmcpID0+IFJlcXVlc3RBcmdzPFRUb2tlblJlZnJlc2hBcmdzPjtcbn07XG5cbmV4cG9ydCB0eXBlIENyZWF0ZUJlYXJlckF1dGhQcm92aWRlckNvbmZpZ09wdGlvbnM8XG4gIFRMb2dpbkFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3MsXG4gIFRUb2tlbkxvZ2luQXJncyBleHRlbmRzIFF1ZXJ5QXJncyxcbiAgVFRva2VuUmVmcmVzaEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3MsXG4gIFRTZWxlY3RSb2xlQXJncyBleHRlbmRzIFF1ZXJ5QXJncyxcbj4gPSB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgYXV0aCBwcm92aWRlclxuICAgKi9cbiAgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcXVlcnkgY2xpZW50IHJlZmVyZW5jZVxuICAgKi9cbiAgcXVlcnlDbGllbnRSZWY6IFF1ZXJ5Q2xpZW50UmVmO1xuXG4gIC8qKlxuICAgKiBUaGUgbG9naW4gcm91dGUgY29uZmlndXJhdGlvblxuICAgKi9cbiAgbG9naW4/OiBCZWFyZXJBdXRoUHJvdmlkZXJSb3V0ZUNvbmZpZzxUTG9naW5BcmdzPjtcblxuICAvKipcbiAgICogVGhlIHRva2VuIGxvZ2luIHJvdXRlIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHRva2VuTG9naW4/OiBCZWFyZXJBdXRoUHJvdmlkZXJSb3V0ZUNvbmZpZzxUVG9rZW5Mb2dpbkFyZ3M+O1xuXG4gIC8qKlxuICAgKiBUaGUgdG9rZW4gcmVmcmVzaCByb3V0ZSBjb25maWd1cmF0aW9uXG4gICAqL1xuICB0b2tlblJlZnJlc2g/OiBCZWFyZXJBdXRoUHJvdmlkZXJSb3V0ZUNvbmZpZzxUVG9rZW5SZWZyZXNoQXJncz47XG5cbiAgLyoqXG4gICAqIFRoZSBzZWxlY3Qgcm9sZSByb3V0ZSBjb25maWd1cmF0aW9uXG4gICAqL1xuICBzZWxlY3RSb2xlPzogQmVhcmVyQXV0aFByb3ZpZGVyUm91dGVDb25maWc8VFNlbGVjdFJvbGVBcmdzPjtcblxuICAvKipcbiAgICogVGhlIGNvb2tpZSBjb25maWd1cmF0aW9uIGZvciB0aGUgYXV0aCBwcm92aWRlclxuICAgKi9cbiAgY29va2llPzogQmVhcmVyQXV0aFByb3ZpZGVyQ29va2llQ29uZmlnPFRUb2tlblJlZnJlc2hBcmdzPjtcblxuICAvKipcbiAgICogVGhlIHRpbWUgaW4gbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdG9rZW4gZXhwaXJlcyB3aGVuIHRoZSByZWZyZXNoIHNob3VsZCBiZSB0cmlnZ2VyZWQuXG4gICAqIEBkZWZhdWx0IDMwMDAwMCAvLyAoNSBtaW51dGVzKVxuICAgKi9cbiAgcmVmcmVzaEJ1ZmZlcj86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIGV4cGlyZXMgaW4gcHJvcGVydHkgbmFtZSBpbnNpZGUgdGhlIGp3dCBib2R5XG4gICAqIEBkZWZhdWx0ICdleHAnXG4gICAqL1xuICBleHBpcmVzSW5Qcm9wZXJ0eU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgdGhlIHRva2VuIHNob3VsZCBiZSByZWZyZXNoZWQgaWYgKiphbnkqKiBxdWVyeSByZXR1cm5zIGEgNDAxIHJlc3BvbnNlLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWZyZXNoT25VbmF1dGhvcml6ZWRSZXNwb25zZT86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBCZWFyZXJBdXRoUHJvdmlkZXJDb25maWc8XG4gIFRMb2dpbkFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3MsXG4gIFRUb2tlbkxvZ2luQXJncyBleHRlbmRzIFF1ZXJ5QXJncyxcbiAgVFRva2VuUmVmcmVzaEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3MsXG4gIFRTZWxlY3RSb2xlQXJncyBleHRlbmRzIFF1ZXJ5QXJncyxcbj4gPSBDcmVhdGVCZWFyZXJBdXRoUHJvdmlkZXJDb25maWdPcHRpb25zPFRMb2dpbkFyZ3MsIFRUb2tlbkxvZ2luQXJncywgVFRva2VuUmVmcmVzaEFyZ3MsIFRTZWxlY3RSb2xlQXJncz4gJiB7XG4gIHRva2VuOiBCZWFyZXJBdXRoUHJvdmlkZXJSZWY8VExvZ2luQXJncywgVFRva2VuTG9naW5BcmdzLCBUVG9rZW5SZWZyZXNoQXJncywgVFNlbGVjdFJvbGVBcmdzPjtcbn07XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG5leHBvcnQgdHlwZSBBbnlCZWFyZXJBdXRoUHJvdmlkZXJDb25maWcgPSBCZWFyZXJBdXRoUHJvdmlkZXJDb25maWc8YW55LCBhbnksIGFueSwgYW55PjtcblxuZXhwb3J0IHR5cGUgQmVhcmVyQXV0aFByb3ZpZGVyUmVmPFxuICBUTG9naW5BcmdzIGV4dGVuZHMgUXVlcnlBcmdzLFxuICBUVG9rZW5Mb2dpbkFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3MsXG4gIFRUb2tlblJlZnJlc2hBcmdzIGV4dGVuZHMgUXVlcnlBcmdzLFxuICBUU2VsZWN0Um9sZUFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3MsXG4+ID0gSW5qZWN0aW9uVG9rZW48QmVhcmVyQXV0aFByb3ZpZGVyPFRMb2dpbkFyZ3MsIFRUb2tlbkxvZ2luQXJncywgVFRva2VuUmVmcmVzaEFyZ3MsIFRTZWxlY3RSb2xlQXJncz4+O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlQmVhcmVyQXV0aFByb3ZpZGVyQ29uZmlnID0gPFxuICBUTG9naW5BcmdzIGV4dGVuZHMgUXVlcnlBcmdzLFxuICBUVG9rZW5Mb2dpbkFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3MsXG4gIFRUb2tlblJlZnJlc2hBcmdzIGV4dGVuZHMgUXVlcnlBcmdzLFxuICBUU2VsZWN0Um9sZUFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3MsXG4+KFxuICBvcHRpb25zOiBDcmVhdGVCZWFyZXJBdXRoUHJvdmlkZXJDb25maWdPcHRpb25zPFRMb2dpbkFyZ3MsIFRUb2tlbkxvZ2luQXJncywgVFRva2VuUmVmcmVzaEFyZ3MsIFRTZWxlY3RSb2xlQXJncz4sXG4pID0+IHtcbiAgY29uc3QgdG9rZW4gPSBuZXcgSW5qZWN0aW9uVG9rZW48XG4gICAgQmVhcmVyQXV0aFByb3ZpZGVyQ29uZmlnPFRMb2dpbkFyZ3MsIFRUb2tlbkxvZ2luQXJncywgVFRva2VuUmVmcmVzaEFyZ3MsIFRTZWxlY3RSb2xlQXJncz5cbiAgPihgQmVhcmVyQXV0aFByb3ZpZGVyXyR7b3B0aW9ucy5uYW1lfWApO1xuXG4gIGNvbnN0IGJlYXJlckF1dGhQcm92aWRlckNvbmZpZzogQmVhcmVyQXV0aFByb3ZpZGVyQ29uZmlnPFxuICAgIFRMb2dpbkFyZ3MsXG4gICAgVFRva2VuTG9naW5BcmdzLFxuICAgIFRUb2tlblJlZnJlc2hBcmdzLFxuICAgIFRTZWxlY3RSb2xlQXJnc1xuICA+ID0ge1xuICAgIG5hbWU6IG9wdGlvbnMubmFtZSxcbiAgICBxdWVyeUNsaWVudFJlZjogb3B0aW9ucy5xdWVyeUNsaWVudFJlZixcbiAgICB0b2tlbixcbiAgICBjb29raWU6IG9wdGlvbnMuY29va2llLFxuICAgIGV4cGlyZXNJblByb3BlcnR5TmFtZTogb3B0aW9ucy5leHBpcmVzSW5Qcm9wZXJ0eU5hbWUgfHwgJ2V4cCcsXG4gICAgcmVmcmVzaEJ1ZmZlcjogb3B0aW9ucy5yZWZyZXNoQnVmZmVyID8/IDMwMDAwMCxcbiAgICByZWZyZXNoT25VbmF1dGhvcml6ZWRSZXNwb25zZTogb3B0aW9ucy5yZWZyZXNoT25VbmF1dGhvcml6ZWRSZXNwb25zZSA/PyB0cnVlLFxuICAgIGxvZ2luOiBvcHRpb25zLmxvZ2luLFxuICAgIHNlbGVjdFJvbGU6IG9wdGlvbnMuc2VsZWN0Um9sZSxcbiAgICB0b2tlbkxvZ2luOiBvcHRpb25zLnRva2VuTG9naW4sXG4gICAgdG9rZW5SZWZyZXNoOiBvcHRpb25zLnRva2VuUmVmcmVzaCxcbiAgfTtcblxuICByZXR1cm4gYmVhcmVyQXV0aFByb3ZpZGVyQ29uZmlnO1xufTtcbiJdfQ==