ngx-lift 1.1.0 → 1.3.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/esm2022/lib/pipes/byte-converter.pipe.mjs +6 -9
- package/esm2022/lib/signals/combine-from.mjs +3 -3
- package/esm2022/lib/signals/create-trigger.mjs +11 -0
- package/esm2022/lib/signals/index.mjs +3 -2
- package/esm2022/lib/signals/inject-params.mjs +27 -7
- package/esm2022/lib/signals/inject-query-params.mjs +8 -5
- package/esm2022/lib/signals/merge-from.mjs +71 -0
- package/fesm2022/ngx-lift.mjs +112 -24
- package/fesm2022/ngx-lift.mjs.map +1 -1
- package/lib/pipes/byte-converter.pipe.d.ts +0 -1
- package/lib/signals/combine-from.d.ts +17 -7
- package/lib/signals/create-trigger.d.ts +4 -0
- package/lib/signals/index.d.ts +2 -1
- package/lib/signals/inject-params.d.ts +48 -3
- package/lib/signals/inject-query-params.d.ts +31 -31
- package/lib/signals/merge-from.d.ts +13 -0
- package/package.json +1 -1
- package/esm2022/lib/signals/create-notifier.mjs +0 -11
- package/lib/signals/create-notifier.d.ts +0 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { inject, LOCALE_ID, Pipe } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
/**
|
|
4
4
|
* import { LOCALE_ID, NgModule } from '@angular/core';
|
|
@@ -30,8 +30,8 @@ import * as i0 from "@angular/core";
|
|
|
30
30
|
* export class AppModule {}
|
|
31
31
|
*/
|
|
32
32
|
export class ByteConverterPipe {
|
|
33
|
-
constructor(
|
|
34
|
-
this.locale =
|
|
33
|
+
constructor() {
|
|
34
|
+
this.locale = inject(LOCALE_ID);
|
|
35
35
|
}
|
|
36
36
|
// If using navigator.language directly in the pipe, this approach directly uses the browser's language at the moment the ByteConverterPipe is constructed. If the user changes the language while using the application, it won't be automatically reflected. If dynamic language changes are a requirement, using the LOCALE_ID provider as demonstrated in the AppModule is a more Angular-centric approach.
|
|
37
37
|
// private locale: string;
|
|
@@ -56,7 +56,7 @@ 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.10", ngImport: i0, type: ByteConverterPipe, deps: [
|
|
59
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: ByteConverterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
60
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
62
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: ByteConverterPipe, decorators: [{
|
|
@@ -65,10 +65,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
|
|
|
65
65
|
name: 'byteConverter',
|
|
66
66
|
standalone: true,
|
|
67
67
|
}]
|
|
68
|
-
}]
|
|
69
|
-
type: Inject,
|
|
70
|
-
args: [LOCALE_ID]
|
|
71
|
-
}] }] });
|
|
68
|
+
}] });
|
|
72
69
|
const translations = {
|
|
73
70
|
en: {
|
|
74
71
|
BYTE: 'B',
|
|
@@ -156,4 +153,4 @@ const translations = {
|
|
|
156
153
|
TB: 'ТБ',
|
|
157
154
|
},
|
|
158
155
|
};
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnl0ZS1jb252ZXJ0ZXIucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWZ0L3NyYy9saWIvcGlwZXMvYnl0ZS1jb252ZXJ0ZXIucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDOztBQUVyRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRCRztBQU1ILE1BQU0sT0FBTyxpQkFBaUI7SUFKOUI7UUFLVSxXQUFNLEdBQUcsTUFBTSxDQUFTLFNBQVMsQ0FBQyxDQUFDO0tBOEI1QztJQTdCQywrWUFBK1k7SUFDL1ksMEJBQTBCO0lBQzFCLGtCQUFrQjtJQUNsQixvREFBb0Q7SUFDcEQsOENBQThDO0lBQzlDLElBQUk7SUFFSixTQUFTLENBQUMsS0FBYTtRQUNyQixJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDekQsT0FBTyxHQUFHLENBQUM7U0FDWjtRQUVELE1BQU0sS0FBSyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQy9DLElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQztRQUVsQixPQUFPLEtBQUssSUFBSSxJQUFJLElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3BELEtBQUssSUFBSSxJQUFJLENBQUM7WUFDZCxTQUFTLEVBQUUsQ0FBQztTQUNiO1FBRUQsTUFBTSxpQkFBaUIsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxRSxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFN0IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsR0FBRyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRU8sWUFBWSxDQUFDLEtBQWE7UUFDaEMsT0FBTyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFDLHFCQUFxQixFQUFFLENBQUMsRUFBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RGLENBQUM7K0dBOUJVLGlCQUFpQjs2R0FBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUo3QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxlQUFlO29CQUNyQixVQUFVLEVBQUUsSUFBSTtpQkFDakI7O0FBa0NELE1BQU0sWUFBWSxHQUEyQztJQUMzRCxFQUFFLEVBQUU7UUFDRixJQUFJLEVBQUUsR0FBRztRQUNULEVBQUUsRUFBRSxJQUFJO1FBQ1IsRUFBRSxFQUFFLElBQUk7UUFDUixFQUFFLEVBQUUsSUFBSTtRQUNSLEVBQUUsRUFBRSxJQUFJO0tBQ1Q7SUFDRCxPQUFPLEVBQUU7UUFDUCwwREFBMEQ7UUFDMUQsSUFBSSxFQUFFLEdBQUc7UUFDVCxFQUFFLEVBQUUsSUFBSTtRQUNSLEVBQUUsRUFBRSxJQUFJO1FBQ1IsRUFBRSxFQUFFLElBQUk7UUFDUixFQUFFLEVBQUUsSUFBSTtLQUNUO0lBQ0QsRUFBRSxFQUFFO1FBQ0YsSUFBSSxFQUFFLEdBQUc7UUFDVCxFQUFFLEVBQUUsSUFBSTtRQUNSLEVBQUUsRUFBRSxJQUFJO1FBQ1IsRUFBRSxFQUFFLElBQUk7UUFDUixFQUFFLEVBQUUsSUFBSTtLQUNUO0lBQ0QsRUFBRSxFQUFFO1FBQ0YsSUFBSSxFQUFFLEdBQUc7UUFDVCxFQUFFLEVBQUUsSUFBSTtRQUNSLEVBQUUsRUFBRSxJQUFJO1FBQ1IsRUFBRSxFQUFFLElBQUk7UUFDUixFQUFFLEVBQUUsSUFBSTtLQUNUO0lBQ0QsRUFBRSxFQUFFO1FBQ0YsSUFBSSxFQUFFLEdBQUc7UUFDVCxFQUFFLEVBQUUsSUFBSTtRQUNSLEVBQUUsRUFBRSxJQUFJO1FBQ1IsRUFBRSxFQUFFLElBQUk7UUFDUixFQUFFLEVBQUUsSUFBSTtLQUNUO0lBQ0QsRUFBRSxFQUFFO1FBQ0YsSUFBSSxFQUFFLEdBQUc7UUFDVCxFQUFFLEVBQUUsSUFBSTtRQUNSLEVBQUUsRUFBRSxJQUFJO1FBQ1IsRUFBRSxFQUFFLElBQUk7UUFDUixFQUFFLEVBQUUsSUFBSTtLQUNUO0lBQ0QsRUFBRSxFQUFFO1FBQ0YsSUFBSSxFQUFFLEdBQUc7UUFDVCxFQUFFLEVBQUUsSUFBSTtRQUNSLEVBQUUsRUFBRSxJQUFJO1FBQ1IsRUFBRSxFQUFFLElBQUk7UUFDUixFQUFFLEVBQUUsSUFBSTtLQUNUO0lBQ0QsRUFBRSxFQUFFO1FBQ0YsSUFBSSxFQUFFLEdBQUc7UUFDVCxFQUFFLEVBQUUsSUFBSTtRQUNSLEVBQUUsRUFBRSxJQUFJO1FBQ1IsRUFBRSxFQUFFLElBQUk7UUFDUixFQUFFLEVBQUUsSUFBSTtLQUNUO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsSUFBSSxFQUFFLEdBQUc7UUFDVCxFQUFFLEVBQUUsSUFBSTtRQUNSLEVBQUUsRUFBRSxJQUFJO1FBQ1IsRUFBRSxFQUFFLElBQUk7UUFDUixFQUFFLEVBQUUsSUFBSTtLQUNUO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsSUFBSSxFQUFFLElBQUk7UUFDVixFQUFFLEVBQUUsS0FBSztRQUNULEVBQUUsRUFBRSxLQUFLO1FBQ1QsRUFBRSxFQUFFLE1BQU07UUFDVixFQUFFLEVBQUUsS0FBSztLQUNWO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsSUFBSSxFQUFFLEtBQUs7UUFDWCxFQUFFLEVBQUUsTUFBTTtRQUNWLEVBQUUsRUFBRSxNQUFNO1FBQ1YsRUFBRSxFQUFFLE9BQU87UUFDWCxFQUFFLEVBQUUsTUFBTTtLQUNYO0lBQ0QsRUFBRSxFQUFFO1FBQ0YsSUFBSSxFQUFFLEdBQUc7UUFDVCxFQUFFLEVBQUUsSUFBSTtRQUNSLEVBQUUsRUFBRSxJQUFJO1FBQ1IsRUFBRSxFQUFFLElBQUk7UUFDUixFQUFFLEVBQUUsSUFBSTtLQUNUO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0LCBMT0NBTEVfSUQsIFBpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIGltcG9ydCB7IExPQ0FMRV9JRCwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbiAqIGltcG9ydCB7IEJyb3dzZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbiAqIGltcG9ydCB7IEFwcENvbXBvbmVudCB9IGZyb20gJy4vYXBwLmNvbXBvbmVudCc7XG4gKiBpbXBvcnQgeyByZWdpc3RlckxvY2FsZURhdGEgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuICpcbiAqIGltcG9ydCBsb2NhbGVFbiBmcm9tICdAYW5ndWxhci9jb21tb24vbG9jYWxlcy9lbic7XG4gKiBpbXBvcnQgbG9jYWxlRnIgZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2xvY2FsZXMvZnInO1xuICpcbiAqIC8vIFJlZ2lzdGVyIGxvY2FsZXNcbiAqIHJlZ2lzdGVyTG9jYWxlRGF0YShsb2NhbGVFbik7XG4gKiByZWdpc3RlckxvY2FsZURhdGEobG9jYWxlRnIpO1xuICpcbiAqIEBOZ01vZHVsZSh7XG4gKiAgIGRlY2xhcmF0aW9uczogW0FwcENvbXBvbmVudF0sXG4gKiAgIGltcG9ydHM6IFtCcm93c2VyTW9kdWxlXSxcbiAqICAgcHJvdmlkZXJzOiBbXG4gKiAgICAge1xuICogICAgICAgcHJvdmlkZTogTE9DQUxFX0lELFxuICogICAgICAgdXNlRmFjdG9yeTogKCkgPT4ge1xuICogICAgICAgICAvLyBVc2UgdGhlIGJyb3dzZXIncyBsYW5ndWFnZSBvciBhIGRlZmF1bHQgbGFuZ3VhZ2VcbiAqICAgICAgICAgcmV0dXJuIG5hdmlnYXRvci5sYW5ndWFnZSB8fCAnZW4nO1xuICogICAgICAgfSxcbiAqICAgICB9LFxuICogICBdLFxuICogICBib290c3RyYXA6IFtBcHBDb21wb25lbnRdLFxuICogfSlcbiAqIGV4cG9ydCBjbGFzcyBBcHBNb2R1bGUge31cbiAqL1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdieXRlQ29udmVydGVyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgQnl0ZUNvbnZlcnRlclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgcHJpdmF0ZSBsb2NhbGUgPSBpbmplY3Q8c3RyaW5nPihMT0NBTEVfSUQpO1xuICAvLyBJZiB1c2luZyBuYXZpZ2F0b3IubGFuZ3VhZ2UgZGlyZWN0bHkgaW4gdGhlIHBpcGUsIHRoaXMgYXBwcm9hY2ggZGlyZWN0bHkgdXNlcyB0aGUgYnJvd3NlcidzIGxhbmd1YWdlIGF0IHRoZSBtb21lbnQgdGhlIEJ5dGVDb252ZXJ0ZXJQaXBlIGlzIGNvbnN0cnVjdGVkLiBJZiB0aGUgdXNlciBjaGFuZ2VzIHRoZSBsYW5ndWFnZSB3aGlsZSB1c2luZyB0aGUgYXBwbGljYXRpb24sIGl0IHdvbid0IGJlIGF1dG9tYXRpY2FsbHkgcmVmbGVjdGVkLiBJZiBkeW5hbWljIGxhbmd1YWdlIGNoYW5nZXMgYXJlIGEgcmVxdWlyZW1lbnQsIHVzaW5nIHRoZSBMT0NBTEVfSUQgcHJvdmlkZXIgYXMgZGVtb25zdHJhdGVkIGluIHRoZSBBcHBNb2R1bGUgaXMgYSBtb3JlIEFuZ3VsYXItY2VudHJpYyBhcHByb2FjaC5cbiAgLy8gcHJpdmF0ZSBsb2NhbGU6IHN0cmluZztcbiAgLy8gY29uc3RydWN0b3IoKSB7XG4gIC8vICAgLy8gVXNlIG5hdmlnYXRvci5sYW5ndWFnZSBhcyB0aGUgZGVmYXVsdCBsb2NhbGVcbiAgLy8gICB0aGlzLmxvY2FsZSA9IG5hdmlnYXRvci5sYW5ndWFnZSB8fCAnZW4nO1xuICAvLyB9XG5cbiAgdHJhbnNmb3JtKHZhbHVlOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IGlzTmFOKHZhbHVlKSkge1xuICAgICAgcmV0dXJuICctJztcbiAgICB9XG5cbiAgICBjb25zdCB1bml0cyA9IFsnQllURScsICdLQicsICdNQicsICdHQicsICdUQiddO1xuICAgIGxldCB1bml0SW5kZXggPSAwO1xuXG4gICAgd2hpbGUgKHZhbHVlID49IDEwMjQgJiYgdW5pdEluZGV4IDwgdW5pdHMubGVuZ3RoIC0gMSkge1xuICAgICAgdmFsdWUgLz0gMTAyNDtcbiAgICAgIHVuaXRJbmRleCsrO1xuICAgIH1cblxuICAgIGNvbnN0IHRyYW5zbGF0aW9uT2JqZWN0ID0gdHJhbnNsYXRpb25zW3RoaXMubG9jYWxlXSB8fCB0cmFuc2xhdGlvbnNbJ2VuJ107XG4gICAgY29uc3Qga2V5ID0gdW5pdHNbdW5pdEluZGV4XTtcblxuICAgIHJldHVybiB0aGlzLmZvcm1hdE51bWJlcih2YWx1ZSkgKyAnICcgKyB0cmFuc2xhdGlvbk9iamVjdFtrZXldO1xuICB9XG5cbiAgcHJpdmF0ZSBmb3JtYXROdW1iZXIodmFsdWU6IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIG5ldyBJbnRsLk51bWJlckZvcm1hdCh0aGlzLmxvY2FsZSwge21heGltdW1GcmFjdGlvbkRpZ2l0czogMn0pLmZvcm1hdCh2YWx1ZSk7XG4gIH1cbn1cblxuY29uc3QgdHJhbnNsYXRpb25zOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiA9IHtcbiAgZW46IHtcbiAgICBCWVRFOiAnQicsXG4gICAgS0I6ICdLQicsXG4gICAgTUI6ICdNQicsXG4gICAgR0I6ICdHQicsXG4gICAgVEI6ICdUQicsXG4gIH0sXG4gICdlbi1VUyc6IHtcbiAgICAvLyBZb3UgY2FuIHByb3ZpZGUgc3BlY2lmaWMgdmFyaWF0aW9ucyBmb3IgZW4tVVMgaWYgbmVlZGVkXG4gICAgQllURTogJ0InLFxuICAgIEtCOiAnS0InLFxuICAgIE1COiAnTUInLFxuICAgIEdCOiAnR0InLFxuICAgIFRCOiAnVEInLFxuICB9LFxuICBkZToge1xuICAgIEJZVEU6ICdCJyxcbiAgICBLQjogJ0tCJyxcbiAgICBNQjogJ01CJyxcbiAgICBHQjogJ0dCJyxcbiAgICBUQjogJ1RCJyxcbiAgfSxcbiAgZXM6IHtcbiAgICBCWVRFOiAnQicsXG4gICAgS0I6ICdLQicsXG4gICAgTUI6ICdNQicsXG4gICAgR0I6ICdHQicsXG4gICAgVEI6ICdUQicsXG4gIH0sXG4gIGZyOiB7XG4gICAgQllURTogJ28nLFxuICAgIEtCOiAnS28nLFxuICAgIE1COiAnTW8nLFxuICAgIEdCOiAnR28nLFxuICAgIFRCOiAnVG8nLFxuICB9LFxuICBpdDoge1xuICAgIEJZVEU6ICdCJyxcbiAgICBLQjogJ0tCJyxcbiAgICBNQjogJ01CJyxcbiAgICBHQjogJ0dCJyxcbiAgICBUQjogJ1RCJyxcbiAgfSxcbiAgamE6IHtcbiAgICBCWVRFOiAnQicsXG4gICAgS0I6ICdLQicsXG4gICAgTUI6ICdNQicsXG4gICAgR0I6ICdHQicsXG4gICAgVEI6ICdUQicsXG4gIH0sXG4gIGtvOiB7XG4gICAgQllURTogJ0InLFxuICAgIEtCOiAnS0InLFxuICAgIE1COiAnTUInLFxuICAgIEdCOiAnR0InLFxuICAgIFRCOiAnVEInLFxuICB9LFxuICAncHQtQlInOiB7XG4gICAgQllURTogJ0InLFxuICAgIEtCOiAnS0InLFxuICAgIE1COiAnTUInLFxuICAgIEdCOiAnR0InLFxuICAgIFRCOiAnVEInLFxuICB9LFxuICAnemgtQ04nOiB7XG4gICAgQllURTogJ+Wtl+iKgicsXG4gICAgS0I6ICfljYPlrZfoioInLFxuICAgIE1COiAn5YWG5a2X6IqCJyxcbiAgICBHQjogJ+WNg+WFhuWtl+iKgicsXG4gICAgVEI6ICflpKrlrZfoioInLFxuICB9LFxuICAnemgtVFcnOiB7XG4gICAgQllURTogJ+S9jeWFg+e1hCcsXG4gICAgS0I6ICfljYPkvY3lhYPntYQnLFxuICAgIE1COiAn5YWG5L2N5YWD57WEJyxcbiAgICBHQjogJ+WNg+WFhuS9jeWFg+e1hCcsXG4gICAgVEI6ICflpKrkvY3lhYPntYQnLFxuICB9LFxuICBydToge1xuICAgIEJZVEU6ICfQkScsXG4gICAgS0I6ICfQmtCRJyxcbiAgICBNQjogJ9Cc0JEnLFxuICAgIEdCOiAn0JPQkScsXG4gICAgVEI6ICfQotCRJyxcbiAgfSxcbn07XG4iXX0=
|
|
@@ -36,7 +36,7 @@ export function combineFrom(...args) {
|
|
|
36
36
|
})
|
|
37
37
|
: toSignal(combineLatest(normalizedSources).pipe(operator), {
|
|
38
38
|
injector: options?.injector,
|
|
39
|
-
requireSync: true,
|
|
39
|
+
// requireSync: true,
|
|
40
40
|
});
|
|
41
41
|
return ret;
|
|
42
42
|
}
|
|
@@ -50,7 +50,7 @@ function normalizeArgs(args) {
|
|
|
50
50
|
}
|
|
51
51
|
// pass sources and options
|
|
52
52
|
if (!hasOperator) {
|
|
53
|
-
// add identity function to args at index
|
|
53
|
+
// add identity function to args at index 1 as operator function as x=>x
|
|
54
54
|
args.splice(1, 0, identity);
|
|
55
55
|
}
|
|
56
56
|
// if no operator passed, identity will be operator
|
|
@@ -78,4 +78,4 @@ function normalizeArgs(args) {
|
|
|
78
78
|
}, (Array.isArray(sources) ? [] : {}));
|
|
79
79
|
return { normalizedSources, operator, hasInitValue, options };
|
|
80
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==
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYmluZS1mcm9tLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpZnQvc3JjL2xpYi9zaWduYWxzL2NvbWJpbmUtZnJvbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFDLHdCQUF3QixFQUFFLFFBQVEsRUFBWSxRQUFRLEVBQVUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hHLE9BQU8sRUFBQyxZQUFZLEVBQUUsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDbEUsT0FBTyxFQUNMLGFBQWEsRUFDYixvQkFBb0IsRUFDcEIsSUFBSSxFQUNKLFFBQVEsRUFDUixZQUFZLEVBSVosU0FBUyxHQUNWLE1BQU0sTUFBTSxDQUFDO0FBNkZkOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUNILE1BQU0sVUFBVSxXQUFXLENBQThCLEdBQUcsSUFBVztJQUNyRSx3QkFBd0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUV0QyxNQUFNLEVBQUMsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUMsR0FBRyxhQUFhLENBQWdCLElBQUksQ0FBQyxDQUFDO0lBRWhHLE1BQU0sR0FBRyxHQUFHLFlBQVk7UUFDdEIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDeEQsWUFBWSxFQUFFLE9BQVEsQ0FBQyxZQUFhO1lBQ3BDLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUTtTQUM1QixDQUFDO1FBQ0osQ0FBQyxDQUFFLFFBQVEsQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDekQsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRO1lBQzNCLHFCQUFxQjtTQUN0QixDQUFnQyxDQUFDO0lBRXRDLE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQUVELFNBQVMsYUFBYSxDQUNwQixJQUFXO0lBT1gsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxRQUFRLEVBQUU7UUFDM0QsTUFBTSxJQUFJLFNBQVMsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0tBQ2xEO0lBRUQsTUFBTSxXQUFXLEdBQUcsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssVUFBVSxDQUFDO0lBRWxELElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7UUFDckMsTUFBTSxJQUFJLFNBQVMsQ0FBQywwREFBMEQsQ0FBQyxDQUFDO0tBQ2pGO0lBRUQsMkJBQTJCO0lBQzNCLElBQUksQ0FBQyxXQUFXLEVBQUU7UUFDaEIsd0VBQXdFO1FBQ3hFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztLQUM3QjtJQUVELG1EQUFtRDtJQUNuRCxNQUFNLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUM7SUFFMUMsTUFBTSxZQUFZLEdBQUcsT0FBTyxFQUFFLFlBQVksS0FBSyxTQUFTLENBQUM7SUFFekQsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FDdEQsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRTtRQUM1QixJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNwQixHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsWUFBWSxDQUFDLE1BQU0sRUFBRSxFQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFDLENBQUMsQ0FBQyxJQUFJO1lBQ3hFLG1FQUFtRTtZQUNuRSxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQzdCLENBQUM7U0FDSDthQUFNLElBQUksWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQy9CLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQztTQUN2RDthQUFNLElBQUksT0FBTyxNQUFNLEtBQUssVUFBVSxFQUFFO1lBQ3ZDLHlDQUF5QztZQUN6QyxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsTUFBdUIsQ0FBQyxDQUFDO1lBQ3RELEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxZQUFZLENBQUMsV0FBVyxFQUFFLEVBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3RHO2FBQU07WUFDTCw4REFBOEQ7WUFDOUQsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO1NBQ3BFO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDLEVBQ0QsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBUSxDQUMxQyxDQUFDO0lBRUYsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFDLENBQUM7QUFDOUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7YXNzZXJ0SW5JbmplY3Rpb25Db250ZXh0LCBjb21wdXRlZCwgSW5qZWN0b3IsIGlzU2lnbmFsLCBTaWduYWwsIHVudHJhY2tlZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3RvT2JzZXJ2YWJsZSwgdG9TaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7XG4gIGNvbWJpbmVMYXRlc3QsXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBmcm9tLFxuICBpZGVudGl0eSxcbiAgaXNPYnNlcnZhYmxlLFxuICBPYnNlcnZhYmxlSW5wdXQsXG4gIE9ic2VydmFibGVJbnB1dFR1cGxlLFxuICBPcGVyYXRvckZ1bmN0aW9uLFxuICBzdGFydFdpdGgsXG59IGZyb20gJ3J4anMnO1xuXG50eXBlIE9ic2VydmFibGVTaWduYWxJbnB1dDxUPiA9IE9ic2VydmFibGVJbnB1dDxUPiB8IFNpZ25hbDxUPjtcblxudHlwZSBPYnNlcnZhYmxlU2lnbmFsSW5wdXRUdXBsZTxUPiA9IHtcbiAgW0sgaW4ga2V5b2YgVF06IE9ic2VydmFibGVTaWduYWxJbnB1dDxUW0tdPiB8ICgoKSA9PiBUW0tdKTtcbn07XG5cbi8vIHBpY2sgZnJvbSBUb1NpZ25hbE9wdGlvbnNcbmV4cG9ydCB0eXBlIENvbWJpbmVGcm9tT3B0aW9uczxJVmFsdWU+ID0ge1xuICByZWFkb25seSBpbmplY3Rvcj86IEluamVjdG9yO1xuICByZWFkb25seSBpbml0aWFsVmFsdWU/OiBJVmFsdWU7XG59O1xuXG4vLyBhcnJheSBpbnB1dHMgb25seVxuZXhwb3J0IGZ1bmN0aW9uIGNvbWJpbmVGcm9tPElucHV0IGV4dGVuZHMgcmVhZG9ubHkgdW5rbm93bltdLCBPdXRwdXQgPSBJbnB1dD4oXG4gIHNvdXJjZXM6IHJlYWRvbmx5IFsuLi5PYnNlcnZhYmxlU2lnbmFsSW5wdXRUdXBsZTxJbnB1dD5dLFxuKTogU2lnbmFsPE91dHB1dD47XG5cbi8vIC0tLS0tLS0tLS0gMyBhcmdzIHdpdGggYXJyYXkgaW5wdXRzIC0tLS0tLS0tLS0tLS1cbi8vIGNvbWJpbmVGcm9tKFtzaWduYWwsIG9icyRdLCBwaXBlT3BlcmF0b3IsIHsgaW5pdGlhbFZhbHVlOiBbMSwyXSB9KSwgSW5wdXQgaXMgW3NpZ25hbCwgb2JzJF1cbi8vIDEuIG5vIGluaXRpYWxWYWx1ZVxuZXhwb3J0IGZ1bmN0aW9uIGNvbWJpbmVGcm9tPElucHV0IGV4dGVuZHMgcmVhZG9ubHkgdW5rbm93bltdLCBPdXRwdXQgPSBJbnB1dD4oXG4gIHNvdXJjZXM6IHJlYWRvbmx5IFsuLi5PYnNlcnZhYmxlU2lnbmFsSW5wdXRUdXBsZTxJbnB1dD5dLFxuICBvcGVyYXRvcj86IE9wZXJhdG9yRnVuY3Rpb248SW5wdXQsIE91dHB1dD4sXG4gIG9wdGlvbnM/OiBDb21iaW5lRnJvbU9wdGlvbnM8dW5kZWZpbmVkPixcbik6IFNpZ25hbDxPdXRwdXQgfCB1bmRlZmluZWQ+O1xuLy8gMi4gaW5pdGlhbFZhbHVlIGlzIG51bGwsIHJldHVybmluZyB0eXBlIHNob3VsZCBpbmNsdWRlIG51bGxcbmV4cG9ydCBmdW5jdGlvbiBjb21iaW5lRnJvbTxJbnB1dCBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXSwgT3V0cHV0ID0gSW5wdXQ+KFxuICBzb3VyY2VzOiByZWFkb25seSBbLi4uT2JzZXJ2YWJsZVNpZ25hbElucHV0VHVwbGU8SW5wdXQ+XSxcbiAgb3BlcmF0b3I/OiBPcGVyYXRvckZ1bmN0aW9uPElucHV0LCBPdXRwdXQ+LFxuICBvcHRpb25zPzogQ29tYmluZUZyb21PcHRpb25zPG51bGw+LFxuKTogU2lnbmFsPE91dHB1dCB8IG51bGw+O1xuLy8gMy4gcHJvdmlkZSBpbml0aWFsVmFsdWVcbmV4cG9ydCBmdW5jdGlvbiBjb21iaW5lRnJvbTxJbnB1dCBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXSwgT3V0cHV0ID0gSW5wdXQ+KFxuICBzb3VyY2VzOiByZWFkb25seSBbLi4uT2JzZXJ2YWJsZVNpZ25hbElucHV0VHVwbGU8SW5wdXQ+XSxcbiAgb3BlcmF0b3I/OiBPcGVyYXRvckZ1bmN0aW9uPElucHV0LCBPdXRwdXQ+LFxuICBvcHRpb25zPzogQ29tYmluZUZyb21PcHRpb25zPE91dHB1dD4sXG4pOiBTaWduYWw8T3V0cHV0PjtcblxuLy8gLS0tLS0tLS0tLSAyIGFyZ3Mgd2l0IGFycmF5IGlucHV0cyAtLS0tLS0tLS0tLS0tXG4vLyAxLiBubyBpbml0aWFsVmFsdWVcbmV4cG9ydCBmdW5jdGlvbiBjb21iaW5lRnJvbTxJbnB1dCBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXSwgT3V0cHV0ID0gSW5wdXQ+KFxuICBzb3VyY2VzOiByZWFkb25seSBbLi4uT2JzZXJ2YWJsZVNpZ25hbElucHV0VHVwbGU8SW5wdXQ+XSxcbiAgb3B0aW9ucz86IENvbWJpbmVGcm9tT3B0aW9uczx1bmRlZmluZWQ+LFxuKTogU2lnbmFsPE91dHB1dCB8IHVuZGVmaW5lZD47XG4vLyAyLiBpbml0aWFsVmFsdWUgaXMgbnVsbCwgcmV0dXJuaW5nIHR5cGUgc2hvdWxkIGluY2x1ZGUgbnVsbFxuZXhwb3J0IGZ1bmN0aW9uIGNvbWJpbmVGcm9tPElucHV0IGV4dGVuZHMgcmVhZG9ubHkgdW5rbm93bltdLCBPdXRwdXQgPSBJbnB1dD4oXG4gIHNvdXJjZXM6IHJlYWRvbmx5IFsuLi5PYnNlcnZhYmxlU2lnbmFsSW5wdXRUdXBsZTxJbnB1dD5dLFxuICBvcHRpb25zPzogQ29tYmluZUZyb21PcHRpb25zPG51bGw+LFxuKTogU2lnbmFsPE91dHB1dCB8IG51bGw+O1xuLy8gMy4gcHJvdmlkZSBpbml0aWFsVmFsdWVcbmV4cG9ydCBmdW5jdGlvbiBjb21iaW5lRnJvbTxJbnB1dCBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXSwgT3V0cHV0ID0gSW5wdXQ+KFxuICBzb3VyY2VzOiByZWFkb25seSBbLi4uT2JzZXJ2YWJsZVNpZ25hbElucHV0VHVwbGU8SW5wdXQ+XSxcbiAgb3B0aW9ucz86IENvbWJpbmVGcm9tT3B0aW9uczxPdXRwdXQ+LFxuKTogU2lnbmFsPE91dHB1dD47XG5cbi8vIG9iamVjdCBpbnB1dCBvbmx5LCBlLmcuIElucHV0IGlzIHsgYTogc2lnbmFsLCBiOiBvYnMkIH1cbmV4cG9ydCBmdW5jdGlvbiBjb21iaW5lRnJvbTxJbnB1dCBleHRlbmRzIG9iamVjdCwgT3V0cHV0ID0gSW5wdXQ+KFxuICBzb3VyY2VzOiBPYnNlcnZhYmxlU2lnbmFsSW5wdXRUdXBsZTxJbnB1dD4sXG4pOiBTaWduYWw8T3V0cHV0PjtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0gMyBhcmdzIHdpdGggb2JqZWN0IGlucHV0IC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5leHBvcnQgZnVuY3Rpb24gY29tYmluZUZyb208SW5wdXQgZXh0ZW5kcyBvYmplY3QsIE91dHB1dCA9IElucHV0PihcbiAgc291cmNlczogT2JzZXJ2YWJsZVNpZ25hbElucHV0VHVwbGU8SW5wdXQ+LFxuICBvcGVyYXRvcj86IE9wZXJhdG9yRnVuY3Rpb248SW5wdXQsIE91dHB1dD4sXG4gIG9wdGlvbnM/OiBDb21iaW5lRnJvbU9wdGlvbnM8dW5kZWZpbmVkPixcbik6IFNpZ25hbDxPdXRwdXQgfCB1bmRlZmluZWQ+O1xuZXhwb3J0IGZ1bmN0aW9uIGNvbWJpbmVGcm9tPElucHV0IGV4dGVuZHMgb2JqZWN0LCBPdXRwdXQgPSBJbnB1dD4oXG4gIHNvdXJjZXM6IE9ic2VydmFibGVTaWduYWxJbnB1dFR1cGxlPElucHV0PixcbiAgb3BlcmF0b3I/OiBPcGVyYXRvckZ1bmN0aW9uPElucHV0LCBPdXRwdXQ+LFxuICBvcHRpb25zPzogQ29tYmluZUZyb21PcHRpb25zPG51bGw+LFxuKTogU2lnbmFsPE91dHB1dCB8IG51bGw+O1xuZXhwb3J0IGZ1bmN0aW9uIGNvbWJpbmVGcm9tPElucHV0IGV4dGVuZHMgb2JqZWN0LCBPdXRwdXQgPSBJbnB1dD4oXG4gIHNvdXJjZXM6IE9ic2VydmFibGVTaWduYWxJbnB1dFR1cGxlPElucHV0PixcbiAgb3BlcmF0b3I/OiBPcGVyYXRvckZ1bmN0aW9uPElucHV0LCBPdXRwdXQ+LFxuICBvcHRpb25zPzogQ29tYmluZUZyb21PcHRpb25zPE91dHB1dD4sXG4pOiBTaWduYWw8T3V0cHV0PjtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0gMiBhcmdzIHdpdGggb2JqZWN0IGlucHV0IC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5leHBvcnQgZnVuY3Rpb24gY29tYmluZUZyb208SW5wdXQgZXh0ZW5kcyBvYmplY3QsIE91dHB1dCA9IElucHV0PihcbiAgc291cmNlczogT2JzZXJ2YWJsZVNpZ25hbElucHV0VHVwbGU8SW5wdXQ+LFxuICBvcHRpb25zPzogQ29tYmluZUZyb21PcHRpb25zPHVuZGVmaW5lZD4sXG4pOiBTaWduYWw8T3V0cHV0IHwgdW5kZWZpbmVkPjtcbmV4cG9ydCBmdW5jdGlvbiBjb21iaW5lRnJvbTxJbnB1dCBleHRlbmRzIG9iamVjdCwgT3V0cHV0ID0gSW5wdXQ+KFxuICBzb3VyY2VzOiBPYnNlcnZhYmxlU2lnbmFsSW5wdXRUdXBsZTxJbnB1dD4sXG4gIG9wdGlvbnM/OiBDb21iaW5lRnJvbU9wdGlvbnM8bnVsbD4sXG4pOiBTaWduYWw8T3V0cHV0IHwgbnVsbD47XG5leHBvcnQgZnVuY3Rpb24gY29tYmluZUZyb208SW5wdXQgZXh0ZW5kcyBvYmplY3QsIE91dHB1dCA9IElucHV0PihcbiAgc291cmNlczogT2JzZXJ2YWJsZVNpZ25hbElucHV0VHVwbGU8SW5wdXQ+LFxuICBvcHRpb25zPzogQ29tYmluZUZyb21PcHRpb25zPE91dHB1dD4sXG4pOiBTaWduYWw8T3V0cHV0PjtcblxuLyoqXG4gKiBDb21iaW5lcyBtdWx0aXBsZSBgT2JzZXJ2YWJsZWAgb3IgYFNpZ25hbGAgc291cmNlcyBpbnRvIGEgYFNpZ25hbGAgdGhhdCBlbWl0cyB0aGVpciB2YWx1ZXMuIEl0J3MgbGlrZSBjb21iaW5lTGF0ZXN0LlxuICpcbiAqIEBwYXJhbSB7T2JzZXJ2YWJsZVNpZ25hbElucHV0VHVwbGV9IHNvdXJjZXMgLSBBcnJheSBvciBvYmplY3Qgb2YgYE9ic2VydmFibGVgIG9yIGBTaWduYWxgIHZhbHVlc1xuICogQHBhcmFtIHtPcGVyYXRvckZ1bmN0aW9ufSBbb3BlcmF0b3JdIC0gT3BlcmF0b3IgdG8gYXBwbHkgdG8gdGhlIGNvbWJpbmVkIHZhbHVlc1xuICogQHBhcmFtIHtDb21iaW5lRnJvbU9wdGlvbnN9IFtvcHRpb25zXSAtIE9wdGlvbnMgaW5jbHVkaW5nIGBpbml0aWFsVmFsdWVgIGFuZCBgaW5qZWN0b3JgXG4gKiBAcmV0dXJucyBTaWduYWwgZW1pdHRpbmcgdGhlIGNvbWJpbmVkIHZhbHVlc1xuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogZXhwb3J0IGNsYXNzIENvbXBvbmVudCB7XG4gKiAgcHJpdmF0ZSByZWFkb25seSB1c2VyU2VydmljZSA9IGluamVjdChVc2VyU2VydmljZSk7XG4gKiAgcGFnZSA9IHNpZ25hbCgyKTtcbiAqXG4gKiAgZGF0YSA9IGNvbWJpbmVGcm9tKFxuICogICAgW3RoaXMucGFnZSwgdGhpcy51c2VyU2VydmljZS51c2VycyRdLFxuICogICAgcGlwZShcbiAqICAgICAgc3dpdGNoTWFwKChbcGFnZSwgdXNlcnNdKSA9PiB0aGlzLmRhdGFTZXJ2aWNlLmdldERhdGEocGFnZSwgdXNlcnMpKSxcbiAqICAgICAgc3RhcnRXaXRoKFtdKVxuICogICAgKVxuICogICk7XG4gKiB9XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbWJpbmVGcm9tPElucHV0ID0gYW55LCBPdXRwdXQgPSBJbnB1dD4oLi4uYXJnczogYW55W10pOiBTaWduYWw8T3V0cHV0IHwgbnVsbCB8IHVuZGVmaW5lZD4ge1xuICBhc3NlcnRJbkluamVjdGlvbkNvbnRleHQoY29tYmluZUZyb20pO1xuXG4gIGNvbnN0IHtub3JtYWxpemVkU291cmNlcywgaGFzSW5pdFZhbHVlLCBvcGVyYXRvciwgb3B0aW9uc30gPSBub3JtYWxpemVBcmdzPElucHV0LCBPdXRwdXQ+KGFyZ3MpO1xuXG4gIGNvbnN0IHJldCA9IGhhc0luaXRWYWx1ZVxuICAgID8gdG9TaWduYWwoY29tYmluZUxhdGVzdChub3JtYWxpemVkU291cmNlcykucGlwZShvcGVyYXRvciksIHtcbiAgICAgICAgaW5pdGlhbFZhbHVlOiBvcHRpb25zIS5pbml0aWFsVmFsdWUhLFxuICAgICAgICBpbmplY3Rvcjogb3B0aW9ucz8uaW5qZWN0b3IsXG4gICAgICB9KVxuICAgIDogKHRvU2lnbmFsKGNvbWJpbmVMYXRlc3Qobm9ybWFsaXplZFNvdXJjZXMpLnBpcGUob3BlcmF0b3IpLCB7XG4gICAgICAgIGluamVjdG9yOiBvcHRpb25zPy5pbmplY3RvcixcbiAgICAgICAgLy8gcmVxdWlyZVN5bmM6IHRydWUsXG4gICAgICB9KSBhcyBTaWduYWw8T3V0cHV0IHwgdW5kZWZpbmVkPik7XG5cbiAgcmV0dXJuIHJldDtcbn1cblxuZnVuY3Rpb24gbm9ybWFsaXplQXJnczxJbnB1dCwgT3V0cHV0PihcbiAgYXJnczogYW55W10sXG4pOiB7XG4gIG5vcm1hbGl6ZWRTb3VyY2VzOiBPYnNlcnZhYmxlSW5wdXRUdXBsZTxJbnB1dD47XG4gIG9wZXJhdG9yOiBPcGVyYXRvckZ1bmN0aW9uPElucHV0LCBPdXRwdXQ+O1xuICBoYXNJbml0VmFsdWU6IGJvb2xlYW47XG4gIG9wdGlvbnM6IENvbWJpbmVGcm9tT3B0aW9uczxPdXRwdXQ+IHwgdW5kZWZpbmVkO1xufSB7XG4gIGlmICghYXJncyB8fCBhcmdzLmxlbmd0aCA8IDEgfHwgdHlwZW9mIGFyZ3NbMF0gIT09ICdvYmplY3QnKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignY29tYmluZUZyb20gbmVlZHMgc291cmNlcycpO1xuICB9XG5cbiAgY29uc3QgaGFzT3BlcmF0b3IgPSB0eXBlb2YgYXJnc1sxXSA9PT0gJ2Z1bmN0aW9uJztcblxuICBpZiAoYXJncy5sZW5ndGggPT09IDMgJiYgIWhhc09wZXJhdG9yKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignY29tYmluZUZyb20gbmVlZHMgYSBwaXBlIG9wZXJhdG9yIGFzIHRoZSBzZWNvbmQgYXJndW1lbnQnKTtcbiAgfVxuXG4gIC8vIHBhc3Mgc291cmNlcyBhbmQgb3B0aW9uc1xuICBpZiAoIWhhc09wZXJhdG9yKSB7XG4gICAgLy8gYWRkIGlkZW50aXR5IGZ1bmN0aW9uIHRvIGFyZ3MgYXQgaW5kZXggMSBhcyBvcGVyYXRvciBmdW5jdGlvbiBhcyB4PT54XG4gICAgYXJncy5zcGxpY2UoMSwgMCwgaWRlbnRpdHkpO1xuICB9XG5cbiAgLy8gaWYgbm8gb3BlcmF0b3IgcGFzc2VkLCBpZGVudGl0eSB3aWxsIGJlIG9wZXJhdG9yXG4gIGNvbnN0IFtzb3VyY2VzLCBvcGVyYXRvciwgb3B0aW9uc10gPSBhcmdzO1xuXG4gIGNvbnN0IGhhc0luaXRWYWx1ZSA9IG9wdGlvbnM/LmluaXRpYWxWYWx1ZSAhPT0gdW5kZWZpbmVkO1xuXG4gIGNvbnN0IG5vcm1hbGl6ZWRTb3VyY2VzID0gT2JqZWN0LmVudHJpZXMoc291cmNlcykucmVkdWNlKFxuICAgIChhY2MsIFtrZXlPckluZGV4LCBzb3VyY2VdKSA9PiB7XG4gICAgICBpZiAoaXNTaWduYWwoc291cmNlKSkge1xuICAgICAgICBhY2Nba2V5T3JJbmRleF0gPSB0b09ic2VydmFibGUoc291cmNlLCB7aW5qZWN0b3I6IG9wdGlvbnM/LmluamVjdG9yfSkucGlwZShcbiAgICAgICAgICAvLyB0b09ic2VydmFibGUgZG9lc24ndCBpbW1lZGlhdGVseSBlbWl0IGluaXRpYWxWYWx1ZSBvZiB0aGUgc2lnbmFsXG4gICAgICAgICAgc3RhcnRXaXRoKHVudHJhY2tlZChzb3VyY2UpKSxcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSBpZiAoaXNPYnNlcnZhYmxlKHNvdXJjZSkpIHtcbiAgICAgICAgYWNjW2tleU9ySW5kZXhdID0gc291cmNlLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBzb3VyY2UgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgLy8gc2VsZG9tIHVzZTogcGFzcyBmdW5jdGlvbiBsaWtlICgpID0+IDVcbiAgICAgICAgY29uc3QgY29tcHV0ZWRSZXMgPSBjb21wdXRlZChzb3VyY2UgYXMgKCkgPT4gdW5rbm93bik7XG4gICAgICAgIGFjY1trZXlPckluZGV4XSA9IHRvT2JzZXJ2YWJsZShjb21wdXRlZFJlcywge2luamVjdG9yOiBvcHRpb25zPy5pbmplY3Rvcn0pLnBpcGUoc3RhcnRXaXRoKHNvdXJjZSgpKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBzZWxkb20gdXNlOiBwYXNzIHByb21pc2UsIE1hcCwgYXJyYXksIGV0YyB0aGF0IGZyb20gYWNjZXB0c1xuICAgICAgICBhY2Nba2V5T3JJbmRleF0gPSBmcm9tKHNvdXJjZSBhcyBhbnkpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sXG4gICAgKEFycmF5LmlzQXJyYXkoc291cmNlcykgPyBbXSA6IHt9KSBhcyBhbnksXG4gICk7XG5cbiAgcmV0dXJuIHtub3JtYWxpemVkU291cmNlcywgb3BlcmF0b3IsIGhhc0luaXRWYWx1ZSwgb3B0aW9uc307XG59XG4iXX0=
|
|
@@ -0,0 +1,11 @@
|
|
|
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,6 +1,7 @@
|
|
|
1
1
|
export * from './combine-from';
|
|
2
2
|
export * from './computed-async';
|
|
3
|
-
export * from './create-
|
|
3
|
+
export * from './create-trigger';
|
|
4
4
|
export * from './inject-params';
|
|
5
5
|
export * from './inject-query-params';
|
|
6
|
-
|
|
6
|
+
export * from './merge-from';
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGlmdC9zcmMvbGliL3NpZ25hbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb21iaW5lLWZyb20nO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wdXRlZC1hc3luYyc7XG5leHBvcnQgKiBmcm9tICcuL2NyZWF0ZS10cmlnZ2VyJztcbmV4cG9ydCAqIGZyb20gJy4vaW5qZWN0LXBhcmFtcyc7XG5leHBvcnQgKiBmcm9tICcuL2luamVjdC1xdWVyeS1wYXJhbXMnO1xuZXhwb3J0ICogZnJvbSAnLi9tZXJnZS1mcm9tJztcbiJdfQ==
|
|
@@ -2,14 +2,34 @@ import { assertInInjectionContext, inject } from '@angular/core';
|
|
|
2
2
|
import { toSignal } from '@angular/core/rxjs-interop';
|
|
3
3
|
import { ActivatedRoute } from '@angular/router';
|
|
4
4
|
import { map } from 'rxjs';
|
|
5
|
-
export function injectParams(
|
|
5
|
+
export function injectParams(keyOrParamsTransform, options = {}) {
|
|
6
6
|
assertInInjectionContext(injectParams);
|
|
7
7
|
const route = inject(ActivatedRoute);
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
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 });
|
|
11
13
|
}
|
|
12
|
-
|
|
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) });
|
|
14
34
|
}
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0LXBhcmFtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWZ0L3NyYy9saWIvc2lnbmFscy9pbmplY3QtcGFyYW1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx3QkFBd0IsRUFBRSxNQUFNLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxjQUFjLEVBQWMsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBeUV6QixNQUFNLFVBQVUsWUFBWSxDQUMxQixvQkFBeUQsRUFDekQsVUFBaUMsRUFBRTtJQUVuQyx3QkFBd0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUV2QyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDckMsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFFNUMsTUFBTSxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUMsR0FBRyxPQUFPLENBQUM7SUFFMUMsaUNBQWlDO0lBQ2pDLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtRQUN6QixPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUMsWUFBWSxFQUFFLGFBQWEsRUFBQyxDQUFDLENBQUM7S0FDOUQ7SUFFRCxzRUFBc0U7SUFDdEUsSUFBSSxPQUFPLG9CQUFvQixLQUFLLFVBQVUsRUFBRTtRQUM5QyxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxFQUFFLEVBQUMsWUFBWSxFQUFFLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxFQUFDLENBQUMsQ0FBQztLQUNwSDtJQUVELGtDQUFrQztJQUNsQyxvRUFBb0U7SUFDcEUscUlBQXFJO0lBQ3JJLGtJQUFrSTtJQUNsSSxtSUFBbUk7SUFDbkksK0lBQStJO0lBQy9JLDZJQUE2STtJQUM3SSw2SUFBNkk7SUFDN0ksTUFBTSxRQUFRLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRTtRQUNsQyxNQUFNLEtBQUssR0FBRyxNQUFNLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBdUIsQ0FBQztRQUVuRSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsT0FBTyxZQUFZLElBQUksSUFBSSxDQUFDO1NBQzdCO1FBRUQsT0FBTyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzlDLENBQUMsQ0FBQztJQUVGLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEVBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFBQyxDQUFDLENBQUM7QUFDN0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7YXNzZXJ0SW5JbmplY3Rpb25Db250ZXh0LCBpbmplY3QsIHR5cGUgU2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dG9TaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIHR5cGUgUGFyYW1zfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMnO1xuXG50eXBlIFBhcmFtc1RyYW5zZm9ybUZuPE91dHB1dD4gPSAocGFyYW1zOiBQYXJhbXMpID0+IE91dHB1dDtcblxuLyoqXG4gKiBUaGUgYElucHV0T3B0aW9uc2AgaW50ZXJmYWNlIGRlZmluZXMgb3B0aW9ucyBmb3IgY29uZmlndXJpbmcgdGhlIGJlaGF2aW9yIG9mIHRoZSBgaW5qZWN0UGFyYW1zYCBmdW5jdGlvbi5cbiAqXG4gKiBAdGVtcGxhdGUgT3V0cHV0IC0gVGhlIGV4cGVjdGVkIHR5cGUgb2YgdGhlIHJlYWQgdmFsdWUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFyYW1zT3B0aW9uczxPdXRwdXQ+IHtcbiAgLyoqXG4gICAqIEEgdHJhbnNmb3JtYXRpb24gZnVuY3Rpb24gdG8gY29udmVydCB0aGUgd3JpdHRlbiB2YWx1ZSB0byB0aGUgZXhwZWN0ZWQgcmVhZCB2YWx1ZS5cbiAgICpcbiAgICogQHBhcmFtIHYgLSBUaGUgdmFsdWUgdG8gdHJhbnNmb3JtLlxuICAgKiBAcmV0dXJucyBUaGUgdHJhbnNmb3JtZWQgdmFsdWUuXG4gICAqL1xuICB0cmFuc2Zvcm0/OiAodjogc3RyaW5nKSA9PiBPdXRwdXQ7XG5cbiAgLyoqXG4gICAqIFRoZSBpbml0aWFsIHZhbHVlIHRvIHVzZSBpZiB0aGUgcGFyYW1ldGVyIGlzIG5vdCBwcmVzZW50IG9yIHVuZGVmaW5lZC5cbiAgICovXG4gIGluaXRpYWxWYWx1ZT86IE91dHB1dDtcbn1cblxuLyoqXG4gKiBJbmplY3RzIHRoZSBwYXJhbXMgZnJvbSB0aGUgY3VycmVudCByb3V0ZS5cbiAqIElmIGEga2V5IGlzIHByb3ZpZGVkLCByZXR1cm5zIHRoZSB2YWx1ZSBvZiB0aGF0IGtleS5cbiAqIElmIGEgdHJhbnNmb3JtIGZ1bmN0aW9uIGlzIHByb3ZpZGVkLCByZXR1cm5zIHRoZSByZXN1bHQgb2YgdGhlIGZ1bmN0aW9uLlxuICogT3RoZXJ3aXNlLCByZXR1cm5zIHRoZSBlbnRpcmUgcGFyYW1zIG9iamVjdC5cbiAqXG4gKiBAZXhhbXBsZVxuICogY29uc3QgcGFyYW1zID0gaW5qZWN0UGFyYW1zKCk7IC8vIFJldHVybnMgdGhlIGVudGlyZSBwYXJhbXMgb2JqZWN0XG4gKiBjb25zdCB1c2VySWQgPSBpbmplY3RQYXJhbXMoJ2lkJyk7IC8vIFJldHVybnMgdGhlIHZhbHVlIG9mIHRoZSAnaWQnIHBhcmFtXG4gKiBjb25zdCB1c2VySWQgPSBpbmplY3RQYXJhbXMocCA9PiBwWydpZCddIGFzIHN0cmluZyk7IC8vIFJldHVybnMgdGhlICdpZCcgcGFyYW0gdXNpbmcgYSBjdXN0b20gdHJhbnNmb3JtIGZ1bmN0aW9uXG4gKiBjb25zdCB1c2VySWQgPSBpbmplY3RQYXJhbXMoJ2lkJywgeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSwgaW5pdGlhbFZhbHVlOiAxIH0pO1xuICpcbiAqIEBwYXJhbSBrZXlPclBhcmFtc1RyYW5zZm9ybSBPUFRJT05BTCBUaGUga2V5IG9mIHRoZSBwYXJhbSB0byByZXR1cm4sIG9yIGEgdHJhbnNmb3JtIGZ1bmN0aW9uIHRvIGFwcGx5IHRvIHRoZSBwYXJhbXMgb2JqZWN0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RQYXJhbXMoKTogU2lnbmFsPFBhcmFtcz47XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RQYXJhbXM8T3V0cHV0PihmbjogUGFyYW1zVHJhbnNmb3JtRm48T3V0cHV0Pik6IFNpZ25hbDxPdXRwdXQ+O1xuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0UGFyYW1zKGtleTogc3RyaW5nKTogU2lnbmFsPHN0cmluZyB8IG51bGw+O1xuXG4vLyBmb3IgYm9vbGVhbiBvciBudW1iZXIsIGlmIGluaXRpYWxWYWx1ZSBpcyBwcm92aWRlZCwgdHJhbnNmb3JtIGlzIGEgbXVzdFxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFBhcmFtcyhcbiAga2V5OiBzdHJpbmcsXG4gIG9wdGlvbnM6IHt0cmFuc2Zvcm06ICh2OiBzdHJpbmcpID0+IGJvb2xlYW47IGluaXRpYWxWYWx1ZTogYm9vbGVhbn0sXG4pOiBTaWduYWw8Ym9vbGVhbj47XG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0UGFyYW1zKFxuICBrZXk6IHN0cmluZyxcbiAgb3B0aW9uczoge3RyYW5zZm9ybTogKHY6IHN0cmluZykgPT4gbnVtYmVyOyBpbml0aWFsVmFsdWU6IG51bWJlcn0sXG4pOiBTaWduYWw8bnVtYmVyPjtcbi8vIGZvciBzdHJpbmcsIHRyYW5zZm9ybSBpcyBvcHRpb25hbFxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFBhcmFtcyhcbiAga2V5OiBzdHJpbmcsXG4gIG9wdGlvbnM6IHt0cmFuc2Zvcm0/OiAodjogc3RyaW5nKSA9PiBzdHJpbmc7IGluaXRpYWxWYWx1ZTogc3RyaW5nfSxcbik6IFNpZ25hbDxzdHJpbmc+O1xuXG4vLyBpbml0aWFsVmFsdWUgbm90IHByb3ZpZGVkLCBtdXN0IHByb3ZpZGUgdHJhbnNmb3JtIGZuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0UGFyYW1zKFxuICBrZXk6IHN0cmluZyxcbiAgb3B0aW9uczoge3RyYW5zZm9ybTogKHY6IHN0cmluZykgPT4gYm9vbGVhbjsgaW5pdGlhbFZhbHVlPzogdW5kZWZpbmVkfSxcbik6IFNpZ25hbDxib29sZWFuIHwgbnVsbD47XG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0UGFyYW1zKFxuICBrZXk6IHN0cmluZyxcbiAgb3B0aW9uczoge3RyYW5zZm9ybTogKHY6IHN0cmluZykgPT4gbnVtYmVyOyBpbml0aWFsVmFsdWU/OiB1bmRlZmluZWR9LFxuKTogU2lnbmFsPG51bWJlciB8IG51bGw+O1xuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFBhcmFtcyhcbiAga2V5OiBzdHJpbmcsXG4gIG9wdGlvbnM6IHt0cmFuc2Zvcm06ICh2OiBzdHJpbmcpID0+IHN0cmluZzsgaW5pdGlhbFZhbHVlPzogdW5kZWZpbmVkfSxcbik6IFNpZ25hbDxzdHJpbmcgfCBudWxsPjtcblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFBhcmFtczxPdXRwdXQ+KFxuICBrZXlPclBhcmFtc1RyYW5zZm9ybT86IHN0cmluZyB8IFBhcmFtc1RyYW5zZm9ybUZuPE91dHB1dD4sXG4gIG9wdGlvbnM6IFBhcmFtc09wdGlvbnM8T3V0cHV0PiA9IHt9LFxuKTogU2lnbmFsPE91dHB1dCB8IFBhcmFtcyB8IHN0cmluZyB8IGJvb2xlYW4gfCBudW1iZXIgfCBudWxsPiB7XG4gIGFzc2VydEluSW5qZWN0aW9uQ29udGV4dChpbmplY3RQYXJhbXMpO1xuXG4gIGNvbnN0IHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgY29uc3QgaW5pdGlhbFBhcmFtcyA9IHJvdXRlLnNuYXBzaG90LnBhcmFtcztcblxuICBjb25zdCB7dHJhbnNmb3JtLCBpbml0aWFsVmFsdWV9ID0gb3B0aW9ucztcblxuICAvLyBpbmplY3RQYXJhbXMoKTogU2lnbmFsPFBhcmFtcz5cbiAgaWYgKCFrZXlPclBhcmFtc1RyYW5zZm9ybSkge1xuICAgIHJldHVybiB0b1NpZ25hbChyb3V0ZS5wYXJhbXMsIHtpbml0aWFsVmFsdWU6IGluaXRpYWxQYXJhbXN9KTtcbiAgfVxuXG4gIC8vIGluamVjdFBhcmFtczxPdXRwdXQ+KGZuOiBQYXJhbXNUcmFuc2Zvcm1GbjxPdXRwdXQ+KTogU2lnbmFsPE91dHB1dD5cbiAgaWYgKHR5cGVvZiBrZXlPclBhcmFtc1RyYW5zZm9ybSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiB0b1NpZ25hbChyb3V0ZS5wYXJhbXMucGlwZShtYXAoa2V5T3JQYXJhbXNUcmFuc2Zvcm0pKSwge2luaXRpYWxWYWx1ZToga2V5T3JQYXJhbXNUcmFuc2Zvcm0oaW5pdGlhbFBhcmFtcyl9KTtcbiAgfVxuXG4gIC8vIGtleU9yUGFyYW1zVHJhbnNmb3JtIGlzIHN0cmluZy5cbiAgLy8gZXhwb3J0IGZ1bmN0aW9uIGluamVjdFBhcmFtcyhrZXk6IHN0cmluZyk6IFNpZ25hbDxzdHJpbmcgfCBudWxsPjtcbiAgLy8gZXhwb3J0IGZ1bmN0aW9uIGluamVjdFBhcmFtcyhrZXk6IHN0cmluZywgb3B0aW9uczogeyB0cmFuc2Zvcm06ICh2OiBzdHJpbmcpID0+IGJvb2xlYW47IGluaXRpYWxWYWx1ZTogYm9vbGVhbiB9KTogU2lnbmFsPGJvb2xlYW4+O1xuICAvLyBleHBvcnQgZnVuY3Rpb24gaW5qZWN0UGFyYW1zKGtleTogc3RyaW5nLCBvcHRpb25zOiB7IHRyYW5zZm9ybTogKHY6IHN0cmluZykgPT4gbnVtYmVyOyBpbml0aWFsVmFsdWU6IG51bWJlciB9KTogU2lnbmFsPG51bWJlcj47XG4gIC8vIGV4cG9ydCBmdW5jdGlvbiBpbmplY3RQYXJhbXMoa2V5OiBzdHJpbmcsIG9wdGlvbnM6IHsgdHJhbnNmb3JtPzogKHY6IHN0cmluZykgPT4gc3RyaW5nOyBpbml0aWFsVmFsdWU6IHN0cmluZyB9KTogU2lnbmFsPHN0cmluZz47XG4gIC8vIGV4cG9ydCBmdW5jdGlvbiBpbmplY3RQYXJhbXMoa2V5OiBzdHJpbmcsIG9wdGlvbnM6IHsgdHJhbnNmb3JtOiAodjogc3RyaW5nKSA9PiBib29sZWFuOyBpbml0aWFsVmFsdWU/OiB1bmRlZmluZWQgfSk6IFNpZ25hbDxib29sZWFuIHwgbnVsbD47XG4gIC8vIGV4cG9ydCBmdW5jdGlvbiBpbmplY3RQYXJhbXMoa2V5OiBzdHJpbmcsIG9wdGlvbnM6IHsgdHJhbnNmb3JtOiAodjogc3RyaW5nKSA9PiBudW1iZXI7IGluaXRpYWxWYWx1ZT86IHVuZGVmaW5lZCB9KTogU2lnbmFsPG51bWJlciB8IG51bGw+O1xuICAvLyBleHBvcnQgZnVuY3Rpb24gaW5qZWN0UGFyYW1zKGtleTogc3RyaW5nLCBvcHRpb25zOiB7IHRyYW5zZm9ybTogKHY6IHN0cmluZykgPT4gc3RyaW5nOyBpbml0aWFsVmFsdWU/OiB1bmRlZmluZWQgfSk6IFNpZ25hbDxzdHJpbmcgfCBudWxsPjtcbiAgY29uc3QgZ2V0UGFyYW0gPSAocGFyYW1zOiBQYXJhbXMpID0+IHtcbiAgICBjb25zdCBwYXJhbSA9IHBhcmFtcz8uW2tleU9yUGFyYW1zVHJhbnNmb3JtXSBhcyBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgICBpZiAoIXBhcmFtKSB7XG4gICAgICByZXR1cm4gaW5pdGlhbFZhbHVlID8/IG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRyYW5zZm9ybSA/IHRyYW5zZm9ybShwYXJhbSkgOiBwYXJhbTtcbiAgfTtcblxuICByZXR1cm4gdG9TaWduYWwocm91dGUucGFyYW1zLnBpcGUobWFwKGdldFBhcmFtKSksIHtpbml0aWFsVmFsdWU6IGdldFBhcmFtKGluaXRpYWxQYXJhbXMpfSk7XG59XG4iXX0=
|
|
@@ -20,16 +20,19 @@ import { map } from 'rxjs';
|
|
|
20
20
|
export function injectQueryParams(keyOrParamsTransform, options = {}) {
|
|
21
21
|
assertInInjectionContext(injectQueryParams);
|
|
22
22
|
const route = inject(ActivatedRoute);
|
|
23
|
-
const
|
|
23
|
+
const initialQueryParams = route.snapshot.queryParams;
|
|
24
24
|
const { transform, initialValue } = options;
|
|
25
|
+
// injectQueryParams(): Signal<Params>
|
|
25
26
|
if (!keyOrParamsTransform) {
|
|
26
|
-
return toSignal(route.queryParams, { initialValue:
|
|
27
|
+
return toSignal(route.queryParams, { initialValue: initialQueryParams });
|
|
27
28
|
}
|
|
29
|
+
// injectQueryParams<Output>(fn: QueryParamsTransformFn<Output>): Signal<Output>
|
|
28
30
|
if (typeof keyOrParamsTransform === 'function') {
|
|
29
31
|
return toSignal(route.queryParams.pipe(map(keyOrParamsTransform)), {
|
|
30
|
-
initialValue: keyOrParamsTransform(
|
|
32
|
+
initialValue: keyOrParamsTransform(initialQueryParams),
|
|
31
33
|
});
|
|
32
34
|
}
|
|
35
|
+
// keyOrParamsTransform is string.
|
|
33
36
|
const getParam = (params) => {
|
|
34
37
|
const param = params?.[keyOrParamsTransform];
|
|
35
38
|
if (!param) {
|
|
@@ -44,7 +47,7 @@ export function injectQueryParams(keyOrParamsTransform, options = {}) {
|
|
|
44
47
|
return transform ? transform(param) : param;
|
|
45
48
|
};
|
|
46
49
|
return toSignal(route.queryParams.pipe(map(getParam)), {
|
|
47
|
-
initialValue: getParam(
|
|
50
|
+
initialValue: getParam(initialQueryParams),
|
|
48
51
|
});
|
|
49
52
|
}
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0LXF1ZXJ5LXBhcmFtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWZ0L3NyYy9saWIvc2lnbmFscy9pbmplY3QtcXVlcnktcGFyYW1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx3QkFBd0IsRUFBRSxNQUFNLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxjQUFjLEVBQWMsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBK0V6Qjs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0Isb0JBQTRELEVBQzVELFVBQXNDLEVBQUU7SUFFeEMsd0JBQXdCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUM1QyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDckMsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO0lBRXJELE1BQU0sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFDLEdBQUcsT0FBTyxDQUFDO0lBRTFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtRQUN6QixPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLEVBQUMsWUFBWSxFQUFFLFdBQVcsRUFBQyxDQUFDLENBQUM7S0FDakU7SUFFRCxJQUFJLE9BQU8sb0JBQW9CLEtBQUssVUFBVSxFQUFFO1FBQzlDLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLEVBQUU7WUFDakUsWUFBWSxFQUFFLG9CQUFvQixDQUFDLFdBQVcsQ0FBQztTQUNoRCxDQUFDLENBQUM7S0FDSjtJQUVELE1BQU0sUUFBUSxHQUFHLENBQUMsTUFBYyxFQUFFLEVBQUU7UUFDbEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxFQUFFLENBQUMsb0JBQW9CLENBQWtDLENBQUM7UUFFOUUsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE9BQU8sWUFBWSxJQUFJLElBQUksQ0FBQztTQUM3QjtRQUVELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN4QixJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUNwQixPQUFPLFlBQVksSUFBSSxJQUFJLENBQUM7YUFDN0I7WUFDRCxPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDbkQ7UUFFRCxPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDOUMsQ0FBQyxDQUFDO0lBRUYsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUU7UUFDckQsWUFBWSxFQUFFLFFBQVEsQ0FBQyxXQUFXLENBQUM7S0FDcEMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7YXNzZXJ0SW5JbmplY3Rpb25Db250ZXh0LCBpbmplY3QsIHR5cGUgU2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dG9TaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIHR5cGUgUGFyYW1zfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMnO1xuXG50eXBlIFF1ZXJ5UGFyYW1zVHJhbnNmb3JtRm48T3V0cHV0PiA9IChwYXJhbXM6IFBhcmFtcykgPT4gT3V0cHV0O1xuXG4vKipcbiAqIFRoZSBgSW5wdXRPcHRpb25zYCBpbnRlcmZhY2UgZGVmaW5lcyBvcHRpb25zIGZvciBjb25maWd1cmluZyB0aGUgYmVoYXZpb3Igb2YgdGhlIGBpbmplY3RRdWVyeVBhcmFtc2AgZnVuY3Rpb24uXG4gKlxuICogQHRlbXBsYXRlIE91dHB1dCAtIFRoZSBleHBlY3RlZCB0eXBlIG9mIHRoZSByZWFkIHZhbHVlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXJ5UGFyYW1zT3B0aW9uczxPdXRwdXQ+IHtcbiAgLyoqXG4gICAqIEEgdHJhbnNmb3JtYXRpb24gZnVuY3Rpb24gdG8gY29udmVydCB0aGUgd3JpdHRlbiB2YWx1ZSB0byB0aGUgZXhwZWN0ZWQgcmVhZCB2YWx1ZS5cbiAgICpcbiAgICogQHBhcmFtIHYgLSBUaGUgdmFsdWUgdG8gdHJhbnNmb3JtLlxuICAgKiBAcmV0dXJucyBUaGUgdHJhbnNmb3JtZWQgdmFsdWUuXG4gICAqL1xuICB0cmFuc2Zvcm0/OiAodjogc3RyaW5nKSA9PiBPdXRwdXQ7XG5cbiAgLyoqXG4gICAqIFRoZSBpbml0aWFsIHZhbHVlIHRvIHVzZSBpZiB0aGUgcXVlcnkgcGFyYW1ldGVyIGlzIG5vdCBwcmVzZW50IG9yIHVuZGVmaW5lZC5cbiAgICovXG4gIGluaXRpYWxWYWx1ZT86IE91dHB1dDtcbn1cblxuLyoqXG4gKiBUaGUgYGluamVjdFF1ZXJ5UGFyYW1zYCBmdW5jdGlvbiBhbGxvd3MgeW91IHRvIGFjY2VzcyBhbmQgbWFuaXB1bGF0ZSBxdWVyeSBwYXJhbWV0ZXJzIGZyb20gdGhlIGN1cnJlbnQgcm91dGUuXG4gKlxuICogQHJldHVybnMgQSBgU2lnbmFsYCB0aGF0IGVtaXRzIHRoZSBlbnRpcmUgcXVlcnkgcGFyYW1ldGVycyBvYmplY3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RRdWVyeVBhcmFtcygpOiBTaWduYWw8UGFyYW1zPjtcblxuLyoqXG4gKiBUaGUgYGluamVjdFF1ZXJ5UGFyYW1zYCBmdW5jdGlvbiBhbGxvd3MgeW91IHRvIGFjY2VzcyBhbmQgbWFuaXB1bGF0ZSBxdWVyeSBwYXJhbWV0ZXJzIGZyb20gdGhlIGN1cnJlbnQgcm91dGUuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGtleSAtIFRoZSBuYW1lIG9mIHRoZSBxdWVyeSBwYXJhbWV0ZXIgdG8gcmV0cmlldmUuXG4gKiBAcmV0dXJucyB7U2lnbmFsfSBBIGBTaWduYWxgIHRoYXQgZW1pdHMgdGhlIHZhbHVlIG9mIHRoZSBzcGVjaWZpZWQgcXVlcnkgcGFyYW1ldGVyLCBvciBgbnVsbGAgaWYgaXQncyBub3QgcHJlc2VudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFF1ZXJ5UGFyYW1zKGtleTogc3RyaW5nKTogU2lnbmFsPHN0cmluZyB8IG51bGw+O1xuXG4vKipcbiAqIFRoZSBgaW5qZWN0UXVlcnlQYXJhbXNgIGZ1bmN0aW9uIGFsbG93cyB5b3UgdG8gYWNjZXNzIGFuZCBtYW5pcHVsYXRlIHF1ZXJ5IHBhcmFtZXRlcnMgZnJvbSB0aGUgY3VycmVudCByb3V0ZS5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IC0gVGhlIG5hbWUgb2YgdGhlIHF1ZXJ5IHBhcmFtZXRlciB0byByZXRyaWV2ZS5cbiAqIEBwYXJhbSB7UXVlcnlQYXJhbXNPcHRpb25zfSBvcHRpb25zIC0gT3B0aW9uYWwgY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgcXVlcnkgcGFyYW1ldGVyLlxuICogQHJldHVybnMge1NpZ25hbH0gQSBgU2lnbmFsYCB0aGF0IGVtaXRzIHRoZSB0cmFuc2Zvcm1lZCB2YWx1ZSBvZiB0aGUgc3BlY2lmaWVkIHF1ZXJ5IHBhcmFtZXRlciwgb3IgYG51bGxgIGlmIGl0J3Mgbm90IHByZXNlbnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RRdWVyeVBhcmFtcyhrZXk/OiBzdHJpbmcsIG9wdGlvbnM/OiBRdWVyeVBhcmFtc09wdGlvbnM8Ym9vbGVhbj4pOiBTaWduYWw8Ym9vbGVhbiB8IG51bGw+O1xuXG4vKipcbiAqIFRoZSBgaW5qZWN0UXVlcnlQYXJhbXNgIGZ1bmN0aW9uIGFsbG93cyB5b3UgdG8gYWNjZXNzIGFuZCBtYW5pcHVsYXRlIHF1ZXJ5IHBhcmFtZXRlcnMgZnJvbSB0aGUgY3VycmVudCByb3V0ZS5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IC0gVGhlIG5hbWUgb2YgdGhlIHF1ZXJ5IHBhcmFtZXRlciB0byByZXRyaWV2ZS5cbiAqIEBwYXJhbSB7UXVlcnlQYXJhbXNPcHRpb25zfSBvcHRpb25zIC0gT3B0aW9uYWwgY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgcXVlcnkgcGFyYW1ldGVyLlxuICogQHJldHVybnMge1NpZ25hbH0gQSBgU2lnbmFsYCB0aGF0IGVtaXRzIHRoZSB0cmFuc2Zvcm1lZCB2YWx1ZSBvZiB0aGUgc3BlY2lmaWVkIHF1ZXJ5IHBhcmFtZXRlciwgb3IgYG51bGxgIGlmIGl0J3Mgbm90IHByZXNlbnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RRdWVyeVBhcmFtcyhrZXk/OiBzdHJpbmcsIG9wdGlvbnM/OiBRdWVyeVBhcmFtc09wdGlvbnM8bnVtYmVyPik6IFNpZ25hbDxudW1iZXIgfCBudWxsPjtcblxuLyoqXG4gKiBUaGUgYGluamVjdFF1ZXJ5UGFyYW1zYCBmdW5jdGlvbiBhbGxvd3MgeW91IHRvIGFjY2VzcyBhbmQgbWFuaXB1bGF0ZSBxdWVyeSBwYXJhbWV0ZXJzIGZyb20gdGhlIGN1cnJlbnQgcm91dGUuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGtleSAtIFRoZSBuYW1lIG9mIHRoZSBxdWVyeSBwYXJhbWV0ZXIgdG8gcmV0cmlldmUuXG4gKiBAcGFyYW0ge1F1ZXJ5UGFyYW1zT3B0aW9uc30gb3B0aW9ucyAtIE9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIHF1ZXJ5IHBhcmFtZXRlci5cbiAqIEByZXR1cm5zIHtTaWduYWx9IEEgYFNpZ25hbGAgdGhhdCBlbWl0cyB0aGUgdHJhbnNmb3JtZWQgdmFsdWUgb2YgdGhlIHNwZWNpZmllZCBxdWVyeSBwYXJhbWV0ZXIsIG9yIGBudWxsYCBpZiBpdCdzIG5vdCBwcmVzZW50LlxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0UXVlcnlQYXJhbXMoa2V5Pzogc3RyaW5nLCBvcHRpb25zPzogUXVlcnlQYXJhbXNPcHRpb25zPHN0cmluZz4pOiBTaWduYWw8c3RyaW5nIHwgbnVsbD47XG5cbi8qKlxuICogVGhlIGBpbmplY3RRdWVyeVBhcmFtc2AgZnVuY3Rpb24gYWxsb3dzIHlvdSB0byBhY2Nlc3MgYW5kIG1hbmlwdWxhdGUgcXVlcnkgcGFyYW1ldGVycyBmcm9tIHRoZSBjdXJyZW50IHJvdXRlLlxuICogSXQgcmV0cmlldmVzIHRoZSB2YWx1ZSBvZiBhIHF1ZXJ5IHBhcmFtZXRlciBiYXNlZCBvbiBhIGN1c3RvbSB0cmFuc2Zvcm0gZnVuY3Rpb24gYXBwbGllZCB0byB0aGUgcXVlcnkgcGFyYW1ldGVycyBvYmplY3QuXG4gKlxuICogQHRlbXBsYXRlIE91dHB1dCAtIFRoZSBleHBlY3RlZCB0eXBlIG9mIHRoZSByZWFkIHZhbHVlLlxuICogQHBhcmFtIHtRdWVyeVBhcmFtc1RyYW5zZm9ybUZuPE91dHB1dD59IGZuIC0gQSB0cmFuc2Zvcm0gZnVuY3Rpb24gdGhhdCB0YWtlcyB0aGUgcXVlcnkgcGFyYW1ldGVycyBvYmplY3QgKGBwYXJhbXM6IFBhcmFtc2ApIGFuZCByZXR1cm5zIHRoZSBkZXNpcmVkIHZhbHVlLlxuICogQHJldHVybnMge1NpZ25hbH0gQSBgU2lnbmFsYCB0aGF0IGVtaXRzIHRoZSB0cmFuc2Zvcm1lZCB2YWx1ZSBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgY3VzdG9tIHRyYW5zZm9ybSBmdW5jdGlvbi5cbiAqXG4gKiBAZXhhbXBsZVxuICogY29uc3Qgc2VhcmNoVmFsdWUgPSBpbmplY3RRdWVyeVBhcmFtcygocGFyYW1zKSA9PiBwYXJhbXNbJ3NlYXJjaCddIGFzIHN0cmluZyk7XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RRdWVyeVBhcmFtczxPdXRwdXQ+KGZuOiBRdWVyeVBhcmFtc1RyYW5zZm9ybUZuPE91dHB1dD4pOiBTaWduYWw8T3V0cHV0PjtcblxuLyoqXG4gKiBUaGUgYGluamVjdFF1ZXJ5UGFyYW1zYCBmdW5jdGlvbiBhbGxvd3MgeW91IHRvIGFjY2VzcyBhbmQgbWFuaXB1bGF0ZSBxdWVyeSBwYXJhbWV0ZXJzIGZyb20gdGhlIGN1cnJlbnQgcm91dGUuXG4gKlxuICogQHRlbXBsYXRlIE91dHB1dCAtIFRoZSBleHBlY3RlZCB0eXBlIG9mIHRoZSByZWFkIHZhbHVlLlxuICogQHBhcmFtIHtzdHJpbmd9IGtleU9yUGFyYW1zVHJhbnNmb3JtIC0gVGhlIG5hbWUgb2YgdGhlIHF1ZXJ5IHBhcmFtZXRlciB0byByZXRyaWV2ZSwgb3IgYSB0cmFuc2Zvcm0gZnVuY3Rpb24gdG8gYXBwbHkgdG8gdGhlIHF1ZXJ5IHBhcmFtZXRlcnMgb2JqZWN0LlxuICogQHBhcmFtIHtRdWVyeVBhcmFtc09wdGlvbnN9IG9wdGlvbnMgLSBPcHRpb25hbCBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoZSBxdWVyeSBwYXJhbWV0ZXIuXG4gKiBAcmV0dXJucyB7UXVlcnlQYXJhbXNPcHRpb25zfSBBIGBTaWduYWxgIHRoYXQgZW1pdHMgdGhlIHRyYW5zZm9ybWVkIHZhbHVlIG9mIHRoZSBzcGVjaWZpZWQgcXVlcnkgcGFyYW1ldGVyLCBvciB0aGUgZW50aXJlIHF1ZXJ5IHBhcmFtZXRlcnMgb2JqZWN0IGlmIG5vIGtleSBpcyBwcm92aWRlZC5cbiAqXG4gKiBAZXhhbXBsZVxuICogY29uc3Qgc2VhcmNoID0gaW5qZWN0UXVlcnlQYXJhbXMoJ3NlYXJjaCcpOyAvLyByZXR1cm5zIHRoZSB2YWx1ZSBvZiB0aGUgJ3NlYXJjaCcgcXVlcnkgcGFyYW1cbiAqIGNvbnN0IHNlYXJjaCA9IGluamVjdFF1ZXJ5UGFyYW1zKHAgPT4gcFsnc2VhcmNoJ10gYXMgc3RyaW5nKTsgLy8gc2FtZSBhcyBhYm92ZSBidXQgY2FuIGJlIHVzZWQgd2l0aCBhIGN1c3RvbSB0cmFuc2Zvcm0gZnVuY3Rpb25cbiAqIGNvbnN0IGlkUGFyYW0gPSBpbmplY3RRdWVyeVBhcmFtcygnaWQnLCB7dHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGV9KTsgLy8gcmV0dXJucyB0aGUgdmFsdWUgZm8gdGhlICdpZCcgcXVlcnkgcGFyYW1zIGFuZCB0cmFuc2Zvcm1zIGl0IGludG8gYSBudW1iZXJcbiAqIGNvbnN0IGlkUGFyYW0gPSBpbmplY3RRdWVyeVBhcmFtcyhwID0+IG51bWJlckF0dHJpYnV0ZShwWydpZCddKSk7IC8vIHNhbWUgYXMgYWJvdmUgYnV0IGNhbiBiZSB1c2VkIHdpdGggYSBjdXN0b20gdHJhbnNmb3JtIGZ1bmN0aW9uXG4gKiBjb25zdCBxdWVyeVBhcmFtcyA9IGluamVjdFF1ZXJ5UGFyYW1zKCk7IC8vIHJldHVybnMgdGhlIGVudGlyZSBxdWVyeSBwYXJhbXMgb2JqZWN0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RRdWVyeVBhcmFtczxPdXRwdXQ+KFxuICBrZXlPclBhcmFtc1RyYW5zZm9ybT86IHN0cmluZyB8ICgocGFyYW1zOiBQYXJhbXMpID0+IE91dHB1dCksXG4gIG9wdGlvbnM6IFF1ZXJ5UGFyYW1zT3B0aW9uczxPdXRwdXQ+ID0ge30sXG4pOiBTaWduYWw8T3V0cHV0IHwgUGFyYW1zIHwgc3RyaW5nIHwgYm9vbGVhbiB8IG51bWJlciB8IG51bGw+IHtcbiAgYXNzZXJ0SW5JbmplY3Rpb25Db250ZXh0KGluamVjdFF1ZXJ5UGFyYW1zKTtcbiAgY29uc3Qgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICBjb25zdCBxdWVyeVBhcmFtcyA9IHJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zIHx8IHt9O1xuXG4gIGNvbnN0IHt0cmFuc2Zvcm0sIGluaXRpYWxWYWx1ZX0gPSBvcHRpb25zO1xuXG4gIGlmICgha2V5T3JQYXJhbXNUcmFuc2Zvcm0pIHtcbiAgICByZXR1cm4gdG9TaWduYWwocm91dGUucXVlcnlQYXJhbXMsIHtpbml0aWFsVmFsdWU6IHF1ZXJ5UGFyYW1zfSk7XG4gIH1cblxuICBpZiAodHlwZW9mIGtleU9yUGFyYW1zVHJhbnNmb3JtID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIHRvU2lnbmFsKHJvdXRlLnF1ZXJ5UGFyYW1zLnBpcGUobWFwKGtleU9yUGFyYW1zVHJhbnNmb3JtKSksIHtcbiAgICAgIGluaXRpYWxWYWx1ZToga2V5T3JQYXJhbXNUcmFuc2Zvcm0ocXVlcnlQYXJhbXMpLFxuICAgIH0pO1xuICB9XG5cbiAgY29uc3QgZ2V0UGFyYW0gPSAocGFyYW1zOiBQYXJhbXMpID0+IHtcbiAgICBjb25zdCBwYXJhbSA9IHBhcmFtcz8uW2tleU9yUGFyYW1zVHJhbnNmb3JtXSBhcyBzdHJpbmcgfCBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcblxuICAgIGlmICghcGFyYW0pIHtcbiAgICAgIHJldHVybiBpbml0aWFsVmFsdWUgPz8gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShwYXJhbSkpIHtcbiAgICAgIGlmIChwYXJhbS5sZW5ndGggPCAxKSB7XG4gICAgICAgIHJldHVybiBpbml0aWFsVmFsdWUgPz8gbnVsbDtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cmFuc2Zvcm0gPyB0cmFuc2Zvcm0ocGFyYW1bMF0pIDogcGFyYW1bMF07XG4gICAgfVxuXG4gICAgcmV0dXJuIHRyYW5zZm9ybSA/IHRyYW5zZm9ybShwYXJhbSkgOiBwYXJhbTtcbiAgfTtcblxuICByZXR1cm4gdG9TaWduYWwocm91dGUucXVlcnlQYXJhbXMucGlwZShtYXAoZ2V0UGFyYW0pKSwge1xuICAgIGluaXRpYWxWYWx1ZTogZ2V0UGFyYW0ocXVlcnlQYXJhbXMpLFxuICB9KTtcbn1cbiJdfQ==
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0LXF1ZXJ5LXBhcmFtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWZ0L3NyYy9saWIvc2lnbmFscy9pbmplY3QtcXVlcnktcGFyYW1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx3QkFBd0IsRUFBRSxNQUFNLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxjQUFjLEVBQWMsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBaUZ6Qjs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0Isb0JBQThELEVBQzlELFVBQXNDLEVBQUU7SUFFeEMsd0JBQXdCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUU1QyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDckMsTUFBTSxrQkFBa0IsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQztJQUV0RCxNQUFNLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBQyxHQUFHLE9BQU8sQ0FBQztJQUUxQyxzQ0FBc0M7SUFDdEMsSUFBSSxDQUFDLG9CQUFvQixFQUFFO1FBQ3pCLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsRUFBQyxZQUFZLEVBQUUsa0JBQWtCLEVBQUMsQ0FBQyxDQUFDO0tBQ3hFO0lBRUQsZ0ZBQWdGO0lBQ2hGLElBQUksT0FBTyxvQkFBb0IsS0FBSyxVQUFVLEVBQUU7UUFDOUMsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUMsRUFBRTtZQUNqRSxZQUFZLEVBQUUsb0JBQW9CLENBQUMsa0JBQWtCLENBQUM7U0FDdkQsQ0FBQyxDQUFDO0tBQ0o7SUFFRCxrQ0FBa0M7SUFDbEMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRTtRQUNsQyxNQUFNLEtBQUssR0FBRyxNQUFNLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBa0MsQ0FBQztRQUU5RSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsT0FBTyxZQUFZLElBQUksSUFBSSxDQUFDO1NBQzdCO1FBRUQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3hCLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ3BCLE9BQU8sWUFBWSxJQUFJLElBQUksQ0FBQzthQUM3QjtZQUNELE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNuRDtRQUVELE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUM5QyxDQUFDLENBQUM7SUFFRixPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRTtRQUNyRCxZQUFZLEVBQUUsUUFBUSxDQUFDLGtCQUFrQixDQUFDO0tBQzNDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2Fzc2VydEluSW5qZWN0aW9uQ29udGV4dCwgaW5qZWN0LCB0eXBlIFNpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3RvU2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCB0eXBlIFBhcmFtc30gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzJztcblxudHlwZSBRdWVyeVBhcmFtc1RyYW5zZm9ybUZuPE91dHB1dD4gPSAocGFyYW1zOiBQYXJhbXMpID0+IE91dHB1dDtcblxuLyoqXG4gKiBUaGUgYElucHV0T3B0aW9uc2AgaW50ZXJmYWNlIGRlZmluZXMgb3B0aW9ucyBmb3IgY29uZmlndXJpbmcgdGhlIGJlaGF2aW9yIG9mIHRoZSBgaW5qZWN0UXVlcnlQYXJhbXNgIGZ1bmN0aW9uLlxuICpcbiAqIEB0ZW1wbGF0ZSBPdXRwdXQgLSBUaGUgZXhwZWN0ZWQgdHlwZSBvZiB0aGUgcmVhZCB2YWx1ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBRdWVyeVBhcmFtc09wdGlvbnM8T3V0cHV0PiB7XG4gIC8qKlxuICAgKiBBIHRyYW5zZm9ybWF0aW9uIGZ1bmN0aW9uIHRvIGNvbnZlcnQgdGhlIHdyaXR0ZW4gdmFsdWUgdG8gdGhlIGV4cGVjdGVkIHJlYWQgdmFsdWUuXG4gICAqXG4gICAqIEBwYXJhbSB2IC0gVGhlIHZhbHVlIHRvIHRyYW5zZm9ybS5cbiAgICogQHJldHVybnMgVGhlIHRyYW5zZm9ybWVkIHZhbHVlLlxuICAgKi9cbiAgdHJhbnNmb3JtPzogKHY6IHN0cmluZykgPT4gT3V0cHV0O1xuXG4gIC8qKlxuICAgKiBUaGUgaW5pdGlhbCB2YWx1ZSB0byB1c2UgaWYgdGhlIHF1ZXJ5IHBhcmFtZXRlciBpcyBub3QgcHJlc2VudCBvciB1bmRlZmluZWQuXG4gICAqL1xuICBpbml0aWFsVmFsdWU/OiBPdXRwdXQ7XG59XG5cbi8qKlxuICogVGhlIGBpbmplY3RRdWVyeVBhcmFtc2AgZnVuY3Rpb24gYWxsb3dzIHlvdSB0byBhY2Nlc3MgYW5kIG1hbmlwdWxhdGUgcXVlcnkgcGFyYW1ldGVycyBmcm9tIHRoZSBjdXJyZW50IHJvdXRlLlxuICpcbiAqIEByZXR1cm5zIEEgYFNpZ25hbGAgdGhhdCBlbWl0cyB0aGUgZW50aXJlIHF1ZXJ5IHBhcmFtZXRlcnMgb2JqZWN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0UXVlcnlQYXJhbXMoKTogU2lnbmFsPFBhcmFtcz47XG5cbi8qKlxuICogVGhlIGBpbmplY3RRdWVyeVBhcmFtc2AgZnVuY3Rpb24gYWxsb3dzIHlvdSB0byBhY2Nlc3MgYW5kIG1hbmlwdWxhdGUgcXVlcnkgcGFyYW1ldGVycyBmcm9tIHRoZSBjdXJyZW50IHJvdXRlLlxuICogSXQgcmV0cmlldmVzIHRoZSB2YWx1ZSBvZiBhIHF1ZXJ5IHBhcmFtZXRlciBiYXNlZCBvbiBhIGN1c3RvbSB0cmFuc2Zvcm0gZnVuY3Rpb24gYXBwbGllZCB0byB0aGUgcXVlcnkgcGFyYW1ldGVycyBvYmplY3QuXG4gKlxuICogQHRlbXBsYXRlIE91dHB1dCAtIFRoZSBleHBlY3RlZCB0eXBlIG9mIHRoZSByZWFkIHZhbHVlLlxuICogQHBhcmFtIHtRdWVyeVBhcmFtc1RyYW5zZm9ybUZuPE91dHB1dD59IGZuIC0gQSB0cmFuc2Zvcm0gZnVuY3Rpb24gdGhhdCB0YWtlcyB0aGUgcXVlcnkgcGFyYW1ldGVycyBvYmplY3QgKGBwYXJhbXM6IFBhcmFtc2ApIGFuZCByZXR1cm5zIHRoZSBkZXNpcmVkIHZhbHVlLlxuICogQHJldHVybnMge1NpZ25hbH0gQSBgU2lnbmFsYCB0aGF0IGVtaXRzIHRoZSB0cmFuc2Zvcm1lZCB2YWx1ZSBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgY3VzdG9tIHRyYW5zZm9ybSBmdW5jdGlvbi5cbiAqXG4gKiBAZXhhbXBsZVxuICogY29uc3Qgc2VhcmNoVmFsdWUgPSBpbmplY3RRdWVyeVBhcmFtcygocGFyYW1zKSA9PiBwYXJhbXNbJ3NlYXJjaCddIGFzIHN0cmluZyk7XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RRdWVyeVBhcmFtczxPdXRwdXQ+KGZuOiBRdWVyeVBhcmFtc1RyYW5zZm9ybUZuPE91dHB1dD4pOiBTaWduYWw8T3V0cHV0PjtcblxuLyoqXG4gKiBUaGUgYGluamVjdFF1ZXJ5UGFyYW1zYCBmdW5jdGlvbiBhbGxvd3MgeW91IHRvIGFjY2VzcyBhbmQgbWFuaXB1bGF0ZSBxdWVyeSBwYXJhbWV0ZXJzIGZyb20gdGhlIGN1cnJlbnQgcm91dGUuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGtleSAtIFRoZSBuYW1lIG9mIHRoZSBxdWVyeSBwYXJhbWV0ZXIgdG8gcmV0cmlldmUuXG4gKiBAcmV0dXJucyB7U2lnbmFsfSBBIGBTaWduYWxgIHRoYXQgZW1pdHMgdGhlIHZhbHVlIG9mIHRoZSBzcGVjaWZpZWQgcXVlcnkgcGFyYW1ldGVyLCBvciBgbnVsbGAgaWYgaXQncyBub3QgcHJlc2VudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFF1ZXJ5UGFyYW1zKGtleTogc3RyaW5nKTogU2lnbmFsPHN0cmluZyB8IG51bGw+O1xuXG4vLyBmb3IgYm9vbGVhbiBvciBudW1iZXIsIGlmIGluaXRpYWxWYWx1ZSBpcyBwcm92aWRlZCwgdHJhbnNmb3JtIGlzIGEgbXVzdFxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFF1ZXJ5UGFyYW1zKFxuICBrZXk6IHN0cmluZyxcbiAgb3B0aW9uczoge3RyYW5zZm9ybTogKHY6IHN0cmluZykgPT4gYm9vbGVhbjsgaW5pdGlhbFZhbHVlOiBib29sZWFufSxcbik6IFNpZ25hbDxib29sZWFuPjtcbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RRdWVyeVBhcmFtcyhcbiAga2V5OiBzdHJpbmcsXG4gIG9wdGlvbnM6IHt0cmFuc2Zvcm06ICh2OiBzdHJpbmcpID0+IG51bWJlcjsgaW5pdGlhbFZhbHVlOiBudW1iZXJ9LFxuKTogU2lnbmFsPG51bWJlcj47XG4vLyBmb3Igc3RyaW5nLCB0cmFuc2Zvcm0gaXMgb3B0aW9uYWxcbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RRdWVyeVBhcmFtcyhcbiAga2V5OiBzdHJpbmcsXG4gIG9wdGlvbnM6IHt0cmFuc2Zvcm0/OiAodjogc3RyaW5nKSA9PiBzdHJpbmc7IGluaXRpYWxWYWx1ZTogc3RyaW5nfSxcbik6IFNpZ25hbDxzdHJpbmc+O1xuXG4vLyBpbml0aWFsVmFsdWUgbm90IHByb3ZpZGVkLCBtdXN0IHByb3ZpZGUgdHJhbnNmb3JtIGZuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0UXVlcnlQYXJhbXMoXG4gIGtleTogc3RyaW5nLFxuICBvcHRpb25zOiB7dHJhbnNmb3JtOiAodjogc3RyaW5nKSA9PiBib29sZWFuOyBpbml0aWFsVmFsdWU/OiB1bmRlZmluZWR9LFxuKTogU2lnbmFsPGJvb2xlYW4gfCBudWxsPjtcbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RRdWVyeVBhcmFtcyhcbiAga2V5OiBzdHJpbmcsXG4gIG9wdGlvbnM6IHt0cmFuc2Zvcm06ICh2OiBzdHJpbmcpID0+IG51bWJlcjsgaW5pdGlhbFZhbHVlPzogdW5kZWZpbmVkfSxcbik6IFNpZ25hbDxudW1iZXIgfCBudWxsPjtcbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RRdWVyeVBhcmFtcyhcbiAga2V5OiBzdHJpbmcsXG4gIG9wdGlvbnM6IHt0cmFuc2Zvcm06ICh2OiBzdHJpbmcpID0+IHN0cmluZzsgaW5pdGlhbFZhbHVlPzogdW5kZWZpbmVkfSxcbik6IFNpZ25hbDxzdHJpbmcgfCBudWxsPjtcblxuLyoqXG4gKiBUaGUgYGluamVjdFF1ZXJ5UGFyYW1zYCBmdW5jdGlvbiBhbGxvd3MgeW91IHRvIGFjY2VzcyBhbmQgbWFuaXB1bGF0ZSBxdWVyeSBwYXJhbWV0ZXJzIGZyb20gdGhlIGN1cnJlbnQgcm91dGUuXG4gKlxuICogQHRlbXBsYXRlIE91dHB1dCAtIFRoZSBleHBlY3RlZCB0eXBlIG9mIHRoZSByZWFkIHZhbHVlLlxuICogQHBhcmFtIHtzdHJpbmd9IGtleU9yUGFyYW1zVHJhbnNmb3JtIC0gVGhlIG5hbWUgb2YgdGhlIHF1ZXJ5IHBhcmFtZXRlciB0byByZXRyaWV2ZSwgb3IgYSB0cmFuc2Zvcm0gZnVuY3Rpb24gdG8gYXBwbHkgdG8gdGhlIHF1ZXJ5IHBhcmFtZXRlcnMgb2JqZWN0LlxuICogQHBhcmFtIHtRdWVyeVBhcmFtc09wdGlvbnN9IG9wdGlvbnMgLSBPcHRpb25hbCBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoZSBxdWVyeSBwYXJhbWV0ZXIuXG4gKiBAcmV0dXJucyB7UXVlcnlQYXJhbXNPcHRpb25zfSBBIGBTaWduYWxgIHRoYXQgZW1pdHMgdGhlIHRyYW5zZm9ybWVkIHZhbHVlIG9mIHRoZSBzcGVjaWZpZWQgcXVlcnkgcGFyYW1ldGVyLCBvciB0aGUgZW50aXJlIHF1ZXJ5IHBhcmFtZXRlcnMgb2JqZWN0IGlmIG5vIGtleSBpcyBwcm92aWRlZC5cbiAqXG4gKiBAZXhhbXBsZVxuICogY29uc3Qgc2VhcmNoID0gaW5qZWN0UXVlcnlQYXJhbXMoJ3NlYXJjaCcpOyAvLyByZXR1cm5zIHRoZSB2YWx1ZSBvZiB0aGUgJ3NlYXJjaCcgcXVlcnkgcGFyYW1cbiAqIGNvbnN0IHNlYXJjaCA9IGluamVjdFF1ZXJ5UGFyYW1zKHAgPT4gcFsnc2VhcmNoJ10gYXMgc3RyaW5nKTsgLy8gc2FtZSBhcyBhYm92ZSBidXQgY2FuIGJlIHVzZWQgd2l0aCBhIGN1c3RvbSB0cmFuc2Zvcm0gZnVuY3Rpb25cbiAqIGNvbnN0IGlkUGFyYW0gPSBpbmplY3RRdWVyeVBhcmFtcygnaWQnLCB7dHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGV9KTsgLy8gcmV0dXJucyB0aGUgdmFsdWUgZm8gdGhlICdpZCcgcXVlcnkgcGFyYW1zIGFuZCB0cmFuc2Zvcm1zIGl0IGludG8gYSBudW1iZXJcbiAqIGNvbnN0IGlkUGFyYW0gPSBpbmplY3RRdWVyeVBhcmFtcyhwID0+IG51bWJlckF0dHJpYnV0ZShwWydpZCddKSk7IC8vIHNhbWUgYXMgYWJvdmUgYnV0IGNhbiBiZSB1c2VkIHdpdGggYSBjdXN0b20gdHJhbnNmb3JtIGZ1bmN0aW9uXG4gKiBjb25zdCBxdWVyeVBhcmFtcyA9IGluamVjdFF1ZXJ5UGFyYW1zKCk7IC8vIHJldHVybnMgdGhlIGVudGlyZSBxdWVyeSBwYXJhbXMgb2JqZWN0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RRdWVyeVBhcmFtczxPdXRwdXQ+KFxuICBrZXlPclBhcmFtc1RyYW5zZm9ybT86IHN0cmluZyB8IFF1ZXJ5UGFyYW1zVHJhbnNmb3JtRm48T3V0cHV0PixcbiAgb3B0aW9uczogUXVlcnlQYXJhbXNPcHRpb25zPE91dHB1dD4gPSB7fSxcbik6IFNpZ25hbDxPdXRwdXQgfCBQYXJhbXMgfCBzdHJpbmcgfCBib29sZWFuIHwgbnVtYmVyIHwgbnVsbD4ge1xuICBhc3NlcnRJbkluamVjdGlvbkNvbnRleHQoaW5qZWN0UXVlcnlQYXJhbXMpO1xuXG4gIGNvbnN0IHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgY29uc3QgaW5pdGlhbFF1ZXJ5UGFyYW1zID0gcm91dGUuc25hcHNob3QucXVlcnlQYXJhbXM7XG5cbiAgY29uc3Qge3RyYW5zZm9ybSwgaW5pdGlhbFZhbHVlfSA9IG9wdGlvbnM7XG5cbiAgLy8gaW5qZWN0UXVlcnlQYXJhbXMoKTogU2lnbmFsPFBhcmFtcz5cbiAgaWYgKCFrZXlPclBhcmFtc1RyYW5zZm9ybSkge1xuICAgIHJldHVybiB0b1NpZ25hbChyb3V0ZS5xdWVyeVBhcmFtcywge2luaXRpYWxWYWx1ZTogaW5pdGlhbFF1ZXJ5UGFyYW1zfSk7XG4gIH1cblxuICAvLyBpbmplY3RRdWVyeVBhcmFtczxPdXRwdXQ+KGZuOiBRdWVyeVBhcmFtc1RyYW5zZm9ybUZuPE91dHB1dD4pOiBTaWduYWw8T3V0cHV0PlxuICBpZiAodHlwZW9mIGtleU9yUGFyYW1zVHJhbnNmb3JtID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIHRvU2lnbmFsKHJvdXRlLnF1ZXJ5UGFyYW1zLnBpcGUobWFwKGtleU9yUGFyYW1zVHJhbnNmb3JtKSksIHtcbiAgICAgIGluaXRpYWxWYWx1ZToga2V5T3JQYXJhbXNUcmFuc2Zvcm0oaW5pdGlhbFF1ZXJ5UGFyYW1zKSxcbiAgICB9KTtcbiAgfVxuXG4gIC8vIGtleU9yUGFyYW1zVHJhbnNmb3JtIGlzIHN0cmluZy5cbiAgY29uc3QgZ2V0UGFyYW0gPSAocGFyYW1zOiBQYXJhbXMpID0+IHtcbiAgICBjb25zdCBwYXJhbSA9IHBhcmFtcz8uW2tleU9yUGFyYW1zVHJhbnNmb3JtXSBhcyBzdHJpbmcgfCBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcblxuICAgIGlmICghcGFyYW0pIHtcbiAgICAgIHJldHVybiBpbml0aWFsVmFsdWUgPz8gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShwYXJhbSkpIHtcbiAgICAgIGlmIChwYXJhbS5sZW5ndGggPCAxKSB7XG4gICAgICAgIHJldHVybiBpbml0aWFsVmFsdWUgPz8gbnVsbDtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cmFuc2Zvcm0gPyB0cmFuc2Zvcm0ocGFyYW1bMF0pIDogcGFyYW1bMF07XG4gICAgfVxuXG4gICAgcmV0dXJuIHRyYW5zZm9ybSA/IHRyYW5zZm9ybShwYXJhbSkgOiBwYXJhbTtcbiAgfTtcblxuICByZXR1cm4gdG9TaWduYWwocm91dGUucXVlcnlQYXJhbXMucGlwZShtYXAoZ2V0UGFyYW0pKSwge1xuICAgIGluaXRpYWxWYWx1ZTogZ2V0UGFyYW0oaW5pdGlhbFF1ZXJ5UGFyYW1zKSxcbiAgfSk7XG59XG4iXX0=
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { assertInInjectionContext, isSignal, untracked } from '@angular/core';
|
|
2
|
+
import { toObservable, toSignal } from '@angular/core/rxjs-interop';
|
|
3
|
+
import { distinctUntilChanged, from, identity, isObservable, merge, startWith, } from 'rxjs';
|
|
4
|
+
// No object inputs
|
|
5
|
+
/**
|
|
6
|
+
* merge multiple `Observable` or `Signal` sources into a `Signal` that emits the last value. It's like merge.
|
|
7
|
+
*
|
|
8
|
+
* @param {ObservableSignalInputTuple} sources - Array of `Observable` or `Signal` values
|
|
9
|
+
* @param {OperatorFunction} [operator] - Operator to apply to the merge
|
|
10
|
+
* @param {MergeFromOptions} [options] - Options including `initialValue` and `injector`
|
|
11
|
+
* @returns Signal emitting the latest merge result
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```ts
|
|
15
|
+
* export class Component {
|
|
16
|
+
* e$ = of(1).pipe(delay(1000));
|
|
17
|
+
* f = signal(2);
|
|
18
|
+
*
|
|
19
|
+
* data = mergeFrom(
|
|
20
|
+
* [this.e$, this.f],
|
|
21
|
+
* pipe(
|
|
22
|
+
* switchMap((res) => of(`${res} is coming~`)),
|
|
23
|
+
* startWith(0),
|
|
24
|
+
* ),
|
|
25
|
+
* );
|
|
26
|
+
* }
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export function mergeFrom(...args) {
|
|
30
|
+
assertInInjectionContext(mergeFrom);
|
|
31
|
+
const [sources, operator = identity, options = {}] = parseArgs(args);
|
|
32
|
+
const normalizedSources = sources.map((source) => {
|
|
33
|
+
if (isSignal(source)) {
|
|
34
|
+
return toObservable(source, { injector: options.injector }).pipe(startWith(untracked(source)));
|
|
35
|
+
}
|
|
36
|
+
if (!isObservable(source)) {
|
|
37
|
+
source = from(source);
|
|
38
|
+
}
|
|
39
|
+
return source.pipe(distinctUntilChanged());
|
|
40
|
+
});
|
|
41
|
+
const merged$ = merge(...normalizedSources).pipe(operator);
|
|
42
|
+
if (options.initialValue !== undefined) {
|
|
43
|
+
return toSignal(merged$, { initialValue: options.initialValue, injector: options.injector });
|
|
44
|
+
}
|
|
45
|
+
return toSignal(merged$, { requireSync: true, injector: options.injector });
|
|
46
|
+
}
|
|
47
|
+
function parseArgs(args) {
|
|
48
|
+
if (!args || args.length < 1) {
|
|
49
|
+
throw new TypeError('mergeFrom needs sources');
|
|
50
|
+
}
|
|
51
|
+
if (args.length === 1) {
|
|
52
|
+
return [args[0], undefined, undefined];
|
|
53
|
+
}
|
|
54
|
+
if (args.length === 2) {
|
|
55
|
+
const hasOperator = typeof args[1] === 'function';
|
|
56
|
+
if (hasOperator) {
|
|
57
|
+
return [
|
|
58
|
+
args[0],
|
|
59
|
+
args[1],
|
|
60
|
+
undefined,
|
|
61
|
+
];
|
|
62
|
+
}
|
|
63
|
+
return [
|
|
64
|
+
args[0],
|
|
65
|
+
undefined,
|
|
66
|
+
args[1],
|
|
67
|
+
];
|
|
68
|
+
}
|
|
69
|
+
return args;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVyZ2UtZnJvbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWZ0L3NyYy9saWIvc2lnbmFscy9tZXJnZS1mcm9tLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx3QkFBd0IsRUFBWSxRQUFRLEVBQVUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBQyxZQUFZLEVBQUUsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDbEUsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixJQUFJLEVBQ0osUUFBUSxFQUNSLFlBQVksRUFDWixLQUFLLEVBR0wsU0FBUyxHQUNWLE1BQU0sTUFBTSxDQUFDO0FBeUJkLG1CQUFtQjtBQUVuQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1Qkc7QUFDSCxNQUFNLFVBQVUsU0FBUyxDQUEyRCxHQUFHLElBQWU7SUFDcEcsd0JBQXdCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFcEMsTUFBTSxDQUFDLE9BQU8sRUFBRSxRQUFRLEdBQUcsUUFBUSxFQUFFLE9BQU8sR0FBRyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQWdCLElBQUksQ0FBQyxDQUFDO0lBRXBGLE1BQU0saUJBQWlCLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1FBQy9DLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3BCLE9BQU8sWUFBWSxDQUFDLE1BQU0sRUFBRSxFQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUSxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDOUY7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3pCLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDdkI7UUFFRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUMsQ0FBQyxDQUFDO0lBRUgsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLEdBQUcsaUJBQWlCLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBbUQsQ0FBQyxDQUFDO0lBRXRHLElBQUksT0FBTyxDQUFDLFlBQVksS0FBSyxTQUFTLEVBQUU7UUFDdEMsT0FBTyxRQUFRLENBQUMsT0FBTyxFQUFFLEVBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFzQixFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUSxFQUFDLENBQUMsQ0FBQztLQUN0RztJQUNELE9BQU8sUUFBUSxDQUFDLE9BQU8sRUFBRSxFQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUMsQ0FBQyxDQUFDO0FBQzVFLENBQUM7QUFFRCxTQUFTLFNBQVMsQ0FBMkQsSUFBZTtJQUMxRixJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1FBQzVCLE1BQU0sSUFBSSxTQUFTLENBQUMseUJBQXlCLENBQUMsQ0FBQztLQUNoRDtJQUVELElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDckIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQW9ELEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBVSxDQUFDO0tBQ3BHO0lBRUQsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUNyQixNQUFNLFdBQVcsR0FBRyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxVQUFVLENBQUM7UUFFbEQsSUFBSSxXQUFXLEVBQUU7WUFDZixPQUFPO2dCQUNMLElBQUksQ0FBQyxDQUFDLENBQW9EO2dCQUMxRCxJQUFJLENBQUMsQ0FBQyxDQUE0QztnQkFDbEQsU0FBUzthQUNELENBQUM7U0FDWjtRQUVELE9BQU87WUFDTCxJQUFJLENBQUMsQ0FBQyxDQUFvRDtZQUMxRCxTQUFTO1lBQ1QsSUFBSSxDQUFDLENBQUMsQ0FBNkI7U0FDM0IsQ0FBQztLQUNaO0lBRUQsT0FBTyxJQUlOLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHthc3NlcnRJbkluamVjdGlvbkNvbnRleHQsIEluamVjdG9yLCBpc1NpZ25hbCwgU2lnbmFsLCB1bnRyYWNrZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0b09ic2VydmFibGUsIHRvU2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge1xuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgZnJvbSxcbiAgaWRlbnRpdHksXG4gIGlzT2JzZXJ2YWJsZSxcbiAgbWVyZ2UsXG4gIE9ic2VydmFibGVJbnB1dCxcbiAgT3BlcmF0b3JGdW5jdGlvbixcbiAgc3RhcnRXaXRoLFxufSBmcm9tICdyeGpzJztcblxudHlwZSBPYnNlcnZhYmxlU2lnbmFsSW5wdXQ8VD4gPSBPYnNlcnZhYmxlSW5wdXQ8VD4gfCBTaWduYWw8VD47XG5cbnR5cGUgT2JzZXJ2YWJsZVNpZ25hbElucHV0VHVwbGU8VD4gPSB7XG4gIFtLIGluIGtleW9mIFRdOiBPYnNlcnZhYmxlU2lnbmFsSW5wdXQ8VFtLXT47XG59O1xuXG4vLyBwaWNrIGZyb20gVG9TaWduYWxPcHRpb25zXG5leHBvcnQgdHlwZSBNZXJnZUZyb21PcHRpb25zPFQ+ID0ge1xuICByZWFkb25seSBpbmplY3Rvcj86IEluamVjdG9yO1xuICByZWFkb25seSBpbml0aWFsVmFsdWU/OiBUIHwgbnVsbDtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZUZyb208SW5wdXQgZXh0ZW5kcyByZWFkb25seSB1bmtub3duW10sIE91dHB1dCA9IElucHV0W251bWJlcl0+KFxuICBzb3VyY2VzOiByZWFkb25seSBbLi4uT2JzZXJ2YWJsZVNpZ25hbElucHV0VHVwbGU8SW5wdXQ+XSxcbiAgb3BlcmF0b3I/OiBPcGVyYXRvckZ1bmN0aW9uPElucHV0W251bWJlcl0sIE91dHB1dD4sXG4gIG9wdGlvbnM/OiBNZXJnZUZyb21PcHRpb25zPE91dHB1dD4sXG4pOiBTaWduYWw8T3V0cHV0PjtcblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlRnJvbTxJbnB1dCBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXSwgT3V0cHV0ID0gSW5wdXRbbnVtYmVyXT4oXG4gIHNvdXJjZXM6IHJlYWRvbmx5IFsuLi5PYnNlcnZhYmxlU2lnbmFsSW5wdXRUdXBsZTxJbnB1dD5dLFxuICBvcHRpb25zPzogTWVyZ2VGcm9tT3B0aW9uczxPdXRwdXQ+LFxuKTogU2lnbmFsPE91dHB1dD47XG5cbi8vIE5vIG9iamVjdCBpbnB1dHNcblxuLyoqXG4gKiBtZXJnZSBtdWx0aXBsZSBgT2JzZXJ2YWJsZWAgb3IgYFNpZ25hbGAgc291cmNlcyBpbnRvIGEgYFNpZ25hbGAgdGhhdCBlbWl0cyB0aGUgbGFzdCB2YWx1ZS4gSXQncyBsaWtlIG1lcmdlLlxuICpcbiAqIEBwYXJhbSB7T2JzZXJ2YWJsZVNpZ25hbElucHV0VHVwbGV9IHNvdXJjZXMgLSBBcnJheSBvZiBgT2JzZXJ2YWJsZWAgb3IgYFNpZ25hbGAgdmFsdWVzXG4gKiBAcGFyYW0ge09wZXJhdG9yRnVuY3Rpb259IFtvcGVyYXRvcl0gLSBPcGVyYXRvciB0byBhcHBseSB0byB0aGUgbWVyZ2VcbiAqIEBwYXJhbSB7TWVyZ2VGcm9tT3B0aW9uc30gW29wdGlvbnNdIC0gT3B0aW9ucyBpbmNsdWRpbmcgYGluaXRpYWxWYWx1ZWAgYW5kIGBpbmplY3RvcmBcbiAqIEByZXR1cm5zIFNpZ25hbCBlbWl0dGluZyB0aGUgbGF0ZXN0IG1lcmdlIHJlc3VsdFxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogZXhwb3J0IGNsYXNzIENvbXBvbmVudCB7XG4gKiAgIGUkID0gb2YoMSkucGlwZShkZWxheSgxMDAwKSk7XG4gKiAgIGYgPSBzaWduYWwoMik7XG4gKlxuICogICBkYXRhID0gbWVyZ2VGcm9tKFxuICogICAgIFt0aGlzLmUkLCB0aGlzLmZdLFxuICogICAgIHBpcGUoXG4gKiAgICAgICBzd2l0Y2hNYXAoKHJlcykgPT4gb2YoYCR7cmVzfSBpcyBjb21pbmd+YCkpLFxuICogICAgICAgc3RhcnRXaXRoKDApLFxuICogICAgICksXG4gKiAgICk7XG4gKiB9XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlRnJvbTxJbnB1dCBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXSwgT3V0cHV0ID0gSW5wdXRbbnVtYmVyXT4oLi4uYXJnczogdW5rbm93bltdKSB7XG4gIGFzc2VydEluSW5qZWN0aW9uQ29udGV4dChtZXJnZUZyb20pO1xuXG4gIGNvbnN0IFtzb3VyY2VzLCBvcGVyYXRvciA9IGlkZW50aXR5LCBvcHRpb25zID0ge31dID0gcGFyc2VBcmdzPElucHV0LCBPdXRwdXQ+KGFyZ3MpO1xuXG4gIGNvbnN0IG5vcm1hbGl6ZWRTb3VyY2VzID0gc291cmNlcy5tYXAoKHNvdXJjZSkgPT4ge1xuICAgIGlmIChpc1NpZ25hbChzb3VyY2UpKSB7XG4gICAgICByZXR1cm4gdG9PYnNlcnZhYmxlKHNvdXJjZSwge2luamVjdG9yOiBvcHRpb25zLmluamVjdG9yfSkucGlwZShzdGFydFdpdGgodW50cmFja2VkKHNvdXJjZSkpKTtcbiAgICB9XG5cbiAgICBpZiAoIWlzT2JzZXJ2YWJsZShzb3VyY2UpKSB7XG4gICAgICBzb3VyY2UgPSBmcm9tKHNvdXJjZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNvdXJjZS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICB9KTtcblxuICBjb25zdCBtZXJnZWQkID0gbWVyZ2UoLi4ubm9ybWFsaXplZFNvdXJjZXMpLnBpcGUob3BlcmF0b3IgYXMgT3BlcmF0b3JGdW5jdGlvbjxJbnB1dFtudW1iZXJdLCBPdXRwdXQ+KTtcblxuICBpZiAob3B0aW9ucy5pbml0aWFsVmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB0b1NpZ25hbChtZXJnZWQkLCB7aW5pdGlhbFZhbHVlOiBvcHRpb25zLmluaXRpYWxWYWx1ZSBhcyBPdXRwdXQsIGluamVjdG9yOiBvcHRpb25zLmluamVjdG9yfSk7XG4gIH1cbiAgcmV0dXJuIHRvU2lnbmFsKG1lcmdlZCQsIHtyZXF1aXJlU3luYzogdHJ1ZSwgaW5qZWN0b3I6IG9wdGlvbnMuaW5qZWN0b3J9KTtcbn1cblxuZnVuY3Rpb24gcGFyc2VBcmdzPElucHV0IGV4dGVuZHMgcmVhZG9ubHkgdW5rbm93bltdLCBPdXRwdXQgPSBJbnB1dFtudW1iZXJdPihhcmdzOiB1bmtub3duW10pIHtcbiAgaWYgKCFhcmdzIHx8IGFyZ3MubGVuZ3RoIDwgMSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ21lcmdlRnJvbSBuZWVkcyBzb3VyY2VzJyk7XG4gIH1cblxuICBpZiAoYXJncy5sZW5ndGggPT09IDEpIHtcbiAgICByZXR1cm4gW2FyZ3NbMF0gYXMgcmVhZG9ubHkgWy4uLk9ic2VydmFibGVTaWduYWxJbnB1dFR1cGxlPElucHV0Pl0sIHVuZGVmaW5lZCwgdW5kZWZpbmVkXSBhcyBjb25zdDtcbiAgfVxuXG4gIGlmIChhcmdzLmxlbmd0aCA9PT0gMikge1xuICAgIGNvbnN0IGhhc09wZXJhdG9yID0gdHlwZW9mIGFyZ3NbMV0gPT09ICdmdW5jdGlvbic7XG5cbiAgICBpZiAoaGFzT3BlcmF0b3IpIHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIGFyZ3NbMF0gYXMgcmVhZG9ubHkgWy4uLk9ic2VydmFibGVTaWduYWxJbnB1dFR1cGxlPElucHV0Pl0sXG4gICAgICAgIGFyZ3NbMV0gYXMgT3BlcmF0b3JGdW5jdGlvbjxJbnB1dFtudW1iZXJdLCBPdXRwdXQ+LFxuICAgICAgICB1bmRlZmluZWQsXG4gICAgICBdIGFzIGNvbnN0O1xuICAgIH1cblxuICAgIHJldHVybiBbXG4gICAgICBhcmdzWzBdIGFzIHJlYWRvbmx5IFsuLi5PYnNlcnZhYmxlU2lnbmFsSW5wdXRUdXBsZTxJbnB1dD5dLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgYXJnc1sxXSBhcyBNZXJnZUZyb21PcHRpb25zPE91dHB1dD4sXG4gICAgXSBhcyBjb25zdDtcbiAgfVxuXG4gIHJldHVybiBhcmdzIGFzIHVua25vd24gYXMgW1xuICAgIHJlYWRvbmx5IFsuLi5PYnNlcnZhYmxlU2lnbmFsSW5wdXRUdXBsZTxJbnB1dD5dLFxuICAgIE9wZXJhdG9yRnVuY3Rpb248SW5wdXRbbnVtYmVyXSwgT3V0cHV0PixcbiAgICBNZXJnZUZyb21PcHRpb25zPE91dHB1dD4sXG4gIF07XG59XG4iXX0=
|