@alauda-fe/dynamic-plugin-shared 0.0.1-alpha.13 → 0.0.1-alpha.15

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 (113) hide show
  1. package/components/index.d.ts +0 -2
  2. package/components/resource-multi-select/component.d.ts +2 -2
  3. package/esm2022/array-form-table/form/component.mjs +2 -2
  4. package/esm2022/array-form-table/key-value-form/component.mjs +2 -2
  5. package/esm2022/array-form-table/key-value-table/component.mjs +2 -2
  6. package/esm2022/async-data/async-data-loader.mjs +2 -2
  7. package/esm2022/async-data/page-state/component.mjs +2 -3
  8. package/esm2022/code-editor/resource-yaml-display/component.mjs +2 -2
  9. package/esm2022/components/current-time/component.mjs +2 -2
  10. package/esm2022/components/date-range-picker/component.mjs +2 -2
  11. package/esm2022/components/disabled-container/disabled-container.component.mjs +2 -2
  12. package/esm2022/components/foldable-item-in-table/component.mjs +2 -2
  13. package/esm2022/components/help-document/component.mjs +2 -2
  14. package/esm2022/components/index.mjs +1 -3
  15. package/esm2022/components/list-display/component.mjs +2 -2
  16. package/esm2022/components/multi-search/action-input/component.mjs +3 -3
  17. package/esm2022/components/multi-search/form/component.mjs +2 -2
  18. package/esm2022/components/multi-search/multi-search-tags/component.mjs +2 -2
  19. package/esm2022/components/mutable/mosaic/component.mjs +2 -2
  20. package/esm2022/components/page-guard/component/component.mjs +2 -3
  21. package/esm2022/components/password-input/component.mjs +2 -2
  22. package/esm2022/components/pod-status/component.mjs +2 -2
  23. package/esm2022/components/relative-time/component.mjs +2 -2
  24. package/esm2022/components/resource-label/component.mjs +2 -2
  25. package/esm2022/components/resource-multi-select/component.mjs +3 -3
  26. package/esm2022/components/select-prefix-label/directive.mjs +2 -2
  27. package/esm2022/components/status-icon/status-icon.component.mjs +2 -2
  28. package/esm2022/components/table/component.mjs +4 -3
  29. package/esm2022/components/tags-label/component.mjs +3 -3
  30. package/esm2022/components/text-with-url/component.mjs +2 -2
  31. package/esm2022/components/workload-status/component.mjs +2 -2
  32. package/esm2022/components/zero-state/zero-state.component.mjs +2 -3
  33. package/esm2022/directives/disabled.directive.mjs +2 -2
  34. package/esm2022/directives/effect-directive/event.directive.mjs +2 -2
  35. package/esm2022/directives/readonly-field.directive.mjs +3 -3
  36. package/esm2022/directives/value-trace.directive.mjs +2 -2
  37. package/esm2022/form/base-form-container.mjs +2 -3
  38. package/esm2022/form/errors-mapper/errors-mapper-component/component.mjs +2 -2
  39. package/esm2022/form/errors-mapper/errors-mapper.directive.mjs +2 -2
  40. package/esm2022/form/validators/async-function-validator.directive.mjs +2 -2
  41. package/esm2022/form/validators/function-validator.directive.mjs +2 -2
  42. package/esm2022/form/validators/not-be-validator.directive.mjs +2 -2
  43. package/esm2022/form/validators/one-of-validator.directive.mjs +2 -2
  44. package/esm2022/form/validators/utils.mjs +3 -2
  45. package/esm2022/k8s-resource-list/footer/component.mjs +2 -2
  46. package/esm2022/k8s-resource-list/k8s-resource-list.mjs +2 -2
  47. package/esm2022/k8s-resource-list/k8s-resource-paged-list.mjs +2 -2
  48. package/esm2022/page-deactivate/deactivate.directive.mjs +2 -2
  49. package/esm2022/page-deactivate/deactivate.service.mjs +2 -2
  50. package/esm2022/pipes/index.mjs +1 -10
  51. package/esm2022/services/form-row-duplicate/form-row-duplicate.service.mjs +2 -2
  52. package/esm2022/services/yaml-util.service.mjs +3 -2
  53. package/esm2022/types/common.mjs +1 -1
  54. package/esm2022/utils/common.mjs +3 -60
  55. package/esm2022/utils/disabled-state.mjs +2 -2
  56. package/esm2022/utils/index.mjs +1 -7
  57. package/esm2022/utils/unit.mjs +3 -2
  58. package/esm2022/utils/workspace.mjs +1 -1
  59. package/esm2022/utils/yaml.mjs +1 -16
  60. package/fesm2022/alauda-fe-dynamic-plugin-shared.mjs +66 -1080
  61. package/fesm2022/alauda-fe-dynamic-plugin-shared.mjs.map +1 -1
  62. package/package.json +1 -1
  63. package/pipes/index.d.ts +0 -9
  64. package/styles/lib.scss +1 -1
  65. package/styles/mixins.scss +2 -2
  66. package/styles/var.scss +1 -1
  67. package/types/common.d.ts +1 -5
  68. package/utils/common.d.ts +1 -13
  69. package/utils/index.d.ts +0 -6
  70. package/utils/workspace.d.ts +1 -1
  71. package/utils/yaml.d.ts +0 -5
  72. package/components/loading-mask/loading-mask.component.d.ts +0 -13
  73. package/components/namespace-selector/component.d.ts +0 -28
  74. package/components/namespace-selector/constants.d.ts +0 -2
  75. package/components/namespace-selector/index.d.ts +0 -3
  76. package/components/namespace-selector/namespace-list/component.d.ts +0 -46
  77. package/components/namespace-selector/types.d.ts +0 -5
  78. package/esm2022/components/loading-mask/loading-mask.component.mjs +0 -35
  79. package/esm2022/components/namespace-selector/component.mjs +0 -126
  80. package/esm2022/components/namespace-selector/constants.mjs +0 -3
  81. package/esm2022/components/namespace-selector/index.mjs +0 -4
  82. package/esm2022/components/namespace-selector/namespace-list/component.mjs +0 -191
  83. package/esm2022/components/namespace-selector/types.mjs +0 -2
  84. package/esm2022/pipes/field-not-available.pipe.mjs +0 -25
  85. package/esm2022/pipes/img-header.pipe.mjs +0 -18
  86. package/esm2022/pipes/img-theme.pipe.mjs +0 -38
  87. package/esm2022/pipes/keyvalue.pipe.mjs +0 -20
  88. package/esm2022/pipes/parse-json.pipe.mjs +0 -22
  89. package/esm2022/pipes/pure.pipe.mjs +0 -26
  90. package/esm2022/pipes/safe.pipe.mjs +0 -49
  91. package/esm2022/pipes/sanitize.pipe.mjs +0 -31
  92. package/esm2022/pipes/time.pipe.mjs +0 -113
  93. package/esm2022/utils/browser.mjs +0 -21
  94. package/esm2022/utils/cache-store.mjs +0 -83
  95. package/esm2022/utils/decorators.mjs +0 -137
  96. package/esm2022/utils/observable.mjs +0 -32
  97. package/esm2022/utils/operators.mjs +0 -38
  98. package/esm2022/utils/router.mjs +0 -20
  99. package/pipes/field-not-available.pipe.d.ts +0 -13
  100. package/pipes/img-header.pipe.d.ts +0 -7
  101. package/pipes/img-theme.pipe.d.ts +0 -13
  102. package/pipes/keyvalue.pipe.d.ts +0 -9
  103. package/pipes/parse-json.pipe.d.ts +0 -7
  104. package/pipes/pure.pipe.d.ts +0 -17
  105. package/pipes/safe.pipe.d.ts +0 -10
  106. package/pipes/sanitize.pipe.d.ts +0 -10
  107. package/pipes/time.pipe.d.ts +0 -40
  108. package/utils/browser.d.ts +0 -4
  109. package/utils/cache-store.d.ts +0 -35
  110. package/utils/decorators.d.ts +0 -14
  111. package/utils/observable.d.ts +0 -5
  112. package/utils/operators.d.ts +0 -22
  113. package/utils/router.d.ts +0 -3
@@ -1,113 +0,0 @@
1
- /**
2
- * @packageDocumentation
3
- * @module utils
4
- */
5
- import { TimeService, TranslateService } from '@alauda-fe/dynamic-plugin-sdk';
6
- import { ChangeDetectorRef, Injectable, Pipe, } from '@angular/core';
7
- import dayjs from 'dayjs';
8
- import { Subject, takeUntil } from 'rxjs';
9
- import { DATE_FORMAT, DATE_TIME_FORMAT } from '../constants';
10
- import { FIELD_NOT_AVAILABLE_PLACEHOLDER, isFieldNotAvailable, } from './field-not-available.pipe';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "@alauda-fe/dynamic-plugin-sdk";
13
- const MILLISECONDS_SECOND = 1000;
14
- const MILLISECONDS_MINUTE = MILLISECONDS_SECOND * 60;
15
- const MILLISECONDS_HOUR = MILLISECONDS_MINUTE * 60;
16
- const MILLISECONDS_DAY = MILLISECONDS_HOUR * 24;
17
- const MILLISECONDS_WEEK = MILLISECONDS_DAY * 7;
18
- export class RelativeTimePipe {
19
- constructor(cdr, time, translate) {
20
- this.cdr = cdr;
21
- this.time = time;
22
- this.translate = translate;
23
- this.destroy$$ = new Subject();
24
- this.translate.locale$
25
- .pipe(takeUntil(this.destroy$$))
26
- .subscribe(() => this.cdr.markForCheck());
27
- }
28
- ngOnDestroy() {
29
- this.destroy$$.next();
30
- this.destroy$$.complete();
31
- if (this.timerId) {
32
- clearTimeout(this.timerId);
33
- }
34
- }
35
- transform(value) {
36
- if (isFieldNotAvailable(value)) {
37
- return FIELD_NOT_AVAILABLE_PLACEHOLDER;
38
- }
39
- const currentTime = Date.now();
40
- const givenTime = dayjs(value).valueOf();
41
- const distance = currentTime - givenTime;
42
- if (distance >= MILLISECONDS_WEEK) {
43
- return this.time.format(value, DATE_FORMAT);
44
- }
45
- this.checkDistance(distance);
46
- return distance < MILLISECONDS_MINUTE
47
- ? this.translate.get('just_now')
48
- : this.time.distance(givenTime, currentTime);
49
- }
50
- checkDistance(distance) {
51
- if (distance < MILLISECONDS_MINUTE) {
52
- return this.startTimer(MILLISECONDS_SECOND);
53
- }
54
- if (distance < MILLISECONDS_HOUR) {
55
- return this.startTimer(MILLISECONDS_MINUTE);
56
- }
57
- if (distance < MILLISECONDS_DAY) {
58
- return this.startTimer(MILLISECONDS_HOUR);
59
- }
60
- return this.startTimer(MILLISECONDS_DAY);
61
- }
62
- startTimer(timeout) {
63
- clearTimeout(this.timerId);
64
- this.timerId = window.setTimeout(() => this.cdr.markForCheck(), timeout);
65
- }
66
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: RelativeTimePipe, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.TimeService }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe }); }
67
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.1.1", ngImport: i0, type: RelativeTimePipe, isStandalone: true, name: "aclRelativeTime", pure: false }); }
68
- }
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: RelativeTimePipe, decorators: [{
70
- type: Pipe,
71
- args: [{ name: 'aclRelativeTime', pure: false, standalone: true }]
72
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.TimeService }, { type: i1.TranslateService }] });
73
- export class DateTimePipe {
74
- constructor(time) {
75
- this.time = time;
76
- }
77
- transform(value, utc = false) {
78
- if (!value?.toString().trim()) {
79
- return FIELD_NOT_AVAILABLE_PLACEHOLDER;
80
- }
81
- return this.time.format(utc ? dayjs.utc(value) : value, this.format);
82
- }
83
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: DateTimePipe, deps: [{ token: i1.TimeService }], target: i0.ɵɵFactoryTarget.Injectable }); }
84
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: DateTimePipe }); }
85
- }
86
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: DateTimePipe, decorators: [{
87
- type: Injectable
88
- }], ctorParameters: () => [{ type: i1.TimeService }] });
89
- export class StandardTimePipe extends DateTimePipe {
90
- constructor() {
91
- super(...arguments);
92
- this.format = DATE_TIME_FORMAT;
93
- }
94
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: StandardTimePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
95
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.1.1", ngImport: i0, type: StandardTimePipe, isStandalone: true, name: "aclStandardTime" }); }
96
- }
97
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: StandardTimePipe, decorators: [{
98
- type: Pipe,
99
- args: [{ name: 'aclStandardTime', standalone: true }]
100
- }] });
101
- export class StandardDatePipe extends DateTimePipe {
102
- constructor() {
103
- super(...arguments);
104
- this.format = DATE_FORMAT;
105
- }
106
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: StandardDatePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
107
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.1.1", ngImport: i0, type: StandardDatePipe, isStandalone: true, name: "aclStandardDate" }); }
108
- }
109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: StandardDatePipe, decorators: [{
110
- type: Pipe,
111
- args: [{ name: 'aclStandardDate', standalone: true }]
112
- }] });
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9keW5hbWljLXBsdWdpbi1zaGFyZWQvc3JjL3BpcGVzL3RpbWUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDOUUsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixVQUFVLEVBRVYsSUFBSSxHQUVMLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sS0FBcUIsTUFBTSxPQUFPLENBQUM7QUFDMUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU3RCxPQUFPLEVBQ0wsK0JBQStCLEVBQy9CLG1CQUFtQixHQUNwQixNQUFNLDRCQUE0QixDQUFDOzs7QUFFcEMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUM7QUFDakMsTUFBTSxtQkFBbUIsR0FBRyxtQkFBbUIsR0FBRyxFQUFFLENBQUM7QUFDckQsTUFBTSxpQkFBaUIsR0FBRyxtQkFBbUIsR0FBRyxFQUFFLENBQUM7QUFDbkQsTUFBTSxnQkFBZ0IsR0FBRyxpQkFBaUIsR0FBRyxFQUFFLENBQUM7QUFDaEQsTUFBTSxpQkFBaUIsR0FBRyxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7QUFHL0MsTUFBTSxPQUFPLGdCQUFnQjtJQUszQixZQUNtQixHQUFzQixFQUN0QixJQUFpQixFQUNqQixTQUEyQjtRQUYzQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixTQUFJLEdBQUosSUFBSSxDQUFhO1FBQ2pCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBUDdCLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBUy9DLElBQUksQ0FBQyxTQUFTLENBQUMs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SSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7OEdBWG1CLFlBQVk7a0hBQVosWUFBWTs7MkZBQVosWUFBWTtrQkFEakMsVUFBVTs7QUFnQlgsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFlBQVk7SUFEbEQ7O1FBRVcsV0FBTSxHQUFHLGdCQUFnQixDQUFDO0tBQ3BDOzhHQUZZLGdCQUFnQjs0R0FBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUU7O0FBTW5ELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxZQUFZO0lBRGxEOztRQUVXLFdBQU0sR0FBRyxXQUFXLENBQUM7S0FDL0I7OEdBRlksZ0JBQWdCOzRHQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBRDVCLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKiBAbW9kdWxlIHV0aWxzXG4gKi9cblxuaW1wb3J0IHsgVGltZVNlcnZpY2UsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAYWxhdWRhLWZlL2R5bmFtaWMtcGx1Z2luLXNkayc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgSW5qZWN0YWJsZSxcbiAgT25EZXN0cm95LFxuICBQaXBlLFxuICBQaXBlVHJhbnNmb3JtLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBkYXlqcywgeyBDb25maWdUeXBlIH0gZnJvbSAnZGF5anMnO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IERBVEVfRk9STUFULCBEQVRFX1RJTUVfRk9STUFUIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcblxuaW1wb3J0IHtcbiAgRklFTERfTk9UX0FWQUlMQUJMRV9QTEFDRUhPTERFUixcbiAgaXNGaWVsZE5vdEF2YWlsYWJsZSxcbn0gZnJvbSAnLi9maWVsZC1ub3QtYXZhaWxhYmxlLnBpcGUnO1xuXG5jb25zdCBNSUxMSVNFQ09ORFNfU0VDT05EID0gMTAwMDtcbmNvbnN0IE1JTExJU0VDT05EU19NSU5VVEUgPSBNSUxMSVNFQ09ORFNfU0VDT05EICogNjA7XG5jb25zdCBNSUxMSVNFQ09ORFNfSE9VUiA9IE1JTExJU0VDT05EU19NSU5VVEUgKiA2MDtcbmNvbnN0IE1JTExJU0VDT05EU19EQVkgPSBNSUxMSVNFQ09ORFNfSE9VUiAqIDI0O1xuY29uc3QgTUlMTElTRUNPTkRTX1dFRUsgPSBNSUxMSVNFQ09ORFNfREFZICogNztcblxuQFBpcGUoeyBuYW1lOiAnYWNsUmVsYXRpdmVUaW1lJywgcHVyZTogZmFsc2UsIHN0YW5kYWxvbmU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBSZWxhdGl2ZVRpbWVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByaXZhdGUgdGltZXJJZDogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRpbWU6IFRpbWVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLnRyYW5zbGF0ZS5sb2NhbGUkXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCQpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3kkJC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JCQuY29tcGxldGUoKTtcblxuICAgIGlmICh0aGlzLnRpbWVySWQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVySWQpO1xuICAgIH1cbiAgfVxuXG4gIHRyYW5zZm9ybSh2YWx1ZTogQ29uZmlnVHlwZSkge1xuICAgIGlmIChpc0ZpZWxkTm90QXZhaWxhYmxlKHZhbHVlKSkge1xuICAgICAgcmV0dXJuIEZJRUxEX05PVF9BVkFJTEFCTEVfUExBQ0VIT0xERVI7XG4gICAgfVxuXG4gICAgY29uc3QgY3VycmVudFRpbWUgPSBEYXRlLm5vdygpO1xuICAgIGNvbnN0IGdpdmVuVGltZSA9IGRheWpzKHZhbHVlKS52YWx1ZU9mKCk7XG5cbiAgICBjb25zdCBkaXN0YW5jZSA9IGN1cnJlbnRUaW1lIC0gZ2l2ZW5UaW1lO1xuXG4gICAgaWYgKGRpc3RhbmNlID49IE1JTExJU0VDT05EU19XRUVLKSB7XG4gICAgICByZXR1cm4gdGhpcy50aW1lLmZvcm1hdCh2YWx1ZSwgREFURV9GT1JNQVQpO1xuICAgIH1cblxuICAgIHRoaXMuY2hlY2tEaXN0YW5jZShkaXN0YW5jZSk7XG5cbiAgICByZXR1cm4gZGlzdGFuY2UgPCBNSUxMSVNFQ09ORFNfTUlOVVRFXG4gICAgICA/IHRoaXMudHJhbnNsYXRlLmdldCgnanVzdF9ub3cnKVxuICAgICAgOiB0aGlzLnRpbWUuZGlzdGFuY2UoZ2l2ZW5UaW1lLCBjdXJyZW50VGltZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY2hlY2tEaXN0YW5jZShkaXN0YW5jZTogbnVtYmVyKSB7XG4gICAgaWYgKGRpc3RhbmNlIDwgTUlMTElTRUNPTkRTX01JTlVURSkge1xuICAgICAgcmV0dXJuIHRoaXMuc3RhcnRUaW1lcihNSUxMSVNFQ09ORFNfU0VDT05EKTtcbiAgICB9XG5cbiAgICBpZiAoZGlzdGFuY2UgPCBNSUxMSVNFQ09ORFNfSE9VUikge1xuICAgICAgcmV0dXJuIHRoaXMuc3RhcnRUaW1lcihNSUxMSVNFQ09ORFNfTUlOVVRFKTtcbiAgICB9XG5cbiAgICBpZiAoZGlzdGFuY2UgPCBNSUxMSVNFQ09ORFNfREFZKSB7XG4gICAgICByZXR1cm4gdGhpcy5zdGFydFRpbWVyKE1JTExJU0VDT05EU19IT1VSKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zdGFydFRpbWVyKE1JTExJU0VDT05EU19EQVkpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGFydFRpbWVyKHRpbWVvdXQ6IG51bWJlcikge1xuICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVySWQpO1xuICAgIHRoaXMudGltZXJJZCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpLCB0aW1lb3V0KTtcbiAgfVxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGF0ZVRpbWVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIGFic3RyYWN0IGZvcm1hdDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgdGltZTogVGltZVNlcnZpY2UpIHt9XG5cbiAgdHJhbnNmb3JtKHZhbHVlOiBDb25maWdUeXBlLCB1dGMgPSBmYWxzZSkge1xuICAgIGlmICghdmFsdWU/LnRvU3RyaW5nKCkudHJpbSgpKSB7XG4gICAgICByZXR1cm4gRklFTERfTk9UX0FWQUlMQUJMRV9QTEFDRUhPTERFUjtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy50aW1lLmZvcm1hdCh1dGMgPyBkYXlqcy51dGModmFsdWUpIDogdmFsdWUsIHRoaXMuZm9ybWF0KTtcbiAgfVxufVxuXG5AUGlwZSh7IG5hbWU6ICdhY2xTdGFuZGFyZFRpbWUnLCBzdGFuZGFsb25lOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgU3RhbmRhcmRUaW1lUGlwZSBleHRlbmRzIERhdGVUaW1lUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBvdmVycmlkZSBmb3JtYXQgPSBEQVRFX1RJTUVfRk9STUFUO1xufVxuXG5AUGlwZSh7IG5hbWU6ICdhY2xTdGFuZGFyZERhdGUnLCBzdGFuZGFsb25lOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgU3RhbmRhcmREYXRlUGlwZSBleHRlbmRzIERhdGVUaW1lUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBvdmVycmlkZSBmb3JtYXQgPSBEQVRFX0ZPUk1BVDtcbn1cbiJdfQ==
@@ -1,21 +0,0 @@
1
- export const saveAs = (data, filename) => {
2
- const anchor = document.createElement('a');
3
- anchor.href = typeof data === 'string' ? data : URL.createObjectURL(data);
4
- anchor.download = filename;
5
- anchor.rel = 'noopener';
6
- anchor.click();
7
- anchor.remove();
8
- };
9
- export function isMac() {
10
- return /macintosh|mac os x/i.test(navigator.userAgent);
11
- }
12
- export function isWindows() {
13
- return /windows|win32/i.test(navigator.userAgent);
14
- }
15
- export const getTopWindow = () => {
16
- const isInCypress = 'Cypress' in window;
17
- return isInCypress
18
- ? window.top.document.querySelector('iframe').contentWindow
19
- : window.top;
20
- };
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZHluYW1pYy1wbHVnaW4tc2hhcmVkL3NyYy91dGlscy9icm93c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxDQUFDLElBQTBCLEVBQUUsUUFBZ0IsRUFBRSxFQUFFO0lBQ3JFLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0MsTUFBTSxDQUFDLElBQUksR0FBRyxPQUFPLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxRSxNQUFNLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixNQUFNLENBQUMsR0FBRyxHQUFHLFVBQVUsQ0FBQztJQUN4QixNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDZixNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7QUFDbEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxVQUFVLEtBQUs7SUFDbkIsT0FBTyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ3pELENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUztJQUN2QixPQUFPLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDcEQsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxHQUFHLEVBQUU7SUFDL0IsTUFBTSxXQUFXLEdBQUcsU0FBUyxJQUFJLE1BQU0sQ0FBQztJQUN4QyxPQUFPLFdBQVc7UUFDaEIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxhQUFhO1FBQzNELENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBzYXZlQXMgPSAoZGF0YTogQmxvYiB8IEZpbGUgfCBzdHJpbmcsIGZpbGVuYW1lOiBzdHJpbmcpID0+IHtcbiAgY29uc3QgYW5jaG9yID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICBhbmNob3IuaHJlZiA9IHR5cGVvZiBkYXRhID09PSAnc3RyaW5nJyA/IGRhdGEgOiBVUkwuY3JlYXRlT2JqZWN0VVJMKGRhdGEpO1xuICBhbmNob3IuZG93bmxvYWQgPSBmaWxlbmFtZTtcbiAgYW5jaG9yLnJlbCA9ICdub29wZW5lcic7XG4gIGFuY2hvci5jbGljaygpO1xuICBhbmNob3IucmVtb3ZlKCk7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gaXNNYWMoKSB7XG4gIHJldHVybiAvbWFjaW50b3NofG1hYyBvcyB4L2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzV2luZG93cygpIHtcbiAgcmV0dXJuIC93aW5kb3dzfHdpbjMyL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtcbn1cblxuZXhwb3J0IGNvbnN0IGdldFRvcFdpbmRvdyA9ICgpID0+IHtcbiAgY29uc3QgaXNJbkN5cHJlc3MgPSAnQ3lwcmVzcycgaW4gd2luZG93O1xuICByZXR1cm4gaXNJbkN5cHJlc3NcbiAgICA/IHdpbmRvdy50b3AuZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaWZyYW1lJykuY29udGVudFdpbmRvd1xuICAgIDogd2luZG93LnRvcDtcbn07XG4iXX0=
@@ -1,83 +0,0 @@
1
- import { BehaviorSubject, catchError, filter, map, of, startWith, Subject, switchMap, takeUntil, tap, } from 'rxjs';
2
- import { isEqual } from './common';
3
- import { publishRef } from './operators';
4
- export class CacheStore {
5
- constructor({ fetcher, share, validator }) {
6
- this.store = new Map();
7
- this.forEach = this.store.forEach.bind(this.store);
8
- this.entries = this.store.entries.bind(this.store);
9
- this.values = this.store.values.bind(this.store);
10
- this.keys = this.store.keys.bind(this.store);
11
- this.fetcher = fetcher;
12
- this.share = share ?? publishRef;
13
- this.validator = validator ?? (() => true);
14
- }
15
- fetchState(params) {
16
- let cache = this.get(params);
17
- if (!cache) {
18
- const refetch$$ = new BehaviorSubject(null);
19
- const finish$$ = new Subject();
20
- cache = {
21
- refetch: () => {
22
- refetch$$.next();
23
- },
24
- finish: () => {
25
- finish$$.next();
26
- finish$$.complete();
27
- },
28
- loadState: refetch$$.pipe(switchMap(() => this.fetcher(params).pipe(map(result => ({ state: 'loaded', result })), catchError(error => of({ state: 'loadFailed', error })), startWith({ state: 'loading' }))), tap(loadState => {
29
- if (loadState.state !== 'loading' && !this.validator(loadState)) {
30
- for (const [key, value] of this.store.entries()) {
31
- if (isEqual(key, params)) {
32
- this.store.delete(key);
33
- setTimeout(() => {
34
- value.finish();
35
- });
36
- return;
37
- }
38
- }
39
- }
40
- }), takeUntil(finish$$), this.share()),
41
- };
42
- this.store.set(params, cache);
43
- }
44
- return cache.loadState;
45
- }
46
- fetch(params) {
47
- return this.fetchState(params).pipe(filter(loadState => loadState.state === 'loaded'), map(loadState => loadState.result));
48
- }
49
- refetch(params) {
50
- this.get(params)?.refetch();
51
- }
52
- refetchAll() {
53
- this.forEach(cache => {
54
- cache.refetch();
55
- });
56
- }
57
- get(params) {
58
- for (const [key, value] of this.store.entries()) {
59
- if (isEqual(key, params)) {
60
- return value;
61
- }
62
- }
63
- }
64
- has(params) {
65
- return !!this.get(params);
66
- }
67
- delete(params) {
68
- for (const [key, value] of this.store.entries()) {
69
- if (isEqual(key, params)) {
70
- this.store.delete(key);
71
- value.finish();
72
- return;
73
- }
74
- }
75
- }
76
- clear() {
77
- this.store.forEach(value => {
78
- value.finish();
79
- });
80
- this.store.clear();
81
- }
82
- }
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUtc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2R5bmFtaWMtcGx1Z2luLXNoYXJlZC9zcmMvdXRpbHMvY2FjaGUtc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGVBQWUsRUFDZixVQUFVLEVBQ1YsTUFBTSxFQUNOLEdBQUcsRUFHSCxFQUFFLEVBQ0YsU0FBUyxFQUNULE9BQU8sRUFDUCxTQUFTLEVBQ1QsU0FBUyxFQUNULEdBQUcsR0FDSixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV6QyxNQUFNLE9BQU8sVUFBVTtJQU9yQixZQUFZLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQTJCO1FBRmpELFVBQUssR0FBRyxJQUFJLEdBQUcsRUFBZSxDQUFDO1FBcUdoRCxZQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU5QyxZQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU5QyxXQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU1QyxTQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQXhHdEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLElBQUksVUFBVSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxTQUFT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LENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxHQUFHLENBQUMsTUFBUztRQUNYLEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDaEQsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUM7Z0JBQ3pCLE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsR0FBRyxDQUFDLE1BQVM7UUFDWCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBUztRQUNkLEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDaEQsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUN2QixLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2YsT0FBTztZQUNULENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN6QixLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3JCLENBQUM7Q0FTRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgY2F0Y2hFcnJvcixcbiAgZmlsdGVyLFxuICBtYXAsXG4gIE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbixcbiAgT2JzZXJ2YWJsZSxcbiAgb2YsXG4gIHN0YXJ0V2l0aCxcbiAgU3ViamVjdCxcbiAgc3dpdGNoTWFwLFxuICB0YWtlVW50aWwsXG4gIHRhcCxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IGlzRXF1YWwgfSBmcm9tICcuL2NvbW1vbic7XG5pbXBvcnQgeyBwdWJsaXNoUmVmIH0gZnJvbSAnLi9vcGVyYXRvcnMnO1xuXG5leHBvcnQgY2xhc3MgQ2FjaGVTdG9yZTxQLCBWPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZmV0Y2hlcjogKHBhcmFtczogUCkgPT4gT2JzZXJ2YWJsZTxWPjtcbiAgcHJpdmF0ZSByZWFkb25seSBzaGFyZTogPFQ+KCkgPT4gTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+O1xuICBwcml2YXRlIHJlYWRvbmx5IHZhbGlkYXRvcjogKGxvYWRTdGF0ZTogQ2FjaGVMb2FkU3RhdGU8Vj4pID0+IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSByZWFkb25seSBzdG9yZSA9IG5ldyBNYXA8UCwgQ2FjaGU8Vj4+KCk7XG5cbiAgY29uc3RydWN0b3IoeyBmZXRjaGVyLCBzaGFyZSwgdmFsaWRhdG9yIH06IENhY2hlU3RvcmVPcHRpb25zPFAsIFY+KSB7XG4gICAgdGhpcy5mZXRjaGVyID0gZmV0Y2hlcjtcbiAgICB0aGlzLnNoYXJlID0gc2hhcmUgPz8gcHVibGlzaFJlZjtcbiAgICB0aGlzLnZhbGlkYXRvciA9IHZhbGlkYXRvciA/PyAoKCkgPT4gdHJ1ZSk7XG4gIH1cblxuICBmZXRjaFN0YXRlKHBhcmFtczogUCkge1xuICAgIGxldCBjYWNoZSA9IHRoaXMuZ2V0KHBhcmFtcyk7XG5cbiAgICBpZiAoIWNhY2hlKSB7XG4gICAgICBjb25zdCByZWZldGNoJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHZvaWQ+KG51bGwpO1xuICAgICAgY29uc3QgZmluaXNoJCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgICBjYWNoZSA9IHtcbiAgICAgICAgcmVmZXRjaDogKCkgPT4ge1xuICAgICAgICAgIHJlZmV0Y2gkJC5uZXh0KCk7XG4gICAgICAgIH0sXG4gICAgICAgIGZpbmlzaDogKCkgPT4ge1xuICAgICAgICAgIGZpbmlzaCQkLm5leHQoKTtcbiAgICAgICAgICBmaW5pc2gkJC5jb21wbGV0ZSgpO1xuICAgICAgICB9LFxuICAgICAgICBsb2FkU3RhdGU6IHJlZmV0Y2gkJC5waXBlKFxuICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PlxuICAgICAgICAgICAgdGhpcy5mZXRjaGVyKHBhcmFtcykucGlwZShcbiAgICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiAoeyBzdGF0ZTogJ2xvYWRlZCcgYXMgY29uc3QsIHJlc3VsdCB9KSksXG4gICAgICAgICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4gb2YoeyBzdGF0ZTogJ2xvYWRGYWlsZWQnIGFzIGNvbnN0LCBlcnJvciB9KSksXG4gICAgICAgICAgICAgIHN0YXJ0V2l0aCh7IHN0YXRlOiAnbG9hZGluZycgYXMgY29uc3QgfSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICksXG4gICAgICAgICAgdGFwKGxvYWRTdGF0ZSA9PiB7XG4gICAgICAgICAgICBpZiAobG9hZFN0YXRlLnN0YXRlICE9PSAnbG9hZGluZycgJiYgIXRoaXMudmFsaWRhdG9yKGxvYWRTdGF0ZSkpIHtcbiAgICAgICAgICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgdGhpcy5zdG9yZS5lbnRyaWVzKCkpIHtcbiAgICAgICAgICAgICAgICBpZiAoaXNFcXVhbChrZXksIHBhcmFtcykpIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuc3RvcmUuZGVsZXRlKGtleSk7XG4gICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUuZmluaXNoKCk7XG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSxcbiAgICAgICAgICB0YWtlVW50aWwoZmluaXNoJCQpLFxuICAgICAgICAgIHRoaXMuc2hhcmUoKSxcbiAgICAgICAgKSxcbiAgICAgIH07XG5cbiAgICAgIHRoaXMuc3RvcmUuc2V0KHBhcmFtcywgY2FjaGUpO1xuICAgIH1cblxuICAgIHJldHVybiBjYWNoZS5sb2FkU3RhdGU7XG4gIH1cblxuICBmZXRjaChwYXJhbXM6IFApIHtcbiAgICByZXR1cm4gdGhpcy5mZXRjaFN0YXRlKHBhcmFtcykucGlwZShcbiAgICAgIGZpbHRlcihsb2FkU3RhdGUgPT4gbG9hZFN0YXRlLnN0YXRlID09PSAnbG9hZGVkJyksXG4gICAgICBtYXAobG9hZFN0YXRlID0+IGxvYWRTdGF0ZS5yZXN1bHQpLFxuICAgICk7XG4gIH1cblxuICByZWZldGNoKHBhcmFtczogUCkge1xuICAgIHRoaXMuZ2V0KHBhcmFtcyk/LnJlZmV0Y2goKTtcbiAgfVxuXG4gIHJlZmV0Y2hBbGwoKSB7XG4gICAgdGhpcy5mb3JFYWNoKGNhY2hlID0+IHtcbiAgICAgIGNhY2hlLnJlZmV0Y2goKTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldChwYXJhbXM6IFApIHtcbiAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiB0aGlzLnN0b3JlLmVudHJpZXMoKSkge1xuICAgICAgaWYgKGlzRXF1YWwoa2V5LCBwYXJhbXMpKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBoYXMocGFyYW1zOiBQKSB7XG4gICAgcmV0dXJuICEhdGhpcy5nZXQocGFyYW1zKTtcbiAgfVxuXG4gIGRlbGV0ZShwYXJhbXM6IFApIHtcbiAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiB0aGlzLnN0b3JlLmVudHJpZXMoKSkge1xuICAgICAgaWYgKGlzRXF1YWwoa2V5LCBwYXJhbXMpKSB7XG4gICAgICAgIHRoaXMuc3RvcmUuZGVsZXRlKGtleSk7XG4gICAgICAgIHZhbHVlLmZpbmlzaCgpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY2xlYXIoKSB7XG4gICAgdGhpcy5zdG9yZS5mb3JFYWNoKHZhbHVlID0+IHtcbiAgICAgIHZhbHVlLmZpbmlzaCgpO1xuICAgIH0pO1xuICAgIHRoaXMuc3RvcmUuY2xlYXIoKTtcbiAgfVxuXG4gIGZvckVhY2ggPSB0aGlzLnN0b3JlLmZvckVhY2guYmluZCh0aGlzLnN0b3JlKTtcblxuICBlbnRyaWVzID0gdGhpcy5zdG9yZS5lbnRyaWVzLmJpbmQodGhpcy5zdG9yZSk7XG5cbiAgdmFsdWVzID0gdGhpcy5zdG9yZS52YWx1ZXMuYmluZCh0aGlzLnN0b3JlKTtcblxuICBrZXlzID0gdGhpcy5zdG9yZS5rZXlzLmJpbmQodGhpcy5zdG9yZSk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FjaGVTdG9yZU9wdGlvbnM8UCwgVj4ge1xuICBmZXRjaGVyOiAocGFyYW1zOiBQKSA9PiBPYnNlcnZhYmxlPFY+O1xuICBzaGFyZT86IDxUPigpID0+IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPjtcbiAgdmFsaWRhdG9yPzogKGxvYWRTdGF0ZTogQ2FjaGVMb2FkU3RhdGU8Vj4pID0+IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FjaGVMb2FkU3RhdGU8Vj4ge1xuICBzdGF0ZTogJ2xvYWRpbmcnIHwgJ2xvYWRlZCcgfCAnbG9hZEZhaWxlZCc7XG4gIHJlc3VsdD86IFY7XG4gIGVycm9yPzogdW5rbm93bjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYWNoZTxWPiB7XG4gIGxvYWRTdGF0ZTogT2JzZXJ2YWJsZTxDYWNoZUxvYWRTdGF0ZTxWPj47XG4gIHJlZmV0Y2g6ICgpID0+IHZvaWQ7XG4gIGZpbmlzaDogKCkgPT4gdm9pZDtcbn1cbiJdfQ==
@@ -1,137 +0,0 @@
1
- /**
2
- * @packageDocumentation
3
- * @module utils
4
- */
5
- import { debounce } from 'lodash-es';
6
- import { BehaviorSubject } from 'rxjs';
7
- const checkDescriptor = (target, propertyKey) => {
8
- const oDescriptor = Object.getOwnPropertyDescriptor(target, propertyKey);
9
- if (oDescriptor && !oDescriptor.configurable) {
10
- throw new TypeError(`property ${String(propertyKey)} is not configurable`);
11
- }
12
- return {
13
- oGetter: oDescriptor?.get,
14
- oSetter: oDescriptor?.set,
15
- oDescriptor,
16
- };
17
- };
18
- const strictCheckDescriptor = (target, propertyKey) => {
19
- const { oGetter, oSetter, oDescriptor } = checkDescriptor(target, propertyKey);
20
- if (oGetter || oSetter) {
21
- throw new TypeError(`property ${String(propertyKey)} should not define getter or setter`);
22
- }
23
- return oDescriptor;
24
- };
25
- export function ValueHook(setter, getter, afterSetter) {
26
- return (target, propertyKey) => {
27
- const { oGetter, oSetter } = checkDescriptor(target, propertyKey);
28
- const symbol = Symbol(propertyKey);
29
- Object.defineProperty(target, propertyKey, {
30
- enumerable: true,
31
- configurable: true,
32
- get() {
33
- return getter
34
- ? getter.call(this, this[symbol])
35
- : oGetter
36
- ? oGetter.call(this)
37
- : this[symbol];
38
- },
39
- set(value) {
40
- if (value === this[propertyKey] ||
41
- setter?.call(this, value) === false) {
42
- return;
43
- }
44
- if (oSetter) {
45
- oSetter.call(this, value);
46
- }
47
- this[symbol] = value;
48
- afterSetter?.call(this, value);
49
- },
50
- });
51
- };
52
- }
53
- export function ObservableInput(propertyKey = true, initialValue) {
54
- return (target, oPropertyKey) => {
55
- if (!oPropertyKey.endsWith('$')) {
56
- throw new TypeError(`property ${oPropertyKey} should be an Observable and its name should end with $`);
57
- }
58
- strictCheckDescriptor(target, oPropertyKey);
59
- const symbol = Symbol(oPropertyKey);
60
- // eslint-disable-next-line prefer-const
61
- let oPropertyValue;
62
- Object.defineProperty(target, oPropertyKey, {
63
- enumerable: true,
64
- configurable: true,
65
- get() {
66
- return (this[symbol] ||
67
- (this[symbol] = new BehaviorSubject(
68
- // when no initialValue passed in, use the original property val
69
- initialValue === undefined ? oPropertyValue : initialValue)));
70
- },
71
- set(value) {
72
- this[oPropertyKey].next(value);
73
- },
74
- });
75
- if (!propertyKey) {
76
- return;
77
- }
78
- if (propertyKey === true) {
79
- propertyKey = oPropertyKey.replace(/\$+$/, '');
80
- }
81
- const oDescriptor = strictCheckDescriptor(target, propertyKey);
82
- oPropertyValue = oDescriptor ? oDescriptor.value : target[propertyKey];
83
- Object.defineProperty(target, propertyKey, {
84
- enumerable: true,
85
- configurable: true,
86
- get() {
87
- return this[oPropertyKey].getValue();
88
- },
89
- set(value) {
90
- this[oPropertyKey].next(value);
91
- },
92
- });
93
- };
94
- }
95
- /**
96
- * @see https://github.com/NoHomey/bind-decorator
97
- */
98
- // eslint-disable-next-line @typescript-eslint/ban-types -- intended
99
- export function bind(_target, propertyKey, descriptor) {
100
- if (typeof descriptor.value !== 'function') {
101
- throw new TypeError(`Only methods can be decorated with @bind. <${propertyKey}> is not a method!`);
102
- }
103
- return {
104
- configurable: true,
105
- get() {
106
- const bound = descriptor.value.bind(this);
107
- // Credits to https://github.com/andreypopp/autobind-decorator for memoizing the result of bind against a symbol on the instance.
108
- Object.defineProperty(this, propertyKey, {
109
- value: bound,
110
- configurable: true,
111
- writable: true,
112
- });
113
- return bound;
114
- },
115
- };
116
- }
117
- // lodash 的 debounce 类型约束要求 (...args: any) => any
118
- export function debounceFn(delay = 200, options) {
119
- return function (_target, propertyKey, descriptor) {
120
- if (typeof descriptor.value !== 'function') {
121
- throw new TypeError(`Only methods can be decorated with @bind. <${propertyKey}> is not a method!`);
122
- }
123
- return {
124
- configurable: true,
125
- get() {
126
- const bound = debounce(descriptor.value, delay, options);
127
- Object.defineProperty(this, propertyKey, {
128
- value: bound,
129
- configurable: true,
130
- writable: true,
131
- });
132
- return bound;
133
- },
134
- };
135
- };
136
- }
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZHluYW1pYy1wbHVnaW4tc2hhcmVkL3NyYy91dGlscy9kZWNvcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFBbUMsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJdkMsTUFBTSxlQUFlLEdBQUcsQ0FBdUIsTUFBUyxFQUFFLFdBQWMsRUFBRSxFQUFFO0lBQzFFLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFFekUsSUFBSSxXQUFXLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDN0MsTUFBTSxJQUFJLFNBQVMsQ0FBQyxZQUFZLE1BQU0sQ0FBQyxXQUFXLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sRUFBRSxXQUFXLEVBQUUsR0FBRztRQUN6QixPQUFPLEVBQUUsV0FBVyxFQUFFLEdBQUc7UUFDekIsV0FBVztLQUNaLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLHFCQUFxQixHQUFHLENBQzVCLE1BQVMsRUFDVCxXQUFjLEVBQ2QsRUFBRTtJQUNGLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxHQUFHLGVBQWUsQ0FDdkQsTUFBTSxFQUNOLFdBQVcsQ0FDWixDQUFDO0lBRUYsSUFBSSxPQUFPLElBQUksT0FBTyxFQUFFLENBQUM7UUFDdkIsTUFBTSxJQUFJLFNBQVMsQ0FDakIsWUFBWSxNQUFNLENBQUMsV0FBVyxDQUFDLHFDQUFxQyxDQUNyRSxDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU8sV0FBVyxDQUFDO0FBQ3JCLENBQUMsQ0FBQztBQUVG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QztLQUNGLENBQUM7QUFDSixDQUFDO0FBRUQsaURBQWlEO0FBQ2pELE1BQU0sVUFBVSxVQUFVLENBQ3hCLEtBQUssR0FBRyxHQUFHLEVBQ1gsT0FBMEI7SUFFMUIsT0FBTyxVQUNMLE9BQWUsRUFDZixXQUFtQixFQUNuQixVQUFzQztRQUV0QyxJQUFJLE9BQU8sVUFBVSxDQUFDLEtBQUssS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUMzQyxNQUFNLElBQUksU0FBUyxDQUNqQiw4Q0FBOEMsV0FBVyxvQkFBb0IsQ0FDOUUsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPO1lBQ0wsWUFBWSxFQUFFLElBQUk7WUFDbEIsR0FBRztnQkFDRCxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBQ3pELE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRTtvQkFDdkMsS0FBSyxFQUFFLEtBQUs7b0JBQ1osWUFBWSxFQUFFLElBQUk7b0JBQ2xCLFFBQVEsRUFBRSxJQUFJO2lCQUNmLENBQUMsQ0FBQztnQkFDSCxPQUFPLEtBQUssQ0FBQztZQUNmLENBQUM7U0FDRixDQUFDO0lBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKiBAbW9kdWxlIHV0aWxzXG4gKi9cblxuaW1wb3J0IHsgRGVib3VuY2VTZXR0aW5ncywgRGVib3VuY2VkRnVuYywgZGVib3VuY2UgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IE9ic2VydmFibGVUeXBlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5jb25zdCBjaGVja0Rlc2NyaXB0b3IgPSA8VCwgSyBleHRlbmRzIGtleW9mIFQ+KHRhcmdldDogVCwgcHJvcGVydHlLZXk6IEspID0+IHtcbiAgY29uc3Qgb0Rlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwgcHJvcGVydHlLZXkpO1xuXG4gIGlmIChvRGVzY3JpcHRvciAmJiAhb0Rlc2NyaXB0b3IuY29uZmlndXJhYmxlKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgcHJvcGVydHkgJHtTdHJpbmcocHJvcGVydHlLZXkpfSBpcyBub3QgY29uZmlndXJhYmxlYCk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIG9HZXR0ZXI6IG9EZXNjcmlwdG9yPy5nZXQsXG4gICAgb1NldHRlcjogb0Rlc2NyaXB0b3I/LnNldCxcbiAgICBvRGVzY3JpcHRvcixcbiAgfTtcbn07XG5cbmNvbnN0IHN0cmljdENoZWNrRGVzY3JpcHRvciA9IDxULCBLIGV4dGVuZHMga2V5b2YgVD4oXG4gIHRhcmdldDogVCxcbiAgcHJvcGVydHlLZXk6IEssXG4pID0+IHtcbiAgY29uc3QgeyBvR2V0dGVyLCBvU2V0dGVyLCBvRGVzY3JpcHRvciB9ID0gY2hlY2tEZXNjcmlwdG9yKFxuICAgIHRhcmdldCxcbiAgICBwcm9wZXJ0eUtleSxcbiAgKTtcblxuICBpZiAob0dldHRlciB8fCBvU2V0dGVyKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgIGBwcm9wZXJ0eSAke1N0cmluZyhwcm9wZXJ0eUtleSl9IHNob3VsZCBub3QgZGVmaW5lIGdldHRlciBvciBzZXR0ZXJgLFxuICAgICk7XG4gIH1cblxuICByZXR1cm4gb0Rlc2NyaXB0b3I7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gVmFsdWVIb29rPFQgPSBhbnksIEsgZXh0ZW5kcyBrZXlvZiBUID0gYW55PihcbiAgc2V0dGVyPzogKHRoaXM6IFQsIHZhbHVlPzogVFtLXSkgPT4gYm9vbGVhbiB8IHZvaWQsXG4gIGdldHRlcj86ICh0aGlzOiBULCB2YWx1ZT86IFRbS10pID0+IFRbS10sXG4gIGFmdGVyU2V0dGVyPzogKHRoaXM6IFQsIHZhbHVlPzogVFtLXSkgPT4gdm9pZCxcbikge1xuICByZXR1cm4gKHRhcmdldDogVCwgcHJvcGVydHlLZXk6IEspID0+IHtcbiAgICBjb25zdCB7IG9HZXR0ZXIsIG9TZXR0ZXIgfSA9IGNoZWNrRGVzY3JpcHRvcih0YXJnZXQsIHByb3BlcnR5S2V5KTtcblxuICAgIGNvbnN0IHN5bWJvbCA9IFN5bWJvbChwcm9wZXJ0eUtleSBhcyBzdHJpbmcpO1xuXG4gICAgdHlwZSBNaXhlZCA9IFQgJiB7XG4gICAgICBbc3ltYm9sXTogVFtLXTtcbiAgICB9O1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgcHJvcGVydHlLZXksIHtcbiAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICBnZXQodGhpczogTWl4ZWQpIHtcbiAgICAgICAgcmV0dXJuIGdldHRlclxuICAgICAgICAgID8gZ2V0dGVyLmNhbGwodGhpcywgdGhpc1tzeW1ib2xdKVxuICAgICAgICAgIDogb0dldHRlclxuICAgICAgICAgICAgPyBvR2V0dGVyLmNhbGwodGhpcylcbiAgICAgICAgICAgIDogdGhpc1tzeW1ib2xdO1xuICAgICAgfSxcbiAgICAgIHNldCh0aGlzOiBNaXhlZCwgdmFsdWU6IFRbS10pIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHZhbHVlID09PSB0aGlzW3Byb3BlcnR5S2V5XSB8fFxuICAgICAgICAgIHNldHRlcj8uY2FsbCh0aGlzLCB2YWx1ZSkgPT09IGZhbHNlXG4gICAgICAgICkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAob1NldHRlcikge1xuICAgICAgICAgIG9TZXR0ZXIuY2FsbCh0aGlzLCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpc1tzeW1ib2xdID0gdmFsdWU7XG4gICAgICAgIGFmdGVyU2V0dGVyPy5jYWxsKHRoaXMsIHZhbHVlKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH07XG59XG5cbmV4cG9ydCB0eXBlIE9ic2VydmFibGVJbnB1dFByb3BlcnR5S2V5PFQ+ID0gVCBleHRlbmRzIGAke2luZmVyIFJ9JGBcbiAgPyBPYnNlcnZhYmxlSW5wdXRQcm9wZXJ0eUtleTxSPlxuICA6IFQ7XG5cbmV4cG9ydCBmdW5jdGlvbiBPYnNlcnZhYmxlSW5wdXQ8XG4gIFQgPSBhbnksXG4gIE9LIGV4dGVuZHMga2V5b2YgVCA9IGFueSxcbiAgSyBleHRlbmRzIGtleW9mIFQgPSBPYnNlcnZhYmxlSW5wdXRQcm9wZXJ0eUtleTxPSz4gJiBrZXlvZiBULFxuPihwcm9wZXJ0eUtleTogSyB8IGJvb2xlYW4gPSB0cnVlLCBpbml0aWFsVmFsdWU/OiBPYnNlcnZhYmxlVHlwZTxUW09LXT4pIHtcbiAgcmV0dXJuICh0YXJnZXQ6IFQsIG9Qcm9wZXJ0eUtleTogT0spID0+IHtcbiAgICBpZiAoIShvUHJvcGVydHlLZXkgYXMgc3RyaW5nKS5lbmRzV2l0aCgnJCcpKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuICAgICAgICBgcHJvcGVydHkgJHtcbiAgICAgICAgICBvUHJvcGVydHlLZXkgYXMgc3RyaW5nXG4gICAgICAgIH0gc2hvdWxkIGJlIGFuIE9ic2VydmFibGUgYW5kIGl0cyBuYW1lIHNob3VsZCBlbmQgd2l0aCAkYCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgc3RyaWN0Q2hlY2tEZXNjcmlwdG9yKHRhcmdldCwgb1Byb3BlcnR5S2V5KTtcblxuICAgIGNvbnN0IHN5bWJvbCA9IFN5bWJvbChvUHJvcGVydHlLZXkgYXMgc3RyaW5nKTtcblxuICAgIHR5cGUgT1QgPSBPYnNlcnZhYmxlVHlwZTxUW09LXT47XG5cbiAgICB0eXBlIE1peGVkID0gVCAmIHtcbiAgICAgIFtzeW1ib2xdOiBCZWhhdmlvclN1YmplY3Q8T1Q+O1xuICAgIH0gJiBSZWNvcmQ8T0ssIEJlaGF2aW9yU3ViamVjdDxPVD4+O1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgIGxldCBvUHJvcGVydHlWYWx1ZTogT1Q7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBvUHJvcGVydHlLZXksIHtcbiAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICBnZXQodGhpczogTWl4ZWQpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICB0aGlzW3N5bWJvbF0gfHxcbiAgICAgICAgICAodGhpc1tzeW1ib2xdID0gbmV3IEJlaGF2aW9yU3ViamVjdChcbiAgICAgICAgICAgIC8vIHdoZW4gbm8gaW5pdGlhbFZhbHVlIHBhc3NlZCBpbiwgdXNlIHRoZSBvcmlnaW5hbCBwcm9wZXJ0eSB2YWxcbiAgICAgICAgICAgIGluaXRpYWxWYWx1ZSA9PT0gdW5kZWZpbmVkID8gb1Byb3BlcnR5VmFsdWUgOiBpbml0aWFsVmFsdWUsXG4gICAgICAgICAgKSlcbiAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgICBzZXQodGhpczogTWl4ZWQsIHZhbHVlOiBPVCkge1xuICAgICAgICB0aGlzW29Qcm9wZXJ0eUtleV0ubmV4dCh2YWx1ZSk7XG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgaWYgKCFwcm9wZXJ0eUtleSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChwcm9wZXJ0eUtleSA9PT0gdHJ1ZSkge1xuICAgICAgcHJvcGVydHlLZXkgPSAob1Byb3BlcnR5S2V5IGFzIHN0cmluZykucmVwbGFjZSgvXFwkKyQvLCAnJykgYXMgSztcbiAgICB9XG5cbiAgICBjb25zdCBvRGVzY3JpcHRvciA9IHN0cmljdENoZWNrRGVzY3JpcHRvcih0YXJnZXQsIHByb3BlcnR5S2V5KTtcbiAgICBvUHJvcGVydHlWYWx1ZSA9IG9EZXNjcmlwdG9yID8gb0Rlc2NyaXB0b3IudmFsdWUgOiB0YXJnZXRbcHJvcGVydHlLZXldO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgcHJvcGVydHlLZXksIHtcbiAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICBnZXQodGhpczogTWl4ZWQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXNbb1Byb3BlcnR5S2V5XS5nZXRWYWx1ZSgpO1xuICAgICAgfSxcbiAgICAgIHNldCh0aGlzOiBNaXhlZCwgdmFsdWU6IE9UKSB7XG4gICAgICAgIHRoaXNbb1Byb3BlcnR5S2V5XS5uZXh0KHZhbHVlKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH07XG59XG5cbi8qKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vTm9Ib21leS9iaW5kLWRlY29yYXRvclxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlcyAtLSBpbnRlbmRlZFxuZXhwb3J0IGZ1bmN0aW9uIGJpbmQ8VCBleHRlbmRzIEZ1bmN0aW9uPihcbiAgX3RhcmdldDogb2JqZWN0LFxuICBwcm9wZXJ0eUtleTogc3RyaW5nLFxuICBkZXNjcmlwdG9yOiBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxUPixcbik6IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPFQ+IHwgdm9pZCB7XG4gIGlmICh0eXBlb2YgZGVzY3JpcHRvci52YWx1ZSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXG4gICAgICBgT25seSBtZXRob2RzIGNhbiBiZSBkZWNvcmF0ZWQgd2l0aCBAYmluZC4gPCR7cHJvcGVydHlLZXl9PiBpcyBub3QgYSBtZXRob2QhYCxcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgZ2V0KHRoaXM6IFQpOiBUIHtcbiAgICAgIGNvbnN0IGJvdW5kOiBUID0gZGVzY3JpcHRvci52YWx1ZS5iaW5kKHRoaXMpO1xuICAgICAgLy8gQ3JlZGl0cyB0byBodHRwczovL2dpdGh1Yi5jb20vYW5kcmV5cG9wcC9hdXRvYmluZC1kZWNvcmF0b3IgZm9yIG1lbW9pemluZyB0aGUgcmVzdWx0IG9mIGJpbmQgYWdhaW5zdCBhIHN5bWJvbCBvbiB0aGUgaW5zdGFuY2UuXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgcHJvcGVydHlLZXksIHtcbiAgICAgICAgdmFsdWU6IGJvdW5kLFxuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgfSk7XG4gICAgICByZXR1cm4gYm91bmQ7XG4gICAgfSxcbiAgfTtcbn1cblxuLy8gbG9kYXNoIOeahCBkZWJvdW5jZSDnsbvlnovnuqbmnZ/opoHmsYIgKC4uLmFyZ3M6IGFueSkgPT4gYW55XG5leHBvcnQgZnVuY3Rpb24gZGVib3VuY2VGbjxUIGV4dGVuZHMgKC4uLmFyZ3M6IGFueSkgPT4gYW55PihcbiAgZGVsYXkgPSAyMDAsXG4gIG9wdGlvbnM/OiBEZWJvdW5jZVNldHRpbmdzLFxuKSB7XG4gIHJldHVybiBmdW5jdGlvbiAoXG4gICAgX3RhcmdldDogb2JqZWN0LFxuICAgIHByb3BlcnR5S2V5OiBzdHJpbmcsXG4gICAgZGVzY3JpcHRvcjogVHlwZWRQcm9wZXJ0eURlc2NyaXB0b3I8VD4sXG4gICk6IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPERlYm91bmNlZEZ1bmM8VD4+IHwgdm9pZCB7XG4gICAgaWYgKHR5cGVvZiBkZXNjcmlwdG9yLnZhbHVlICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuICAgICAgICBgT25seSBtZXRob2RzIGNhbiBiZSBkZWNvcmF0ZWQgd2l0aCBAYmluZC4gPCR7cHJvcGVydHlLZXl9PiBpcyBub3QgYSBtZXRob2QhYCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgIGdldCh0aGlzOiBUKTogRGVib3VuY2VkRnVuYzxUPiB7XG4gICAgICAgIGNvbnN0IGJvdW5kID0gZGVib3VuY2UoZGVzY3JpcHRvci52YWx1ZSwgZGVsYXksIG9wdGlvbnMpO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgcHJvcGVydHlLZXksIHtcbiAgICAgICAgICB2YWx1ZTogYm91bmQsXG4gICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGJvdW5kO1xuICAgICAgfSxcbiAgICB9O1xuICB9O1xufVxuIl19
@@ -1,32 +0,0 @@
1
- import { DestroyRef, assertInInjectionContext, inject } from '@angular/core';
2
- import { isNumber } from 'lodash-es';
3
- import { EMPTY, Observable, Subject, of, catchError, delay, startWith, switchMap, tap, defer, } from 'rxjs';
4
- import { publishRef } from './operators';
5
- export const createPollObservable = (fetch$, pollIn) => {
6
- const INIT_VALUE = 'Initialize';
7
- const subject = new Subject();
8
- const createDelayObservable = () => (isNumber(pollIn) ? of(pollIn) : pollIn).pipe(switchMap(pi => (pi === 0 ? EMPTY : of(null).pipe(delay(pi)))));
9
- return subject.pipe(startWith(INIT_VALUE), switchMap(value => value === INIT_VALUE ? of(null) : createDelayObservable()), switchMap(() => fetch$.pipe(catchError((_) => of(null)))), tap(() => {
10
- subject.next();
11
- }), publishRef());
12
- };
13
- // https://github.com/angular/angular/blob/6fefbe8fca6e96549416a27c14e02957da1291e7/packages/core/rxjs-interop/src/take_until_destroyed.ts#L23
14
- export function onDestroy(destroyRef) {
15
- if (!destroyRef) {
16
- assertInInjectionContext(onDestroy);
17
- destroyRef = inject(DestroyRef);
18
- }
19
- return new Observable(observer => {
20
- return destroyRef.onDestroy(observer.next.bind(observer));
21
- });
22
- }
23
- export const tapSkip = (nEmissions, callback) => (source$) => defer(() => {
24
- let counter = 0;
25
- return source$.pipe(tap(item => {
26
- if (counter >= nEmissions) {
27
- callback(item);
28
- }
29
- counter++;
30
- }));
31
- });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2YWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZHluYW1pYy1wbHVnaW4tc2hhcmVkL3NyYy91dGlscy9vYnNlcnZhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDckMsT0FBTyxFQUNMLEtBQUssRUFDTCxVQUFVLEVBQ1YsT0FBTyxFQUNQLEVBQUUsRUFDRixVQUFVLEVBQ1YsS0FBSyxFQUNMLFNBQVMsRUFDVCxTQUFTLEVBQ1QsR0FBRyxFQUNILEtBQUssR0FDTixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFekMsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FDbEMsTUFBMkIsRUFDM0IsTUFBbUMsRUFDZCxFQUFFO0lBQ3ZCLE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQztJQUNoQyxNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRXBDLE1BQU0scUJBQXFCLEdBQUcsR0FBRyxFQUFFLENBQ2pDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FDM0MsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUMvRCxDQUFDO0lBRUosT0FBTyxPQUFPLENBQUMsSUFBSSxDQUNqQixTQUFTLENBQUMsVUFBVSxDQUFDLEVBQ3JCLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUNoQixLQUFLLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixFQUFFLENBQzFELEVBQ0QsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBVSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ2xFLEdBQUcsQ0FBQyxHQUFHLEVBQUU7UUFDUCxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDakIsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxFQUFFLENBQ2IsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLDhJQUE4STtBQUM5SSxNQUFNLFVBQVUsU0FBUyxDQUFDLFVBQXVCO0lBQy9DLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNoQix3QkFBd0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNwQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxPQUFPLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQy9CLE9BQU8sVUFBVSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FDbEIsQ0FBSSxVQUFrQixFQUFFLFFBQTJCLEVBQUUsRUFBRSxDQUN2RCxDQUFDLE9BQXNCLEVBQWlCLEVBQUUsQ0FDeEMsS0FBSyxDQUFDLEdBQUcsRUFBRTtJQUNULElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztJQUNoQixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQ2pCLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNULElBQUksT0FBTyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQzFCLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQixDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDLENBQUMsQ0FDSCxDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXN0cm95UmVmLCBhc3NlcnRJbkluamVjdGlvbkNvbnRleHQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNOdW1iZXIgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHtcbiAgRU1QVFksXG4gIE9ic2VydmFibGUsXG4gIFN1YmplY3QsXG4gIG9mLFxuICBjYXRjaEVycm9yLFxuICBkZWxheSxcbiAgc3RhcnRXaXRoLFxuICBzd2l0Y2hNYXAsXG4gIHRhcCxcbiAgZGVmZXIsXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBwdWJsaXNoUmVmIH0gZnJvbSAnLi9vcGVyYXRvcnMnO1xuXG5leHBvcnQgY29uc3QgY3JlYXRlUG9sbE9ic2VydmFibGUgPSA8VFJlc3VsdD4oXG4gIGZldGNoJDogT2JzZXJ2YWJsZTxUUmVzdWx0PixcbiAgcG9sbEluOiBudW1iZXIgfCBPYnNlcnZhYmxlPG51bWJlcj4sXG4pOiBPYnNlcnZhYmxlPFRSZXN1bHQ+ID0+IHtcbiAgY29uc3QgSU5JVF9WQUxVRSA9ICdJbml0aWFsaXplJztcbiAgY29uc3Qgc3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3QgY3JlYXRlRGVsYXlPYnNlcnZhYmxlID0gKCkgPT5cbiAgICAoaXNOdW1iZXIocG9sbEluKSA/IG9mKHBvbGxJbikgOiBwb2xsSW4pLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAocGkgPT4gKHBpID09PSAwID8gRU1QVFkgOiBvZihudWxsKS5waXBlKGRlbGF5KHBpKSkpKSxcbiAgICApO1xuXG4gIHJldHVybiBzdWJqZWN0LnBpcGUoXG4gICAgc3RhcnRXaXRoKElOSVRfVkFMVUUpLFxuICAgIHN3aXRjaE1hcCh2YWx1ZSA9PlxuICAgICAgdmFsdWUgPT09IElOSVRfVkFMVUUgPyBvZihudWxsKSA6IGNyZWF0ZURlbGF5T2JzZXJ2YWJsZSgpLFxuICAgICksXG4gICAgc3dpdGNoTWFwKCgpID0+IGZldGNoJC5waXBlKGNhdGNoRXJyb3IoKF86IHVua25vd24pID0+IG9mKG51bGwpKSkpLFxuICAgIHRhcCgoKSA9PiB7XG4gICAgICBzdWJqZWN0Lm5leHQoKTtcbiAgICB9KSxcbiAgICBwdWJsaXNoUmVmKCksXG4gICk7XG59O1xuXG4vLyBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2Jsb2IvNmZlZmJlOGZjYTZlOTY1NDk0MTZhMjdjMTRlMDI5NTdkYTEyOTFlNy9wYWNrYWdlcy9jb3JlL3J4anMtaW50ZXJvcC9zcmMvdGFrZV91bnRpbF9kZXN0cm95ZWQudHMjTDIzXG5leHBvcnQgZnVuY3Rpb24gb25EZXN0cm95KGRlc3Ryb3lSZWY/OiBEZXN0cm95UmVmKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gIGlmICghZGVzdHJveVJlZikge1xuICAgIGFzc2VydEluSW5qZWN0aW9uQ29udGV4dChvbkRlc3Ryb3kpO1xuICAgIGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gIH1cblxuICByZXR1cm4gbmV3IE9ic2VydmFibGUob2JzZXJ2ZXIgPT4ge1xuICAgIHJldHVybiBkZXN0cm95UmVmLm9uRGVzdHJveShvYnNlcnZlci5uZXh0LmJpbmQob2JzZXJ2ZXIpKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBjb25zdCB0YXBTa2lwID1cbiAgPFQ+KG5FbWlzc2lvbnM6IG51bWJlciwgY2FsbGJhY2s6IChhcmdzOiBUKSA9PiB2b2lkKSA9PlxuICAoc291cmNlJDogT2JzZXJ2YWJsZTxUPik6IE9ic2VydmFibGU8VD4gPT5cbiAgICBkZWZlcigoKSA9PiB7XG4gICAgICBsZXQgY291bnRlciA9IDA7XG4gICAgICByZXR1cm4gc291cmNlJC5waXBlKFxuICAgICAgICB0YXAoaXRlbSA9PiB7XG4gICAgICAgICAgaWYgKGNvdW50ZXIgPj0gbkVtaXNzaW9ucykge1xuICAgICAgICAgICAgY2FsbGJhY2soaXRlbSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvdW50ZXIrKztcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgIH0pO1xuIl19
@@ -1,38 +0,0 @@
1
- /**
2
- * @packageDocumentation
3
- * @module utils
4
- */
5
- import { isDevMode } from '@angular/core';
6
- import { get } from 'lodash-es';
7
- import { EMPTY, Observable, ReplaySubject, catchError, concatWith, filter, from, ignoreElements, map, of, pipe, share, shareReplay, startWith, switchMap, takeUntil, } from 'rxjs';
8
- import { onDestroy } from './observable';
9
- export const publishRef = (bufferSizeOrConfig = {}) => {
10
- const { bufferSize = 1, windowTime, timestampProvider, connector = () => new ReplaySubject(bufferSize, windowTime, timestampProvider), resetOnError = false, resetOnComplete = false, resetOnRefCountZero = true, } = typeof bufferSizeOrConfig === 'number'
11
- ? {
12
- bufferSize: bufferSizeOrConfig,
13
- }
14
- : bufferSizeOrConfig;
15
- return share({
16
- connector,
17
- resetOnError,
18
- resetOnComplete,
19
- resetOnRefCountZero,
20
- });
21
- };
22
- export const shareUntil = (destroy$, bufferSize = 1, windowTime, scheduler) => pipe(takeUntil(destroy$), shareReplay(bufferSize, windowTime, scheduler));
23
- export const skipError = (mapped = EMPTY, debug = false) => catchError(err => {
24
- if (isDevMode() && debug) {
25
- console.error(err);
26
- }
27
- return mapped instanceof Observable ? mapped : of(mapped);
28
- });
29
- export const catchPromise = (promise, mapped) => from(promise).pipe(skipError(mapped));
30
- const NULL = Symbol('null');
31
- export const startWithCondition = (condition, value) => (source) => source.pipe(startWith(condition ? value : NULL), filter(value => value !== NULL));
32
- export const shareUntilDestroyed = (destroyRef, bufferSize, windowTime, scheduler) => shareUntil(onDestroy(destroyRef), bufferSize, windowTime, scheduler);
33
- export const safePluck = (...properties) => pipe(map(source => get(source, properties)));
34
- export function switchTap(arg) {
35
- const next = typeof arg === 'function' ? arg : (_x) => arg;
36
- return switchMap(value => next(value).pipe(ignoreElements(), concatWith(of(value))));
37
- }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9keW5hbWljLXBsdWdpbi1zaGFyZWQvc3JjL3V0aWxzL29wZXJhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQWMsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDaEMsT0FBTyxFQUNMLEtBQUssRUFFTCxVQUFVLEVBQ1YsYUFBYSxFQUdiLFVBQVUsRUFDVixVQUFVLEVBQ1YsTUFBTSxFQUNOLElBQUksRUFDSixjQUFjLEVBQ2QsR0FBRyxFQUNILEVBQUUsRUFDRixJQUFJLEVBQ0osS0FBSyxFQUNMLFdBQVcsRUFDWCxTQUFTLEVBQ1QsU0FBUyxFQUNULFNBQVMsR0FDVixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFVekMsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUkscUJBQTBDLEVBQUUsRUFBRSxFQUFFO0lBQzVFLE1BQU0sRUFDSixVQUFVLEdBQUcsQ0FBQyxFQUNkLFVBQVUsRUFDVixpQkFBaUIsRUFDakIsU0FBUyxHQUFHLEdBQUcsRUFBRSxDQUNmLElBQUksYUFBYSxDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsaUJBQWlCLENBQUMsRUFDOUQsWUFBWSxHQUFHLEtBQUssRUFDcEIsZUFBZSxHQUFHLEtBQUssRUFDdkIsbUJBQW1CLEdBQUcsSUFBSSxHQUMzQixHQUFHLE9BQU8sa0JBQWtCLEtBQUssUUFBUTtRQUN4QyxDQUFDLENBQUU7WUFDQyxVQUFVLEVBQUUsa0JBQWtCO1NBQ1U7UUFDNUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDO0lBQ3ZCLE9BQU8sS0FBSyxDQUFJO1FBQ2QsU0FBUztRQUNULFlBQVk7UUFDWixlQUFlO1FBQ2YsbUJBQW1CO0tBQ3BCLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUN4QixRQUE2QixFQUM3QixVQUFVLEdBQUcsQ0FBQyxFQUNkLFVBQW1CLEVBQ25CLFNBQXlCLEVBQ3pCLEVBQUUsQ0FDRixJQUFJLENBQUMsU0FBUyxDQUFJLFFBQVEsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7QUFFL0UsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQ3ZCLFNBQTRCLEtBQUssRUFDakMsS0FBSyxHQUFHLEtBQUssRUFDYixFQUFFLENBQ0YsVUFBVSxDQUFtQixHQUFHLENBQUMsRUFBRTtJQUNqQyxJQUFJLFNBQVMsRUFBRSxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ3pCLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUNELE9BQU8sTUFBTSxZQUFZLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDNUQsQ0FBQyxDQUFDLENBQUM7QUFFTCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FDMUIsT0FBbUIsRUFDbkIsTUFBMEIsRUFDMUIsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFFM0MsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBRTVCLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUM3QixDQUFJLFNBQWtCLEVBQUUsS0FBUSxFQUFFLEVBQUUsQ0FDcEMsQ0FBQyxNQUFxQixFQUFFLEVBQUUsQ0FDeEIsTUFBTSxDQUFDLElBQUksQ0FDVCxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUNuQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLENBQ2hDLENBQUM7QUFFTixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUNqQyxVQUF1QixFQUN2QixVQUFtQixFQUNuQixVQUFtQixFQUNuQixTQUF5QixFQUN6QixFQUFFLENBQUMsVUFBVSxDQUFJLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBRTdFLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUFDLEdBQUcsVUFBa0MsRUFBRSxFQUFFLENBQ2pFLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQVMvQyxNQUFNLFVBQVUsU0FBUyxDQUN2QixHQUE4QztJQUU5QyxNQUFNLElBQUksR0FDUixPQUFPLEdBQUcsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFPLEVBQWlCLEVBQUUsQ0FBQyxHQUFHLENBQUM7SUFDcEUsT0FBTyxTQUFTLENBQW1CLEtBQUssQ0FBQyxFQUFFLENBQ3pDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsVUFBVSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQzFELENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqIEBtb2R1bGUgdXRpbHNcbiAqL1xuXG5pbXBvcnQgeyBEZXN0cm95UmVmLCBpc0Rldk1vZGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGdldCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQge1xuICBFTVBUWSxcbiAgTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uLFxuICBPYnNlcnZhYmxlLFxuICBSZXBsYXlTdWJqZWN0LFxuICBTY2hlZHVsZXJMaWtlLFxuICBUaW1lc3RhbXBQcm92aWRlcixcbiAgY2F0Y2hFcnJvcixcbiAgY29uY2F0V2l0aCxcbiAgZmlsdGVyLFxuICBmcm9tLFxuICBpZ25vcmVFbGVtZW50cyxcbiAgbWFwLFxuICBvZixcbiAgcGlwZSxcbiAgc2hhcmUsXG4gIHNoYXJlUmVwbGF5LFxuICBzdGFydFdpdGgsXG4gIHN3aXRjaE1hcCxcbiAgdGFrZVVudGlsLFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgb25EZXN0cm95IH0gZnJvbSAnLi9vYnNlcnZhYmxlJztcblxuZXhwb3J0IHR5cGUgUHVibGlzaFJlZkNvbmZpZzxUPiA9XG4gIHwgbnVtYmVyXG4gIHwgKGltcG9ydCgncnhqcy9pbnRlcm5hbC9vcGVyYXRvcnMvc2hhcmUnKS5TaGFyZUNvbmZpZzxUPiAmIHtcbiAgICAgIGJ1ZmZlclNpemU/OiBudW1iZXI7XG4gICAgICB3aW5kb3dUaW1lPzogbnVtYmVyO1xuICAgICAgdGltZXN0YW1wUHJvdmlkZXI/OiBUaW1lc3RhbXBQcm92aWRlcjtcbiAgICB9KTtcblxuZXhwb3J0IGNvbnN0IHB1Ymxpc2hSZWYgPSA8VD4oYnVmZmVyU2l6ZU9yQ29uZmlnOiBQdWJsaXNoUmVmQ29uZmlnPFQ+ID0ge30pID0+IHtcbiAgY29uc3Qge1xuICAgIGJ1ZmZlclNpemUgPSAxLFxuICAgIHdpbmRvd1RpbWUsXG4gICAgdGltZXN0YW1wUHJvdmlkZXIsXG4gICAgY29ubmVjdG9yID0gKCkgPT5cbiAgICAgIG5ldyBSZXBsYXlTdWJqZWN0KGJ1ZmZlclNpemUsIHdpbmRvd1RpbWUsIHRpbWVzdGFtcFByb3ZpZGVyKSxcbiAgICByZXNldE9uRXJyb3IgPSBmYWxzZSxcbiAgICByZXNldE9uQ29tcGxldGUgPSBmYWxzZSxcbiAgICByZXNldE9uUmVmQ291bnRaZXJvID0gdHJ1ZSxcbiAgfSA9IHR5cGVvZiBidWZmZXJTaXplT3JDb25maWcgPT09ICdudW1iZXInXG4gICAgPyAoe1xuICAgICAgICBidWZmZXJTaXplOiBidWZmZXJTaXplT3JDb25maWcsXG4gICAgICB9IGFzIEV4Y2x1ZGU8UHVibGlzaFJlZkNvbmZpZzxUPiwgbnVtYmVyPilcbiAgICA6IGJ1ZmZlclNpemVPckNvbmZpZztcbiAgcmV0dXJuIHNoYXJlPFQ+KHtcbiAgICBjb25uZWN0b3IsXG4gICAgcmVzZXRPbkVycm9yLFxuICAgIHJlc2V0T25Db21wbGV0ZSxcbiAgICByZXNldE9uUmVmQ291bnRaZXJvLFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBzaGFyZVVudGlsID0gPFQ+KFxuICBkZXN0cm95JDogT2JzZXJ2YWJsZTx1bmtub3duPixcbiAgYnVmZmVyU2l6ZSA9IDEsXG4gIHdpbmRvd1RpbWU/OiBudW1iZXIsXG4gIHNjaGVkdWxlcj86IFNjaGVkdWxlckxpa2UsXG4pID0+XG4gIHBpcGUodGFrZVVudGlsPFQ+KGRlc3Ryb3kkKSwgc2hhcmVSZXBsYXkoYnVmZmVyU2l6ZSwgd2luZG93VGltZSwgc2NoZWR1bGVyKSk7XG5cbmV4cG9ydCBjb25zdCBza2lwRXJyb3IgPSA8VCwgUiA9IG5ldmVyPihcbiAgbWFwcGVkOiBSIHwgT2JzZXJ2YWJsZTxSPiA9IEVNUFRZLFxuICBkZWJ1ZyA9IGZhbHNlLFxuKSA9PlxuICBjYXRjaEVycm9yPFQsIE9ic2VydmFibGU8Uj4+KGVyciA9PiB7XG4gICAgaWYgKGlzRGV2TW9kZSgpICYmIGRlYnVnKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgfVxuICAgIHJldHVybiBtYXBwZWQgaW5zdGFuY2VvZiBPYnNlcnZhYmxlID8gbWFwcGVkIDogb2YobWFwcGVkKTtcbiAgfSk7XG5cbmV4cG9ydCBjb25zdCBjYXRjaFByb21pc2UgPSA8VCwgUiA9IG5ldmVyPihcbiAgcHJvbWlzZTogUHJvbWlzZTxUPixcbiAgbWFwcGVkPzogUiB8IE9ic2VydmFibGU8Uj4sXG4pID0+IGZyb20ocHJvbWlzZSkucGlwZShza2lwRXJyb3IobWFwcGVkKSk7XG5cbmNvbnN0IE5VTEwgPSBTeW1ib2woJ251bGwnKTtcblxuZXhwb3J0IGNvbnN0IHN0YXJ0V2l0aENvbmRpdGlvbiA9XG4gIDxUPihjb25kaXRpb246IGJvb2xlYW4sIHZhbHVlOiBUKSA9PlxuICAoc291cmNlOiBPYnNlcnZhYmxlPFQ+KSA9PlxuICAgIHNvdXJjZS5waXBlKFxuICAgICAgc3RhcnRXaXRoKGNvbmRpdGlvbiA/IHZhbHVlIDogTlVMTCksXG4gICAgICBmaWx0ZXIodmFsdWUgPT4gdmFsdWUgIT09IE5VTEwpLFxuICAgICk7XG5cbmV4cG9ydCBjb25zdCBzaGFyZVVudGlsRGVzdHJveWVkID0gPFQ+KFxuICBkZXN0cm95UmVmPzogRGVzdHJveVJlZixcbiAgYnVmZmVyU2l6ZT86IG51bWJlcixcbiAgd2luZG93VGltZT86IG51bWJlcixcbiAgc2NoZWR1bGVyPzogU2NoZWR1bGVyTGlrZSxcbikgPT4gc2hhcmVVbnRpbDxUPihvbkRlc3Ryb3koZGVzdHJveVJlZiksIGJ1ZmZlclNpemUsIHdpbmRvd1RpbWUsIHNjaGVkdWxlcik7XG5cbmV4cG9ydCBjb25zdCBzYWZlUGx1Y2sgPSAoLi4ucHJvcGVydGllczogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPikgPT5cbiAgcGlwZShtYXAoc291cmNlID0+IGdldChzb3VyY2UsIHByb3BlcnRpZXMpKSk7XG5cbi8vIHJlZmVyZW5jZSBodHRwczovL2dpdGh1Yi5jb20vUmVhY3RpdmVYL3J4anMvaXNzdWVzLzMzNTNcbmV4cG9ydCBmdW5jdGlvbiBzd2l0Y2hUYXA8VCwgUj4oXG4gIG5leHQ6ICh4OiBUKSA9PiBPYnNlcnZhYmxlPFI+LFxuKTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+O1xuZXhwb3J0IGZ1bmN0aW9uIHN3aXRjaFRhcDxSPihcbiAgb2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxSPixcbik6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxSPjtcbmV4cG9ydCBmdW5jdGlvbiBzd2l0Y2hUYXA8VCwgUj4oXG4gIGFyZzogT2JzZXJ2YWJsZTxUPiB8ICgoeDogVCkgPT4gT2JzZXJ2YWJsZTxSPiksXG4pOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VD4ge1xuICBjb25zdCBuZXh0OiAoeDogVCkgPT4gT2JzZXJ2YWJsZTxUIHwgUj4gPVxuICAgIHR5cGVvZiBhcmcgPT09ICdmdW5jdGlvbicgPyBhcmcgOiAoX3g6IGFueSk6IE9ic2VydmFibGU8VD4gPT4gYXJnO1xuICByZXR1cm4gc3dpdGNoTWFwPFQsIE9ic2VydmFibGU8VD4+KHZhbHVlID0+XG4gICAgbmV4dCh2YWx1ZSkucGlwZShpZ25vcmVFbGVtZW50cygpLCBjb25jYXRXaXRoKG9mKHZhbHVlKSkpLFxuICApO1xufVxuIl19
@@ -1,20 +0,0 @@
1
- import { inject } from '@angular/core';
2
- import { ActivatedRoute, NavigationEnd, Router, } from '@angular/router';
3
- import { distinctUntilChanged, filter, map, startWith } from 'rxjs';
4
- import { publishRef } from './operators';
5
- export function getParamFromParent(key, snapshot) {
6
- const value = snapshot.paramMap.get(key);
7
- if (value) {
8
- return value;
9
- }
10
- if (snapshot.parent) {
11
- return getParamFromParent(key, snapshot.parent);
12
- }
13
- return '';
14
- }
15
- export function initParamFromParent$(key) {
16
- const router = inject(Router);
17
- const route = inject(ActivatedRoute);
18
- return router.events.pipe(filter(e => e instanceof NavigationEnd), map(({ url }) => url), startWith(route.url), distinctUntilChanged(), map(() => getParamFromParent(key, route.snapshot)), publishRef());
19
- }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9keW5hbWljLXBsdWdpbi1zaGFyZWQvc3JjL3V0aWxzL3JvdXRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFDTCxjQUFjLEVBRWQsYUFBYSxFQUNiLE1BQU0sR0FDUCxNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVwRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXpDLE1BQU0sVUFBVSxrQkFBa0IsQ0FDaEMsR0FBVyxFQUNYLFFBQWdDO0lBRWhDLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLElBQUksS0FBSyxFQUFFLENBQUM7UUFDVixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNwQixPQUFPLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUNELE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxHQUFXO0lBQzlDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDckMsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDdkIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxZQUFZLGFBQWEsQ0FBQyxFQUN2QyxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBaUIsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQ3BDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQ3BCLG9CQUFvQixFQUFFLEVBQ3RCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQ2xELFVBQVUsRUFBRSxDQUNiLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBY3RpdmF0ZWRSb3V0ZSxcbiAgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgTmF2aWdhdGlvbkVuZCxcbiAgUm91dGVyLFxufSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwLCBzdGFydFdpdGggfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgcHVibGlzaFJlZiB9IGZyb20gJy4vb3BlcmF0b3JzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFBhcmFtRnJvbVBhcmVudChcbiAga2V5OiBzdHJpbmcsXG4gIHNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuKTogc3RyaW5nIHtcbiAgY29uc3QgdmFsdWUgPSBzbmFwc2hvdC5wYXJhbU1hcC5nZXQoa2V5KTtcbiAgaWYgKHZhbHVlKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG4gIGlmIChzbmFwc2hvdC5wYXJlbnQpIHtcbiAgICByZXR1cm4gZ2V0UGFyYW1Gcm9tUGFyZW50KGtleSwgc25hcHNob3QucGFyZW50KTtcbiAgfVxuICByZXR1cm4gJyc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0UGFyYW1Gcm9tUGFyZW50JChrZXk6IHN0cmluZykge1xuICBjb25zdCByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcbiAgY29uc3Qgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICByZXR1cm4gcm91dGVyLmV2ZW50cy5waXBlKFxuICAgIGZpbHRlcihlID0+IGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSxcbiAgICBtYXAoKHsgdXJsIH06IE5hdmlnYXRpb25FbmQpID0+IHVybCksXG4gICAgc3RhcnRXaXRoKHJvdXRlLnVybCksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBtYXAoKCkgPT4gZ2V0UGFyYW1Gcm9tUGFyZW50KGtleSwgcm91dGUuc25hcHNob3QpKSxcbiAgICBwdWJsaXNoUmVmKCksXG4gICk7XG59XG4iXX0=
@@ -1,13 +0,0 @@
1
- /**
2
- * @packageDocumentation
3
- * @module utils
4
- */
5
- import { PipeTransform } from '@angular/core';
6
- import * as i0 from "@angular/core";
7
- export declare const FIELD_NOT_AVAILABLE_PLACEHOLDER = "-";
8
- export declare const isFieldNotAvailable: (field: unknown) => boolean;
9
- export declare class FieldNotAvailablePipe implements PipeTransform {
10
- transform(field: unknown): string;
11
- static ɵfac: i0.ɵɵFactoryDeclaration<FieldNotAvailablePipe, never>;
12
- static ɵpipe: i0.ɵɵPipeDeclaration<FieldNotAvailablePipe, "aclFieldNotAvailable", true>;
13
- }
@@ -1,7 +0,0 @@
1
- import { PipeTransform } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export declare class ImgHeaderPipe implements PipeTransform {
4
- transform(value: string, prefix?: string): string;
5
- static ɵfac: i0.ɵɵFactoryDeclaration<ImgHeaderPipe, never>;
6
- static ɵpipe: i0.ɵɵPipeDeclaration<ImgHeaderPipe, "aclImageHeader", true>;
7
- }
@@ -1,13 +0,0 @@
1
- import { ThemeService } from '@alauda/ui';
2
- import { ChangeDetectorRef, OnDestroy, PipeTransform } from '@angular/core';
3
- import * as i0 from "@angular/core";
4
- export declare class ImgThemePipe implements PipeTransform, OnDestroy {
5
- private readonly theme;
6
- private readonly cdr;
7
- private readonly destroy$$;
8
- constructor(theme: ThemeService, cdr: ChangeDetectorRef);
9
- transform(value: string): string;
10
- ngOnDestroy(): void;
11
- static ɵfac: i0.ɵɵFactoryDeclaration<ImgThemePipe, never>;
12
- static ɵpipe: i0.ɵɵPipeDeclaration<ImgThemePipe, "aclImageTheme", true>;
13
- }
@@ -1,9 +0,0 @@
1
- import { KeyValuePipe as _KeyValuePipe } from '@angular/common';
2
- import { PipeTransform } from '@angular/core';
3
- import * as i0 from "@angular/core";
4
- export declare const asIsComparator: (_a: unknown, _b: unknown) => number;
5
- export declare class KeyValuePipe extends _KeyValuePipe implements PipeTransform {
6
- transform<K extends keyof any, V>(input: Record<K, V>): import("@angular/common").KeyValue<string, V>[];
7
- static ɵfac: i0.ɵɵFactoryDeclaration<KeyValuePipe, never>;
8
- static ɵpipe: i0.ɵɵPipeDeclaration<KeyValuePipe, "aclKeyvalue", true>;
9
- }
@@ -1,7 +0,0 @@
1
- import { PipeTransform } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export declare class ParseJsonPipe implements PipeTransform {
4
- transform(value: string): any;
5
- static ɵfac: i0.ɵɵFactoryDeclaration<ParseJsonPipe, never>;
6
- static ɵpipe: i0.ɵɵPipeDeclaration<ParseJsonPipe, "aclParseJson", true>;
7
- }
@@ -1,17 +0,0 @@
1
- /**
2
- * @packageDocumentation
3
- * @module utils
4
- */
5
- import { PipeTransform } from '@angular/core';
6
- import { IfEqual } from '../types';
7
- import * as i0 from "@angular/core";
8
- export type OmitFirst<T extends unknown[]> = T extends [unknown, ...infer R] ? R : [];
9
- export declare class PurePipe implements PipeTransform {
10
- /**
11
- * ! Notice: function overload is not supported for `mapper`,
12
- * you may have to use `$any` to workaround in template.
13
- */
14
- transform<T extends (...args: unknown[]) => unknown>(value: Parameters<T>[0], mapper: T, ...args: IfEqual<T, any, unknown[], OmitFirst<Parameters<T>>>): ReturnType<T>;
15
- static ɵfac: i0.ɵɵFactoryDeclaration<PurePipe, never>;
16
- static ɵpipe: i0.ɵɵPipeDeclaration<PurePipe, "pure", true>;
17
- }
@@ -1,10 +0,0 @@
1
- import { PipeTransform } from '@angular/core';
2
- import { DomSanitizer, SafeHtml, SafeResourceUrl, SafeScript, SafeStyle, SafeUrl } from '@angular/platform-browser';
3
- import * as i0 from "@angular/core";
4
- export declare class SafePipe implements PipeTransform {
5
- private readonly sanitizer;
6
- constructor(sanitizer: DomSanitizer);
7
- transform(value: string, type: string): SafeHtml | SafeStyle | SafeScript | SafeUrl | SafeResourceUrl;
8
- static ɵfac: i0.ɵɵFactoryDeclaration<SafePipe, never>;
9
- static ɵpipe: i0.ɵɵPipeDeclaration<SafePipe, "aclSafe", true>;
10
- }