ngx-lift 0.5.0 → 1.1.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 +1 -1
- package/esm2022/lib/pipes/array-join.pipe.mjs +4 -4
- package/esm2022/lib/pipes/byte-converter.pipe.mjs +4 -4
- package/esm2022/lib/pipes/is-https.pipe.mjs +4 -4
- package/esm2022/lib/pipes/mask.pipe.mjs +4 -4
- package/esm2022/lib/signals/combine-from.mjs +81 -0
- package/esm2022/lib/signals/computed-async.mjs +63 -0
- package/esm2022/lib/signals/create-notifier.mjs +11 -0
- package/esm2022/lib/signals/index.mjs +6 -0
- package/esm2022/lib/signals/inject-params.mjs +15 -0
- package/esm2022/lib/signals/inject-query-params.mjs +50 -0
- package/esm2022/public-api.mjs +2 -2
- package/fesm2022/ngx-lift.mjs +223 -16
- package/fesm2022/ngx-lift.mjs.map +1 -1
- package/lib/signals/combine-from.d.ts +15 -0
- package/lib/signals/computed-async.d.ts +29 -0
- package/lib/signals/create-notifier.d.ts +4 -0
- package/lib/signals/index.d.ts +5 -0
- package/lib/signals/inject-params.d.ts +18 -0
- package/lib/signals/inject-query-params.d.ts +71 -0
- package/package.json +3 -3
- package/public-api.d.ts +1 -0
package/README.md
CHANGED
|
@@ -31,7 +31,7 @@ source code on GitHub.
|
|
|
31
31
|
|
|
32
32
|
## Requirements
|
|
33
33
|
|
|
34
|
-
To ensure optimal performance and compatibility, ngx-lift requires **Angular version
|
|
34
|
+
To ensure optimal performance and compatibility, ngx-lift requires **Angular version 17 or higher**.
|
|
35
35
|
|
|
36
36
|
## Get Started
|
|
37
37
|
|
|
@@ -8,14 +8,14 @@ export class ArrayJoinPipe {
|
|
|
8
8
|
// For non-array cases or unexpected types, return the value as is
|
|
9
9
|
return value;
|
|
10
10
|
}
|
|
11
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
12
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: ArrayJoinPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
12
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.10", ngImport: i0, type: ArrayJoinPipe, isStandalone: true, name: "arrayJoin" }); }
|
|
13
13
|
}
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: ArrayJoinPipe, decorators: [{
|
|
15
15
|
type: Pipe,
|
|
16
16
|
args: [{
|
|
17
17
|
name: 'arrayJoin',
|
|
18
18
|
standalone: true,
|
|
19
19
|
}]
|
|
20
20
|
}] });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktam9pbi5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpZnQvc3JjL2xpYi9waXBlcy9hcnJheS1qb2luLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7O0FBTWxELE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFNBQVMsQ0FBQyxLQUFjLEVBQUUsWUFBb0IsR0FBRztRQUMvQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDeEIsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzlCO1FBRUQsa0VBQWtFO1FBQ2xFLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzsrR0FSVSxhQUFhOzZHQUFiLGFBQWE7OzRGQUFiLGFBQWE7a0JBSnpCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFdBQVc7b0JBQ2pCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2FycmF5Sm9pbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEFycmF5Sm9pblBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKHZhbHVlOiB1bmtub3duLCBzZXBhcmF0b3I6IHN0cmluZyA9ICcsJykge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgcmV0dXJuIHZhbHVlLmpvaW4oc2VwYXJhdG9yKTtcbiAgICB9XG5cbiAgICAvLyBGb3Igbm9uLWFycmF5IGNhc2VzIG9yIHVuZXhwZWN0ZWQgdHlwZXMsIHJldHVybiB0aGUgdmFsdWUgYXMgaXNcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -56,10 +56,10 @@ export class ByteConverterPipe {
|
|
|
56
56
|
formatNumber(value) {
|
|
57
57
|
return new Intl.NumberFormat(this.locale, { maximumFractionDigits: 2 }).format(value);
|
|
58
58
|
}
|
|
59
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
60
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.
|
|
59
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: ByteConverterPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
60
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.10", ngImport: i0, type: ByteConverterPipe, isStandalone: true, name: "byteConverter" }); }
|
|
61
61
|
}
|
|
62
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: ByteConverterPipe, decorators: [{
|
|
63
63
|
type: Pipe,
|
|
64
64
|
args: [{
|
|
65
65
|
name: 'byteConverter',
|
|
@@ -156,4 +156,4 @@ const translations = {
|
|
|
156
156
|
TB: 'ТБ',
|
|
157
157
|
},
|
|
158
158
|
};
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnl0ZS1jb252ZXJ0ZXIucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWZ0L3NyYy9saWIvcGlwZXMvYnl0ZS1jb252ZXJ0ZXIucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDOztBQUVyRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRCRztBQU1ILE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsWUFBdUMsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7SUFBRyxDQUFDO0lBRXpELCtZQUErWTtJQUMvWSwwQkFBMEI7SUFDMUIsa0JBQWtCO0lBQ2xCLG9EQUFvRDtJQUNwRCw4Q0FBOEM7SUFDOUMsSUFBSTtJQUVKLFNBQVMsQ0FBQyxLQUFhO1FBQ3JCLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN6RCxPQUFPLEdBQUcsQ0FBQztTQUNaO1FBRUQsTUFBTSxLQUFLLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDL0MsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBRWxCLE9BQU8sS0FBSyxJQUFJLElBQUksSUFBSSxTQUFTLEdBQUcsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDcEQsS0FBSyxJQUFJLElBQUksQ0FBQztZQUNkLFNBQVMsRUFBRSxDQUFDO1NBQ2I7UUFFRCxNQUFNLGlCQUFpQixHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFFLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUU3QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFTyxZQUFZLENBQUMsS0FBYTtRQUNoQyxPQUFPLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUMscUJBQXFCLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEYsQ0FBQzsrR0EvQlUsaUJBQWlCLGtCQUNSLFNBQVM7NkdBRGxCLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFKN0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsZUFBZTtvQkFDckIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzswQkFFYyxNQUFNOzJCQUFDLFNBQVM7O0FBaUMvQixNQUFNLFlBQVksR0FBMkM7SUFDM0QsRUFBRSxFQUFFO1FBQ0YsSUFBSSxFQUFFLEdBQUc7UUFDVCxFQUFFLEVBQUUsSUFBSTtRQUNSLEVBQUUsRUFBRSxJQUFJO1FBQ1IsRUFBRSxFQUFFLElBQUk7UUFDUixFQUFFLEVBQUUsSUFBSTtLQUNUO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsMERBQTBEO1FBQzFELElBQUksRUFBRSxHQUFHO1FBQ1QsRUFBRSxFQUFFLElBQUk7UUFDUixFQUFFLEVBQUUsSUFBSTtRQUNSLEVBQUUsRUFBRSxJQUFJO1FBQ1IsRUFBRSxFQUFFLElBQUk7S0FDVDtJQUNELEVBQUUsRUFBRTtRQUNGLElBQUksRUFBRSxHQUFHO1FBQ1QsRUFBRSxFQUFFLElBQUk7UUFDUixFQUFFLEVBQUUsSUFBSTtRQUNSLEVBQUUsRUFBRSxJQUFJO1FBQ1IsRUFBRSxFQUFFLElBQUk7S0FDVDtJQUNELEVBQUUsRUFBRTtRQUNGLElBQUksRUFBRSxHQUFHO1FBQ1QsRUFBRSxFQUFFLElBQUk7UUFDUixFQUFFLEVBQUUsSUFBSTtRQUNSLEVBQUUsRUFBRSxJQUFJO1FBQ1IsRUFBRSxFQUFFLElBQUk7S0FDVDtJQUNELEVBQUUsRUFBRTtRQUNGLElBQUksRUFBRSxHQUFHO1FBQ1QsRUFBRSxFQUFFLElBQUk7UUFDUixFQUFFLEVBQUUsSUFBSTtRQUNSLEVBQUUsRUFBRSxJQUFJO1FBQ1IsRUFBRSxFQUFFLElBQUk7S0FDVDtJQUNELEVBQUUsRUFBRTtRQUNGLElBQUksRUFBRSxHQUFHO1FBQ1QsRUFBRSxFQUFFLElBQUk7UUFDUixFQUFFLEVBQUUsSUFBSTtRQUNSLEVBQUUsRUFBRSxJQUFJO1FBQ1IsRUFBRSxFQUFFLElBQUk7S0FDVDtJQUNELEVBQUUsRUFBRTtRQUNGLElBQUksRUFBRSxHQUFHO1FBQ1QsRUFBRSxFQUFFLElBQUk7UUFDUixFQUFFLEVBQUUsSUFBSTtRQUNSLEVBQUUsRUFBRSxJQUFJO1FBQ1IsRUFBRSxFQUFFLElBQUk7S0FDVDtJQUNELEVBQUUsRUFBRTtRQUNGLElBQUksRUFBRSxHQUFHO1FBQ1QsRUFBRSxFQUFFLElBQUk7UUFDUixFQUFFLEVBQUUsSUFBSTtRQUNSLEVBQUUsRUFBRSxJQUFJO1FBQ1IsRUFBRSxFQUFFLElBQUk7S0FDVDtJQUNELE9BQU8sRUFBRTtRQUNQLElBQUksRUFBRSxHQUFHO1FBQ1QsRUFBRSxFQUFFLElBQUk7UUFDUixFQUFFLEVBQUUsSUFBSTtRQUNSLEVBQUUsRUFBRSxJQUFJO1FBQ1IsRUFBRSxFQUFFLElBQUk7S0FDVDtJQUNELE9BQU8sRUFBRTtRQUNQLElBQUksRUFBRSxJQUFJO1FBQ1YsRUFBRSxFQUFFLEtBQUs7UUFDVCxFQUFFLEVBQUUsS0FBSztRQUNULEVBQUUsRUFBRSxNQUFNO1FBQ1YsRUFBRSxFQUFFLEtBQUs7S0FDVjtJQUNELE9BQU8sRUFBRTtRQUNQLElBQUksRUFBRSxLQUFLO1FBQ1gsRUFBRSxFQUFFLE1BQU07UUFDVixFQUFFLEVBQUUsTUFBTTtRQUNWLEVBQUUsRUFBRSxPQUFPO1FBQ1gsRUFBRSxFQUFFLE1BQU07S0FDWDtJQUNELEVBQUUsRUFBRTtRQUNGLElBQUksRUFBRSxHQUFHO1FBQ1QsRUFBRSxFQUFFLElBQUk7UUFDUixFQUFFLEVBQUUsSUFBSTtRQUNSLEVBQUUsRUFBRSxJQUFJO1FBQ1IsRUFBRSxFQUFFLElBQUk7S0FDVDtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdCwgTE9DQUxFX0lELCBQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBpbXBvcnQgeyBMT0NBTEVfSUQsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4gKiBpbXBvcnQgeyBCcm93c2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG4gKiBpbXBvcnQgeyBBcHBDb21wb25lbnQgfSBmcm9tICcuL2FwcC5jb21wb25lbnQnO1xuICogaW1wb3J0IHsgcmVnaXN0ZXJMb2NhbGVEYXRhIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbiAqXG4gKiBpbXBvcnQgbG9jYWxlRW4gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2xvY2FsZXMvZW4nO1xuICogaW1wb3J0IGxvY2FsZUZyIGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL2ZyJztcbiAqXG4gKiAvLyBSZWdpc3RlciBsb2NhbGVzXG4gKiByZWdpc3RlckxvY2FsZURhdGEobG9jYWxlRW4pO1xuICogcmVnaXN0ZXJMb2NhbGVEYXRhKGxvY2FsZUZyKTtcbiAqXG4gKiBATmdNb2R1bGUoe1xuICogICBkZWNsYXJhdGlvbnM6IFtBcHBDb21wb25lbnRdLFxuICogICBpbXBvcnRzOiBbQnJvd3Nlck1vZHVsZV0sXG4gKiAgIHByb3ZpZGVyczogW1xuICogICAgIHtcbiAqICAgICAgIHByb3ZpZGU6IExPQ0FMRV9JRCxcbiAqICAgICAgIHVzZUZhY3Rvcnk6ICgpID0+IHtcbiAqICAgICAgICAgLy8gVXNlIHRoZSBicm93c2VyJ3MgbGFuZ3VhZ2Ugb3IgYSBkZWZhdWx0IGxhbmd1YWdlXG4gKiAgICAgICAgIHJldHVybiBuYXZpZ2F0b3IubGFuZ3VhZ2UgfHwgJ2VuJztcbiAqICAgICAgIH0sXG4gKiAgICAgfSxcbiAqICAgXSxcbiAqICAgYm9vdHN0cmFwOiBbQXBwQ29tcG9uZW50XSxcbiAqIH0pXG4gKiBleHBvcnQgY2xhc3MgQXBwTW9kdWxlIHt9XG4gKi9cblxuQFBpcGUoe1xuICBuYW1lOiAnYnl0ZUNvbnZlcnRlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEJ5dGVDb252ZXJ0ZXJQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoTE9DQUxFX0lEKSBwcml2YXRlIGxvY2FsZTogc3RyaW5nKSB7fVxuXG4gIC8vIElmIHVzaW5nIG5hdmlnYXRvci5sYW5ndWFnZSBkaXJlY3RseSBpbiB0aGUgcGlwZSwgdGhpcyBhcHByb2FjaCBkaXJlY3RseSB1c2VzIHRoZSBicm93c2VyJ3MgbGFuZ3VhZ2UgYXQgdGhlIG1vbWVudCB0aGUgQnl0ZUNvbnZlcnRlclBpcGUgaXMgY29uc3RydWN0ZWQuIElmIHRoZSB1c2VyIGNoYW5nZXMgdGhlIGxhbmd1YWdlIHdoaWxlIHVzaW5nIHRoZSBhcHBsaWNhdGlvbiwgaXQgd29uJ3QgYmUgYXV0b21hdGljYWxseSByZWZsZWN0ZWQuIElmIGR5bmFtaWMgbGFuZ3VhZ2UgY2hhbmdlcyBhcmUgYSByZXF1aXJlbWVudCwgdXNpbmcgdGhlIExPQ0FMRV9JRCBwcm92aWRlciBhcyBkZW1vbnN0cmF0ZWQgaW4gdGhlIEFwcE1vZHVsZSBpcyBhIG1vcmUgQW5ndWxhci1jZW50cmljIGFwcHJvYWNoLlxuICAvLyBwcml2YXRlIGxvY2FsZTogc3RyaW5nO1xuICAvLyBjb25zdHJ1Y3RvcigpIHtcbiAgLy8gICAvLyBVc2UgbmF2aWdhdG9yLmxhbmd1YWdlIGFzIHRoZSBkZWZhdWx0IGxvY2FsZVxuICAvLyAgIHRoaXMubG9jYWxlID0gbmF2aWdhdG9yLmxhbmd1YWdlIHx8ICdlbic7XG4gIC8vIH1cblxuICB0cmFuc2Zvcm0odmFsdWU6IG51bWJlcik6IHN0cmluZyB7XG4gICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQgfHwgaXNOYU4odmFsdWUpKSB7XG4gICAgICByZXR1cm4gJy0nO1xuICAgIH1cblxuICAgIGNvbnN0IHVuaXRzID0gWydCWVRFJywgJ0tCJywgJ01CJywgJ0dCJywgJ1RCJ107XG4gICAgbGV0IHVuaXRJbmRleCA9IDA7XG5cbiAgICB3aGlsZSAodmFsdWUgPj0gMTAyNCAmJiB1bml0SW5kZXggPCB1bml0cy5sZW5ndGggLSAxKSB7XG4gICAgICB2YWx1ZSAvPSAxMDI0O1xuICAgICAgdW5pdEluZGV4Kys7XG4gICAgfVxuXG4gICAgY29uc3QgdHJhbnNsYXRpb25PYmplY3QgPSB0cmFuc2xhdGlvbnNbdGhpcy5sb2NhbGVdIHx8IHRyYW5zbGF0aW9uc1snZW4nXTtcbiAgICBjb25zdCBrZXkgPSB1bml0c1t1bml0SW5kZXhdO1xuXG4gICAgcmV0dXJuIHRoaXMuZm9ybWF0TnVtYmVyKHZhbHVlKSArICcgJyArIHRyYW5zbGF0aW9uT2JqZWN0W2tleV07XG4gIH1cblxuICBwcml2YXRlIGZvcm1hdE51bWJlcih2YWx1ZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICByZXR1cm4gbmV3IEludGwuTnVtYmVyRm9ybWF0KHRoaXMubG9jYWxlLCB7bWF4aW11bUZyYWN0aW9uRGlnaXRzOiAyfSkuZm9ybWF0KHZhbHVlKTtcbiAgfVxufVxuXG5jb25zdCB0cmFuc2xhdGlvbnM6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+ID0ge1xuICBlbjoge1xuICAgIEJZVEU6ICdCJyxcbiAgICBLQjogJ0tCJyxcbiAgICBNQjogJ01CJyxcbiAgICBHQjogJ0dCJyxcbiAgICBUQjogJ1RCJyxcbiAgfSxcbiAgJ2VuLVVTJzoge1xuICAgIC8vIFlvdSBjYW4gcHJvdmlkZSBzcGVjaWZpYyB2YXJpYXRpb25zIGZvciBlbi1VUyBpZiBuZWVkZWRcbiAgICBCWVRFOiAnQicsXG4gICAgS0I6ICdLQicsXG4gICAgTUI6ICdNQicsXG4gICAgR0I6ICdHQicsXG4gICAgVEI6ICdUQicsXG4gIH0sXG4gIGRlOiB7XG4gICAgQllURTogJ0InLFxuICAgIEtCOiAnS0InLFxuICAgIE1COiAnTUInLFxuICAgIEdCOiAnR0InLFxuICAgIFRCOiAnVEInLFxuICB9LFxuICBlczoge1xuICAgIEJZVEU6ICdCJyxcbiAgICBLQjogJ0tCJyxcbiAgICBNQjogJ01CJyxcbiAgICBHQjogJ0dCJyxcbiAgICBUQjogJ1RCJyxcbiAgfSxcbiAgZnI6IHtcbiAgICBCWVRFOiAnbycsXG4gICAgS0I6ICdLbycsXG4gICAgTUI6ICdNbycsXG4gICAgR0I6ICdHbycsXG4gICAgVEI6ICdUbycsXG4gIH0sXG4gIGl0OiB7XG4gICAgQllURTogJ0InLFxuICAgIEtCOiAnS0InLFxuICAgIE1COiAnTUInLFxuICAgIEdCOiAnR0InLFxuICAgIFRCOiAnVEInLFxuICB9LFxuICBqYToge1xuICAgIEJZVEU6ICdCJyxcbiAgICBLQjogJ0tCJyxcbiAgICBNQjogJ01CJyxcbiAgICBHQjogJ0dCJyxcbiAgICBUQjogJ1RCJyxcbiAgfSxcbiAga286IHtcbiAgICBCWVRFOiAnQicsXG4gICAgS0I6ICdLQicsXG4gICAgTUI6ICdNQicsXG4gICAgR0I6ICdHQicsXG4gICAgVEI6ICdUQicsXG4gIH0sXG4gICdwdC1CUic6IHtcbiAgICBCWVRFOiAnQicsXG4gICAgS0I6ICdLQicsXG4gICAgTUI6ICdNQicsXG4gICAgR0I6ICdHQicsXG4gICAgVEI6ICdUQicsXG4gIH0sXG4gICd6aC1DTic6IHtcbiAgICBCWVRFOiAn5a2X6IqCJyxcbiAgICBLQjogJ+WNg+Wtl+iKgicsXG4gICAgTUI6ICflhYblrZfoioInLFxuICAgIEdCOiAn5Y2D5YWG5a2X6IqCJyxcbiAgICBUQjogJ+WkquWtl+iKgicsXG4gIH0sXG4gICd6aC1UVyc6IHtcbiAgICBCWVRFOiAn5L2N5YWD57WEJyxcbiAgICBLQjogJ+WNg+S9jeWFg+e1hCcsXG4gICAgTUI6ICflhYbkvY3lhYPntYQnLFxuICAgIEdCOiAn5Y2D5YWG5L2N5YWD57WEJyxcbiAgICBUQjogJ+WkquS9jeWFg+e1hCcsXG4gIH0sXG4gIHJ1OiB7XG4gICAgQllURTogJ9CRJyxcbiAgICBLQjogJ9Ca0JEnLFxuICAgIE1COiAn0JzQkScsXG4gICAgR0I6ICfQk9CRJyxcbiAgICBUQjogJ9Ci0JEnLFxuICB9LFxufTtcbiJdfQ==
|
|
@@ -5,14 +5,14 @@ export class IsHttpsPipe {
|
|
|
5
5
|
transform(value) {
|
|
6
6
|
return httpsPattern.test(value);
|
|
7
7
|
}
|
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
9
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: IsHttpsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
9
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.10", ngImport: i0, type: IsHttpsPipe, isStandalone: true, name: "isHttps" }); }
|
|
10
10
|
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: IsHttpsPipe, decorators: [{
|
|
12
12
|
type: Pipe,
|
|
13
13
|
args: [{
|
|
14
14
|
name: 'isHttps',
|
|
15
15
|
standalone: true,
|
|
16
16
|
}]
|
|
17
17
|
}] });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtaHR0cHMucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWZ0L3NyYy9saWIvcGlwZXMvaXMtaHR0cHMucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUVsRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sVUFBVSxDQUFDOztBQU10QyxNQUFNLE9BQU8sV0FBVztJQUN0QixTQUFTLENBQUMsS0FBYTtRQUNyQixPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQzsrR0FIVSxXQUFXOzZHQUFYLFdBQVc7OzRGQUFYLFdBQVc7a0JBSnZCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFNBQVM7b0JBQ2YsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtodHRwc1BhdHRlcm59IGZyb20gJy4uL2NvbnN0JztcblxuQFBpcGUoe1xuICBuYW1lOiAnaXNIdHRwcycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIElzSHR0cHNQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGh0dHBzUGF0dGVybi50ZXN0KHZhbHVlKTtcbiAgfVxufVxuIl19
|
|
@@ -23,14 +23,14 @@ export class MaskPipe {
|
|
|
23
23
|
.map((char, i) => (i < unmaskedPrefixLength || i > value.length - unmaskedSuffixLength - 1 ? char : maskChar))
|
|
24
24
|
.join('');
|
|
25
25
|
}
|
|
26
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
27
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.
|
|
26
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: MaskPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
27
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.10", ngImport: i0, type: MaskPipe, isStandalone: true, name: "mask" }); }
|
|
28
28
|
}
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: MaskPipe, decorators: [{
|
|
30
30
|
type: Pipe,
|
|
31
31
|
args: [{
|
|
32
32
|
name: 'mask',
|
|
33
33
|
standalone: true,
|
|
34
34
|
}]
|
|
35
35
|
}] });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFzay5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpZnQvc3JjL2xpYi9waXBlcy9tYXNrLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7O0FBRWxELE1BQU0sWUFBWSxHQUFHLENBQUMsQ0FBQztBQUN2QixNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUM7QUFZckIsTUFBTSxPQUFPLFFBQVE7SUFDbkI7Ozs7OztPQU1HO0lBQ0gsU0FBUyxDQUFDLEtBQWEsRUFBRSxVQUF1QixFQUFFO1FBQ2hELE1BQU0sRUFBQyxvQkFBb0IsR0FBRyxZQUFZLEVBQUUsb0JBQW9CLEdBQUcsWUFBWSxFQUFFLE1BQU0sR0FBRyxJQUFJLEVBQUMsR0FBRyxPQUFPLENBQUM7UUFFMUcsSUFDRSxLQUFLLENBQUMsTUFBTSxJQUFJLG9CQUFvQixHQUFHLG9CQUFvQjtZQUMzRCxvQkFBb0IsR0FBRyxDQUFDO1lBQ3hCLG9CQUFvQixHQUFHLENBQUM7WUFDeEIsQ0FBQyxNQUFNLEVBQ1A7WUFDQSxPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsT0FBTyxLQUFLO2FBQ1QsS0FBSyxDQUFDLEVBQUUsQ0FBQzthQUNULEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLG9CQUFvQixJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxHQUFHLG9CQUFvQixHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM3RyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDZCxDQUFDOytHQXhCVSxRQUFROzZHQUFSLFFBQVE7OzRGQUFSLFFBQVE7a0JBSnBCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLE1BQU07b0JBQ1osVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuY29uc3QgdW5tYXNrTnVtYmVyID0gNjtcbmNvbnN0IG1hc2tDaGFyID0gJyonO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1hc2tPcHRpb25zIHtcbiAgdW5tYXNrZWRQcmVmaXhMZW5ndGg/OiBudW1iZXI7XG4gIHVubWFza2VkU3VmZml4TGVuZ3RoPzogbnVtYmVyO1xuICBtYXNrZWQ/OiBib29sZWFuO1xufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdtYXNrJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgTWFza1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgLyoqXG4gICAqIFRyYW5zZm9ybXMgdGhlIGlucHV0IHN0cmluZyBieSBtYXNraW5nIGNoYXJhY3RlcnMgYmFzZWQgb24gdGhlIHByb3ZpZGVkIG9wdGlvbnMuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZSAtIFRoZSBpbnB1dCBzdHJpbmcgdG8gYmUgbWFza2VkLlxuICAgKiBAcGFyYW0ge01hc2tPcHRpb25zfSBbb3B0aW9ucz17fV0gLSBPcHRpb25zIGZvciBjdXN0b21pemluZyB0aGUgbWFza2luZyBiZWhhdmlvci5cbiAgICogQHJldHVybnMge3N0cmluZ30gLSBUaGUgbWFza2VkIHN0cmluZy5cbiAgICovXG4gIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nLCBvcHRpb25zOiBNYXNrT3B0aW9ucyA9IHt9KTogc3RyaW5nIHtcbiAgICBjb25zdCB7dW5tYXNrZWRQcmVmaXhMZW5ndGggPSB1bm1hc2tOdW1iZXIsIHVubWFza2VkU3VmZml4TGVuZ3RoID0gdW5tYXNrTnVtYmVyLCBtYXNrZWQgPSB0cnVlfSA9IG9wdGlvbnM7XG5cbiAgICBpZiAoXG4gICAgICB2YWx1ZS5sZW5ndGggPD0gdW5tYXNrZWRQcmVmaXhMZW5ndGggKyB1bm1hc2tlZFN1ZmZpeExlbmd0aCB8fFxuICAgICAgdW5tYXNrZWRQcmVmaXhMZW5ndGggPCAwIHx8XG4gICAgICB1bm1hc2tlZFN1ZmZpeExlbmd0aCA8IDAgfHxcbiAgICAgICFtYXNrZWRcbiAgICApIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWVcbiAgICAgIC5zcGxpdCgnJylcbiAgICAgIC5tYXAoKGNoYXIsIGkpID0+IChpIDwgdW5tYXNrZWRQcmVmaXhMZW5ndGggfHwgaSA+IHZhbHVlLmxlbmd0aCAtIHVubWFza2VkU3VmZml4TGVuZ3RoIC0gMSA/IGNoYXIgOiBtYXNrQ2hhcikpXG4gICAgICAuam9pbignJyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,81 @@
|
|
|
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 1as 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYmluZS1mcm9tLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpZnQvc3JjL2xpYi9zaWduYWxzL2NvbWJpbmUtZnJvbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFDLHdCQUF3QixFQUFFLFFBQVEsRUFBWSxRQUFRLEVBQVUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hHLE9BQU8sRUFBQyxZQUFZLEVBQUUsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDbEUsT0FBTyxFQUNMLGFBQWEsRUFDYixvQkFBb0IsRUFDcEIsSUFBSSxFQUNKLFFBQVEsRUFDUixZQUFZLEVBSVosU0FBUyxHQUNWLE1BQU0sTUFBTSxDQUFDO0FBb0NkOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUNILE1BQU0sVUFBVSxXQUFXLENBQThCLEdBQUcsSUFBVztJQUNyRSx3QkFBd0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUV0QyxNQUFNLEVBQUMsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUMsR0FBRyxhQUFhLENBQWdCLElBQUksQ0FBQyxDQUFDO0lBRWhHLE1BQU0sR0FBRyxHQUFtQixZQUFZO1FBQ3RDLENBQUMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3hELFlBQVksRUFBRSxPQUFRLENBQUMsWUFBYTtZQUNwQyxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVE7U0FDNUIsQ0FBQztRQUNKLENBQUMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3hELFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUTtZQUMzQixXQUFXLEVBQUUsSUFBSTtTQUNsQixDQUFDLENBQUM7SUFFUCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FDcEIsSUFBVztJQU9YLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssUUFBUSxFQUFFO1FBQzNELE1BQU0sSUFBSSxTQUFTLENBQUMsMkJBQTJCLENBQUMsQ0FBQztLQUNsRDtJQUVELE1BQU0sV0FBVyxHQUFHLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLFVBQVUsQ0FBQztJQUVsRCxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1FBQ3JDLE1BQU0sSUFBSSxTQUFTLENBQUMsMERBQTBELENBQUMsQ0FBQztLQUNqRjtJQUVELDJCQUEyQjtJQUMzQixJQUFJLENBQUMsV0FBVyxFQUFFO1FBQ2hCLHVFQUF1RTtRQUN2RSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7S0FDN0I7SUFFRCxtREFBbUQ7SUFDbkQsTUFBTSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDO0lBRTFDLE1BQU0sWUFBWSxHQUFHLE9BQU8sRUFBRSxZQUFZLEtBQUssU0FBUyxDQUFDO0lBRXpELE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQ3RELENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUU7UUFDNUIsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDcEIsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLFlBQVksQ0FBQyxNQUFNLEVBQUUsRUFBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUMsSUFBSTtZQUN4RSxtRUFBbUU7WUFDbkUsU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUM3QixDQUFDO1NBQ0g7YUFBTSxJQUFJLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUMvQixHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7U0FDdkQ7YUFBTSxJQUFJLE9BQU8sTUFBTSxLQUFLLFVBQVUsRUFBRTtZQUN2Qyx5Q0FBeUM7WUFDekMsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLE1BQXVCLENBQUMsQ0FBQztZQUN0RCxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsWUFBWSxDQUFDLFdBQVcsRUFBRSxFQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztTQUN0RzthQUFNO1lBQ0wsOERBQThEO1lBQzlELEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQztTQUNwRTtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxFQUNELENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQVEsQ0FDMUMsQ0FBQztJQUVGLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBQyxDQUFDO0FBQzlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQge2Fzc2VydEluSW5qZWN0aW9uQ29udGV4dCwgY29tcHV0ZWQsIEluamVjdG9yLCBpc1NpZ25hbCwgU2lnbmFsLCB1bnRyYWNrZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0b09ic2VydmFibGUsIHRvU2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge1xuICBjb21iaW5lTGF0ZXN0LFxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgZnJvbSxcbiAgaWRlbnRpdHksXG4gIGlzT2JzZXJ2YWJsZSxcbiAgT2JzZXJ2YWJsZUlucHV0LFxuICBPYnNlcnZhYmxlSW5wdXRUdXBsZSxcbiAgT3BlcmF0b3JGdW5jdGlvbixcbiAgc3RhcnRXaXRoLFxufSBmcm9tICdyeGpzJztcblxuZXhwb3J0IHR5cGUgT2JzZXJ2YWJsZVNpZ25hbElucHV0PFQ+ID0gT2JzZXJ2YWJsZUlucHV0PFQ+IHwgU2lnbmFsPFQ+O1xuXG4vLyBwaWNrIGZyb20gVG9TaWduYWxPcHRpb25zXG5leHBvcnQgdHlwZSBDb21iaW5lRnJvbU9wdGlvbnM8VD4gPSB7XG4gIHJlYWRvbmx5IGluamVjdG9yPzogSW5qZWN0b3I7XG4gIHJlYWRvbmx5IGluaXRpYWxWYWx1ZT86IFQgfCBudWxsO1xufTtcblxudHlwZSBPYnNlcnZhYmxlU2lnbmFsSW5wdXRUdXBsZTxUPiA9IHtcbiAgW0sgaW4ga2V5b2YgVF06IE9ic2VydmFibGVTaWduYWxJbnB1dDxUW0tdPiB8ICgoKSA9PiBUW0tdKTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21iaW5lRnJvbTxJbnB1dCBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXSwgT3V0cHV0ID0gSW5wdXQ+KFxuICBzb3VyY2VzOiByZWFkb25seSBbLi4uT2JzZXJ2YWJsZVNpZ25hbElucHV0VHVwbGU8SW5wdXQ+XSxcbiAgb3BlcmF0b3I/OiBPcGVyYXRvckZ1bmN0aW9uPElucHV0LCBPdXRwdXQ+LFxuICBvcHRpb25zPzogQ29tYmluZUZyb21PcHRpb25zPE91dHB1dD4sXG4pOiBTaWduYWw8T3V0cHV0PjtcblxuZXhwb3J0IGZ1bmN0aW9uIGNvbWJpbmVGcm9tPElucHV0IGV4dGVuZHMgcmVhZG9ubHkgdW5rbm93bltdLCBPdXRwdXQgPSBJbnB1dD4oXG4gIHNvdXJjZXM6IHJlYWRvbmx5IFsuLi5PYnNlcnZhYmxlU2lnbmFsSW5wdXRUdXBsZTxJbnB1dD5dLFxuICBvcHRpb25zPzogQ29tYmluZUZyb21PcHRpb25zPElucHV0Pixcbik6IFNpZ25hbDxPdXRwdXQ+O1xuXG5leHBvcnQgZnVuY3Rpb24gY29tYmluZUZyb208SW5wdXQgZXh0ZW5kcyBvYmplY3QsIE91dHB1dCA9IElucHV0PihcbiAgc291cmNlczogT2JzZXJ2YWJsZVNpZ25hbElucHV0VHVwbGU8SW5wdXQ+LFxuICBvcGVyYXRvcj86IE9wZXJhdG9yRnVuY3Rpb248SW5wdXQsIE91dHB1dD4sXG4gIG9wdGlvbnM/OiBDb21iaW5lRnJvbU9wdGlvbnM8T3V0cHV0Pixcbik6IFNpZ25hbDxPdXRwdXQ+O1xuXG5leHBvcnQgZnVuY3Rpb24gY29tYmluZUZyb208SW5wdXQgZXh0ZW5kcyBvYmplY3QsIE91dHB1dCA9IElucHV0PihcbiAgc291cmNlczogT2JzZXJ2YWJsZVNpZ25hbElucHV0VHVwbGU8SW5wdXQ+LFxuICBvcHRpb25zPzogQ29tYmluZUZyb21PcHRpb25zPElucHV0Pixcbik6IFNpZ25hbDxPdXRwdXQ+O1xuXG4vKipcbiAqIENvbWJpbmVzIG11bHRpcGxlIGBPYnNlcnZhYmxlYCBvciBgU2lnbmFsYCBzb3VyY2VzIGludG8gYSBgU2lnbmFsYCB0aGF0IGVtaXRzIHRoZWlyIHZhbHVlcy4gSXQncyBsaWtlIGNvbWJpbmVMYXRlc3QuXG4gKlxuICogQHBhcmFtIHtPYnNlcnZhYmxlU2lnbmFsSW5wdXRUdXBsZX0gc291cmNlcyAtIEFycmF5IG9yIG9iamVjdCBvZiBgT2JzZXJ2YWJsZWAgb3IgYFNpZ25hbGAgdmFsdWVzXG4gKiBAcGFyYW0ge09wZXJhdG9yRnVuY3Rpb259IFtvcGVyYXRvcl0gLSBPcGVyYXRvciB0byBhcHBseSB0byB0aGUgY29tYmluZWQgdmFsdWVzXG4gKiBAcGFyYW0ge0NvbWJpbmVGcm9tT3B0aW9uc30gW29wdGlvbnNdIC0gT3B0aW9ucyBpbmNsdWRpbmcgYGluaXRpYWxWYWx1ZWAgYW5kIGBpbmplY3RvcmBcbiAqIEByZXR1cm5zIFNpZ25hbCBlbWl0dGluZyB0aGUgY29tYmluZWQgdmFsdWVzXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiBleHBvcnQgY2xhc3MgQ29tcG9uZW50IHtcbiAqICBwcml2YXRlIHJlYWRvbmx5IHVzZXJTZXJ2aWNlID0gaW5qZWN0KFVzZXJTZXJ2aWNlKTtcbiAqICBwYWdlID0gc2lnbmFsKDIpO1xuICpcbiAqICBkYXRhID0gY29tYmluZUZyb20oXG4gKiAgICBbdGhpcy5wYWdlLCB0aGlzLnVzZXJTZXJ2aWNlLnVzZXJzJF0sXG4gKiAgICBwaXBlKFxuICogICAgICBzd2l0Y2hNYXAoKFtwYWdlLCB1c2Vyc10pID0+IHRoaXMuZGF0YVNlcnZpY2UuZ2V0RGF0YShwYWdlLCB1c2VycykpLFxuICogICAgICBzdGFydFdpdGgoW10pXG4gKiAgICApXG4gKiAgKTtcbiAqIH1cbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gY29tYmluZUZyb208SW5wdXQgPSBhbnksIE91dHB1dCA9IElucHV0PiguLi5hcmdzOiBhbnlbXSk6IFNpZ25hbDxPdXRwdXQ+IHtcbiAgYXNzZXJ0SW5JbmplY3Rpb25Db250ZXh0KGNvbWJpbmVGcm9tKTtcblxuICBjb25zdCB7bm9ybWFsaXplZFNvdXJjZXMsIGhhc0luaXRWYWx1ZSwgb3BlcmF0b3IsIG9wdGlvbnN9ID0gbm9ybWFsaXplQXJnczxJbnB1dCwgT3V0cHV0PihhcmdzKTtcblxuICBjb25zdCByZXQ6IFNpZ25hbDxPdXRwdXQ+ID0gaGFzSW5pdFZhbHVlXG4gICAgPyB0b1NpZ25hbChjb21iaW5lTGF0ZXN0KG5vcm1hbGl6ZWRTb3VyY2VzKS5waXBlKG9wZXJhdG9yKSwge1xuICAgICAgICBpbml0aWFsVmFsdWU6IG9wdGlvbnMhLmluaXRpYWxWYWx1ZSEsXG4gICAgICAgIGluamVjdG9yOiBvcHRpb25zPy5pbmplY3RvcixcbiAgICAgIH0pXG4gICAgOiB0b1NpZ25hbChjb21iaW5lTGF0ZXN0KG5vcm1hbGl6ZWRTb3VyY2VzKS5waXBlKG9wZXJhdG9yKSwge1xuICAgICAgICBpbmplY3Rvcjogb3B0aW9ucz8uaW5qZWN0b3IsXG4gICAgICAgIHJlcXVpcmVTeW5jOiB0cnVlLFxuICAgICAgfSk7XG5cbiAgcmV0dXJuIHJldDtcbn1cblxuZnVuY3Rpb24gbm9ybWFsaXplQXJnczxJbnB1dCwgT3V0cHV0PihcbiAgYXJnczogYW55W10sXG4pOiB7XG4gIG5vcm1hbGl6ZWRTb3VyY2VzOiBPYnNlcnZhYmxlSW5wdXRUdXBsZTxJbnB1dD47XG4gIG9wZXJhdG9yOiBPcGVyYXRvckZ1bmN0aW9uPElucHV0LCBPdXRwdXQ+O1xuICBoYXNJbml0VmFsdWU6IGJvb2xlYW47XG4gIG9wdGlvbnM6IENvbWJpbmVGcm9tT3B0aW9uczxPdXRwdXQ+IHwgdW5kZWZpbmVkO1xufSB7XG4gIGlmICghYXJncyB8fCBhcmdzLmxlbmd0aCA8IDEgfHwgdHlwZW9mIGFyZ3NbMF0gIT09ICdvYmplY3QnKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignY29tYmluZUZyb20gbmVlZHMgc291cmNlcycpO1xuICB9XG5cbiAgY29uc3QgaGFzT3BlcmF0b3IgPSB0eXBlb2YgYXJnc1sxXSA9PT0gJ2Z1bmN0aW9uJztcblxuICBpZiAoYXJncy5sZW5ndGggPT09IDMgJiYgIWhhc09wZXJhdG9yKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignY29tYmluZUZyb20gbmVlZHMgYSBwaXBlIG9wZXJhdG9yIGFzIHRoZSBzZWNvbmQgYXJndW1lbnQnKTtcbiAgfVxuXG4gIC8vIHBhc3Mgc291cmNlcyBhbmQgb3B0aW9uc1xuICBpZiAoIWhhc09wZXJhdG9yKSB7XG4gICAgLy8gYWRkIGlkZW50aXR5IGZ1bmN0aW9uIHRvIGFyZ3MgYXQgaW5kZXggMWFzIG9wZXJhdG9yIGZ1bmN0aW9uIGFzIHg9PnhcbiAgICBhcmdzLnNwbGljZSgxLCAwLCBpZGVudGl0eSk7XG4gIH1cblxuICAvLyBpZiBubyBvcGVyYXRvciBwYXNzZWQsIGlkZW50aXR5IHdpbGwgYmUgb3BlcmF0b3JcbiAgY29uc3QgW3NvdXJjZXMsIG9wZXJhdG9yLCBvcHRpb25zXSA9IGFyZ3M7XG5cbiAgY29uc3QgaGFzSW5pdFZhbHVlID0gb3B0aW9ucz8uaW5pdGlhbFZhbHVlICE9PSB1bmRlZmluZWQ7XG5cbiAgY29uc3Qgbm9ybWFsaXplZFNvdXJjZXMgPSBPYmplY3QuZW50cmllcyhzb3VyY2VzKS5yZWR1Y2UoXG4gICAgKGFjYywgW2tleU9ySW5kZXgsIHNvdXJjZV0pID0+IHtcbiAgICAgIGlmIChpc1NpZ25hbChzb3VyY2UpKSB7XG4gICAgICAgIGFjY1trZXlPckluZGV4XSA9IHRvT2JzZXJ2YWJsZShzb3VyY2UsIHtpbmplY3Rvcjogb3B0aW9ucz8uaW5qZWN0b3J9KS5waXBlKFxuICAgICAgICAgIC8vIHRvT2JzZXJ2YWJsZSBkb2Vzbid0IGltbWVkaWF0ZWx5IGVtaXQgaW5pdGlhbFZhbHVlIG9mIHRoZSBzaWduYWxcbiAgICAgICAgICBzdGFydFdpdGgodW50cmFja2VkKHNvdXJjZSkpLFxuICAgICAgICApO1xuICAgICAgfSBlbHNlIGlmIChpc09ic2VydmFibGUoc291cmNlKSkge1xuICAgICAgICBhY2Nba2V5T3JJbmRleF0gPSBzb3VyY2UucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHNvdXJjZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAvLyBzZWxkb20gdXNlOiBwYXNzIGZ1bmN0aW9uIGxpa2UgKCkgPT4gNVxuICAgICAgICBjb25zdCBjb21wdXRlZFJlcyA9IGNvbXB1dGVkKHNvdXJjZSBhcyAoKSA9PiB1bmtub3duKTtcbiAgICAgICAgYWNjW2tleU9ySW5kZXhdID0gdG9PYnNlcnZhYmxlKGNvbXB1dGVkUmVzLCB7aW5qZWN0b3I6IG9wdGlvbnM/LmluamVjdG9yfSkucGlwZShzdGFydFdpdGgoc291cmNlKCkpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIHNlbGRvbSB1c2U6IHBhc3MgcHJvbWlzZSwgTWFwLCBhcnJheSwgZXRjIHRoYXQgZnJvbSBhY2NlcHRzXG4gICAgICAgIGFjY1trZXlPckluZGV4XSA9IGZyb20oc291cmNlIGFzIGFueSkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSxcbiAgICAoQXJyYXkuaXNBcnJheShzb3VyY2VzKSA/IFtdIDoge30pIGFzIGFueSxcbiAgKTtcblxuICByZXR1cm4ge25vcm1hbGl6ZWRTb3VyY2VzLCBvcGVyYXRvciwgaGFzSW5pdFZhbHVlLCBvcHRpb25zfTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,63 @@
|
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZWQtYXN5bmMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGlmdC9zcmMvbGliL3NpZ25hbHMvY29tcHV0ZWQtYXN5bmMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBQyxRQUFRLEVBQXlCLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckgsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBYyxPQUFPLEVBQUUsU0FBUyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBaURuRyxNQUFNLFVBQVUsYUFBYSxDQUMzQixTQUE0RSxFQUM1RSxVQUFlLEVBQUU7SUFFakIsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRXRDLE1BQU0sYUFBYSxHQUFHLElBQUksT0FBTyxFQUE4QixDQUFDO0lBQ2hFLE1BQU0sT0FBTyxHQUFHLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxDQUFDO0lBRS9FLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBZ0IsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBRWhFLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFDckMsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztRQUN2QyxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNmLFdBQVcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkIsc0NBQXNDO1lBQ3RDLGVBQWU7UUFDakIsQ0FBQztLQUNGLENBQUMsQ0FBQztJQUVILFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFFdkQsSUFBSSxPQUFPLENBQUMsV0FBVyxJQUFJLE9BQU8sQ0FBQyxZQUFZLEtBQUssU0FBUyxFQUFFO1FBQzdELE1BQU0sZUFBZSxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUU3QyxJQUFJLFNBQVMsQ0FBQyxlQUFlLENBQUMsRUFBRTtZQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLDBGQUEwRixDQUFDLENBQUM7U0FDN0c7UUFFRCxJQUFJLFlBQVksQ0FBQyxlQUFlLENBQUMsRUFBRTtZQUNqQyxhQUFhLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQ3JDO2FBQU07WUFDTCxvQkFBb0I7WUFDcEIsV0FBVyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztTQUNsQztLQUNGO0lBRUQsSUFBSSxPQUFPLENBQUMsV0FBVyxJQUFJLFdBQVcsRUFBRSxLQUFLLFNBQVMsRUFBRTtRQUN0RCxNQUFNLElBQUksS0FBSyxDQUFDLDhGQUE4RixDQUFDLENBQUM7S0FDakg7SUFFRCxJQUFJLDBCQUEwQixHQUFHLE9BQU8sQ0FBQyxXQUFXLEtBQUssSUFBSSxDQUFDO0lBRTlELE1BQU0sQ0FBQyxHQUFHLEVBQUU7UUFDVixNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUVwRCxNQUFNLFNBQVMsR0FBRyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFMUMsSUFBSSwwQkFBMEIsRUFBRTtZQUM5QiwwQkFBMEIsR0FBRyxLQUFLLENBQUM7WUFDbkMsT0FBTztTQUNSO1FBRUQsSUFBSSxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksWUFBWSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ25ELFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7U0FDaEQ7YUFBTTtZQUNMLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7U0FDN0M7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsRUFBTyxFQUFFLEVBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDO0FBQ3BFLENBQUM7QUFFRCxTQUFTLGlCQUFpQixDQUN4QixNQUEyQyxFQUMzQyxRQUErQjtJQUUvQixNQUFNLFdBQVcsR0FBRztRQUNsQixNQUFNLEVBQUUsU0FBUztRQUNqQixLQUFLLEVBQUUsUUFBUTtRQUNmLE1BQU0sRUFBRSxTQUFTO1FBQ2pCLE9BQU8sRUFBRSxVQUFVO0tBQ3BCLENBQUM7SUFFRixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUM5QyxDQUFDO0FBRUQsU0FBUyxTQUFTLENBQUksS0FBVTtJQUM5QixPQUFPLEtBQUssSUFBSSxPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDO0FBQ25ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQge2NvbXB1dGVkLCBDcmVhdGVDb21wdXRlZE9wdGlvbnMsIERlc3Ryb3lSZWYsIGVmZmVjdCwgaW5qZWN0LCBTaWduYWwsIHNpZ25hbCwgdW50cmFja2VkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Y29uY2F0QWxsLCBleGhhdXN0QWxsLCBpc09ic2VydmFibGUsIG1lcmdlQWxsLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBzd2l0Y2hBbGx9IGZyb20gJ3J4anMnO1xuXG50eXBlIENvbXB1dGVkQXN5bmNCZWhhdmlvciA9ICdzd2l0Y2gnIHwgJ21lcmdlJyB8ICdjb25jYXQnIHwgJ2V4aGF1c3QnO1xuXG4vLyB7IGVxdWFsLCBiZWhhdmlvciB9XG50eXBlIEJhc2VPcHRpb25zPFQ+ID0gQ3JlYXRlQ29tcHV0ZWRPcHRpb25zPFQ+ICYge2JlaGF2aW9yPzogQ29tcHV0ZWRBc3luY0JlaGF2aW9yfTtcblxudHlwZSBPcHRpb25zV2l0aEluaXRpYWxWYWx1ZTxUPiA9IHtpbml0aWFsVmFsdWU6IFR9ICYgQmFzZU9wdGlvbnM8VD47XG50eXBlIE9wdGlvbnNXaXRoT3B0aW9uYWxJbml0aWFsVmFsdWU8VD4gPSB7aW5pdGlhbFZhbHVlPzogdW5kZWZpbmVkfSAmIEJhc2VPcHRpb25zPFQ+O1xudHlwZSBPcHRpb25zV2l0aFJlcXVpcmVTeW5jPFQ+ID0ge3JlcXVpcmVTeW5jOiB0cnVlfSAmIEJhc2VPcHRpb25zPFQ+O1xuXG4vLyB3aXRob3V0IG9wdGlvbnNcbmV4cG9ydCBmdW5jdGlvbiBjb21wdXRlZEFzeW5jPFQ+KFxuICBjb21wdXRlRm46IChwcmV2aW91c1ZhbHVlPzogVCkgPT4gT2JzZXJ2YWJsZTxUPiB8IFByb21pc2U8VD4gfCBUIHwgdW5kZWZpbmVkLFxuKTogU2lnbmFsPFQgfCB1bmRlZmluZWQ+O1xuXG4vLyB3aXRoIG9wdGlvbmFsIGluaXRpYWxWYWx1ZVxuZXhwb3J0IGZ1bmN0aW9uIGNvbXB1dGVkQXN5bmM8VD4oXG4gIGNvbXB1dGVGbjogKHByZXZpb3VzVmFsdWU/OiBUKSA9PiBPYnNlcnZhYmxlPFQ+IHwgUHJvbWlzZTxUPiB8IFQgfCB1bmRlZmluZWQsXG4gIG9wdGlvbnM6IE9wdGlvbnNXaXRoT3B0aW9uYWxJbml0aWFsVmFsdWU8VD4sXG4pOiBTaWduYWw8VCB8IHVuZGVmaW5lZD47XG5cbi8vIHdpdGggaW5pdGlhbFZhbHVlXG5leHBvcnQgZnVuY3Rpb24gY29tcHV0ZWRBc3luYzxUPihcbiAgY29tcHV0ZUZuOiAocHJldmlvdXNWYWx1ZT86IFQpID0+IE9ic2VydmFibGU8VD4gfCBQcm9taXNlPFQ+IHwgVCB8IHVuZGVmaW5lZCxcbiAgb3B0aW9uczogT3B0aW9uc1dpdGhJbml0aWFsVmFsdWU8VD4sXG4pOiBTaWduYWw8VD47XG5cbi8vIGZvciBwcm9taXNlLCB3aXRob3V0IGluaXRpYWxWYWx1ZSBidXQgc2V0IHJlcXVpcmVTeW5jIGFzIHRydWUsIHRocm93IGVycm9yXG5leHBvcnQgZnVuY3Rpb24gY29tcHV0ZWRBc3luYzxUPihcbiAgY29tcHV0ZUZuOiAocHJldmlvdXNWYWx1ZT86IFQpID0+IFByb21pc2U8VD4sXG4gIG9wdGlvbnM6IE9wdGlvbnNXaXRoT3B0aW9uYWxJbml0aWFsVmFsdWU8VD4gJiB7cmVxdWlyZVN5bmM6IHRydWV9LFxuKTogbmV2ZXI7XG5cbi8vIGZvciBvYnNlcnZhYmxlcywgd2l0aG91dCBpbml0aWFsVmFsdWUsIHdpdGhvdXQgcmVxdWlyZVN5bmMsIHJldHVybiBUIHwgdW5kZWZpbmVkXG5leHBvcnQgZnVuY3Rpb24gY29tcHV0ZWRBc3luYzxUPihcbiAgY29tcHV0ZUZuOiAocHJldmlvdXNWYWx1ZT86IFQpID0+IE9ic2VydmFibGU8VD4gfCBUIHwgdW5kZWZpbmVkLFxuICBvcHRpb25zOiB7XG4gICAgaW5pdGlhbFZhbHVlPzogdW5kZWZpbmVkO1xuICAgIHJlcXVpcmVTeW5jPzogZmFsc2U7XG4gIH0gJiBCYXNlT3B0aW9uczxUPixcbik6IFNpZ25hbDxUIHwgdW5kZWZpbmVkPjtcblxuLy8gZm9yIG9ic2VydmFibGVzLCB3aXRob3V0IGluaXRpYWxWYWx1ZSwgYnV0IHJlcXVpcmVTeW5jIGlzIHRydWUsIHJldHVybiBUXG5leHBvcnQgZnVuY3Rpb24gY29tcHV0ZWRBc3luYzxUPihcbiAgY29tcHV0ZUZuOiAocHJldmlvdXNWYWx1ZT86IFQpID0+IE9ic2VydmFibGU8VD4gfCBULFxuICBvcHRpb25zOiBPcHRpb25zV2l0aFJlcXVpcmVTeW5jPFQ+ICYge2luaXRpYWxWYWx1ZT86IHVuZGVmaW5lZCB8IFR9LFxuKTogU2lnbmFsPFQ+O1xuXG5leHBvcnQgZnVuY3Rpb24gY29tcHV0ZWRBc3luYzxUPihcbiAgY29tcHV0ZUZuOiAocHJldmlvdXNWYWx1ZT86IFQpID0+IE9ic2VydmFibGU8VD4gfCBQcm9taXNlPFQ+IHwgVCB8IHVuZGVmaW5lZCxcbiAgb3B0aW9uczogYW55ID0ge30sXG4pOiBTaWduYWw8VCB8IHVuZGVmaW5lZD4ge1xuICBjb25zdCBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gIGNvbnN0IHNvdXJjZVN1YmplY3QgPSBuZXcgU3ViamVjdDxQcm9taXNlPFQ+IHwgT2JzZXJ2YWJsZTxUPj4oKTtcbiAgY29uc3Qgc291cmNlJCA9IGZsYXR0ZW5PYnNlcnZhYmxlKHNvdXJjZVN1YmplY3QsIG9wdGlvbnMuYmVoYXZpb3IgfHwgJ3N3aXRjaCcpO1xuXG4gIGNvbnN0IHNvdXJjZVZhbHVlID0gc2lnbmFsPFQgfCB1bmRlZmluZWQ+KG9wdGlvbnMuaW5pdGlhbFZhbHVlKTtcblxuICBjb25zdCBzb3VyY2VSZXN1bHQgPSBzb3VyY2UkLnN1YnNjcmliZSh7XG4gICAgbmV4dDogKHZhbHVlKSA9PiBzb3VyY2VWYWx1ZS5zZXQodmFsdWUpLFxuICAgIGVycm9yOiAoZXJyb3IpID0+IHtcbiAgICAgIHNvdXJjZVZhbHVlLnNldChlcnJvcik7XG4gICAgICAvLyBFcnJvciBzaG91bGQgYmUgaGFuZGxlZCBieSB0aGUgdXNlclxuICAgICAgLy8gdGhyb3cgZXJyb3I7XG4gICAgfSxcbiAgfSk7XG5cbiAgZGVzdHJveVJlZi5vbkRlc3Ryb3koKCkgPT4gc291cmNlUmVzdWx0LnVuc3Vic2NyaWJlKCkpO1xuXG4gIGlmIChvcHRpb25zLnJlcXVpcmVTeW5jICYmIG9wdGlvbnMuaW5pdGlhbFZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBpbml0aWFsRW1pc3Npb24gPSBjb21wdXRlRm4odW5kZWZpbmVkKTtcblxuICAgIGlmIChpc1Byb21pc2UoaW5pdGlhbEVtaXNzaW9uKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBQcm9taXNlcyBjYW5ub3Qgd29yayB3aXRoIHJlcXVpcmVTeW5jLiBTZXQgcmVxdWlyZVN5bmMgdG8gZmFsc2Ugb3IgcGFzcyBhbiBpbml0aWFsVmFsdWUuYCk7XG4gICAgfVxuXG4gICAgaWYgKGlzT2JzZXJ2YWJsZShpbml0aWFsRW1pc3Npb24pKSB7XG4gICAgICBzb3VyY2VTdWJqZWN0Lm5leHQoaW5pdGlhbEVtaXNzaW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gcHJpbWl0aXZlIHZhbHVlIFRcbiAgICAgIHNvdXJjZVZhbHVlLnNldChpbml0aWFsRW1pc3Npb24pO1xuICAgIH1cbiAgfVxuXG4gIGlmIChvcHRpb25zLnJlcXVpcmVTeW5jICYmIHNvdXJjZVZhbHVlKCkgPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgVGhlIG9ic2VydmFibGUgZG9lc24ndCBlbWl0IHN5bmNocm9ub3VzbHkuIFNldCByZXF1aXJlU3luYyB0byBmYWxzZSBvciBwYXNzIGFuIGluaXRpYWxWYWx1ZS5gKTtcbiAgfVxuXG4gIGxldCBzaG91bGRTa2lwRmlyc3RDb21wdXRhdGlvbiA9IG9wdGlvbnMucmVxdWlyZVN5bmMgPT09IHRydWU7XG5cbiAgZWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBjdXJyZW50VmFsdWUgPSB1bnRyYWNrZWQoKCkgPT4gc291cmNlVmFsdWUoKSk7XG5cbiAgICBjb25zdCBuZXdTb3VyY2UgPSBjb21wdXRlRm4oY3VycmVudFZhbHVlKTtcblxuICAgIGlmIChzaG91bGRTa2lwRmlyc3RDb21wdXRhdGlvbikge1xuICAgICAgc2hvdWxkU2tpcEZpcnN0Q29tcHV0YXRpb24gPSBmYWxzZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaXNQcm9taXNlKG5ld1NvdXJjZSkgfHwgaXNPYnNlcnZhYmxlKG5ld1NvdXJjZSkpIHtcbiAgICAgIHVudHJhY2tlZCgoKSA9PiBzb3VyY2VTdWJqZWN0Lm5leHQobmV3U291cmNlKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHVudHJhY2tlZCgoKSA9PiBzb3VyY2VWYWx1ZS5zZXQobmV3U291cmNlKSk7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gY29tcHV0ZWQoKCkgPT4gc291cmNlVmFsdWUoKSBhcyBULCB7ZXF1YWw6IG9wdGlvbnMuZXF1YWx9KTtcbn1cblxuZnVuY3Rpb24gZmxhdHRlbk9ic2VydmFibGU8VD4oXG4gIHNvdXJjZTogU3ViamVjdDxQcm9taXNlPFQ+IHwgT2JzZXJ2YWJsZTxUPj4sXG4gIGJlaGF2aW9yOiBDb21wdXRlZEFzeW5jQmVoYXZpb3IsXG4pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgY29uc3QgYmVoYXZpb3JNYXAgPSB7XG4gICAgc3dpdGNoOiBzd2l0Y2hBbGwsXG4gICAgbWVyZ2U6IG1lcmdlQWxsLFxuICAgIGNvbmNhdDogY29uY2F0QWxsLFxuICAgIGV4aGF1c3Q6IGV4aGF1c3RBbGwsXG4gIH07XG5cbiAgcmV0dXJuIHNvdXJjZS5waXBlKGJlaGF2aW9yTWFwW2JlaGF2aW9yXSgpKTtcbn1cblxuZnVuY3Rpb24gaXNQcm9taXNlPFQ+KHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBQcm9taXNlPFQ+IHtcbiAgcmV0dXJuIHZhbHVlICYmIHR5cGVvZiB2YWx1ZS50aGVuID09PSAnZnVuY3Rpb24nO1xufVxuIl19
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { signal } from '@angular/core';
|
|
2
|
+
export function createNotifier() {
|
|
3
|
+
const sourceSignal = signal(0);
|
|
4
|
+
return {
|
|
5
|
+
notify: () => {
|
|
6
|
+
sourceSignal.update((v) => v + 1);
|
|
7
|
+
},
|
|
8
|
+
listen: sourceSignal.asReadonly(),
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW5vdGlmaWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpZnQvc3JjL2xpYi9zaWduYWxzL2NyZWF0ZS1ub3RpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXJDLE1BQU0sVUFBVSxjQUFjO0lBQzVCLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUUvQixPQUFPO1FBQ0wsTUFBTSxFQUFFLEdBQUcsRUFBRTtZQUNYLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNwQyxDQUFDO1FBQ0QsTUFBTSxFQUFFLFlBQVksQ0FBQyxVQUFVLEVBQUU7S0FDbEMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3NpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVOb3RpZmllcigpIHtcbiAgY29uc3Qgc291cmNlU2lnbmFsID0gc2lnbmFsKDApO1xuXG4gIHJldHVybiB7XG4gICAgbm90aWZ5OiAoKSA9PiB7XG4gICAgICBzb3VyY2VTaWduYWwudXBkYXRlKCh2KSA9PiB2ICsgMSk7XG4gICAgfSxcbiAgICBsaXN0ZW46IHNvdXJjZVNpZ25hbC5hc1JlYWRvbmx5KCksXG4gIH07XG59XG4iXX0=
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './combine-from';
|
|
2
|
+
export * from './computed-async';
|
|
3
|
+
export * from './create-notifier';
|
|
4
|
+
export * from './inject-params';
|
|
5
|
+
export * from './inject-query-params';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGlmdC9zcmMvbGliL3NpZ25hbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb21iaW5lLWZyb20nO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wdXRlZC1hc3luYyc7XG5leHBvcnQgKiBmcm9tICcuL2NyZWF0ZS1ub3RpZmllcic7XG5leHBvcnQgKiBmcm9tICcuL2luamVjdC1wYXJhbXMnO1xuZXhwb3J0ICogZnJvbSAnLi9pbmplY3QtcXVlcnktcGFyYW1zJztcbiJdfQ==
|
|
@@ -0,0 +1,15 @@
|
|
|
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(keyOrTransform) {
|
|
6
|
+
assertInInjectionContext(injectParams);
|
|
7
|
+
const route = inject(ActivatedRoute);
|
|
8
|
+
const params = route.snapshot.params;
|
|
9
|
+
if (typeof keyOrTransform === 'function') {
|
|
10
|
+
return toSignal(route.params.pipe(map(keyOrTransform)), { initialValue: keyOrTransform(params) });
|
|
11
|
+
}
|
|
12
|
+
const getParam = (params) => (keyOrTransform ? params?.[keyOrTransform] ?? null : params);
|
|
13
|
+
return toSignal(route.params.pipe(map(getParam)), { initialValue: getParam(params) });
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0LXBhcmFtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWZ0L3NyYy9saWIvc2lnbmFscy9pbmplY3QtcGFyYW1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx3QkFBd0IsRUFBRSxNQUFNLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxjQUFjLEVBQWMsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBa0J6QixNQUFNLFVBQVUsWUFBWSxDQUFJLGNBQWlEO0lBQy9FLHdCQUF3QixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBRXZDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNyQyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUVyQyxJQUFJLE9BQU8sY0FBYyxLQUFLLFVBQVUsRUFBRTtRQUN4QyxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxFQUFDLFlBQVksRUFBRSxjQUFjLENBQUMsTUFBTSxDQUFDLEVBQUMsQ0FBQyxDQUFDO0tBQ2pHO0lBRUQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRSxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRWxHLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEVBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBQyxDQUFDLENBQUM7QUFDdEYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7YXNzZXJ0SW5JbmplY3Rpb25Db250ZXh0LCBpbmplY3QsIHR5cGUgU2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dG9TaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIHR5cGUgUGFyYW1zfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIEluamVjdHMgdGhlIHBhcmFtcyBmcm9tIHRoZSBjdXJyZW50IHJvdXRlLlxuICogSWYgYSBrZXkgaXMgcHJvdmlkZWQsIHJldHVybnMgdGhlIHZhbHVlIG9mIHRoYXQga2V5LlxuICogSWYgYSB0cmFuc2Zvcm0gZnVuY3Rpb24gaXMgcHJvdmlkZWQsIHJldHVybnMgdGhlIHJlc3VsdCBvZiB0aGUgZnVuY3Rpb24uXG4gKiBPdGhlcndpc2UsIHJldHVybnMgdGhlIGVudGlyZSBwYXJhbXMgb2JqZWN0LlxuICpcbiAqIEBleGFtcGxlXG4gKiBjb25zdCB1c2VySWQgPSBpbmplY3RQYXJhbXMoJ2lkJyk7IC8vIFJldHVybnMgdGhlIHZhbHVlIG9mIHRoZSAnaWQnIHBhcmFtXG4gKiBjb25zdCB1c2VySWQgPSBpbmplY3RQYXJhbXMocCA9PiBwWydpZCddIGFzIHN0cmluZyk7IC8vIFJldHVybnMgdGhlICdpZCcgcGFyYW0gdXNpbmcgYSBjdXN0b20gdHJhbnNmb3JtIGZ1bmN0aW9uXG4gKiBjb25zdCBwYXJhbXMgPSBpbmplY3RQYXJhbXMoKTsgLy8gUmV0dXJucyB0aGUgZW50aXJlIHBhcmFtcyBvYmplY3RcbiAqXG4gKiBAcGFyYW0ga2V5T3JUcmFuc2Zvcm0gT1BUSU9OQUwgVGhlIGtleSBvZiB0aGUgcGFyYW0gdG8gcmV0dXJuLCBvciBhIHRyYW5zZm9ybSBmdW5jdGlvbiB0byBhcHBseSB0byB0aGUgcGFyYW1zIG9iamVjdFxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0UGFyYW1zKCk6IFNpZ25hbDxQYXJhbXM+O1xuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFBhcmFtcyhrZXk6IHN0cmluZyk6IFNpZ25hbDxzdHJpbmcgfCBudWxsPjtcbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RQYXJhbXM8VD4odHJhbnNmb3JtOiAocGFyYW1zOiBQYXJhbXMpID0+IFQpOiBTaWduYWw8VD47XG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0UGFyYW1zPFQ+KGtleU9yVHJhbnNmb3JtPzogc3RyaW5nIHwgKChwYXJhbXM6IFBhcmFtcykgPT4gVCkpOiBTaWduYWw8VCB8IFBhcmFtcyB8IHN0cmluZyB8IG51bGw+IHtcbiAgYXNzZXJ0SW5JbmplY3Rpb25Db250ZXh0KGluamVjdFBhcmFtcyk7XG5cbiAgY29uc3Qgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICBjb25zdCBwYXJhbXMgPSByb3V0ZS5zbmFwc2hvdC5wYXJhbXM7XG5cbiAgaWYgKHR5cGVvZiBrZXlPclRyYW5zZm9ybSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiB0b1NpZ25hbChyb3V0ZS5wYXJhbXMucGlwZShtYXAoa2V5T3JUcmFuc2Zvcm0pKSwge2luaXRpYWxWYWx1ZToga2V5T3JUcmFuc2Zvcm0ocGFyYW1zKX0pO1xuICB9XG5cbiAgY29uc3QgZ2V0UGFyYW0gPSAocGFyYW1zOiBQYXJhbXMpID0+IChrZXlPclRyYW5zZm9ybSA/IHBhcmFtcz8uW2tleU9yVHJhbnNmb3JtXSA/PyBudWxsIDogcGFyYW1zKTtcblxuICByZXR1cm4gdG9TaWduYWwocm91dGUucGFyYW1zLnBpcGUobWFwKGdldFBhcmFtKSksIHtpbml0aWFsVmFsdWU6IGdldFBhcmFtKHBhcmFtcyl9KTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,50 @@
|
|
|
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 queryParams = route.snapshot.queryParams || {};
|
|
24
|
+
const { transform, initialValue } = options;
|
|
25
|
+
if (!keyOrParamsTransform) {
|
|
26
|
+
return toSignal(route.queryParams, { initialValue: queryParams });
|
|
27
|
+
}
|
|
28
|
+
if (typeof keyOrParamsTransform === 'function') {
|
|
29
|
+
return toSignal(route.queryParams.pipe(map(keyOrParamsTransform)), {
|
|
30
|
+
initialValue: keyOrParamsTransform(queryParams),
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
const getParam = (params) => {
|
|
34
|
+
const param = params?.[keyOrParamsTransform];
|
|
35
|
+
if (!param) {
|
|
36
|
+
return initialValue ?? null;
|
|
37
|
+
}
|
|
38
|
+
if (Array.isArray(param)) {
|
|
39
|
+
if (param.length < 1) {
|
|
40
|
+
return initialValue ?? null;
|
|
41
|
+
}
|
|
42
|
+
return transform ? transform(param[0]) : param[0];
|
|
43
|
+
}
|
|
44
|
+
return transform ? transform(param) : param;
|
|
45
|
+
};
|
|
46
|
+
return toSignal(route.queryParams.pipe(map(getParam)), {
|
|
47
|
+
initialValue: getParam(queryParams),
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0LXF1ZXJ5LXBhcmFtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWZ0L3NyYy9saWIvc2lnbmFscy9pbmplY3QtcXVlcnktcGFyYW1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx3QkFBd0IsRUFBRSxNQUFNLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxjQUFjLEVBQWMsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBK0V6Qjs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0Isb0JBQTRELEVBQzVELFVBQXNDLEVBQUU7SUFFeEMsd0JBQXdCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUM1QyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDckMsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO0lBRXJELE1BQU0sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFDLEdBQUcsT0FBTyxDQUFDO0lBRTFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtRQUN6QixPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLEVBQUMsWUFBWSxFQUFFLFdBQVcsRUFBQyxDQUFDLENBQUM7S0FDakU7SUFFRCxJQUFJLE9BQU8sb0JBQW9CLEtBQUssVUFBVSxFQUFFO1FBQzlDLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLEVBQUU7WUFDakUsWUFBWSxFQUFFLG9CQUFvQixDQUFDLFdBQVcsQ0FBQztTQUNoRCxDQUFDLENBQUM7S0FDSjtJQUVELE1BQU0sUUFBUSxHQUFHLENBQUMsTUFBYyxFQUFFLEVBQUU7UUFDbEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxFQUFFLENBQUMsb0JBQW9CLENBQWtDLENBQUM7UUFFOUUsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE9BQU8sWUFBWSxJQUFJLElBQUksQ0FBQztTQUM3QjtRQUVELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN4QixJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUNwQixPQUFPLFlBQVksSUFBSSxJQUFJLENBQUM7YUFDN0I7WUFDRCxPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDbkQ7UUFFRCxPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDOUMsQ0FBQyxDQUFDO0lBRUYsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUU7UUFDckQsWUFBWSxFQUFFLFFBQVEsQ0FBQyxXQUFXLENBQUM7S0FDcEMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7YXNzZXJ0SW5JbmplY3Rpb25Db250ZXh0LCBpbmplY3QsIHR5cGUgU2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dG9TaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIHR5cGUgUGFyYW1zfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMnO1xuXG50eXBlIFF1ZXJ5UGFyYW1zVHJhbnNmb3JtRm48T3V0cHV0PiA9IChwYXJhbXM6IFBhcmFtcykgPT4gT3V0cHV0O1xuXG4vKipcbiAqIFRoZSBgSW5wdXRPcHRpb25zYCBpbnRlcmZhY2UgZGVmaW5lcyBvcHRpb25zIGZvciBjb25maWd1cmluZyB0aGUgYmVoYXZpb3Igb2YgdGhlIGBpbmplY3RRdWVyeVBhcmFtc2AgZnVuY3Rpb24uXG4gKlxuICogQHRlbXBsYXRlIE91dHB1dCAtIFRoZSBleHBlY3RlZCB0eXBlIG9mIHRoZSByZWFkIHZhbHVlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXJ5UGFyYW1zT3B0aW9uczxPdXRwdXQ+IHtcbiAgLyoqXG4gICAqIEEgdHJhbnNmb3JtYXRpb24gZnVuY3Rpb24gdG8gY29udmVydCB0aGUgd3JpdHRlbiB2YWx1ZSB0byB0aGUgZXhwZWN0ZWQgcmVhZCB2YWx1ZS5cbiAgICpcbiAgICogQHBhcmFtIHYgLSBUaGUgdmFsdWUgdG8gdHJhbnNmb3JtLlxuICAgKiBAcmV0dXJucyBUaGUgdHJhbnNmb3JtZWQgdmFsdWUuXG4gICAqL1xuICB0cmFuc2Zvcm0/OiAodjogc3RyaW5nKSA9PiBPdXRwdXQ7XG5cbiAgLyoqXG4gICAqIFRoZSBpbml0aWFsIHZhbHVlIHRvIHVzZSBpZiB0aGUgcXVlcnkgcGFyYW1ldGVyIGlzIG5vdCBwcmVzZW50IG9yIHVuZGVmaW5lZC5cbiAgICovXG4gIGluaXRpYWxWYWx1ZT86IE91dHB1dDtcbn1cblxuLyoqXG4gKiBUaGUgYGluamVjdFF1ZXJ5UGFyYW1zYCBmdW5jdGlvbiBhbGxvd3MgeW91IHRvIGFjY2VzcyBhbmQgbWFuaXB1bGF0ZSBxdWVyeSBwYXJhbWV0ZXJzIGZyb20gdGhlIGN1cnJlbnQgcm91dGUuXG4gKlxuICogQHJldHVybnMgQSBgU2lnbmFsYCB0aGF0IGVtaXRzIHRoZSBlbnRpcmUgcXVlcnkgcGFyYW1ldGVycyBvYmplY3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RRdWVyeVBhcmFtcygpOiBTaWduYWw8UGFyYW1zPjtcblxuLyoqXG4gKiBUaGUgYGluamVjdFF1ZXJ5UGFyYW1zYCBmdW5jdGlvbiBhbGxvd3MgeW91IHRvIGFjY2VzcyBhbmQgbWFuaXB1bGF0ZSBxdWVyeSBwYXJhbWV0ZXJzIGZyb20gdGhlIGN1cnJlbnQgcm91dGUuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGtleSAtIFRoZSBuYW1lIG9mIHRoZSBxdWVyeSBwYXJhbWV0ZXIgdG8gcmV0cmlldmUuXG4gKiBAcmV0dXJucyB7U2lnbmFsfSBBIGBTaWduYWxgIHRoYXQgZW1pdHMgdGhlIHZhbHVlIG9mIHRoZSBzcGVjaWZpZWQgcXVlcnkgcGFyYW1ldGVyLCBvciBgbnVsbGAgaWYgaXQncyBub3QgcHJlc2VudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFF1ZXJ5UGFyYW1zKGtleTogc3RyaW5nKTogU2lnbmFsPHN0cmluZyB8IG51bGw+O1xuXG4vKipcbiAqIFRoZSBgaW5qZWN0UXVlcnlQYXJhbXNgIGZ1bmN0aW9uIGFsbG93cyB5b3UgdG8gYWNjZXNzIGFuZCBtYW5pcHVsYXRlIHF1ZXJ5IHBhcmFtZXRlcnMgZnJvbSB0aGUgY3VycmVudCByb3V0ZS5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IC0gVGhlIG5hbWUgb2YgdGhlIHF1ZXJ5IHBhcmFtZXRlciB0byByZXRyaWV2ZS5cbiAqIEBwYXJhbSB7UXVlcnlQYXJhbXNPcHRpb25zfSBvcHRpb25zIC0gT3B0aW9uYWwgY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgcXVlcnkgcGFyYW1ldGVyLlxuICogQHJldHVybnMge1NpZ25hbH0gQSBgU2lnbmFsYCB0aGF0IGVtaXRzIHRoZSB0cmFuc2Zvcm1lZCB2YWx1ZSBvZiB0aGUgc3BlY2lmaWVkIHF1ZXJ5IHBhcmFtZXRlciwgb3IgYG51bGxgIGlmIGl0J3Mgbm90IHByZXNlbnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RRdWVyeVBhcmFtcyhrZXk/OiBzdHJpbmcsIG9wdGlvbnM/OiBRdWVyeVBhcmFtc09wdGlvbnM8Ym9vbGVhbj4pOiBTaWduYWw8Ym9vbGVhbiB8IG51bGw+O1xuXG4vKipcbiAqIFRoZSBgaW5qZWN0UXVlcnlQYXJhbXNgIGZ1bmN0aW9uIGFsbG93cyB5b3UgdG8gYWNjZXNzIGFuZCBtYW5pcHVsYXRlIHF1ZXJ5IHBhcmFtZXRlcnMgZnJvbSB0aGUgY3VycmVudCByb3V0ZS5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IC0gVGhlIG5hbWUgb2YgdGhlIHF1ZXJ5IHBhcmFtZXRlciB0byByZXRyaWV2ZS5cbiAqIEBwYXJhbSB7UXVlcnlQYXJhbXNPcHRpb25zfSBvcHRpb25zIC0gT3B0aW9uYWwgY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgcXVlcnkgcGFyYW1ldGVyLlxuICogQHJldHVybnMge1NpZ25hbH0gQSBgU2lnbmFsYCB0aGF0IGVtaXRzIHRoZSB0cmFuc2Zvcm1lZCB2YWx1ZSBvZiB0aGUgc3BlY2lmaWVkIHF1ZXJ5IHBhcmFtZXRlciwgb3IgYG51bGxgIGlmIGl0J3Mgbm90IHByZXNlbnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RRdWVyeVBhcmFtcyhrZXk/OiBzdHJpbmcsIG9wdGlvbnM/OiBRdWVyeVBhcmFtc09wdGlvbnM8bnVtYmVyPik6IFNpZ25hbDxudW1iZXIgfCBudWxsPjtcblxuLyoqXG4gKiBUaGUgYGluamVjdFF1ZXJ5UGFyYW1zYCBmdW5jdGlvbiBhbGxvd3MgeW91IHRvIGFjY2VzcyBhbmQgbWFuaXB1bGF0ZSBxdWVyeSBwYXJhbWV0ZXJzIGZyb20gdGhlIGN1cnJlbnQgcm91dGUuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGtleSAtIFRoZSBuYW1lIG9mIHRoZSBxdWVyeSBwYXJhbWV0ZXIgdG8gcmV0cmlldmUuXG4gKiBAcGFyYW0ge1F1ZXJ5UGFyYW1zT3B0aW9uc30gb3B0aW9ucyAtIE9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIHF1ZXJ5IHBhcmFtZXRlci5cbiAqIEByZXR1cm5zIHtTaWduYWx9IEEgYFNpZ25hbGAgdGhhdCBlbWl0cyB0aGUgdHJhbnNmb3JtZWQgdmFsdWUgb2YgdGhlIHNwZWNpZmllZCBxdWVyeSBwYXJhbWV0ZXIsIG9yIGBudWxsYCBpZiBpdCdzIG5vdCBwcmVzZW50LlxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0UXVlcnlQYXJhbXMoa2V5Pzogc3RyaW5nLCBvcHRpb25zPzogUXVlcnlQYXJhbXNPcHRpb25zPHN0cmluZz4pOiBTaWduYWw8c3RyaW5nIHwgbnVsbD47XG5cbi8qKlxuICogVGhlIGBpbmplY3RRdWVyeVBhcmFtc2AgZnVuY3Rpb24gYWxsb3dzIHlvdSB0byBhY2Nlc3MgYW5kIG1hbmlwdWxhdGUgcXVlcnkgcGFyYW1ldGVycyBmcm9tIHRoZSBjdXJyZW50IHJvdXRlLlxuICogSXQgcmV0cmlldmVzIHRoZSB2YWx1ZSBvZiBhIHF1ZXJ5IHBhcmFtZXRlciBiYXNlZCBvbiBhIGN1c3RvbSB0cmFuc2Zvcm0gZnVuY3Rpb24gYXBwbGllZCB0byB0aGUgcXVlcnkgcGFyYW1ldGVycyBvYmplY3QuXG4gKlxuICogQHRlbXBsYXRlIE91dHB1dCAtIFRoZSBleHBlY3RlZCB0eXBlIG9mIHRoZSByZWFkIHZhbHVlLlxuICogQHBhcmFtIHtRdWVyeVBhcmFtc1RyYW5zZm9ybUZuPE91dHB1dD59IGZuIC0gQSB0cmFuc2Zvcm0gZnVuY3Rpb24gdGhhdCB0YWtlcyB0aGUgcXVlcnkgcGFyYW1ldGVycyBvYmplY3QgKGBwYXJhbXM6IFBhcmFtc2ApIGFuZCByZXR1cm5zIHRoZSBkZXNpcmVkIHZhbHVlLlxuICogQHJldHVybnMge1NpZ25hbH0gQSBgU2lnbmFsYCB0aGF0IGVtaXRzIHRoZSB0cmFuc2Zvcm1lZCB2YWx1ZSBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgY3VzdG9tIHRyYW5zZm9ybSBmdW5jdGlvbi5cbiAqXG4gKiBAZXhhbXBsZVxuICogY29uc3Qgc2VhcmNoVmFsdWUgPSBpbmplY3RRdWVyeVBhcmFtcygocGFyYW1zKSA9PiBwYXJhbXNbJ3NlYXJjaCddIGFzIHN0cmluZyk7XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RRdWVyeVBhcmFtczxPdXRwdXQ+KGZuOiBRdWVyeVBhcmFtc1RyYW5zZm9ybUZuPE91dHB1dD4pOiBTaWduYWw8T3V0cHV0PjtcblxuLyoqXG4gKiBUaGUgYGluamVjdFF1ZXJ5UGFyYW1zYCBmdW5jdGlvbiBhbGxvd3MgeW91IHRvIGFjY2VzcyBhbmQgbWFuaXB1bGF0ZSBxdWVyeSBwYXJhbWV0ZXJzIGZyb20gdGhlIGN1cnJlbnQgcm91dGUuXG4gKlxuICogQHRlbXBsYXRlIE91dHB1dCAtIFRoZSBleHBlY3RlZCB0eXBlIG9mIHRoZSByZWFkIHZhbHVlLlxuICogQHBhcmFtIHtzdHJpbmd9IGtleU9yUGFyYW1zVHJhbnNmb3JtIC0gVGhlIG5hbWUgb2YgdGhlIHF1ZXJ5IHBhcmFtZXRlciB0byByZXRyaWV2ZSwgb3IgYSB0cmFuc2Zvcm0gZnVuY3Rpb24gdG8gYXBwbHkgdG8gdGhlIHF1ZXJ5IHBhcmFtZXRlcnMgb2JqZWN0LlxuICogQHBhcmFtIHtRdWVyeVBhcmFtc09wdGlvbnN9IG9wdGlvbnMgLSBPcHRpb25hbCBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoZSBxdWVyeSBwYXJhbWV0ZXIuXG4gKiBAcmV0dXJucyB7UXVlcnlQYXJhbXNPcHRpb25zfSBBIGBTaWduYWxgIHRoYXQgZW1pdHMgdGhlIHRyYW5zZm9ybWVkIHZhbHVlIG9mIHRoZSBzcGVjaWZpZWQgcXVlcnkgcGFyYW1ldGVyLCBvciB0aGUgZW50aXJlIHF1ZXJ5IHBhcmFtZXRlcnMgb2JqZWN0IGlmIG5vIGtleSBpcyBwcm92aWRlZC5cbiAqXG4gKiBAZXhhbXBsZVxuICogY29uc3Qgc2VhcmNoID0gaW5qZWN0UXVlcnlQYXJhbXMoJ3NlYXJjaCcpOyAvLyByZXR1cm5zIHRoZSB2YWx1ZSBvZiB0aGUgJ3NlYXJjaCcgcXVlcnkgcGFyYW1cbiAqIGNvbnN0IHNlYXJjaCA9IGluamVjdFF1ZXJ5UGFyYW1zKHAgPT4gcFsnc2VhcmNoJ10gYXMgc3RyaW5nKTsgLy8gc2FtZSBhcyBhYm92ZSBidXQgY2FuIGJlIHVzZWQgd2l0aCBhIGN1c3RvbSB0cmFuc2Zvcm0gZnVuY3Rpb25cbiAqIGNvbnN0IGlkUGFyYW0gPSBpbmplY3RRdWVyeVBhcmFtcygnaWQnLCB7dHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGV9KTsgLy8gcmV0dXJucyB0aGUgdmFsdWUgZm8gdGhlICdpZCcgcXVlcnkgcGFyYW1zIGFuZCB0cmFuc2Zvcm1zIGl0IGludG8gYSBudW1iZXJcbiAqIGNvbnN0IGlkUGFyYW0gPSBpbmplY3RRdWVyeVBhcmFtcyhwID0+IG51bWJlckF0dHJpYnV0ZShwWydpZCddKSk7IC8vIHNhbWUgYXMgYWJvdmUgYnV0IGNhbiBiZSB1c2VkIHdpdGggYSBjdXN0b20gdHJhbnNmb3JtIGZ1bmN0aW9uXG4gKiBjb25zdCBxdWVyeVBhcmFtcyA9IGluamVjdFF1ZXJ5UGFyYW1zKCk7IC8vIHJldHVybnMgdGhlIGVudGlyZSBxdWVyeSBwYXJhbXMgb2JqZWN0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RRdWVyeVBhcmFtczxPdXRwdXQ+KFxuICBrZXlPclBhcmFtc1RyYW5zZm9ybT86IHN0cmluZyB8ICgocGFyYW1zOiBQYXJhbXMpID0+IE91dHB1dCksXG4gIG9wdGlvbnM6IFF1ZXJ5UGFyYW1zT3B0aW9uczxPdXRwdXQ+ID0ge30sXG4pOiBTaWduYWw8T3V0cHV0IHwgUGFyYW1zIHwgc3RyaW5nIHwgYm9vbGVhbiB8IG51bWJlciB8IG51bGw+IHtcbiAgYXNzZXJ0SW5JbmplY3Rpb25Db250ZXh0KGluamVjdFF1ZXJ5UGFyYW1zKTtcbiAgY29uc3Qgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICBjb25zdCBxdWVyeVBhcmFtcyA9IHJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zIHx8IHt9O1xuXG4gIGNvbnN0IHt0cmFuc2Zvcm0sIGluaXRpYWxWYWx1ZX0gPSBvcHRpb25zO1xuXG4gIGlmICgha2V5T3JQYXJhbXNUcmFuc2Zvcm0pIHtcbiAgICByZXR1cm4gdG9TaWduYWwocm91dGUucXVlcnlQYXJhbXMsIHtpbml0aWFsVmFsdWU6IHF1ZXJ5UGFyYW1zfSk7XG4gIH1cblxuICBpZiAodHlwZW9mIGtleU9yUGFyYW1zVHJhbnNmb3JtID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIHRvU2lnbmFsKHJvdXRlLnF1ZXJ5UGFyYW1zLnBpcGUobWFwKGtleU9yUGFyYW1zVHJhbnNmb3JtKSksIHtcbiAgICAgIGluaXRpYWxWYWx1ZToga2V5T3JQYXJhbXNUcmFuc2Zvcm0ocXVlcnlQYXJhbXMpLFxuICAgIH0pO1xuICB9XG5cbiAgY29uc3QgZ2V0UGFyYW0gPSAocGFyYW1zOiBQYXJhbXMpID0+IHtcbiAgICBjb25zdCBwYXJhbSA9IHBhcmFtcz8uW2tleU9yUGFyYW1zVHJhbnNmb3JtXSBhcyBzdHJpbmcgfCBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcblxuICAgIGlmICghcGFyYW0pIHtcbiAgICAgIHJldHVybiBpbml0aWFsVmFsdWUgPz8gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShwYXJhbSkpIHtcbiAgICAgIGlmIChwYXJhbS5sZW5ndGggPCAxKSB7XG4gICAgICAgIHJldHVybiBpbml0aWFsVmFsdWUgPz8gbnVsbDtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cmFuc2Zvcm0gPyB0cmFuc2Zvcm0ocGFyYW1bMF0pIDogcGFyYW1bMF07XG4gICAgfVxuXG4gICAgcmV0dXJuIHRyYW5zZm9ybSA/IHRyYW5zZm9ybShwYXJhbSkgOiBwYXJhbTtcbiAgfTtcblxuICByZXR1cm4gdG9TaWduYWwocm91dGUucXVlcnlQYXJhbXMucGlwZShtYXAoZ2V0UGFyYW0pKSwge1xuICAgIGluaXRpYWxWYWx1ZTogZ2V0UGFyYW0ocXVlcnlQYXJhbXMpLFxuICB9KTtcbn1cbiJdfQ==
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
export * from './lib/models';
|
|
5
5
|
export * from './lib/operators';
|
|
6
6
|
export * from './lib/pipes';
|
|
7
|
+
export * from './lib/signals';
|
|
7
8
|
export * from './lib/utils';
|
|
8
9
|
export * from './lib/validators';
|
|
9
|
-
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC1saWZ0L3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGlDQUFpQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygbmd4LWxpZnRcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvb3BlcmF0b3JzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZhbGlkYXRvcnMnO1xuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvc2lnbmFscyc7XG4iXX0=
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC1saWZ0L3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZ3gtbGlmdFxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9vcGVyYXRvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2lnbmFscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi92YWxpZGF0b3JzJztcbiJdfQ==
|