ngx-lift 1.10.2 → 19.0.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.
- package/README.md +5 -1
- package/fesm2022/ngx-lift.mjs +738 -194
- package/fesm2022/ngx-lift.mjs.map +1 -1
- package/index.d.ts +1638 -3
- package/package.json +6 -6
- package/esm2022/lib/const.mjs +0 -10
- package/esm2022/lib/models/async-state.model.mjs +0 -2
- package/esm2022/lib/models/index.mjs +0 -6
- package/esm2022/lib/models/kubernetes-list.model.mjs +0 -2
- package/esm2022/lib/models/kubernetes-object-condition.model.mjs +0 -2
- package/esm2022/lib/models/kubernetes-object-meta.model.mjs +0 -2
- package/esm2022/lib/models/kubernetes-object.model.mjs +0 -2
- package/esm2022/lib/operators/combine-latest-eager.operator.mjs +0 -48
- package/esm2022/lib/operators/create-async-state.operator.mjs +0 -61
- package/esm2022/lib/operators/distinct-on-change.operator.mjs +0 -80
- package/esm2022/lib/operators/index.mjs +0 -9
- package/esm2022/lib/operators/kubernetes-pagination.operator.mjs +0 -71
- package/esm2022/lib/operators/logger.operator.mjs +0 -21
- package/esm2022/lib/operators/poll.operator.mjs +0 -39
- package/esm2022/lib/operators/start-with-tap.operator.mjs +0 -15
- package/esm2022/lib/operators/switch-map-with-async-state.operator.mjs +0 -33
- package/esm2022/lib/pipes/array-join.pipe.mjs +0 -21
- package/esm2022/lib/pipes/byte-converter.pipe.mjs +0 -150
- package/esm2022/lib/pipes/index.mjs +0 -6
- package/esm2022/lib/pipes/is-https.pipe.mjs +0 -18
- package/esm2022/lib/pipes/mask.pipe.mjs +0 -36
- package/esm2022/lib/pipes/range.pipe.mjs +0 -19
- package/esm2022/lib/signals/combine-from.mjs +0 -81
- package/esm2022/lib/signals/computed-async.mjs +0 -63
- package/esm2022/lib/signals/create-trigger.mjs +0 -11
- package/esm2022/lib/signals/index.mjs +0 -7
- package/esm2022/lib/signals/inject-params.mjs +0 -35
- package/esm2022/lib/signals/inject-query-params.mjs +0 -53
- package/esm2022/lib/signals/merge-from.mjs +0 -71
- package/esm2022/lib/utils/difference-in-days.util.mjs +0 -25
- package/esm2022/lib/utils/form.util.mjs +0 -56
- package/esm2022/lib/utils/idle-detection/idle-detection.config.mjs +0 -7
- package/esm2022/lib/utils/idle-detection/idle-detection.module.mjs +0 -25
- package/esm2022/lib/utils/idle-detection/idle-detection.service.mjs +0 -190
- package/esm2022/lib/utils/idle-detection/index.mjs +0 -4
- package/esm2022/lib/utils/index.mjs +0 -10
- package/esm2022/lib/utils/internal.util.mjs +0 -13
- package/esm2022/lib/utils/is-empty.util.mjs +0 -49
- package/esm2022/lib/utils/is-equal.util.mjs +0 -24
- package/esm2022/lib/utils/is-promise.util.mjs +0 -5
- package/esm2022/lib/utils/omit-by.util.mjs +0 -12
- package/esm2022/lib/utils/pick-by.util.mjs +0 -16
- package/esm2022/lib/utils/range.util.mjs +0 -28
- package/esm2022/lib/utils/url.util.mjs +0 -34
- package/esm2022/lib/validators/date-range.validator.mjs +0 -58
- package/esm2022/lib/validators/index.mjs +0 -5
- package/esm2022/lib/validators/intersection.validator.mjs +0 -34
- package/esm2022/lib/validators/unique.validator.mjs +0 -64
- package/esm2022/lib/validators/url.validator.mjs +0 -14
- package/esm2022/ngx-lift.mjs +0 -5
- package/esm2022/public-api.mjs +0 -10
- package/lib/const.d.ts +0 -5
- package/lib/models/async-state.model.d.ts +0 -22
- package/lib/models/index.d.ts +0 -5
- package/lib/models/kubernetes-list.model.d.ts +0 -10
- package/lib/models/kubernetes-object-condition.model.d.ts +0 -28
- package/lib/models/kubernetes-object-meta.model.d.ts +0 -38
- package/lib/models/kubernetes-object.model.d.ts +0 -8
- package/lib/operators/combine-latest-eager.operator.d.ts +0 -7
- package/lib/operators/create-async-state.operator.d.ts +0 -64
- package/lib/operators/distinct-on-change.operator.d.ts +0 -55
- package/lib/operators/index.d.ts +0 -8
- package/lib/operators/kubernetes-pagination.operator.d.ts +0 -30
- package/lib/operators/logger.operator.d.ts +0 -11
- package/lib/operators/poll.operator.d.ts +0 -39
- package/lib/operators/start-with-tap.operator.d.ts +0 -10
- package/lib/operators/switch-map-with-async-state.operator.d.ts +0 -31
- package/lib/pipes/array-join.pipe.d.ts +0 -7
- package/lib/pipes/byte-converter.pipe.d.ts +0 -40
- package/lib/pipes/index.d.ts +0 -5
- package/lib/pipes/is-https.pipe.d.ts +0 -7
- package/lib/pipes/mask.pipe.d.ts +0 -19
- package/lib/pipes/range.pipe.d.ts +0 -10
- package/lib/signals/combine-from.d.ts +0 -25
- package/lib/signals/computed-async.d.ts +0 -29
- package/lib/signals/create-trigger.d.ts +0 -4
- package/lib/signals/index.d.ts +0 -6
- package/lib/signals/inject-params.d.ts +0 -63
- package/lib/signals/inject-query-params.d.ts +0 -71
- package/lib/signals/merge-from.d.ts +0 -13
- package/lib/utils/difference-in-days.util.d.ts +0 -19
- package/lib/utils/form.util.d.ts +0 -18
- package/lib/utils/idle-detection/idle-detection.config.d.ts +0 -5
- package/lib/utils/idle-detection/idle-detection.module.d.ts +0 -13
- package/lib/utils/idle-detection/idle-detection.service.d.ts +0 -119
- package/lib/utils/idle-detection/index.d.ts +0 -3
- package/lib/utils/index.d.ts +0 -9
- package/lib/utils/internal.util.d.ts +0 -4
- package/lib/utils/is-empty.util.d.ts +0 -10
- package/lib/utils/is-equal.util.d.ts +0 -7
- package/lib/utils/is-promise.util.d.ts +0 -1
- package/lib/utils/omit-by.util.d.ts +0 -7
- package/lib/utils/pick-by.util.d.ts +0 -7
- package/lib/utils/range.util.d.ts +0 -12
- package/lib/utils/url.util.d.ts +0 -24
- package/lib/validators/date-range.validator.d.ts +0 -19
- package/lib/validators/index.d.ts +0 -4
- package/lib/validators/intersection.validator.d.ts +0 -9
- package/lib/validators/unique.validator.d.ts +0 -18
- package/lib/validators/url.validator.d.ts +0 -3
- package/public-api.d.ts +0 -6
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
import { inject, LOCALE_ID, Pipe } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* import { LOCALE_ID, NgModule } from '@angular/core';
|
|
5
|
-
* import { BrowserModule } from '@angular/platform-browser';
|
|
6
|
-
* import { AppComponent } from './app.component';
|
|
7
|
-
* import { registerLocaleData } from '@angular/common';
|
|
8
|
-
*
|
|
9
|
-
* import localeEn from '@angular/common/locales/en';
|
|
10
|
-
* import localeFr from '@angular/common/locales/fr';
|
|
11
|
-
*
|
|
12
|
-
* // Register locales
|
|
13
|
-
* registerLocaleData(localeEn);
|
|
14
|
-
* registerLocaleData(localeFr);
|
|
15
|
-
*
|
|
16
|
-
* @NgModule({
|
|
17
|
-
* declarations: [AppComponent],
|
|
18
|
-
* imports: [BrowserModule],
|
|
19
|
-
* providers: [
|
|
20
|
-
* {
|
|
21
|
-
* provide: LOCALE_ID,
|
|
22
|
-
* useFactory: () => {
|
|
23
|
-
* // Use the browser's language or a default language
|
|
24
|
-
* return navigator.language || 'en';
|
|
25
|
-
* },
|
|
26
|
-
* },
|
|
27
|
-
* ],
|
|
28
|
-
* bootstrap: [AppComponent],
|
|
29
|
-
* })
|
|
30
|
-
* export class AppModule {}
|
|
31
|
-
*/
|
|
32
|
-
export class ByteConverterPipe {
|
|
33
|
-
constructor() {
|
|
34
|
-
this.locale = inject(LOCALE_ID);
|
|
35
|
-
}
|
|
36
|
-
transform(value) {
|
|
37
|
-
if (value === null || value === undefined || isNaN(value)) {
|
|
38
|
-
return null;
|
|
39
|
-
}
|
|
40
|
-
const units = ['BYTE', 'KB', 'MB', 'GB', 'TB'];
|
|
41
|
-
let unitIndex = 0;
|
|
42
|
-
while (value >= 1024 && unitIndex < units.length - 1) {
|
|
43
|
-
value /= 1024;
|
|
44
|
-
unitIndex++;
|
|
45
|
-
}
|
|
46
|
-
const translationObject = translations[this.locale] || translations['en'];
|
|
47
|
-
const key = units[unitIndex];
|
|
48
|
-
return this.formatNumber(value) + ' ' + translationObject[key];
|
|
49
|
-
}
|
|
50
|
-
formatNumber(value) {
|
|
51
|
-
return new Intl.NumberFormat(this.locale, { maximumFractionDigits: 2 }).format(value);
|
|
52
|
-
}
|
|
53
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ByteConverterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
54
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ByteConverterPipe, isStandalone: true, name: "byteConverter" }); }
|
|
55
|
-
}
|
|
56
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ByteConverterPipe, decorators: [{
|
|
57
|
-
type: Pipe,
|
|
58
|
-
args: [{
|
|
59
|
-
name: 'byteConverter',
|
|
60
|
-
standalone: true,
|
|
61
|
-
}]
|
|
62
|
-
}] });
|
|
63
|
-
const translations = {
|
|
64
|
-
en: {
|
|
65
|
-
BYTE: 'B',
|
|
66
|
-
KB: 'KB',
|
|
67
|
-
MB: 'MB',
|
|
68
|
-
GB: 'GB',
|
|
69
|
-
TB: 'TB',
|
|
70
|
-
},
|
|
71
|
-
'en-US': {
|
|
72
|
-
// You can provide specific variations for en-US if needed
|
|
73
|
-
BYTE: 'B',
|
|
74
|
-
KB: 'KB',
|
|
75
|
-
MB: 'MB',
|
|
76
|
-
GB: 'GB',
|
|
77
|
-
TB: 'TB',
|
|
78
|
-
},
|
|
79
|
-
de: {
|
|
80
|
-
BYTE: 'B',
|
|
81
|
-
KB: 'KB',
|
|
82
|
-
MB: 'MB',
|
|
83
|
-
GB: 'GB',
|
|
84
|
-
TB: 'TB',
|
|
85
|
-
},
|
|
86
|
-
es: {
|
|
87
|
-
BYTE: 'B',
|
|
88
|
-
KB: 'KB',
|
|
89
|
-
MB: 'MB',
|
|
90
|
-
GB: 'GB',
|
|
91
|
-
TB: 'TB',
|
|
92
|
-
},
|
|
93
|
-
fr: {
|
|
94
|
-
BYTE: 'o',
|
|
95
|
-
KB: 'Ko',
|
|
96
|
-
MB: 'Mo',
|
|
97
|
-
GB: 'Go',
|
|
98
|
-
TB: 'To',
|
|
99
|
-
},
|
|
100
|
-
it: {
|
|
101
|
-
BYTE: 'B',
|
|
102
|
-
KB: 'KB',
|
|
103
|
-
MB: 'MB',
|
|
104
|
-
GB: 'GB',
|
|
105
|
-
TB: 'TB',
|
|
106
|
-
},
|
|
107
|
-
ja: {
|
|
108
|
-
BYTE: 'B',
|
|
109
|
-
KB: 'KB',
|
|
110
|
-
MB: 'MB',
|
|
111
|
-
GB: 'GB',
|
|
112
|
-
TB: 'TB',
|
|
113
|
-
},
|
|
114
|
-
ko: {
|
|
115
|
-
BYTE: 'B',
|
|
116
|
-
KB: 'KB',
|
|
117
|
-
MB: 'MB',
|
|
118
|
-
GB: 'GB',
|
|
119
|
-
TB: 'TB',
|
|
120
|
-
},
|
|
121
|
-
'pt-BR': {
|
|
122
|
-
BYTE: 'B',
|
|
123
|
-
KB: 'KB',
|
|
124
|
-
MB: 'MB',
|
|
125
|
-
GB: 'GB',
|
|
126
|
-
TB: 'TB',
|
|
127
|
-
},
|
|
128
|
-
'zh-CN': {
|
|
129
|
-
BYTE: '字节',
|
|
130
|
-
KB: '千字节',
|
|
131
|
-
MB: '兆字节',
|
|
132
|
-
GB: '千兆字节',
|
|
133
|
-
TB: '太字节',
|
|
134
|
-
},
|
|
135
|
-
'zh-TW': {
|
|
136
|
-
BYTE: '位元組',
|
|
137
|
-
KB: '千位元組',
|
|
138
|
-
MB: '兆位元組',
|
|
139
|
-
GB: '千兆位元組',
|
|
140
|
-
TB: '太位元組',
|
|
141
|
-
},
|
|
142
|
-
ru: {
|
|
143
|
-
BYTE: 'Б',
|
|
144
|
-
KB: 'КБ',
|
|
145
|
-
MB: 'МБ',
|
|
146
|
-
GB: 'ГБ',
|
|
147
|
-
TB: 'ТБ',
|
|
148
|
-
},
|
|
149
|
-
};
|
|
150
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnl0ZS1jb252ZXJ0ZXIucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWZ0L3NyYy9saWIvcGlwZXMvYnl0ZS1jb252ZXJ0ZXIucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDOztBQUVyRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRCRztBQU1ILE1BQU0sT0FBTyxpQkFBaUI7SUFKOUI7UUFLVSxXQUFNLEdBQUcsTUFBTSxDQUFTLFNBQVMsQ0FBQyxDQUFDO0tBaUM1QztJQXRCQyxTQUFTLENBQUMsS0FBaUM7UUFDekMsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDMUQsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsTUFBTSxLQUFLLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDL0MsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBRWxCLE9BQU8sS0FBSyxJQUFJLElBQUksSUFBSSxTQUFTLEdBQUcsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNyRCxLQUFLLElBQUksSUFBSSxDQUFDO1lBQ2QsU0FBUyxFQUFFLENBQUM7UUFDZCxDQUFDO1FBRUQsTUFBTSxpQkFBaUIsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxRSxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFN0IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsR0FBRyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRU8sWUFBWSxDQUFDLEtBQWE7UUFDaEMsT0FBTyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFDLHFCQUFxQixFQUFFLENBQUMsRUFBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RGLENBQUM7K0dBakNVLGlCQUFpQjs2R0FBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUo3QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxlQUFlO29CQUNyQixVQUFVLEVBQUUsSUFBSTtpQkFDakI7O0FBcUNELE1BQU0sWUFBWSxHQUEyQztJQUMzRCxFQUFFLEVBQUU7UUFDRixJQUFJLEVBQUUsR0FBRztRQUNULEVBQUUsRUFBRSxJQUFJO1FBQ1IsRUFBRSxFQUFFLElBQUk7UUFDUixFQUFFLEVBQUUsSUFBSTtRQUNSLEVBQUUsRUFBRSxJQUFJO0tBQ1Q7SUFDRCxPQUFPLEVBQUU7UUFDUCwwREFBMEQ7UUFDMUQsSUFBSSxFQUFFLEdBQUc7UUFDVCxFQUFFLEVBQUUsSUFBSTtRQUNSLEVBQUUsRUFBRSxJQUFJO1FBQ1IsRUFBRSxFQUFFLElBQUk7UUFDUixFQUFFLEVBQUUsSUFBSTtLQUNUO0lBQ0QsRUFBRSxFQUFFO1FBQ0YsSUFBSSxFQUFFLEdBQUc7UUFDVCxFQUFFLEVBQUUsSUFBSTtRQUNSLEVBQUUsRUFBRSxJQUFJO1FBQ1IsRUFBRSxFQUFFLElBQUk7UUFDUixFQUFFLEVBQUUsSUFBSTtLQUNUO0lBQ0QsRUFBRSxFQUFFO1FBQ0YsSUFBSSxFQUFFLEdBQUc7UUFDVCxFQUFFLEVBQUUsSUFBSTtRQUNSLEVBQUUsRUFBRSxJQUFJO1FBQ1IsRUFBRSxFQUFFLElBQUk7UUFDUixFQUFFLEVBQUUsSUFBSTtLQUNUO0lBQ0QsRUFBRSxFQUFFO1FBQ0YsSUFBSSxFQUFFLEdBQUc7UUFDVCxFQUFFLEVBQUUsSUFBSTtRQUNSLEVBQUUsRUFBRSxJQUFJO1FBQ1IsRUFBRSxFQUFFLElBQUk7UUFDUixFQUFFLEVBQUUsSUFBSTtLQUNUO0lBQ0QsRUFBRSxFQUFFO1FBQ0YsSUFBSSxFQUFFLEdBQUc7UUFDVCxFQUFFLEVBQUUsSUFBSTtRQUNSLEVBQUUsRUFBRSxJQUFJO1FBQ1IsRUFBRSxFQUFFLElBQUk7UUFDUixFQUFFLEVBQUUsSUFBSTtLQUNUO0lBQ0QsRUFBRSxFQUFFO1FBQ0YsSUFBSSxFQUFFLEdBQUc7UUFDVCxFQUFFLEVBQUUsSUFBSTtRQUNSLEVBQUUsRUFBRSxJQUFJO1FBQ1IsRUFBRSxFQUFFLElBQUk7UUFDUixFQUFFLEVBQUUsSUFBSTtLQUNUO0lBQ0QsRUFBRSxFQUFFO1FBQ0YsSUFBSSxFQUFFLEdBQUc7UUFDVCxFQUFFLEVBQUUsSUFBSTtRQUNSLEVBQUUsRUFBRSxJQUFJO1FBQ1IsRUFBRSxFQUFFLElBQUk7UUFDUixFQUFFLEVBQUUsSUFBSTtLQUNUO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsSUFBSSxFQUFFLEdBQUc7UUFDVCxFQUFFLEVBQUUsSUFBSTtRQUNSLEVBQUUsRUFBRSxJQUFJO1FBQ1IsRUFBRSxFQUFFLElBQUk7UUFDUixFQUFFLEVBQUUsSUFBSTtLQUNUO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsSUFBSSxFQUFFLElBQUk7UUFDVixFQUFFLEVBQUUsS0FBSztRQUNULEVBQUUsRUFBRSxLQUFLO1FBQ1QsRUFBRSxFQUFFLE1BQU07UUFDVixFQUFFLEVBQUUsS0FBSztLQUNWO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsSUFBSSxFQUFFLEtBQUs7UUFDWCxFQUFFLEVBQUUsTUFBTTtRQUNWLEVBQUUsRUFBRSxNQUFNO1FBQ1YsRUFBRSxFQUFFLE9BQU87UUFDWCxFQUFFLEVBQUUsTUFBTTtLQUNYO0lBQ0QsRUFBRSxFQUFFO1FBQ0YsSUFBSSxFQUFFLEdBQUc7UUFDVCxFQUFFLEVBQUUsSUFBSTtRQUNSLEVBQUUsRUFBRSxJQUFJO1FBQ1IsRUFBRSxFQUFFLElBQUk7UUFDUixFQUFFLEVBQUUsSUFBSTtLQUNUO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0LCBMT0NBTEVfSUQsIFBpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIGltcG9ydCB7IExPQ0FMRV9JRCwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbiAqIGltcG9ydCB7IEJyb3dzZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbiAqIGltcG9ydCB7IEFwcENvbXBvbmVudCB9IGZyb20gJy4vYXBwLmNvbXBvbmVudCc7XG4gKiBpbXBvcnQgeyByZWdpc3RlckxvY2FsZURhdGEgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuICpcbiAqIGltcG9ydCBsb2NhbGVFbiBmcm9tICdAYW5ndWxhci9jb21tb24vbG9jYWxlcy9lbic7XG4gKiBpbXBvcnQgbG9jYWxlRnIgZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2xvY2FsZXMvZnInO1xuICpcbiAqIC8vIFJlZ2lzdGVyIGxvY2FsZXNcbiAqIHJlZ2lzdGVyTG9jYWxlRGF0YShsb2NhbGVFbik7XG4gKiByZWdpc3RlckxvY2FsZURhdGEobG9jYWxlRnIpO1xuICpcbiAqIEBOZ01vZHVsZSh7XG4gKiAgIGRlY2xhcmF0aW9uczogW0FwcENvbXBvbmVudF0sXG4gKiAgIGltcG9ydHM6IFtCcm93c2VyTW9kdWxlXSxcbiAqICAgcHJvdmlkZXJzOiBbXG4gKiAgICAge1xuICogICAgICAgcHJvdmlkZTogTE9DQUxFX0lELFxuICogICAgICAgdXNlRmFjdG9yeTogKCkgPT4ge1xuICogICAgICAgICAvLyBVc2UgdGhlIGJyb3dzZXIncyBsYW5ndWFnZSBvciBhIGRlZmF1bHQgbGFuZ3VhZ2VcbiAqICAgICAgICAgcmV0dXJuIG5hdmlnYXRvci5sYW5ndWFnZSB8fCAnZW4nO1xuICogICAgICAgfSxcbiAqICAgICB9LFxuICogICBdLFxuICogICBib290c3RyYXA6IFtBcHBDb21wb25lbnRdLFxuICogfSlcbiAqIGV4cG9ydCBjbGFzcyBBcHBNb2R1bGUge31cbiAqL1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdieXRlQ29udmVydGVyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgQnl0ZUNvbnZlcnRlclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgcHJpdmF0ZSBsb2NhbGUgPSBpbmplY3Q8c3RyaW5nPihMT0NBTEVfSUQpO1xuICAvLyBJZiB1c2luZyBuYXZpZ2F0b3IubGFuZ3VhZ2UgZGlyZWN0bHkgaW4gdGhlIHBpcGUsIHRoaXMgYXBwcm9hY2ggZGlyZWN0bHkgdXNlcyB0aGUgYnJvd3NlcidzIGxhbmd1YWdlIGF0IHRoZSBtb21lbnQgdGhlIEJ5dGVDb252ZXJ0ZXJQaXBlIGlzIGNvbnN0cnVjdGVkLiBJZiB0aGUgdXNlciBjaGFuZ2VzIHRoZSBsYW5ndWFnZSB3aGlsZSB1c2luZyB0aGUgYXBwbGljYXRpb24sIGl0IHdvbid0IGJlIGF1dG9tYXRpY2FsbHkgcmVmbGVjdGVkLiBJZiBkeW5hbWljIGxhbmd1YWdlIGNoYW5nZXMgYXJlIGEgcmVxdWlyZW1lbnQsIHVzaW5nIHRoZSBMT0NBTEVfSUQgcHJvdmlkZXIgYXMgZGVtb25zdHJhdGVkIGluIHRoZSBBcHBNb2R1bGUgaXMgYSBtb3JlIEFuZ3VsYXItY2VudHJpYyBhcHByb2FjaC5cbiAgLy8gcHJpdmF0ZSBsb2NhbGU6IHN0cmluZztcbiAgLy8gY29uc3RydWN0b3IoKSB7XG4gIC8vICAgLy8gVXNlIG5hdmlnYXRvci5sYW5ndWFnZSBhcyB0aGUgZGVmYXVsdCBsb2NhbGVcbiAgLy8gICB0aGlzLmxvY2FsZSA9IG5hdmlnYXRvci5sYW5ndWFnZSB8fCAnZW4nO1xuICAvLyB9XG5cbiAgdHJhbnNmb3JtKHZhbHVlOiBudW1iZXIpOiBzdHJpbmc7XG4gIHRyYW5zZm9ybSh2YWx1ZT86IG51bWJlcik6IHN0cmluZyB8IG51bGw7XG4gIHRyYW5zZm9ybSh2YWx1ZT86IG51bWJlciB8IG51bGwpOiBzdHJpbmcgfCBudWxsO1xuICB0cmFuc2Zvcm0odmFsdWU/OiBudWxsIHwgbnVtYmVyIHwgdW5kZWZpbmVkKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQgfHwgaXNOYU4odmFsdWUpKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCB1bml0cyA9IFsnQllURScsICdLQicsICdNQicsICdHQicsICdUQiddO1xuICAgIGxldCB1bml0SW5kZXggPSAwO1xuXG4gICAgd2hpbGUgKHZhbHVlID49IDEwMjQgJiYgdW5pdEluZGV4IDwgdW5pdHMubGVuZ3RoIC0gMSkge1xuICAgICAgdmFsdWUgLz0gMTAyNDtcbiAgICAgIHVuaXRJbmRleCsrO1xuICAgIH1cblxuICAgIGNvbnN0IHRyYW5zbGF0aW9uT2JqZWN0ID0gdHJhbnNsYXRpb25zW3RoaXMubG9jYWxlXSB8fCB0cmFuc2xhdGlvbnNbJ2VuJ107XG4gICAgY29uc3Qga2V5ID0gdW5pdHNbdW5pdEluZGV4XTtcblxuICAgIHJldHVybiB0aGlzLmZvcm1hdE51bWJlcih2YWx1ZSkgKyAnICcgKyB0cmFuc2xhdGlvbk9iamVjdFtrZXldO1xuICB9XG5cbiAgcHJpdmF0ZSBmb3JtYXROdW1iZXIodmFsdWU6IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIG5ldyBJbnRsLk51bWJlckZvcm1hdCh0aGlzLmxvY2FsZSwge21heGltdW1GcmFjdGlvbkRpZ2l0czogMn0pLmZvcm1hdCh2YWx1ZSk7XG4gIH1cbn1cblxuY29uc3QgdHJhbnNsYXRpb25zOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiA9IHtcbiAgZW46IHtcbiAgICBCWVRFOiAnQicsXG4gICAgS0I6ICdLQicsXG4gICAgTUI6ICdNQicsXG4gICAgR0I6ICdHQicsXG4gICAgVEI6ICdUQicsXG4gIH0sXG4gICdlbi1VUyc6IHtcbiAgICAvLyBZb3UgY2FuIHByb3ZpZGUgc3BlY2lmaWMgdmFyaWF0aW9ucyBmb3IgZW4tVVMgaWYgbmVlZGVkXG4gICAgQllURTogJ0InLFxuICAgIEtCOiAnS0InLFxuICAgIE1COiAnTUInLFxuICAgIEdCOiAnR0InLFxuICAgIFRCOiAnVEInLFxuICB9LFxuICBkZToge1xuICAgIEJZVEU6ICdCJyxcbiAgICBLQjogJ0tCJyxcbiAgICBNQjogJ01CJyxcbiAgICBHQjogJ0dCJyxcbiAgICBUQjogJ1RCJyxcbiAgfSxcbiAgZXM6IHtcbiAgICBCWVRFOiAnQicsXG4gICAgS0I6ICdLQicsXG4gICAgTUI6ICdNQicsXG4gICAgR0I6ICdHQicsXG4gICAgVEI6ICdUQicsXG4gIH0sXG4gIGZyOiB7XG4gICAgQllURTogJ28nLFxuICAgIEtCOiAnS28nLFxuICAgIE1COiAnTW8nLFxuICAgIEdCOiAnR28nLFxuICAgIFRCOiAnVG8nLFxuICB9LFxuICBpdDoge1xuICAgIEJZVEU6ICdCJyxcbiAgICBLQjogJ0tCJyxcbiAgICBNQjogJ01CJyxcbiAgICBHQjogJ0dCJyxcbiAgICBUQjogJ1RCJyxcbiAgfSxcbiAgamE6IHtcbiAgICBCWVRFOiAnQicsXG4gICAgS0I6ICdLQicsXG4gICAgTUI6ICdNQicsXG4gICAgR0I6ICdHQicsXG4gICAgVEI6ICdUQicsXG4gIH0sXG4gIGtvOiB7XG4gICAgQllURTogJ0InLFxuICAgIEtCOiAnS0InLFxuICAgIE1COiAnTUInLFxuICAgIEdCOiAnR0InLFxuICAgIFRCOiAnVEInLFxuICB9LFxuICAncHQtQlInOiB7XG4gICAgQllURTogJ0InLFxuICAgIEtCOiAnS0InLFxuICAgIE1COiAnTUInLFxuICAgIEdCOiAnR0InLFxuICAgIFRCOiAnVEInLFxuICB9LFxuICAnemgtQ04nOiB7XG4gICAgQllURTogJ+Wtl+iKgicsXG4gICAgS0I6ICfljYPlrZfoioInLFxuICAgIE1COiAn5YWG5a2X6IqCJyxcbiAgICBHQjogJ+WNg+WFhuWtl+iKgicsXG4gICAgVEI6ICflpKrlrZfoioInLFxuICB9LFxuICAnemgtVFcnOiB7XG4gICAgQllURTogJ+S9jeWFg+e1hCcsXG4gICAgS0I6ICfljYPkvY3lhYPntYQnLFxuICAgIE1COiAn5YWG5L2N5YWD57WEJyxcbiAgICBHQjogJ+WNg+WFhuS9jeWFg+e1hCcsXG4gICAgVEI6ICflpKrkvY3lhYPntYQnLFxuICB9LFxuICBydToge1xuICAgIEJZVEU6ICfQkScsXG4gICAgS0I6ICfQmtCRJyxcbiAgICBNQjogJ9Cc0JEnLFxuICAgIEdCOiAn0JPQkScsXG4gICAgVEI6ICfQotCRJyxcbiAgfSxcbn07XG4iXX0=
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export * from './array-join.pipe';
|
|
2
|
-
export * from './byte-converter.pipe';
|
|
3
|
-
export * from './is-https.pipe';
|
|
4
|
-
export * from './mask.pipe';
|
|
5
|
-
export * from './range.pipe';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGlmdC9zcmMvbGliL3BpcGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hcnJheS1qb2luLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9ieXRlLWNvbnZlcnRlci5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtaHR0cHMucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL21hc2sucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3JhbmdlLnBpcGUnO1xuIl19
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
import { isHttps } from '../utils';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class IsHttpsPipe {
|
|
5
|
-
transform(value) {
|
|
6
|
-
return isHttps(value);
|
|
7
|
-
}
|
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IsHttpsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
9
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: IsHttpsPipe, isStandalone: true, name: "isHttps" }); }
|
|
10
|
-
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IsHttpsPipe, decorators: [{
|
|
12
|
-
type: Pipe,
|
|
13
|
-
args: [{
|
|
14
|
-
name: 'isHttps',
|
|
15
|
-
standalone: true,
|
|
16
|
-
}]
|
|
17
|
-
}] });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtaHR0cHMucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWZ0L3NyYy9saWIvcGlwZXMvaXMtaHR0cHMucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUVsRCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sVUFBVSxDQUFDOztBQU1qQyxNQUFNLE9BQU8sV0FBVztJQUN0QixTQUFTLENBQUMsS0FBYTtRQUNyQixPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QixDQUFDOytHQUhVLFdBQVc7NkdBQVgsV0FBVzs7NEZBQVgsV0FBVztrQkFKdkIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsU0FBUztvQkFDZixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge2lzSHR0cHN9IGZyb20gJy4uL3V0aWxzJztcblxuQFBpcGUoe1xuICBuYW1lOiAnaXNIdHRwcycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIElzSHR0cHNQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzSHR0cHModmFsdWUpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
const unmaskNumber = 6;
|
|
4
|
-
const maskChar = '*';
|
|
5
|
-
export class MaskPipe {
|
|
6
|
-
/**
|
|
7
|
-
* Transforms the input string by masking characters based on the provided options.
|
|
8
|
-
*
|
|
9
|
-
* @param {string} value - The input string to be masked.
|
|
10
|
-
* @param {MaskOptions} [options={}] - Options for customizing the masking behavior.
|
|
11
|
-
* @returns {string} - The masked string.
|
|
12
|
-
*/
|
|
13
|
-
transform(value, options = {}) {
|
|
14
|
-
const { unmaskedPrefixLength = unmaskNumber, unmaskedSuffixLength = unmaskNumber, masked = true } = options;
|
|
15
|
-
if (value.length <= unmaskedPrefixLength + unmaskedSuffixLength ||
|
|
16
|
-
unmaskedPrefixLength < 0 ||
|
|
17
|
-
unmaskedSuffixLength < 0 ||
|
|
18
|
-
!masked) {
|
|
19
|
-
return value;
|
|
20
|
-
}
|
|
21
|
-
return value
|
|
22
|
-
.split('')
|
|
23
|
-
.map((char, i) => (i < unmaskedPrefixLength || i > value.length - unmaskedSuffixLength - 1 ? char : maskChar))
|
|
24
|
-
.join('');
|
|
25
|
-
}
|
|
26
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MaskPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
27
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: MaskPipe, isStandalone: true, name: "mask" }); }
|
|
28
|
-
}
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MaskPipe, decorators: [{
|
|
30
|
-
type: Pipe,
|
|
31
|
-
args: [{
|
|
32
|
-
name: 'mask',
|
|
33
|
-
standalone: true,
|
|
34
|
-
}]
|
|
35
|
-
}] });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFzay5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpZnQvc3JjL2xpYi9waXBlcy9tYXNrLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7O0FBRWxELE1BQU0sWUFBWSxHQUFHLENBQUMsQ0FBQztBQUN2QixNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUM7QUFZckIsTUFBTSxPQUFPLFFBQVE7SUFDbkI7Ozs7OztPQU1HO0lBQ0gsU0FBUyxDQUFDLEtBQWEsRUFBRSxVQUF1QixFQUFFO1FBQ2hELE1BQU0sRUFBQyxvQkFBb0IsR0FBRyxZQUFZLEVBQUUsb0JBQW9CLEdBQUcsWUFBWSxFQUFFLE1BQU0sR0FBRyxJQUFJLEVBQUMsR0FBRyxPQUFPLENBQUM7UUFFMUcsSUFDRSxLQUFLLENBQUMsTUFBTSxJQUFJLG9CQUFvQixHQUFHLG9CQUFvQjtZQUMzRCxvQkFBb0IsR0FBRyxDQUFDO1lBQ3hCLG9CQUFvQixHQUFHLENBQUM7WUFDeEIsQ0FBQyxNQUFNLEVBQ1AsQ0FBQztZQUNELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUVELE9BQU8sS0FBSzthQUNULEtBQUssQ0FBQyxFQUFFLENBQUM7YUFDVCxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxvQkFBb0IsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sR0FBRyxvQkFBb0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDN0csSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2QsQ0FBQzsrR0F4QlUsUUFBUTs2R0FBUixRQUFROzs0RkFBUixRQUFRO2tCQUpwQixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxNQUFNO29CQUNaLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmNvbnN0IHVubWFza051bWJlciA9IDY7XG5jb25zdCBtYXNrQ2hhciA9ICcqJztcblxuZXhwb3J0IGludGVyZmFjZSBNYXNrT3B0aW9ucyB7XG4gIHVubWFza2VkUHJlZml4TGVuZ3RoPzogbnVtYmVyO1xuICB1bm1hc2tlZFN1ZmZpeExlbmd0aD86IG51bWJlcjtcbiAgbWFza2VkPzogYm9vbGVhbjtcbn1cblxuQFBpcGUoe1xuICBuYW1lOiAnbWFzaycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIE1hc2tQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIC8qKlxuICAgKiBUcmFuc2Zvcm1zIHRoZSBpbnB1dCBzdHJpbmcgYnkgbWFza2luZyBjaGFyYWN0ZXJzIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBvcHRpb25zLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsdWUgLSBUaGUgaW5wdXQgc3RyaW5nIHRvIGJlIG1hc2tlZC5cbiAgICogQHBhcmFtIHtNYXNrT3B0aW9uc30gW29wdGlvbnM9e31dIC0gT3B0aW9ucyBmb3IgY3VzdG9taXppbmcgdGhlIG1hc2tpbmcgYmVoYXZpb3IuXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IC0gVGhlIG1hc2tlZCBzdHJpbmcuXG4gICAqL1xuICB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZywgb3B0aW9uczogTWFza09wdGlvbnMgPSB7fSk6IHN0cmluZyB7XG4gICAgY29uc3Qge3VubWFza2VkUHJlZml4TGVuZ3RoID0gdW5tYXNrTnVtYmVyLCB1bm1hc2tlZFN1ZmZpeExlbmd0aCA9IHVubWFza051bWJlciwgbWFza2VkID0gdHJ1ZX0gPSBvcHRpb25zO1xuXG4gICAgaWYgKFxuICAgICAgdmFsdWUubGVuZ3RoIDw9IHVubWFza2VkUHJlZml4TGVuZ3RoICsgdW5tYXNrZWRTdWZmaXhMZW5ndGggfHxcbiAgICAgIHVubWFza2VkUHJlZml4TGVuZ3RoIDwgMCB8fFxuICAgICAgdW5tYXNrZWRTdWZmaXhMZW5ndGggPCAwIHx8XG4gICAgICAhbWFza2VkXG4gICAgKSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlXG4gICAgICAuc3BsaXQoJycpXG4gICAgICAubWFwKChjaGFyLCBpKSA9PiAoaSA8IHVubWFza2VkUHJlZml4TGVuZ3RoIHx8IGkgPiB2YWx1ZS5sZW5ndGggLSB1bm1hc2tlZFN1ZmZpeExlbmd0aCAtIDEgPyBjaGFyIDogbWFza0NoYXIpKVxuICAgICAgLmpvaW4oJycpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
import { range } from '../utils';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class RangePipe {
|
|
5
|
-
transform(value) {
|
|
6
|
-
const input = value;
|
|
7
|
-
return range(...input);
|
|
8
|
-
}
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RangePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
10
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: RangePipe, isStandalone: true, name: "range" }); }
|
|
11
|
-
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RangePipe, decorators: [{
|
|
13
|
-
type: Pipe,
|
|
14
|
-
args: [{
|
|
15
|
-
name: 'range',
|
|
16
|
-
standalone: true,
|
|
17
|
-
}]
|
|
18
|
-
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWZ0L3NyYy9saWIvcGlwZXMvcmFuZ2UucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUVsRCxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sVUFBVSxDQUFDOztBQU0vQixNQUFNLE9BQU8sU0FBUztJQUtwQixTQUFTLENBQUMsS0FBYztRQUN0QixNQUFNLEtBQUssR0FBRyxLQUEwQyxDQUFDO1FBQ3pELE9BQU8sS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQzsrR0FSVSxTQUFTOzZHQUFULFNBQVM7OzRGQUFULFNBQVM7a0JBSnJCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLE9BQU87b0JBQ2IsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtyYW5nZX0gZnJvbSAnLi4vdXRpbHMnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdyYW5nZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFJhbmdlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0odmFsdWU6IFtudW1iZXJdKTogbnVtYmVyW107XG4gIHRyYW5zZm9ybSh2YWx1ZTogW251bWJlciwgbnVtYmVyXSk6IG51bWJlcltdO1xuICB0cmFuc2Zvcm0odmFsdWU6IFtudW1iZXIsIG51bWJlciwgbnVtYmVyXSk6IG51bWJlcltdO1xuICB0cmFuc2Zvcm0odmFsdWU6IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBib29sZWFuXSk6IG51bWJlcltdO1xuICB0cmFuc2Zvcm0odmFsdWU6IHVua25vd24pOiBudW1iZXJbXSB7XG4gICAgY29uc3QgaW5wdXQgPSB2YWx1ZSBhcyBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgYm9vbGVhbl07XG4gICAgcmV0dXJuIHJhbmdlKC4uLmlucHV0KTtcbiAgfVxufVxuIl19
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
import { assertInInjectionContext, computed, isSignal, untracked } from '@angular/core';
|
|
3
|
-
import { toObservable, toSignal } from '@angular/core/rxjs-interop';
|
|
4
|
-
import { combineLatest, distinctUntilChanged, from, identity, isObservable, startWith, } from 'rxjs';
|
|
5
|
-
/**
|
|
6
|
-
* Combines multiple `Observable` or `Signal` sources into a `Signal` that emits their values. It's like combineLatest.
|
|
7
|
-
*
|
|
8
|
-
* @param {ObservableSignalInputTuple} sources - Array or object of `Observable` or `Signal` values
|
|
9
|
-
* @param {OperatorFunction} [operator] - Operator to apply to the combined values
|
|
10
|
-
* @param {CombineFromOptions} [options] - Options including `initialValue` and `injector`
|
|
11
|
-
* @returns Signal emitting the combined values
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* ```ts
|
|
15
|
-
* export class Component {
|
|
16
|
-
* private readonly userService = inject(UserService);
|
|
17
|
-
* page = signal(2);
|
|
18
|
-
*
|
|
19
|
-
* data = combineFrom(
|
|
20
|
-
* [this.page, this.userService.users$],
|
|
21
|
-
* pipe(
|
|
22
|
-
* switchMap(([page, users]) => this.dataService.getData(page, users)),
|
|
23
|
-
* startWith([])
|
|
24
|
-
* )
|
|
25
|
-
* );
|
|
26
|
-
* }
|
|
27
|
-
* ```
|
|
28
|
-
*/
|
|
29
|
-
export function combineFrom(...args) {
|
|
30
|
-
assertInInjectionContext(combineFrom);
|
|
31
|
-
const { normalizedSources, hasInitValue, operator, options } = normalizeArgs(args);
|
|
32
|
-
const ret = hasInitValue
|
|
33
|
-
? toSignal(combineLatest(normalizedSources).pipe(operator), {
|
|
34
|
-
initialValue: options.initialValue,
|
|
35
|
-
injector: options?.injector,
|
|
36
|
-
})
|
|
37
|
-
: toSignal(combineLatest(normalizedSources).pipe(operator), {
|
|
38
|
-
injector: options?.injector,
|
|
39
|
-
// requireSync: true,
|
|
40
|
-
});
|
|
41
|
-
return ret;
|
|
42
|
-
}
|
|
43
|
-
function normalizeArgs(args) {
|
|
44
|
-
if (!args || args.length < 1 || typeof args[0] !== 'object') {
|
|
45
|
-
throw new TypeError('combineFrom needs sources');
|
|
46
|
-
}
|
|
47
|
-
const hasOperator = typeof args[1] === 'function';
|
|
48
|
-
if (args.length === 3 && !hasOperator) {
|
|
49
|
-
throw new TypeError('combineFrom needs a pipe operator as the second argument');
|
|
50
|
-
}
|
|
51
|
-
// pass sources and options
|
|
52
|
-
if (!hasOperator) {
|
|
53
|
-
// add identity function to args at index 1 as operator function as x=>x
|
|
54
|
-
args.splice(1, 0, identity);
|
|
55
|
-
}
|
|
56
|
-
// if no operator passed, identity will be operator
|
|
57
|
-
const [sources, operator, options] = args;
|
|
58
|
-
const hasInitValue = options?.initialValue !== undefined;
|
|
59
|
-
const normalizedSources = Object.entries(sources).reduce((acc, [keyOrIndex, source]) => {
|
|
60
|
-
if (isSignal(source)) {
|
|
61
|
-
acc[keyOrIndex] = toObservable(source, { injector: options?.injector }).pipe(
|
|
62
|
-
// toObservable doesn't immediately emit initialValue of the signal
|
|
63
|
-
startWith(untracked(source)));
|
|
64
|
-
}
|
|
65
|
-
else if (isObservable(source)) {
|
|
66
|
-
acc[keyOrIndex] = source.pipe(distinctUntilChanged());
|
|
67
|
-
}
|
|
68
|
-
else if (typeof source === 'function') {
|
|
69
|
-
// seldom use: pass function like () => 5
|
|
70
|
-
const computedRes = computed(source);
|
|
71
|
-
acc[keyOrIndex] = toObservable(computedRes, { injector: options?.injector }).pipe(startWith(source()));
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
// seldom use: pass promise, Map, array, etc that from accepts
|
|
75
|
-
acc[keyOrIndex] = from(source).pipe(distinctUntilChanged());
|
|
76
|
-
}
|
|
77
|
-
return acc;
|
|
78
|
-
}, (Array.isArray(sources) ? [] : {}));
|
|
79
|
-
return { normalizedSources, operator, hasInitValue, options };
|
|
80
|
-
}
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYmluZS1mcm9tLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpZnQvc3JjL2xpYi9zaWduYWxzL2NvbWJpbmUtZnJvbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFDLHdCQUF3QixFQUFFLFFBQVEsRUFBWSxRQUFRLEVBQVUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hHLE9BQU8sRUFBQyxZQUFZLEVBQUUsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDbEUsT0FBTyxFQUNMLGFBQWEsRUFDYixvQkFBb0IsRUFDcEIsSUFBSSxFQUNKLFFBQVEsRUFDUixZQUFZLEVBSVosU0FBUyxHQUNWLE1BQU0sTUFBTSxDQUFDO0FBNkZkOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUNILE1BQU0sVUFBVSxXQUFXLENBQThCLEdBQUcsSUFBVztJQUNyRSx3QkFBd0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUV0QyxNQUFNLEVBQUMsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUMsR0FBRyxhQUFhLENBQWdCLElBQUksQ0FBQyxDQUFDO0lBRWhHLE1BQU0sR0FBRyxHQUFHLFlBQVk7UUFDdEIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDeEQsWUFBWSxFQUFFLE9BQVEsQ0FBQyxZQUFhO1lBQ3BDLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUTtTQUM1QixDQUFDO1FBQ0osQ0FBQyxDQUFFLFFBQVEsQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDekQsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRO1lBQzNCLHFCQUFxQjtTQUN0QixDQUFnQyxDQUFDO0lBRXRDLE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQUVELFNBQVMsYUFBYSxDQUNwQixJQUFXO0lBT1gsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUM1RCxNQUFNLElBQUksU0FBUyxDQUFDLDJCQUEyQixDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELE1BQU0sV0FBVyxHQUFHLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLFVBQVUsQ0FBQztJQUVsRCxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDdEMsTUFBTSxJQUFJLFNBQVMsQ0FBQywwREFBMEQsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFRCwyQkFBMkI7SUFDM0IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2pCLHdFQUF3RTtRQUN4RSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELG1EQUFtRDtJQUNuRCxNQUFNLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUM7SUFFMUMsTUFBTSxZQUFZLEdBQUcsT0FBTyxFQUFFLFlBQVksS0FBSyxTQUFTLENBQUM7SUFFekQsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FDdEQsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRTtRQUM1QixJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ3JCLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxZQUFZLENBQUMsTUFBTSxFQUFFLEVBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUMsQ0FBQyxDQUFDLElBQUk7WUFDeEUsbUVBQW1FO1lBQ25FLFNBQVMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FDN0IsQ0FBQztRQUNKLENBQUM7YUFBTSxJQUFJLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ2hDLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQztRQUN4RCxDQUFDO2FBQU0sSUFBSSxPQUFPLE1BQU0sS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUN4Qyx5Q0FBeUM7WUFDekMsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLE1BQXVCLENBQUMsQ0FBQztZQUN0RCxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsWUFBWSxDQUFDLFdBQVcsRUFBRSxFQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN2RyxDQUFDO2FBQU0sQ0FBQztZQUNOLDhEQUE4RDtZQUM5RCxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7UUFDckUsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxFQUNELENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQVEsQ0FDMUMsQ0FBQztJQUVGLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBQyxDQUFDO0FBQzlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQge2Fzc2VydEluSW5qZWN0aW9uQ29udGV4dCwgY29tcHV0ZWQsIEluamVjdG9yLCBpc1NpZ25hbCwgU2lnbmFsLCB1bnRyYWNrZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0b09ic2VydmFibGUsIHRvU2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge1xuICBjb21iaW5lTGF0ZXN0LFxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgZnJvbSxcbiAgaWRlbnRpdHksXG4gIGlzT2JzZXJ2YWJsZSxcbiAgT2JzZXJ2YWJsZUlucHV0LFxuICBPYnNlcnZhYmxlSW5wdXRUdXBsZSxcbiAgT3BlcmF0b3JGdW5jdGlvbixcbiAgc3RhcnRXaXRoLFxufSBmcm9tICdyeGpzJztcblxudHlwZSBPYnNlcnZhYmxlU2lnbmFsSW5wdXQ8VD4gPSBPYnNlcnZhYmxlSW5wdXQ8VD4gfCBTaWduYWw8VD47XG5cbnR5cGUgT2JzZXJ2YWJsZVNpZ25hbElucHV0VHVwbGU8VD4gPSB7XG4gIFtLIGluIGtleW9mIFRdOiBPYnNlcnZhYmxlU2lnbmFsSW5wdXQ8VFtLXT4gfCAoKCkgPT4gVFtLXSk7XG59O1xuXG4vLyBwaWNrIGZyb20gVG9TaWduYWxPcHRpb25zXG5leHBvcnQgdHlwZSBDb21iaW5lRnJvbU9wdGlvbnM8SVZhbHVlPiA9IHtcbiAgcmVhZG9ubHkgaW5qZWN0b3I/OiBJbmplY3RvcjtcbiAgcmVhZG9ubHkgaW5pdGlhbFZhbHVlPzogSVZhbHVlO1xufTtcblxuLy8gYXJyYXkgaW5wdXRzIG9ubHlcbmV4cG9ydCBmdW5jdGlvbiBjb21iaW5lRnJvbTxJbnB1dCBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXSwgT3V0cHV0ID0gSW5wdXQ+KFxuICBzb3VyY2VzOiByZWFkb25seSBbLi4uT2JzZXJ2YWJsZVNpZ25hbElucHV0VHVwbGU8SW5wdXQ+XSxcbik6IFNpZ25hbDxPdXRwdXQ+O1xuXG4vLyAtLS0tLS0tLS0tIDMgYXJncyB3aXRoIGFycmF5IGlucHV0cyAtLS0tLS0tLS0tLS0tXG4vLyBjb21iaW5lRnJvbShbc2lnbmFsLCBvYnMkXSwgcGlwZU9wZXJhdG9yLCB7IGluaXRpYWxWYWx1ZTogWzEsMl0gfSksIElucHV0IGlzIFtzaWduYWwsIG9icyRdXG4vLyAxLiBubyBpbml0aWFsVmFsdWVcbmV4cG9ydCBmdW5jdGlvbiBjb21iaW5lRnJvbTxJbnB1dCBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXSwgT3V0cHV0ID0gSW5wdXQ+KFxuICBzb3VyY2VzOiByZWFkb25seSBbLi4uT2JzZXJ2YWJsZVNpZ25hbElucHV0VHVwbGU8SW5wdXQ+XSxcbiAgb3BlcmF0b3I/OiBPcGVyYXRvckZ1bmN0aW9uPElucHV0LCBPdXRwdXQ+LFxuICBvcHRpb25zPzogQ29tYmluZUZyb21PcHRpb25zPHVuZGVmaW5lZD4sXG4pOiBTaWduYWw8T3V0cHV0IHwgdW5kZWZpbmVkPjtcbi8vIDIuIGluaXRpYWxWYWx1ZSBpcyBudWxsLCByZXR1cm5pbmcgdHlwZSBzaG91bGQgaW5jbHVkZSBudWxsXG5leHBvcnQgZnVuY3Rpb24gY29tYmluZUZyb208SW5wdXQgZXh0ZW5kcyByZWFkb25seSB1bmtub3duW10sIE91dHB1dCA9IElucHV0PihcbiAgc291cmNlczogcmVhZG9ubHkgWy4uLk9ic2VydmFibGVTaWduYWxJbnB1dFR1cGxlPElucHV0Pl0sXG4gIG9wZXJhdG9yPzogT3BlcmF0b3JGdW5jdGlvbjxJbnB1dCwgT3V0cHV0PixcbiAgb3B0aW9ucz86IENvbWJpbmVGcm9tT3B0aW9uczxudWxsPixcbik6IFNpZ25hbDxPdXRwdXQgfCBudWxsPjtcbi8vIDMuIHByb3ZpZGUgaW5pdGlhbFZhbHVlXG5leHBvcnQgZnVuY3Rpb24gY29tYmluZUZyb208SW5wdXQgZXh0ZW5kcyByZWFkb25seSB1bmtub3duW10sIE91dHB1dCA9IElucHV0PihcbiAgc291cmNlczogcmVhZG9ubHkgWy4uLk9ic2VydmFibGVTaWduYWxJbnB1dFR1cGxlPElucHV0Pl0sXG4gIG9wZXJhdG9yPzogT3BlcmF0b3JGdW5jdGlvbjxJbnB1dCwgT3V0cHV0PixcbiAgb3B0aW9ucz86IENvbWJpbmVGcm9tT3B0aW9uczxPdXRwdXQ+LFxuKTogU2lnbmFsPE91dHB1dD47XG5cbi8vIC0tLS0tLS0tLS0gMiBhcmdzIHdpdCBhcnJheSBpbnB1dHMgLS0tLS0tLS0tLS0tLVxuLy8gMS4gbm8gaW5pdGlhbFZhbHVlXG5leHBvcnQgZnVuY3Rpb24gY29tYmluZUZyb208SW5wdXQgZXh0ZW5kcyByZWFkb25seSB1bmtub3duW10sIE91dHB1dCA9IElucHV0PihcbiAgc291cmNlczogcmVhZG9ubHkgWy4uLk9ic2VydmFibGVTaWduYWxJbnB1dFR1cGxlPElucHV0Pl0sXG4gIG9wdGlvbnM/OiBDb21iaW5lRnJvbU9wdGlvbnM8dW5kZWZpbmVkPixcbik6IFNpZ25hbDxPdXRwdXQgfCB1bmRlZmluZWQ+O1xuLy8gMi4gaW5pdGlhbFZhbHVlIGlzIG51bGwsIHJldHVybmluZyB0eXBlIHNob3VsZCBpbmNsdWRlIG51bGxcbmV4cG9ydCBmdW5jdGlvbiBjb21iaW5lRnJvbTxJbnB1dCBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXSwgT3V0cHV0ID0gSW5wdXQ+KFxuICBzb3VyY2VzOiByZWFkb25seSBbLi4uT2JzZXJ2YWJsZVNpZ25hbElucHV0VHVwbGU8SW5wdXQ+XSxcbiAgb3B0aW9ucz86IENvbWJpbmVGcm9tT3B0aW9uczxudWxsPixcbik6IFNpZ25hbDxPdXRwdXQgfCBudWxsPjtcbi8vIDMuIHByb3ZpZGUgaW5pdGlhbFZhbHVlXG5leHBvcnQgZnVuY3Rpb24gY29tYmluZUZyb208SW5wdXQgZXh0ZW5kcyByZWFkb25seSB1bmtub3duW10sIE91dHB1dCA9IElucHV0PihcbiAgc291cmNlczogcmVhZG9ubHkgWy4uLk9ic2VydmFibGVTaWduYWxJbnB1dFR1cGxlPElucHV0Pl0sXG4gIG9wdGlvbnM/OiBDb21iaW5lRnJvbU9wdGlvbnM8T3V0cHV0Pixcbik6IFNpZ25hbDxPdXRwdXQ+O1xuXG4vLyBvYmplY3QgaW5wdXQgb25seSwgZS5nLiBJbnB1dCBpcyB7IGE6IHNpZ25hbCwgYjogb2JzJCB9XG5leHBvcnQgZnVuY3Rpb24gY29tYmluZUZyb208SW5wdXQgZXh0ZW5kcyBvYmplY3QsIE91dHB1dCA9IElucHV0PihcbiAgc291cmNlczogT2JzZXJ2YWJsZVNpZ25hbElucHV0VHVwbGU8SW5wdXQ+LFxuKTogU2lnbmFsPE91dHB1dD47XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tIDMgYXJncyB3aXRoIG9iamVjdCBpbnB1dCAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuZXhwb3J0IGZ1bmN0aW9uIGNvbWJpbmVGcm9tPElucHV0IGV4dGVuZHMgb2JqZWN0LCBPdXRwdXQgPSBJbnB1dD4oXG4gIHNvdXJjZXM6IE9ic2VydmFibGVTaWduYWxJbnB1dFR1cGxlPElucHV0PixcbiAgb3BlcmF0b3I/OiBPcGVyYXRvckZ1bmN0aW9uPElucHV0LCBPdXRwdXQ+LFxuICBvcHRpb25zPzogQ29tYmluZUZyb21PcHRpb25zPHVuZGVmaW5lZD4sXG4pOiBTaWduYWw8T3V0cHV0IHwgdW5kZWZpbmVkPjtcbmV4cG9ydCBmdW5jdGlvbiBjb21iaW5lRnJvbTxJbnB1dCBleHRlbmRzIG9iamVjdCwgT3V0cHV0ID0gSW5wdXQ+KFxuICBzb3VyY2VzOiBPYnNlcnZhYmxlU2lnbmFsSW5wdXRUdXBsZTxJbnB1dD4sXG4gIG9wZXJhdG9yPzogT3BlcmF0b3JGdW5jdGlvbjxJbnB1dCwgT3V0cHV0PixcbiAgb3B0aW9ucz86IENvbWJpbmVGcm9tT3B0aW9uczxudWxsPixcbik6IFNpZ25hbDxPdXRwdXQgfCBudWxsPjtcbmV4cG9ydCBmdW5jdGlvbiBjb21iaW5lRnJvbTxJbnB1dCBleHRlbmRzIG9iamVjdCwgT3V0cHV0ID0gSW5wdXQ+KFxuICBzb3VyY2VzOiBPYnNlcnZhYmxlU2lnbmFsSW5wdXRUdXBsZTxJbnB1dD4sXG4gIG9wZXJhdG9yPzogT3BlcmF0b3JGdW5jdGlvbjxJbnB1dCwgT3V0cHV0PixcbiAgb3B0aW9ucz86IENvbWJpbmVGcm9tT3B0aW9uczxPdXRwdXQ+LFxuKTogU2lnbmFsPE91dHB1dD47XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tIDIgYXJncyB3aXRoIG9iamVjdCBpbnB1dCAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuZXhwb3J0IGZ1bmN0aW9uIGNvbWJpbmVGcm9tPElucHV0IGV4dGVuZHMgb2JqZWN0LCBPdXRwdXQgPSBJbnB1dD4oXG4gIHNvdXJjZXM6IE9ic2VydmFibGVTaWduYWxJbnB1dFR1cGxlPElucHV0PixcbiAgb3B0aW9ucz86IENvbWJpbmVGcm9tT3B0aW9uczx1bmRlZmluZWQ+LFxuKTogU2lnbmFsPE91dHB1dCB8IHVuZGVmaW5lZD47XG5leHBvcnQgZnVuY3Rpb24gY29tYmluZUZyb208SW5wdXQgZXh0ZW5kcyBvYmplY3QsIE91dHB1dCA9IElucHV0PihcbiAgc291cmNlczogT2JzZXJ2YWJsZVNpZ25hbElucHV0VHVwbGU8SW5wdXQ+LFxuICBvcHRpb25zPzogQ29tYmluZUZyb21PcHRpb25zPG51bGw+LFxuKTogU2lnbmFsPE91dHB1dCB8IG51bGw+O1xuZXhwb3J0IGZ1bmN0aW9uIGNvbWJpbmVGcm9tPElucHV0IGV4dGVuZHMgb2JqZWN0LCBPdXRwdXQgPSBJbnB1dD4oXG4gIHNvdXJjZXM6IE9ic2VydmFibGVTaWduYWxJbnB1dFR1cGxlPElucHV0PixcbiAgb3B0aW9ucz86IENvbWJpbmVGcm9tT3B0aW9uczxPdXRwdXQ+LFxuKTogU2lnbmFsPE91dHB1dD47XG5cbi8qKlxuICogQ29tYmluZXMgbXVsdGlwbGUgYE9ic2VydmFibGVgIG9yIGBTaWduYWxgIHNvdXJjZXMgaW50byBhIGBTaWduYWxgIHRoYXQgZW1pdHMgdGhlaXIgdmFsdWVzLiBJdCdzIGxpa2UgY29tYmluZUxhdGVzdC5cbiAqXG4gKiBAcGFyYW0ge09ic2VydmFibGVTaWduYWxJbnB1dFR1cGxlfSBzb3VyY2VzIC0gQXJyYXkgb3Igb2JqZWN0IG9mIGBPYnNlcnZhYmxlYCBvciBgU2lnbmFsYCB2YWx1ZXNcbiAqIEBwYXJhbSB7T3BlcmF0b3JGdW5jdGlvbn0gW29wZXJhdG9yXSAtIE9wZXJhdG9yIHRvIGFwcGx5IHRvIHRoZSBjb21iaW5lZCB2YWx1ZXNcbiAqIEBwYXJhbSB7Q29tYmluZUZyb21PcHRpb25zfSBbb3B0aW9uc10gLSBPcHRpb25zIGluY2x1ZGluZyBgaW5pdGlhbFZhbHVlYCBhbmQgYGluamVjdG9yYFxuICogQHJldHVybnMgU2lnbmFsIGVtaXR0aW5nIHRoZSBjb21iaW5lZCB2YWx1ZXNcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIGV4cG9ydCBjbGFzcyBDb21wb25lbnQge1xuICogIHByaXZhdGUgcmVhZG9ubHkgdXNlclNlcnZpY2UgPSBpbmplY3QoVXNlclNlcnZpY2UpO1xuICogIHBhZ2UgPSBzaWduYWwoMik7XG4gKlxuICogIGRhdGEgPSBjb21iaW5lRnJvbShcbiAqICAgIFt0aGlzLnBhZ2UsIHRoaXMudXNlclNlcnZpY2UudXNlcnMkXSxcbiAqICAgIHBpcGUoXG4gKiAgICAgIHN3aXRjaE1hcCgoW3BhZ2UsIHVzZXJzXSkgPT4gdGhpcy5kYXRhU2VydmljZS5nZXREYXRhKHBhZ2UsIHVzZXJzKSksXG4gKiAgICAgIHN0YXJ0V2l0aChbXSlcbiAqICAgIClcbiAqICApO1xuICogfVxuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb21iaW5lRnJvbTxJbnB1dCA9IGFueSwgT3V0cHV0ID0gSW5wdXQ+KC4uLmFyZ3M6IGFueVtdKTogU2lnbmFsPE91dHB1dCB8IG51bGwgfCB1bmRlZmluZWQ+IHtcbiAgYXNzZXJ0SW5JbmplY3Rpb25Db250ZXh0KGNvbWJpbmVGcm9tKTtcblxuICBjb25zdCB7bm9ybWFsaXplZFNvdXJjZXMsIGhhc0luaXRWYWx1ZSwgb3BlcmF0b3IsIG9wdGlvbnN9ID0gbm9ybWFsaXplQXJnczxJbnB1dCwgT3V0cHV0PihhcmdzKTtcblxuICBjb25zdCByZXQgPSBoYXNJbml0VmFsdWVcbiAgICA/IHRvU2lnbmFsKGNvbWJpbmVMYXRlc3Qobm9ybWFsaXplZFNvdXJjZXMpLnBpcGUob3BlcmF0b3IpLCB7XG4gICAgICAgIGluaXRpYWxWYWx1ZTogb3B0aW9ucyEuaW5pdGlhbFZhbHVlISxcbiAgICAgICAgaW5qZWN0b3I6IG9wdGlvbnM/LmluamVjdG9yLFxuICAgICAgfSlcbiAgICA6ICh0b1NpZ25hbChjb21iaW5lTGF0ZXN0KG5vcm1hbGl6ZWRTb3VyY2VzKS5waXBlKG9wZXJhdG9yKSwge1xuICAgICAgICBpbmplY3Rvcjogb3B0aW9ucz8uaW5qZWN0b3IsXG4gICAgICAgIC8vIHJlcXVpcmVTeW5jOiB0cnVlLFxuICAgICAgfSkgYXMgU2lnbmFsPE91dHB1dCB8IHVuZGVmaW5lZD4pO1xuXG4gIHJldHVybiByZXQ7XG59XG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZUFyZ3M8SW5wdXQsIE91dHB1dD4oXG4gIGFyZ3M6IGFueVtdLFxuKToge1xuICBub3JtYWxpemVkU291cmNlczogT2JzZXJ2YWJsZUlucHV0VHVwbGU8SW5wdXQ+O1xuICBvcGVyYXRvcjogT3BlcmF0b3JGdW5jdGlvbjxJbnB1dCwgT3V0cHV0PjtcbiAgaGFzSW5pdFZhbHVlOiBib29sZWFuO1xuICBvcHRpb25zOiBDb21iaW5lRnJvbU9wdGlvbnM8T3V0cHV0PiB8IHVuZGVmaW5lZDtcbn0ge1xuICBpZiAoIWFyZ3MgfHwgYXJncy5sZW5ndGggPCAxIHx8IHR5cGVvZiBhcmdzWzBdICE9PSAnb2JqZWN0Jykge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ2NvbWJpbmVGcm9tIG5lZWRzIHNvdXJjZXMnKTtcbiAgfVxuXG4gIGNvbnN0IGhhc09wZXJhdG9yID0gdHlwZW9mIGFyZ3NbMV0gPT09ICdmdW5jdGlvbic7XG5cbiAgaWYgKGFyZ3MubGVuZ3RoID09PSAzICYmICFoYXNPcGVyYXRvcikge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ2NvbWJpbmVGcm9tIG5lZWRzIGEgcGlwZSBvcGVyYXRvciBhcyB0aGUgc2Vjb25kIGFyZ3VtZW50Jyk7XG4gIH1cblxuICAvLyBwYXNzIHNvdXJjZXMgYW5kIG9wdGlvbnNcbiAgaWYgKCFoYXNPcGVyYXRvcikge1xuICAgIC8vIGFkZCBpZGVudGl0eSBmdW5jdGlvbiB0byBhcmdzIGF0IGluZGV4IDEgYXMgb3BlcmF0b3IgZnVuY3Rpb24gYXMgeD0+eFxuICAgIGFyZ3Muc3BsaWNlKDEsIDAsIGlkZW50aXR5KTtcbiAgfVxuXG4gIC8vIGlmIG5vIG9wZXJhdG9yIHBhc3NlZCwgaWRlbnRpdHkgd2lsbCBiZSBvcGVyYXRvclxuICBjb25zdCBbc291cmNlcywgb3BlcmF0b3IsIG9wdGlvbnNdID0gYXJncztcblxuICBjb25zdCBoYXNJbml0VmFsdWUgPSBvcHRpb25zPy5pbml0aWFsVmFsdWUgIT09IHVuZGVmaW5lZDtcblxuICBjb25zdCBub3JtYWxpemVkU291cmNlcyA9IE9iamVjdC5lbnRyaWVzKHNvdXJjZXMpLnJlZHVjZShcbiAgICAoYWNjLCBba2V5T3JJbmRleCwgc291cmNlXSkgPT4ge1xuICAgICAgaWYgKGlzU2lnbmFsKHNvdXJjZSkpIHtcbiAgICAgICAgYWNjW2tleU9ySW5kZXhdID0gdG9PYnNlcnZhYmxlKHNvdXJjZSwge2luamVjdG9yOiBvcHRpb25zPy5pbmplY3Rvcn0pLnBpcGUoXG4gICAgICAgICAgLy8gdG9PYnNlcnZhYmxlIGRvZXNuJ3QgaW1tZWRpYXRlbHkgZW1pdCBpbml0aWFsVmFsdWUgb2YgdGhlIHNpZ25hbFxuICAgICAgICAgIHN0YXJ0V2l0aCh1bnRyYWNrZWQoc291cmNlKSksXG4gICAgICAgICk7XG4gICAgICB9IGVsc2UgaWYgKGlzT2JzZXJ2YWJsZShzb3VyY2UpKSB7XG4gICAgICAgIGFjY1trZXlPckluZGV4XSA9IHNvdXJjZS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICAgICAgfSBlbHNlIGlmICh0eXBlb2Ygc291cmNlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIC8vIHNlbGRvbSB1c2U6IHBhc3MgZnVuY3Rpb24gbGlrZSAoKSA9PiA1XG4gICAgICAgIGNvbnN0IGNvbXB1dGVkUmVzID0gY29tcHV0ZWQoc291cmNlIGFzICgpID0+IHVua25vd24pO1xuICAgICAgICBhY2Nba2V5T3JJbmRleF0gPSB0b09ic2VydmFibGUoY29tcHV0ZWRSZXMsIHtpbmplY3Rvcjogb3B0aW9ucz8uaW5qZWN0b3J9KS5waXBlKHN0YXJ0V2l0aChzb3VyY2UoKSkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gc2VsZG9tIHVzZTogcGFzcyBwcm9taXNlLCBNYXAsIGFycmF5LCBldGMgdGhhdCBmcm9tIGFjY2VwdHNcbiAgICAgICAgYWNjW2tleU9ySW5kZXhdID0gZnJvbShzb3VyY2UgYXMgYW55KS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LFxuICAgIChBcnJheS5pc0FycmF5KHNvdXJjZXMpID8gW10gOiB7fSkgYXMgYW55LFxuICApO1xuXG4gIHJldHVybiB7bm9ybWFsaXplZFNvdXJjZXMsIG9wZXJhdG9yLCBoYXNJbml0VmFsdWUsIG9wdGlvbnN9O1xufVxuIl19
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
import { computed, DestroyRef, effect, inject, signal, untracked } from '@angular/core';
|
|
3
|
-
import { concatAll, exhaustAll, isObservable, mergeAll, Subject, switchAll } from 'rxjs';
|
|
4
|
-
export function computedAsync(computeFn, options = {}) {
|
|
5
|
-
const destroyRef = inject(DestroyRef);
|
|
6
|
-
const sourceSubject = new Subject();
|
|
7
|
-
const source$ = flattenObservable(sourceSubject, options.behavior || 'switch');
|
|
8
|
-
const sourceValue = signal(options.initialValue);
|
|
9
|
-
const sourceResult = source$.subscribe({
|
|
10
|
-
next: (value) => sourceValue.set(value),
|
|
11
|
-
error: (error) => {
|
|
12
|
-
sourceValue.set(error);
|
|
13
|
-
// Error should be handled by the user
|
|
14
|
-
// throw error;
|
|
15
|
-
},
|
|
16
|
-
});
|
|
17
|
-
destroyRef.onDestroy(() => sourceResult.unsubscribe());
|
|
18
|
-
if (options.requireSync && options.initialValue === undefined) {
|
|
19
|
-
const initialEmission = computeFn(undefined);
|
|
20
|
-
if (isPromise(initialEmission)) {
|
|
21
|
-
throw new Error(`Promises cannot work with requireSync. Set requireSync to false or pass an initialValue.`);
|
|
22
|
-
}
|
|
23
|
-
if (isObservable(initialEmission)) {
|
|
24
|
-
sourceSubject.next(initialEmission);
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
// primitive value T
|
|
28
|
-
sourceValue.set(initialEmission);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
if (options.requireSync && sourceValue() === undefined) {
|
|
32
|
-
throw new Error(`The observable doesn't emit synchronously. Set requireSync to false or pass an initialValue.`);
|
|
33
|
-
}
|
|
34
|
-
let shouldSkipFirstComputation = options.requireSync === true;
|
|
35
|
-
effect(() => {
|
|
36
|
-
const currentValue = untracked(() => sourceValue());
|
|
37
|
-
const newSource = computeFn(currentValue);
|
|
38
|
-
if (shouldSkipFirstComputation) {
|
|
39
|
-
shouldSkipFirstComputation = false;
|
|
40
|
-
return;
|
|
41
|
-
}
|
|
42
|
-
if (isPromise(newSource) || isObservable(newSource)) {
|
|
43
|
-
untracked(() => sourceSubject.next(newSource));
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
untracked(() => sourceValue.set(newSource));
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
return computed(() => sourceValue(), { equal: options.equal });
|
|
50
|
-
}
|
|
51
|
-
function flattenObservable(source, behavior) {
|
|
52
|
-
const behaviorMap = {
|
|
53
|
-
switch: switchAll,
|
|
54
|
-
merge: mergeAll,
|
|
55
|
-
concat: concatAll,
|
|
56
|
-
exhaust: exhaustAll,
|
|
57
|
-
};
|
|
58
|
-
return source.pipe(behaviorMap[behavior]());
|
|
59
|
-
}
|
|
60
|
-
function isPromise(value) {
|
|
61
|
-
return value && typeof value.then === 'function';
|
|
62
|
-
}
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZWQtYXN5bmMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGlmdC9zcmMvbGliL3NpZ25hbHMvY29tcHV0ZWQtYXN5bmMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBQyxRQUFRLEVBQXlCLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckgsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBYyxPQUFPLEVBQUUsU0FBUyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBaURuRyxNQUFNLFVBQVUsYUFBYSxDQUMzQixTQUE0RSxFQUM1RSxVQUFlLEVBQUU7SUFFakIsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRXRDLE1BQU0sYUFBYSxHQUFHLElBQUksT0FBTyxFQUE4QixDQUFDO0lBQ2hFLE1BQU0sT0FBTyxHQUFHLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxDQUFDO0lBRS9FLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBZ0IsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBRWhFLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFDckMsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztRQUN2QyxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNmLFdBQVcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkIsc0NBQXNDO1lBQ3RDLGVBQWU7UUFDakIsQ0FBQztLQUNGLENBQUMsQ0FBQztJQUVILFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFFdkQsSUFBSSxPQUFPLENBQUMsV0FBVyxJQUFJLE9BQU8sQ0FBQyxZQUFZLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDOUQsTUFBTSxlQUFlLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTdDLElBQUksU0FBUyxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7WUFDL0IsTUFBTSxJQUFJLEtBQUssQ0FBQywwRkFBMEYsQ0FBQyxDQUFDO1FBQzlHLENBQUM7UUFFRCxJQUFJLFlBQVksQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO1lBQ2xDLGFBQWEsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDdEMsQ0FBQzthQUFNLENBQUM7WUFDTixvQkFBb0I7WUFDcEIsV0FBVyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNuQyxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksT0FBTyxDQUFDLFdBQVcsSUFBSSxXQUFXLEVBQUUsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUN2RCxNQUFNLElBQUksS0FBSyxDQUFDLDhGQUE4RixDQUFDLENBQUM7SUFDbEgsQ0FBQztJQUVELElBQUksMEJBQTBCLEdBQUcsT0FBTyxDQUFDLFdBQVcsS0FBSyxJQUFJLENBQUM7SUFFOUQsTUFBTSxDQUFDLEdBQUcsRUFBRTtRQUNWLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBRXBELE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUUxQyxJQUFJLDBCQUEwQixFQUFFLENBQUM7WUFDL0IsMEJBQTBCLEdBQUcsS0FBSyxDQUFDO1lBQ25DLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksWUFBWSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDcEQsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNqRCxDQUFDO2FBQU0sQ0FBQztZQUNOLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDOUMsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxFQUFPLEVBQUUsRUFBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUssRUFBQyxDQUFDLENBQUM7QUFDcEUsQ0FBQztBQUVELFNBQVMsaUJBQWlCLENBQ3hCLE1BQTJDLEVBQzNDLFFBQStCO0lBRS9CLE1BQU0sV0FBVyxHQUFHO1FBQ2xCLE1BQU0sRUFBRSxTQUFTO1FBQ2pCLEtBQUssRUFBRSxRQUFRO1FBQ2YsTUFBTSxFQUFFLFNBQVM7UUFDakIsT0FBTyxFQUFFLFVBQVU7S0FDcEIsQ0FBQztJQUVGLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQzlDLENBQUM7QUFFRCxTQUFTLFNBQVMsQ0FBSSxLQUFVO0lBQzlCLE9BQU8sS0FBSyxJQUFJLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxVQUFVLENBQUM7QUFDbkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7Y29tcHV0ZWQsIENyZWF0ZUNvbXB1dGVkT3B0aW9ucywgRGVzdHJveVJlZiwgZWZmZWN0LCBpbmplY3QsIFNpZ25hbCwgc2lnbmFsLCB1bnRyYWNrZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtjb25jYXRBbGwsIGV4aGF1c3RBbGwsIGlzT2JzZXJ2YWJsZSwgbWVyZ2VBbGwsIE9ic2VydmFibGUsIFN1YmplY3QsIHN3aXRjaEFsbH0gZnJvbSAncnhqcyc7XG5cbnR5cGUgQ29tcHV0ZWRBc3luY0JlaGF2aW9yID0gJ3N3aXRjaCcgfCAnbWVyZ2UnIHwgJ2NvbmNhdCcgfCAnZXhoYXVzdCc7XG5cbi8vIHsgZXF1YWwsIGJlaGF2aW9yIH1cbnR5cGUgQmFzZU9wdGlvbnM8VD4gPSBDcmVhdGVDb21wdXRlZE9wdGlvbnM8VD4gJiB7YmVoYXZpb3I/OiBDb21wdXRlZEFzeW5jQmVoYXZpb3J9O1xuXG50eXBlIE9wdGlvbnNXaXRoSW5pdGlhbFZhbHVlPFQ+ID0ge2luaXRpYWxWYWx1ZTogVH0gJiBCYXNlT3B0aW9uczxUPjtcbnR5cGUgT3B0aW9uc1dpdGhPcHRpb25hbEluaXRpYWxWYWx1ZTxUPiA9IHtpbml0aWFsVmFsdWU/OiB1bmRlZmluZWR9ICYgQmFzZU9wdGlvbnM8VD47XG50eXBlIE9wdGlvbnNXaXRoUmVxdWlyZVN5bmM8VD4gPSB7cmVxdWlyZVN5bmM6IHRydWV9ICYgQmFzZU9wdGlvbnM8VD47XG5cbi8vIHdpdGhvdXQgb3B0aW9uc1xuZXhwb3J0IGZ1bmN0aW9uIGNvbXB1dGVkQXN5bmM8VD4oXG4gIGNvbXB1dGVGbjogKHByZXZpb3VzVmFsdWU/OiBUKSA9PiBPYnNlcnZhYmxlPFQ+IHwgUHJvbWlzZTxUPiB8IFQgfCB1bmRlZmluZWQsXG4pOiBTaWduYWw8VCB8IHVuZGVmaW5lZD47XG5cbi8vIHdpdGggb3B0aW9uYWwgaW5pdGlhbFZhbHVlXG5leHBvcnQgZnVuY3Rpb24gY29tcHV0ZWRBc3luYzxUPihcbiAgY29tcHV0ZUZuOiAocHJldmlvdXNWYWx1ZT86IFQpID0+IE9ic2VydmFibGU8VD4gfCBQcm9taXNlPFQ+IHwgVCB8IHVuZGVmaW5lZCxcbiAgb3B0aW9uczogT3B0aW9uc1dpdGhPcHRpb25hbEluaXRpYWxWYWx1ZTxUPixcbik6IFNpZ25hbDxUIHwgdW5kZWZpbmVkPjtcblxuLy8gd2l0aCBpbml0aWFsVmFsdWVcbmV4cG9ydCBmdW5jdGlvbiBjb21wdXRlZEFzeW5jPFQ+KFxuICBjb21wdXRlRm46IChwcmV2aW91c1ZhbHVlPzogVCkgPT4gT2JzZXJ2YWJsZTxUPiB8IFByb21pc2U8VD4gfCBUIHwgdW5kZWZpbmVkLFxuICBvcHRpb25zOiBPcHRpb25zV2l0aEluaXRpYWxWYWx1ZTxUPixcbik6IFNpZ25hbDxUPjtcblxuLy8gZm9yIHByb21pc2UsIHdpdGhvdXQgaW5pdGlhbFZhbHVlIGJ1dCBzZXQgcmVxdWlyZVN5bmMgYXMgdHJ1ZSwgdGhyb3cgZXJyb3JcbmV4cG9ydCBmdW5jdGlvbiBjb21wdXRlZEFzeW5jPFQ+KFxuICBjb21wdXRlRm46IChwcmV2aW91c1ZhbHVlPzogVCkgPT4gUHJvbWlzZTxUPixcbiAgb3B0aW9uczogT3B0aW9uc1dpdGhPcHRpb25hbEluaXRpYWxWYWx1ZTxUPiAmIHtyZXF1aXJlU3luYzogdHJ1ZX0sXG4pOiBuZXZlcjtcblxuLy8gZm9yIG9ic2VydmFibGVzLCB3aXRob3V0IGluaXRpYWxWYWx1ZSwgd2l0aG91dCByZXF1aXJlU3luYywgcmV0dXJuIFQgfCB1bmRlZmluZWRcbmV4cG9ydCBmdW5jdGlvbiBjb21wdXRlZEFzeW5jPFQ+KFxuICBjb21wdXRlRm46IChwcmV2aW91c1ZhbHVlPzogVCkgPT4gT2JzZXJ2YWJsZTxUPiB8IFQgfCB1bmRlZmluZWQsXG4gIG9wdGlvbnM6IHtcbiAgICBpbml0aWFsVmFsdWU/OiB1bmRlZmluZWQ7XG4gICAgcmVxdWlyZVN5bmM/OiBmYWxzZTtcbiAgfSAmIEJhc2VPcHRpb25zPFQ+LFxuKTogU2lnbmFsPFQgfCB1bmRlZmluZWQ+O1xuXG4vLyBmb3Igb2JzZXJ2YWJsZXMsIHdpdGhvdXQgaW5pdGlhbFZhbHVlLCBidXQgcmVxdWlyZVN5bmMgaXMgdHJ1ZSwgcmV0dXJuIFRcbmV4cG9ydCBmdW5jdGlvbiBjb21wdXRlZEFzeW5jPFQ+KFxuICBjb21wdXRlRm46IChwcmV2aW91c1ZhbHVlPzogVCkgPT4gT2JzZXJ2YWJsZTxUPiB8IFQsXG4gIG9wdGlvbnM6IE9wdGlvbnNXaXRoUmVxdWlyZVN5bmM8VD4gJiB7aW5pdGlhbFZhbHVlPzogdW5kZWZpbmVkIHwgVH0sXG4pOiBTaWduYWw8VD47XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21wdXRlZEFzeW5jPFQ+KFxuICBjb21wdXRlRm46IChwcmV2aW91c1ZhbHVlPzogVCkgPT4gT2JzZXJ2YWJsZTxUPiB8IFByb21pc2U8VD4gfCBUIHwgdW5kZWZpbmVkLFxuICBvcHRpb25zOiBhbnkgPSB7fSxcbik6IFNpZ25hbDxUIHwgdW5kZWZpbmVkPiB7XG4gIGNvbnN0IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgY29uc3Qgc291cmNlU3ViamVjdCA9IG5ldyBTdWJqZWN0PFByb21pc2U8VD4gfCBPYnNlcnZhYmxlPFQ+PigpO1xuICBjb25zdCBzb3VyY2UkID0gZmxhdHRlbk9ic2VydmFibGUoc291cmNlU3ViamVjdCwgb3B0aW9ucy5iZWhhdmlvciB8fCAnc3dpdGNoJyk7XG5cbiAgY29uc3Qgc291cmNlVmFsdWUgPSBzaWduYWw8VCB8IHVuZGVmaW5lZD4ob3B0aW9ucy5pbml0aWFsVmFsdWUpO1xuXG4gIGNvbnN0IHNvdXJjZVJlc3VsdCA9IHNvdXJjZSQuc3Vic2NyaWJlKHtcbiAgICBuZXh0OiAodmFsdWUpID0+IHNvdXJjZVZhbHVlLnNldCh2YWx1ZSksXG4gICAgZXJyb3I6IChlcnJvcikgPT4ge1xuICAgICAgc291cmNlVmFsdWUuc2V0KGVycm9yKTtcbiAgICAgIC8vIEVycm9yIHNob3VsZCBiZSBoYW5kbGVkIGJ5IHRoZSB1c2VyXG4gICAgICAvLyB0aHJvdyBlcnJvcjtcbiAgICB9LFxuICB9KTtcblxuICBkZXN0cm95UmVmLm9uRGVzdHJveSgoKSA9PiBzb3VyY2VSZXN1bHQudW5zdWJzY3JpYmUoKSk7XG5cbiAgaWYgKG9wdGlvbnMucmVxdWlyZVN5bmMgJiYgb3B0aW9ucy5pbml0aWFsVmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IGluaXRpYWxFbWlzc2lvbiA9IGNvbXB1dGVGbih1bmRlZmluZWQpO1xuXG4gICAgaWYgKGlzUHJvbWlzZShpbml0aWFsRW1pc3Npb24pKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFByb21pc2VzIGNhbm5vdCB3b3JrIHdpdGggcmVxdWlyZVN5bmMuIFNldCByZXF1aXJlU3luYyB0byBmYWxzZSBvciBwYXNzIGFuIGluaXRpYWxWYWx1ZS5gKTtcbiAgICB9XG5cbiAgICBpZiAoaXNPYnNlcnZhYmxlKGluaXRpYWxFbWlzc2lvbikpIHtcbiAgICAgIHNvdXJjZVN1YmplY3QubmV4dChpbml0aWFsRW1pc3Npb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBwcmltaXRpdmUgdmFsdWUgVFxuICAgICAgc291cmNlVmFsdWUuc2V0KGluaXRpYWxFbWlzc2lvbik7XG4gICAgfVxuICB9XG5cbiAgaWYgKG9wdGlvbnMucmVxdWlyZVN5bmMgJiYgc291cmNlVmFsdWUoKSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBUaGUgb2JzZXJ2YWJsZSBkb2Vzbid0IGVtaXQgc3luY2hyb25vdXNseS4gU2V0IHJlcXVpcmVTeW5jIHRvIGZhbHNlIG9yIHBhc3MgYW4gaW5pdGlhbFZhbHVlLmApO1xuICB9XG5cbiAgbGV0IHNob3VsZFNraXBGaXJzdENvbXB1dGF0aW9uID0gb3B0aW9ucy5yZXF1aXJlU3luYyA9PT0gdHJ1ZTtcblxuICBlZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IHVudHJhY2tlZCgoKSA9PiBzb3VyY2VWYWx1ZSgpKTtcblxuICAgIGNvbnN0IG5ld1NvdXJjZSA9IGNvbXB1dGVGbihjdXJyZW50VmFsdWUpO1xuXG4gICAgaWYgKHNob3VsZFNraXBGaXJzdENvbXB1dGF0aW9uKSB7XG4gICAgICBzaG91bGRTa2lwRmlyc3RDb21wdXRhdGlvbiA9IGZhbHNlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChpc1Byb21pc2UobmV3U291cmNlKSB8fCBpc09ic2VydmFibGUobmV3U291cmNlKSkge1xuICAgICAgdW50cmFja2VkKCgpID0+IHNvdXJjZVN1YmplY3QubmV4dChuZXdTb3VyY2UpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdW50cmFja2VkKCgpID0+IHNvdXJjZVZhbHVlLnNldChuZXdTb3VyY2UpKTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBjb21wdXRlZCgoKSA9PiBzb3VyY2VWYWx1ZSgpIGFzIFQsIHtlcXVhbDogb3B0aW9ucy5lcXVhbH0pO1xufVxuXG5mdW5jdGlvbiBmbGF0dGVuT2JzZXJ2YWJsZTxUPihcbiAgc291cmNlOiBTdWJqZWN0PFByb21pc2U8VD4gfCBPYnNlcnZhYmxlPFQ+PixcbiAgYmVoYXZpb3I6IENvbXB1dGVkQXN5bmNCZWhhdmlvcixcbik6IE9ic2VydmFibGU8VD4ge1xuICBjb25zdCBiZWhhdmlvck1hcCA9IHtcbiAgICBzd2l0Y2g6IHN3aXRjaEFsbCxcbiAgICBtZXJnZTogbWVyZ2VBbGwsXG4gICAgY29uY2F0OiBjb25jYXRBbGwsXG4gICAgZXhoYXVzdDogZXhoYXVzdEFsbCxcbiAgfTtcblxuICByZXR1cm4gc291cmNlLnBpcGUoYmVoYXZpb3JNYXBbYmVoYXZpb3JdKCkpO1xufVxuXG5mdW5jdGlvbiBpc1Byb21pc2U8VD4odmFsdWU6IGFueSk6IHZhbHVlIGlzIFByb21pc2U8VD4ge1xuICByZXR1cm4gdmFsdWUgJiYgdHlwZW9mIHZhbHVlLnRoZW4gPT09ICdmdW5jdGlvbic7XG59XG4iXX0=
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { signal } from '@angular/core';
|
|
2
|
-
export function createTrigger() {
|
|
3
|
-
const sourceSignal = signal(0);
|
|
4
|
-
return {
|
|
5
|
-
next: () => {
|
|
6
|
-
sourceSignal.update((v) => v + 1);
|
|
7
|
-
},
|
|
8
|
-
value: sourceSignal.asReadonly(),
|
|
9
|
-
};
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXRyaWdnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGlmdC9zcmMvbGliL3NpZ25hbHMvY3JlYXRlLXRyaWdnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVyQyxNQUFNLFVBQVUsYUFBYTtJQUMzQixNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFL0IsT0FBTztRQUNMLElBQUksRUFBRSxHQUFHLEVBQUU7WUFDVCxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUNELEtBQUssRUFBRSxZQUFZLENBQUMsVUFBVSxFQUFFO0tBQ2pDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtzaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVHJpZ2dlcigpIHtcbiAgY29uc3Qgc291cmNlU2lnbmFsID0gc2lnbmFsKDApO1xuXG4gIHJldHVybiB7XG4gICAgbmV4dDogKCkgPT4ge1xuICAgICAgc291cmNlU2lnbmFsLnVwZGF0ZSgodikgPT4gdiArIDEpO1xuICAgIH0sXG4gICAgdmFsdWU6IHNvdXJjZVNpZ25hbC5hc1JlYWRvbmx5KCksXG4gIH07XG59XG4iXX0=
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export * from './combine-from';
|
|
2
|
-
export * from './computed-async';
|
|
3
|
-
export * from './create-trigger';
|
|
4
|
-
export * from './inject-params';
|
|
5
|
-
export * from './inject-query-params';
|
|
6
|
-
export * from './merge-from';
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGlmdC9zcmMvbGliL3NpZ25hbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb21iaW5lLWZyb20nO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wdXRlZC1hc3luYyc7XG5leHBvcnQgKiBmcm9tICcuL2NyZWF0ZS10cmlnZ2VyJztcbmV4cG9ydCAqIGZyb20gJy4vaW5qZWN0LXBhcmFtcyc7XG5leHBvcnQgKiBmcm9tICcuL2luamVjdC1xdWVyeS1wYXJhbXMnO1xuZXhwb3J0ICogZnJvbSAnLi9tZXJnZS1mcm9tJztcbiJdfQ==
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { assertInInjectionContext, inject } from '@angular/core';
|
|
2
|
-
import { toSignal } from '@angular/core/rxjs-interop';
|
|
3
|
-
import { ActivatedRoute } from '@angular/router';
|
|
4
|
-
import { map } from 'rxjs';
|
|
5
|
-
export function injectParams(keyOrParamsTransform, options = {}) {
|
|
6
|
-
assertInInjectionContext(injectParams);
|
|
7
|
-
const route = inject(ActivatedRoute);
|
|
8
|
-
const initialParams = route.snapshot.params;
|
|
9
|
-
const { transform, initialValue } = options;
|
|
10
|
-
// injectParams(): Signal<Params>
|
|
11
|
-
if (!keyOrParamsTransform) {
|
|
12
|
-
return toSignal(route.params, { initialValue: initialParams });
|
|
13
|
-
}
|
|
14
|
-
// injectParams<Output>(fn: ParamsTransformFn<Output>): Signal<Output>
|
|
15
|
-
if (typeof keyOrParamsTransform === 'function') {
|
|
16
|
-
return toSignal(route.params.pipe(map(keyOrParamsTransform)), { initialValue: keyOrParamsTransform(initialParams) });
|
|
17
|
-
}
|
|
18
|
-
// keyOrParamsTransform is string.
|
|
19
|
-
// export function injectParams(key: string): Signal<string | null>;
|
|
20
|
-
// export function injectParams(key: string, options: { transform: (v: string) => boolean; initialValue: boolean }): Signal<boolean>;
|
|
21
|
-
// export function injectParams(key: string, options: { transform: (v: string) => number; initialValue: number }): Signal<number>;
|
|
22
|
-
// export function injectParams(key: string, options: { transform?: (v: string) => string; initialValue: string }): Signal<string>;
|
|
23
|
-
// export function injectParams(key: string, options: { transform: (v: string) => boolean; initialValue?: undefined }): Signal<boolean | null>;
|
|
24
|
-
// export function injectParams(key: string, options: { transform: (v: string) => number; initialValue?: undefined }): Signal<number | null>;
|
|
25
|
-
// export function injectParams(key: string, options: { transform: (v: string) => string; initialValue?: undefined }): Signal<string | null>;
|
|
26
|
-
const getParam = (params) => {
|
|
27
|
-
const param = params?.[keyOrParamsTransform];
|
|
28
|
-
if (!param) {
|
|
29
|
-
return initialValue ?? null;
|
|
30
|
-
}
|
|
31
|
-
return transform ? transform(param) : param;
|
|
32
|
-
};
|
|
33
|
-
return toSignal(route.params.pipe(map(getParam)), { initialValue: getParam(initialParams) });
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0LXBhcmFtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWZ0L3NyYy9saWIvc2lnbmFscy9pbmplY3QtcGFyYW1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx3QkFBd0IsRUFBRSxNQUFNLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxjQUFjLEVBQWMsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBeUV6QixNQUFNLFVBQVUsWUFBWSxDQUMxQixvQkFBeUQsRUFDekQsVUFBaUMsRUFBRTtJQUVuQyx3QkFBd0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUV2QyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDckMsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFFNUMsTUFBTSxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUMsR0FBRyxPQUFPLENBQUM7SUFFMUMsaUNBQWlDO0lBQ2pDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzFCLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBQyxZQUFZLEVBQUUsYUFBYSxFQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsc0VBQXNFO0lBQ3RFLElBQUksT0FBTyxvQkFBb0IsS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUMvQyxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxFQUFFLEVBQUMsWUFBWSxFQUFFLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxFQUFDLENBQUMsQ0FBQztJQUNySCxDQUFDO0lBRUQsa0NBQWtDO0lBQ2xDLG9FQUFvRTtJQUNwRSxxSUFBcUk7SUFDckksa0lBQWtJO0lBQ2xJLG1JQUFtSTtJQUNuSSwrSUFBK0k7SUFDL0ksNklBQTZJO0lBQzdJLDZJQUE2STtJQUM3SSxNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFFO1FBQ2xDLE1BQU0sS0FBSyxHQUFHLE1BQU0sRUFBRSxDQUFDLG9CQUFvQixDQUF1QixDQUFDO1FBRW5FLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNYLE9BQU8sWUFBWSxJQUFJLElBQUksQ0FBQztRQUM5QixDQUFDO1FBRUQsT0FBTyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzlDLENBQUMsQ0FBQztJQUVGLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEVBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFBQyxDQUFDLENBQUM7QUFDN0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7YXNzZXJ0SW5JbmplY3Rpb25Db250ZXh0LCBpbmplY3QsIHR5cGUgU2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dG9TaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIHR5cGUgUGFyYW1zfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMnO1xuXG50eXBlIFBhcmFtc1RyYW5zZm9ybUZuPE91dHB1dD4gPSAocGFyYW1zOiBQYXJhbXMpID0+IE91dHB1dDtcblxuLyoqXG4gKiBUaGUgYElucHV0T3B0aW9uc2AgaW50ZXJmYWNlIGRlZmluZXMgb3B0aW9ucyBmb3IgY29uZmlndXJpbmcgdGhlIGJlaGF2aW9yIG9mIHRoZSBgaW5qZWN0UGFyYW1zYCBmdW5jdGlvbi5cbiAqXG4gKiBAdGVtcGxhdGUgT3V0cHV0IC0gVGhlIGV4cGVjdGVkIHR5cGUgb2YgdGhlIHJlYWQgdmFsdWUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFyYW1zT3B0aW9uczxPdXRwdXQ+IHtcbiAgLyoqXG4gICAqIEEgdHJhbnNmb3JtYXRpb24gZnVuY3Rpb24gdG8gY29udmVydCB0aGUgd3JpdHRlbiB2YWx1ZSB0byB0aGUgZXhwZWN0ZWQgcmVhZCB2YWx1ZS5cbiAgICpcbiAgICogQHBhcmFtIHYgLSBUaGUgdmFsdWUgdG8gdHJhbnNmb3JtLlxuICAgKiBAcmV0dXJucyBUaGUgdHJhbnNmb3JtZWQgdmFsdWUuXG4gICAqL1xuICB0cmFuc2Zvcm0/OiAodjogc3RyaW5nKSA9PiBPdXRwdXQ7XG5cbiAgLyoqXG4gICAqIFRoZSBpbml0aWFsIHZhbHVlIHRvIHVzZSBpZiB0aGUgcGFyYW1ldGVyIGlzIG5vdCBwcmVzZW50IG9yIHVuZGVmaW5lZC5cbiAgICovXG4gIGluaXRpYWxWYWx1ZT86IE91dHB1dDtcbn1cblxuLyoqXG4gKiBJbmplY3RzIHRoZSBwYXJhbXMgZnJvbSB0aGUgY3VycmVudCByb3V0ZS5cbiAqIElmIGEga2V5IGlzIHByb3ZpZGVkLCByZXR1cm5zIHRoZSB2YWx1ZSBvZiB0aGF0IGtleS5cbiAqIElmIGEgdHJhbnNmb3JtIGZ1bmN0aW9uIGlzIHByb3ZpZGVkLCByZXR1cm5zIHRoZSByZXN1bHQgb2YgdGhlIGZ1bmN0aW9uLlxuICogT3RoZXJ3aXNlLCByZXR1cm5zIHRoZSBlbnRpcmUgcGFyYW1zIG9iamVjdC5cbiAqXG4gKiBAZXhhbXBsZVxuICogY29uc3QgcGFyYW1zID0gaW5qZWN0UGFyYW1zKCk7IC8vIFJldHVybnMgdGhlIGVudGlyZSBwYXJhbXMgb2JqZWN0XG4gKiBjb25zdCB1c2VySWQgPSBpbmplY3RQYXJhbXMoJ2lkJyk7IC8vIFJldHVybnMgdGhlIHZhbHVlIG9mIHRoZSAnaWQnIHBhcmFtXG4gKiBjb25zdCB1c2VySWQgPSBpbmplY3RQYXJhbXMocCA9PiBwWydpZCddIGFzIHN0cmluZyk7IC8vIFJldHVybnMgdGhlICdpZCcgcGFyYW0gdXNpbmcgYSBjdXN0b20gdHJhbnNmb3JtIGZ1bmN0aW9uXG4gKiBjb25zdCB1c2VySWQgPSBpbmplY3RQYXJhbXMoJ2lkJywgeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSwgaW5pdGlhbFZhbHVlOiAxIH0pO1xuICpcbiAqIEBwYXJhbSBrZXlPclBhcmFtc1RyYW5zZm9ybSBPUFRJT05BTCBUaGUga2V5IG9mIHRoZSBwYXJhbSB0byByZXR1cm4sIG9yIGEgdHJhbnNmb3JtIGZ1bmN0aW9uIHRvIGFwcGx5IHRvIHRoZSBwYXJhbXMgb2JqZWN0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RQYXJhbXMoKTogU2lnbmFsPFBhcmFtcz47XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RQYXJhbXM8T3V0cHV0PihmbjogUGFyYW1zVHJhbnNmb3JtRm48T3V0cHV0Pik6IFNpZ25hbDxPdXRwdXQ+O1xuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0UGFyYW1zKGtleTogc3RyaW5nKTogU2lnbmFsPHN0cmluZyB8IG51bGw+O1xuXG4vLyBmb3IgYm9vbGVhbiBvciBudW1iZXIsIGlmIGluaXRpYWxWYWx1ZSBpcyBwcm92aWRlZCwgdHJhbnNmb3JtIGlzIGEgbXVzdFxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFBhcmFtcyhcbiAga2V5OiBzdHJpbmcsXG4gIG9wdGlvbnM6IHt0cmFuc2Zvcm06ICh2OiBzdHJpbmcpID0+IGJvb2xlYW47IGluaXRpYWxWYWx1ZTogYm9vbGVhbn0sXG4pOiBTaWduYWw8Ym9vbGVhbj47XG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0UGFyYW1zKFxuICBrZXk6IHN0cmluZyxcbiAgb3B0aW9uczoge3RyYW5zZm9ybTogKHY6IHN0cmluZykgPT4gbnVtYmVyOyBpbml0aWFsVmFsdWU6IG51bWJlcn0sXG4pOiBTaWduYWw8bnVtYmVyPjtcbi8vIGZvciBzdHJpbmcsIHRyYW5zZm9ybSBpcyBvcHRpb25hbFxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFBhcmFtcyhcbiAga2V5OiBzdHJpbmcsXG4gIG9wdGlvbnM6IHt0cmFuc2Zvcm0/OiAodjogc3RyaW5nKSA9PiBzdHJpbmc7IGluaXRpYWxWYWx1ZTogc3RyaW5nfSxcbik6IFNpZ25hbDxzdHJpbmc+O1xuXG4vLyBpbml0aWFsVmFsdWUgbm90IHByb3ZpZGVkLCBtdXN0IHByb3ZpZGUgdHJhbnNmb3JtIGZuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0UGFyYW1zKFxuICBrZXk6IHN0cmluZyxcbiAgb3B0aW9uczoge3RyYW5zZm9ybTogKHY6IHN0cmluZykgPT4gYm9vbGVhbjsgaW5pdGlhbFZhbHVlPzogdW5kZWZpbmVkfSxcbik6IFNpZ25hbDxib29sZWFuIHwgbnVsbD47XG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0UGFyYW1zKFxuICBrZXk6IHN0cmluZyxcbiAgb3B0aW9uczoge3RyYW5zZm9ybTogKHY6IHN0cmluZykgPT4gbnVtYmVyOyBpbml0aWFsVmFsdWU/OiB1bmRlZmluZWR9LFxuKTogU2lnbmFsPG51bWJlciB8IG51bGw+O1xuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFBhcmFtcyhcbiAga2V5OiBzdHJpbmcsXG4gIG9wdGlvbnM6IHt0cmFuc2Zvcm06ICh2OiBzdHJpbmcpID0+IHN0cmluZzsgaW5pdGlhbFZhbHVlPzogdW5kZWZpbmVkfSxcbik6IFNpZ25hbDxzdHJpbmcgfCBudWxsPjtcblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFBhcmFtczxPdXRwdXQ+KFxuICBrZXlPclBhcmFtc1RyYW5zZm9ybT86IHN0cmluZyB8IFBhcmFtc1RyYW5zZm9ybUZuPE91dHB1dD4sXG4gIG9wdGlvbnM6IFBhcmFtc09wdGlvbnM8T3V0cHV0PiA9IHt9LFxuKTogU2lnbmFsPE91dHB1dCB8IFBhcmFtcyB8IHN0cmluZyB8IGJvb2xlYW4gfCBudW1iZXIgfCBudWxsPiB7XG4gIGFzc2VydEluSW5qZWN0aW9uQ29udGV4dChpbmplY3RQYXJhbXMpO1xuXG4gIGNvbnN0IHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgY29uc3QgaW5pdGlhbFBhcmFtcyA9IHJvdXRlLnNuYXBzaG90LnBhcmFtcztcblxuICBjb25zdCB7dHJhbnNmb3JtLCBpbml0aWFsVmFsdWV9ID0gb3B0aW9ucztcblxuICAvLyBpbmplY3RQYXJhbXMoKTogU2lnbmFsPFBhcmFtcz5cbiAgaWYgKCFrZXlPclBhcmFtc1RyYW5zZm9ybSkge1xuICAgIHJldHVybiB0b1NpZ25hbChyb3V0ZS5wYXJhbXMsIHtpbml0aWFsVmFsdWU6IGluaXRpYWxQYXJhbXN9KTtcbiAgfVxuXG4gIC8vIGluamVjdFBhcmFtczxPdXRwdXQ+KGZuOiBQYXJhbXNUcmFuc2Zvcm1GbjxPdXRwdXQ+KTogU2lnbmFsPE91dHB1dD5cbiAgaWYgKHR5cGVvZiBrZXlPclBhcmFtc1RyYW5zZm9ybSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiB0b1NpZ25hbChyb3V0ZS5wYXJhbXMucGlwZShtYXAoa2V5T3JQYXJhbXNUcmFuc2Zvcm0pKSwge2luaXRpYWxWYWx1ZToga2V5T3JQYXJhbXNUcmFuc2Zvcm0oaW5pdGlhbFBhcmFtcyl9KTtcbiAgfVxuXG4gIC8vIGtleU9yUGFyYW1zVHJhbnNmb3JtIGlzIHN0cmluZy5cbiAgLy8gZXhwb3J0IGZ1bmN0aW9uIGluamVjdFBhcmFtcyhrZXk6IHN0cmluZyk6IFNpZ25hbDxzdHJpbmcgfCBudWxsPjtcbiAgLy8gZXhwb3J0IGZ1bmN0aW9uIGluamVjdFBhcmFtcyhrZXk6IHN0cmluZywgb3B0aW9uczogeyB0cmFuc2Zvcm06ICh2OiBzdHJpbmcpID0+IGJvb2xlYW47IGluaXRpYWxWYWx1ZTogYm9vbGVhbiB9KTogU2lnbmFsPGJvb2xlYW4+O1xuICAvLyBleHBvcnQgZnVuY3Rpb24gaW5qZWN0UGFyYW1zKGtleTogc3RyaW5nLCBvcHRpb25zOiB7IHRyYW5zZm9ybTogKHY6IHN0cmluZykgPT4gbnVtYmVyOyBpbml0aWFsVmFsdWU6IG51bWJlciB9KTogU2lnbmFsPG51bWJlcj47XG4gIC8vIGV4cG9ydCBmdW5jdGlvbiBpbmplY3RQYXJhbXMoa2V5OiBzdHJpbmcsIG9wdGlvbnM6IHsgdHJhbnNmb3JtPzogKHY6IHN0cmluZykgPT4gc3RyaW5nOyBpbml0aWFsVmFsdWU6IHN0cmluZyB9KTogU2lnbmFsPHN0cmluZz47XG4gIC8vIGV4cG9ydCBmdW5jdGlvbiBpbmplY3RQYXJhbXMoa2V5OiBzdHJpbmcsIG9wdGlvbnM6IHsgdHJhbnNmb3JtOiAodjogc3RyaW5nKSA9PiBib29sZWFuOyBpbml0aWFsVmFsdWU/OiB1bmRlZmluZWQgfSk6IFNpZ25hbDxib29sZWFuIHwgbnVsbD47XG4gIC8vIGV4cG9ydCBmdW5jdGlvbiBpbmplY3RQYXJhbXMoa2V5OiBzdHJpbmcsIG9wdGlvbnM6IHsgdHJhbnNmb3JtOiAodjogc3RyaW5nKSA9PiBudW1iZXI7IGluaXRpYWxWYWx1ZT86IHVuZGVmaW5lZCB9KTogU2lnbmFsPG51bWJlciB8IG51bGw+O1xuICAvLyBleHBvcnQgZnVuY3Rpb24gaW5qZWN0UGFyYW1zKGtleTogc3RyaW5nLCBvcHRpb25zOiB7IHRyYW5zZm9ybTogKHY6IHN0cmluZykgPT4gc3RyaW5nOyBpbml0aWFsVmFsdWU/OiB1bmRlZmluZWQgfSk6IFNpZ25hbDxzdHJpbmcgfCBudWxsPjtcbiAgY29uc3QgZ2V0UGFyYW0gPSAocGFyYW1zOiBQYXJhbXMpID0+IHtcbiAgICBjb25zdCBwYXJhbSA9IHBhcmFtcz8uW2tleU9yUGFyYW1zVHJhbnNmb3JtXSBhcyBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgICBpZiAoIXBhcmFtKSB7XG4gICAgICByZXR1cm4gaW5pdGlhbFZhbHVlID8/IG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRyYW5zZm9ybSA/IHRyYW5zZm9ybShwYXJhbSkgOiBwYXJhbTtcbiAgfTtcblxuICByZXR1cm4gdG9TaWduYWwocm91dGUucGFyYW1zLnBpcGUobWFwKGdldFBhcmFtKSksIHtpbml0aWFsVmFsdWU6IGdldFBhcmFtKGluaXRpYWxQYXJhbXMpfSk7XG59XG4iXX0=
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { assertInInjectionContext, inject } from '@angular/core';
|
|
2
|
-
import { toSignal } from '@angular/core/rxjs-interop';
|
|
3
|
-
import { ActivatedRoute } from '@angular/router';
|
|
4
|
-
import { map } from 'rxjs';
|
|
5
|
-
/**
|
|
6
|
-
* The `injectQueryParams` function allows you to access and manipulate query parameters from the current route.
|
|
7
|
-
*
|
|
8
|
-
* @template Output - The expected type of the read value.
|
|
9
|
-
* @param {string} keyOrParamsTransform - The name of the query parameter to retrieve, or a transform function to apply to the query parameters object.
|
|
10
|
-
* @param {QueryParamsOptions} options - Optional configuration options for the query parameter.
|
|
11
|
-
* @returns {QueryParamsOptions} A `Signal` that emits the transformed value of the specified query parameter, or the entire query parameters object if no key is provided.
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* const search = injectQueryParams('search'); // returns the value of the 'search' query param
|
|
15
|
-
* const search = injectQueryParams(p => p['search'] as string); // same as above but can be used with a custom transform function
|
|
16
|
-
* const idParam = injectQueryParams('id', {transform: numberAttribute}); // returns the value fo the 'id' query params and transforms it into a number
|
|
17
|
-
* const idParam = injectQueryParams(p => numberAttribute(p['id'])); // same as above but can be used with a custom transform function
|
|
18
|
-
* const queryParams = injectQueryParams(); // returns the entire query params object
|
|
19
|
-
*/
|
|
20
|
-
export function injectQueryParams(keyOrParamsTransform, options = {}) {
|
|
21
|
-
assertInInjectionContext(injectQueryParams);
|
|
22
|
-
const route = inject(ActivatedRoute);
|
|
23
|
-
const initialQueryParams = route.snapshot.queryParams;
|
|
24
|
-
const { transform, initialValue } = options;
|
|
25
|
-
// injectQueryParams(): Signal<Params>
|
|
26
|
-
if (!keyOrParamsTransform) {
|
|
27
|
-
return toSignal(route.queryParams, { initialValue: initialQueryParams });
|
|
28
|
-
}
|
|
29
|
-
// injectQueryParams<Output>(fn: QueryParamsTransformFn<Output>): Signal<Output>
|
|
30
|
-
if (typeof keyOrParamsTransform === 'function') {
|
|
31
|
-
return toSignal(route.queryParams.pipe(map(keyOrParamsTransform)), {
|
|
32
|
-
initialValue: keyOrParamsTransform(initialQueryParams),
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
// keyOrParamsTransform is string.
|
|
36
|
-
const getParam = (params) => {
|
|
37
|
-
const param = params?.[keyOrParamsTransform];
|
|
38
|
-
if (!param) {
|
|
39
|
-
return initialValue ?? null;
|
|
40
|
-
}
|
|
41
|
-
if (Array.isArray(param)) {
|
|
42
|
-
if (param.length < 1) {
|
|
43
|
-
return initialValue ?? null;
|
|
44
|
-
}
|
|
45
|
-
return transform ? transform(param[0]) : param[0];
|
|
46
|
-
}
|
|
47
|
-
return transform ? transform(param) : param;
|
|
48
|
-
};
|
|
49
|
-
return toSignal(route.queryParams.pipe(map(getParam)), {
|
|
50
|
-
initialValue: getParam(initialQueryParams),
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0LXF1ZXJ5LXBhcmFtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWZ0L3NyYy9saWIvc2lnbmFscy9pbmplY3QtcXVlcnktcGFyYW1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx3QkFBd0IsRUFBRSxNQUFNLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxjQUFjLEVBQWMsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBaUZ6Qjs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0Isb0JBQThELEVBQzlELFVBQXNDLEVBQUU7SUFFeEMsd0JBQXdCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUU1QyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDckMsTUFBTSxrQkFBa0IsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQztJQUV0RCxNQUFNLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBQyxHQUFHLE9BQU8sQ0FBQztJQUUxQyxzQ0FBc0M7SUFDdEMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDMUIsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxFQUFDLFlBQVksRUFBRSxrQkFBa0IsRUFBQyxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVELGdGQUFnRjtJQUNoRixJQUFJLE9BQU8sb0JBQW9CLEtBQUssVUFBVSxFQUFFLENBQUM7UUFDL0MsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUMsRUFBRTtZQUNqRSxZQUFZLEVBQUUsb0JBQW9CLENBQUMsa0JBQWtCLENBQUM7U0FDdkQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGtDQUFrQztJQUNsQyxNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFFO1FBQ2xDLE1BQU0sS0FBSyxHQUFHLE1BQU0sRUFBRSxDQUFDLG9CQUFvQixDQUFrQyxDQUFDO1FBRTlFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNYLE9BQU8sWUFBWSxJQUFJLElBQUksQ0FBQztRQUM5QixDQUFDO1FBRUQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDekIsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNyQixPQUFPLFlBQVksSUFBSSxJQUFJLENBQUM7WUFDOUIsQ0FBQztZQUNELE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBRUQsT0FBTyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzlDLENBQUMsQ0FBQztJQUVGLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFO1FBQ3JELFlBQVksRUFBRSxRQUFRLENBQUMsa0JBQWtCLENBQUM7S0FDM0MsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7YXNzZXJ0SW5JbmplY3Rpb25Db250ZXh0LCBpbmplY3QsIHR5cGUgU2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dG9TaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIHR5cGUgUGFyYW1zfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMnO1xuXG50eXBlIFF1ZXJ5UGFyYW1zVHJhbnNmb3JtRm48T3V0cHV0PiA9IChwYXJhbXM6IFBhcmFtcykgPT4gT3V0cHV0O1xuXG4vKipcbiAqIFRoZSBgSW5wdXRPcHRpb25zYCBpbnRlcmZhY2UgZGVmaW5lcyBvcHRpb25zIGZvciBjb25maWd1cmluZyB0aGUgYmVoYXZpb3Igb2YgdGhlIGBpbmplY3RRdWVyeVBhcmFtc2AgZnVuY3Rpb24uXG4gKlxuICogQHRlbXBsYXRlIE91dHB1dCAtIFRoZSBleHBlY3RlZCB0eXBlIG9mIHRoZSByZWFkIHZhbHVlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXJ5UGFyYW1zT3B0aW9uczxPdXRwdXQ+IHtcbiAgLyoqXG4gICAqIEEgdHJhbnNmb3JtYXRpb24gZnVuY3Rpb24gdG8gY29udmVydCB0aGUgd3JpdHRlbiB2YWx1ZSB0byB0aGUgZXhwZWN0ZWQgcmVhZCB2YWx1ZS5cbiAgICpcbiAgICogQHBhcmFtIHYgLSBUaGUgdmFsdWUgdG8gdHJhbnNmb3JtLlxuICAgKiBAcmV0dXJucyBUaGUgdHJhbnNmb3JtZWQgdmFsdWUuXG4gICAqL1xuICB0cmFuc2Zvcm0/OiAodjogc3RyaW5nKSA9PiBPdXRwdXQ7XG5cbiAgLyoqXG4gICAqIFRoZSBpbml0aWFsIHZhbHVlIHRvIHVzZSBpZiB0aGUgcXVlcnkgcGFyYW1ldGVyIGlzIG5vdCBwcmVzZW50IG9yIHVuZGVmaW5lZC5cbiAgICovXG4gIGluaXRpYWxWYWx1ZT86IE91dHB1dDtcbn1cblxuLyoqXG4gKiBUaGUgYGluamVjdFF1ZXJ5UGFyYW1zYCBmdW5jdGlvbiBhbGxvd3MgeW91IHRvIGFjY2VzcyBhbmQgbWFuaXB1bGF0ZSBxdWVyeSBwYXJhbWV0ZXJzIGZyb20gdGhlIGN1cnJlbnQgcm91dGUuXG4gKlxuICogQHJldHVybnMgQSBgU2lnbmFsYCB0aGF0IGVtaXRzIHRoZSBlbnRpcmUgcXVlcnkgcGFyYW1ldGVycyBvYmplY3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RRdWVyeVBhcmFtcygpOiBTaWduYWw8UGFyYW1zPjtcblxuLyoqXG4gKiBUaGUgYGluamVjdFF1ZXJ5UGFyYW1zYCBmdW5jdGlvbiBhbGxvd3MgeW91IHRvIGFjY2VzcyBhbmQgbWFuaXB1bGF0ZSBxdWVyeSBwYXJhbWV0ZXJzIGZyb20gdGhlIGN1cnJlbnQgcm91dGUuXG4gKiBJdCByZXRyaWV2ZXMgdGhlIHZhbHVlIG9mIGEgcXVlcnkgcGFyYW1ldGVyIGJhc2VkIG9uIGEgY3VzdG9tIHRyYW5zZm9ybSBmdW5jdGlvbiBhcHBsaWVkIHRvIHRoZSBxdWVyeSBwYXJhbWV0ZXJzIG9iamVjdC5cbiAqXG4gKiBAdGVtcGxhdGUgT3V0cHV0IC0gVGhlIGV4cGVjdGVkIHR5cGUgb2YgdGhlIHJlYWQgdmFsdWUuXG4gKiBAcGFyYW0ge1F1ZXJ5UGFyYW1zVHJhbnNmb3JtRm48T3V0cHV0Pn0gZm4gLSBBIHRyYW5zZm9ybSBmdW5jdGlvbiB0aGF0IHRha2VzIHRoZSBxdWVyeSBwYXJhbWV0ZXJzIG9iamVjdCAoYHBhcmFtczogUGFyYW1zYCkgYW5kIHJldHVybnMgdGhlIGRlc2lyZWQgdmFsdWUuXG4gKiBAcmV0dXJucyB7U2lnbmFsfSBBIGBTaWduYWxgIHRoYXQgZW1pdHMgdGhlIHRyYW5zZm9ybWVkIHZhbHVlIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBjdXN0b20gdHJhbnNmb3JtIGZ1bmN0aW9uLlxuICpcbiAqIEBleGFtcGxlXG4gKiBjb25zdCBzZWFyY2hWYWx1ZSA9IGluamVjdFF1ZXJ5UGFyYW1zKChwYXJhbXMpID0+IHBhcmFtc1snc2VhcmNoJ10gYXMgc3RyaW5nKTtcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFF1ZXJ5UGFyYW1zPE91dHB1dD4oZm46IFF1ZXJ5UGFyYW1zVHJhbnNmb3JtRm48T3V0cHV0Pik6IFNpZ25hbDxPdXRwdXQ+O1xuXG4vKipcbiAqIFRoZSBgaW5qZWN0UXVlcnlQYXJhbXNgIGZ1bmN0aW9uIGFsbG93cyB5b3UgdG8gYWNjZXNzIGFuZCBtYW5pcHVsYXRlIHF1ZXJ5IHBhcmFtZXRlcnMgZnJvbSB0aGUgY3VycmVudCByb3V0ZS5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IC0gVGhlIG5hbWUgb2YgdGhlIHF1ZXJ5IHBhcmFtZXRlciB0byByZXRyaWV2ZS5cbiAqIEByZXR1cm5zIHtTaWduYWx9IEEgYFNpZ25hbGAgdGhhdCBlbWl0cyB0aGUgdmFsdWUgb2YgdGhlIHNwZWNpZmllZCBxdWVyeSBwYXJhbWV0ZXIsIG9yIGBudWxsYCBpZiBpdCdzIG5vdCBwcmVzZW50LlxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0UXVlcnlQYXJhbXMoa2V5OiBzdHJpbmcpOiBTaWduYWw8c3RyaW5nIHwgbnVsbD47XG5cbi8vIGZvciBib29sZWFuIG9yIG51bWJlciwgaWYgaW5pdGlhbFZhbHVlIGlzIHByb3ZpZGVkLCB0cmFuc2Zvcm0gaXMgYSBtdXN0XG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0UXVlcnlQYXJhbXMoXG4gIGtleTogc3RyaW5nLFxuICBvcHRpb25zOiB7dHJhbnNmb3JtOiAodjogc3RyaW5nKSA9PiBib29sZWFuOyBpbml0aWFsVmFsdWU6IGJvb2xlYW59LFxuKTogU2lnbmFsPGJvb2xlYW4+O1xuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFF1ZXJ5UGFyYW1zKFxuICBrZXk6IHN0cmluZyxcbiAgb3B0aW9uczoge3RyYW5zZm9ybTogKHY6IHN0cmluZykgPT4gbnVtYmVyOyBpbml0aWFsVmFsdWU6IG51bWJlcn0sXG4pOiBTaWduYWw8bnVtYmVyPjtcbi8vIGZvciBzdHJpbmcsIHRyYW5zZm9ybSBpcyBvcHRpb25hbFxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFF1ZXJ5UGFyYW1zKFxuICBrZXk6IHN0cmluZyxcbiAgb3B0aW9uczoge3RyYW5zZm9ybT86ICh2OiBzdHJpbmcpID0+IHN0cmluZzsgaW5pdGlhbFZhbHVlOiBzdHJpbmd9LFxuKTogU2lnbmFsPHN0cmluZz47XG5cbi8vIGluaXRpYWxWYWx1ZSBub3QgcHJvdmlkZWQsIG11c3QgcHJvdmlkZSB0cmFuc2Zvcm0gZm5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RRdWVyeVBhcmFtcyhcbiAga2V5OiBzdHJpbmcsXG4gIG9wdGlvbnM6IHt0cmFuc2Zvcm06ICh2OiBzdHJpbmcpID0+IGJvb2xlYW47IGluaXRpYWxWYWx1ZT86IHVuZGVmaW5lZH0sXG4pOiBTaWduYWw8Ym9vbGVhbiB8IG51bGw+O1xuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFF1ZXJ5UGFyYW1zKFxuICBrZXk6IHN0cmluZyxcbiAgb3B0aW9uczoge3RyYW5zZm9ybTogKHY6IHN0cmluZykgPT4gbnVtYmVyOyBpbml0aWFsVmFsdWU/OiB1bmRlZmluZWR9LFxuKTogU2lnbmFsPG51bWJlciB8IG51bGw+O1xuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFF1ZXJ5UGFyYW1zKFxuICBrZXk6IHN0cmluZyxcbiAgb3B0aW9uczoge3RyYW5zZm9ybTogKHY6IHN0cmluZykgPT4gc3RyaW5nOyBpbml0aWFsVmFsdWU/OiB1bmRlZmluZWR9LFxuKTogU2lnbmFsPHN0cmluZyB8IG51bGw+O1xuXG4vKipcbiAqIFRoZSBgaW5qZWN0UXVlcnlQYXJhbXNgIGZ1bmN0aW9uIGFsbG93cyB5b3UgdG8gYWNjZXNzIGFuZCBtYW5pcHVsYXRlIHF1ZXJ5IHBhcmFtZXRlcnMgZnJvbSB0aGUgY3VycmVudCByb3V0ZS5cbiAqXG4gKiBAdGVtcGxhdGUgT3V0cHV0IC0gVGhlIGV4cGVjdGVkIHR5cGUgb2YgdGhlIHJlYWQgdmFsdWUuXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5T3JQYXJhbXNUcmFuc2Zvcm0gLSBUaGUgbmFtZSBvZiB0aGUgcXVlcnkgcGFyYW1ldGVyIHRvIHJldHJpZXZlLCBvciBhIHRyYW5zZm9ybSBmdW5jdGlvbiB0byBhcHBseSB0byB0aGUgcXVlcnkgcGFyYW1ldGVycyBvYmplY3QuXG4gKiBAcGFyYW0ge1F1ZXJ5UGFyYW1zT3B0aW9uc30gb3B0aW9ucyAtIE9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIHF1ZXJ5IHBhcmFtZXRlci5cbiAqIEByZXR1cm5zIHtRdWVyeVBhcmFtc09wdGlvbnN9IEEgYFNpZ25hbGAgdGhhdCBlbWl0cyB0aGUgdHJhbnNmb3JtZWQgdmFsdWUgb2YgdGhlIHNwZWNpZmllZCBxdWVyeSBwYXJhbWV0ZXIsIG9yIHRoZSBlbnRpcmUgcXVlcnkgcGFyYW1ldGVycyBvYmplY3QgaWYgbm8ga2V5IGlzIHByb3ZpZGVkLlxuICpcbiAqIEBleGFtcGxlXG4gKiBjb25zdCBzZWFyY2ggPSBpbmplY3RRdWVyeVBhcmFtcygnc2VhcmNoJyk7IC8vIHJldHVybnMgdGhlIHZhbHVlIG9mIHRoZSAnc2VhcmNoJyBxdWVyeSBwYXJhbVxuICogY29uc3Qgc2VhcmNoID0gaW5qZWN0UXVlcnlQYXJhbXMocCA9PiBwWydzZWFyY2gnXSBhcyBzdHJpbmcpOyAvLyBzYW1lIGFzIGFib3ZlIGJ1dCBjYW4gYmUgdXNlZCB3aXRoIGEgY3VzdG9tIHRyYW5zZm9ybSBmdW5jdGlvblxuICogY29uc3QgaWRQYXJhbSA9IGluamVjdFF1ZXJ5UGFyYW1zKCdpZCcsIHt0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZX0pOyAvLyByZXR1cm5zIHRoZSB2YWx1ZSBmbyB0aGUgJ2lkJyBxdWVyeSBwYXJhbXMgYW5kIHRyYW5zZm9ybXMgaXQgaW50byBhIG51bWJlclxuICogY29uc3QgaWRQYXJhbSA9IGluamVjdFF1ZXJ5UGFyYW1zKHAgPT4gbnVtYmVyQXR0cmlidXRlKHBbJ2lkJ10pKTsgLy8gc2FtZSBhcyBhYm92ZSBidXQgY2FuIGJlIHVzZWQgd2l0aCBhIGN1c3RvbSB0cmFuc2Zvcm0gZnVuY3Rpb25cbiAqIGNvbnN0IHF1ZXJ5UGFyYW1zID0gaW5qZWN0UXVlcnlQYXJhbXMoKTsgLy8gcmV0dXJucyB0aGUgZW50aXJlIHF1ZXJ5IHBhcmFtcyBvYmplY3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFF1ZXJ5UGFyYW1zPE91dHB1dD4oXG4gIGtleU9yUGFyYW1zVHJhbnNmb3JtPzogc3RyaW5nIHwgUXVlcnlQYXJhbXNUcmFuc2Zvcm1GbjxPdXRwdXQ+LFxuICBvcHRpb25zOiBRdWVyeVBhcmFtc09wdGlvbnM8T3V0cHV0PiA9IHt9LFxuKTogU2lnbmFsPE91dHB1dCB8IFBhcmFtcyB8IHN0cmluZyB8IGJvb2xlYW4gfCBudW1iZXIgfCBudWxsPiB7XG4gIGFzc2VydEluSW5qZWN0aW9uQ29udGV4dChpbmplY3RRdWVyeVBhcmFtcyk7XG5cbiAgY29uc3Qgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICBjb25zdCBpbml0aWFsUXVlcnlQYXJhbXMgPSByb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcztcblxuICBjb25zdCB7dHJhbnNmb3JtLCBpbml0aWFsVmFsdWV9ID0gb3B0aW9ucztcblxuICAvLyBpbmplY3RRdWVyeVBhcmFtcygpOiBTaWduYWw8UGFyYW1zPlxuICBpZiAoIWtleU9yUGFyYW1zVHJhbnNmb3JtKSB7XG4gICAgcmV0dXJuIHRvU2lnbmFsKHJvdXRlLnF1ZXJ5UGFyYW1zLCB7aW5pdGlhbFZhbHVlOiBpbml0aWFsUXVlcnlQYXJhbXN9KTtcbiAgfVxuXG4gIC8vIGluamVjdFF1ZXJ5UGFyYW1zPE91dHB1dD4oZm46IFF1ZXJ5UGFyYW1zVHJhbnNmb3JtRm48T3V0cHV0Pik6IFNpZ25hbDxPdXRwdXQ+XG4gIGlmICh0eXBlb2Yga2V5T3JQYXJhbXNUcmFuc2Zvcm0gPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gdG9TaWduYWwocm91dGUucXVlcnlQYXJhbXMucGlwZShtYXAoa2V5T3JQYXJhbXNUcmFuc2Zvcm0pKSwge1xuICAgICAgaW5pdGlhbFZhbHVlOiBrZXlPclBhcmFtc1RyYW5zZm9ybShpbml0aWFsUXVlcnlQYXJhbXMpLFxuICAgIH0pO1xuICB9XG5cbiAgLy8ga2V5T3JQYXJhbXNUcmFuc2Zvcm0gaXMgc3RyaW5nLlxuICBjb25zdCBnZXRQYXJhbSA9IChwYXJhbXM6IFBhcmFtcykgPT4ge1xuICAgIGNvbnN0IHBhcmFtID0gcGFyYW1zPy5ba2V5T3JQYXJhbXNUcmFuc2Zvcm1dIGFzIHN0cmluZyB8IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuXG4gICAgaWYgKCFwYXJhbSkge1xuICAgICAgcmV0dXJuIGluaXRpYWxWYWx1ZSA/PyBudWxsO1xuICAgIH1cblxuICAgIGlmIChBcnJheS5pc0FycmF5KHBhcmFtKSkge1xuICAgICAgaWYgKHBhcmFtLmxlbmd0aCA8IDEpIHtcbiAgICAgICAgcmV0dXJuIGluaXRpYWxWYWx1ZSA/PyBudWxsO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRyYW5zZm9ybSA/IHRyYW5zZm9ybShwYXJhbVswXSkgOiBwYXJhbVswXTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJhbnNmb3JtID8gdHJhbnNmb3JtKHBhcmFtKSA6IHBhcmFtO1xuICB9O1xuXG4gIHJldHVybiB0b1NpZ25hbChyb3V0ZS5xdWVyeVBhcmFtcy5waXBlKG1hcChnZXRQYXJhbSkpLCB7XG4gICAgaW5pdGlhbFZhbHVlOiBnZXRQYXJhbShpbml0aWFsUXVlcnlQYXJhbXMpLFxuICB9KTtcbn1cbiJdfQ==
|