@ngutil/common 0.0.69 → 0.0.70

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.
@@ -1,6 +1,6 @@
1
1
  import { takeUntilDestroyed } from "@angular/core/rxjs-interop";
2
2
  import { debounceTime, distinctUntilChanged, map, shareReplay, startWith } from "rxjs";
3
- import { isEqual } from "lodash";
3
+ import { isEqual } from "lodash-es";
4
4
  import { isFalsy } from "../util";
5
5
  export const DEFAULT = { distinct: true, destruct: true };
6
6
  export const VALUE_DEFAULT = { ...DEFAULT, falsyToNull: true };
@@ -27,4 +27,4 @@ function handleCommonOptions(o, opts) {
27
27
  }
28
28
  return o.pipe(shareReplay(1));
29
29
  }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2YWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvZm9ybS9vYnNlcnZhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBRy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFjLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFFbEcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUVoQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBd0JqQyxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQXNCLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUE7QUFDNUUsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUEyQixFQUFFLEdBQUcsT0FBTyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQTtBQUV0RixNQUFNLFVBQVUsaUJBQWlCLENBQzdCLEVBQWtCLEVBQ2xCLE9BQVUsYUFBb0I7SUFFOUIsSUFBSSxNQUFNLEdBQW9CLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUM5QyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQ2YsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FDdEIsQ0FBQTtJQUVELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hCLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQTtJQUNyRCxDQUFDO0lBRUQsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzNELENBQUM7SUFFRCxPQUFPLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQVEsQ0FBQTtBQUNuRCxDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUNoQyxFQUFrQixFQUNsQixRQUFXLEVBQ1gsT0FBMEIsT0FBTztJQUVqQyxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDaEMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUNmLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FDMUIsQ0FBQTtJQUVELE9BQU8sbUJBQW1CLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFBO0FBQzVDLENBQUM7QUFFRCxTQUFTLG1CQUFtQixDQUFJLENBQWdCLEVBQUUsSUFBdUI7SUFDckUsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtJQUM3QyxDQUFDO0lBRUQsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFBO0lBQ3BDLENBQUM7SUFFRCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDakMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcFwiXG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiXG5cbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgT2JzZXJ2YWJsZSwgc2hhcmVSZXBsYXksIHN0YXJ0V2l0aCB9IGZyb20gXCJyeGpzXCJcblxuaW1wb3J0IHsgaXNFcXVhbCB9IGZyb20gXCJsb2Rhc2hcIlxuXG5pbXBvcnQgeyBpc0ZhbHN5IH0gZnJvbSBcIi4uL3V0aWxcIlxuXG5leHBvcnQgaW50ZXJmYWNlIE9ic2VydmFibGVPcHRpb25zIHtcbiAgICBkaXN0aW5jdD86IGJvb2xlYW5cbiAgICBkZXN0cnVjdD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBPYnNlcnZhYmxlVmFsdWVPcHRpb25zIGV4dGVuZHMgT2JzZXJ2YWJsZU9wdGlvbnMge1xuICAgIGRlYm91bmNlPzogbnVtYmVyXG4gICAgZmFsc3lUb051bGw/OiBib29sZWFuXG59XG5cbmV4cG9ydCB0eXBlIEZvcm1Db250cm9sUHJvcGVydGllcyA9XG4gICAgfCBcInZhbGlkXCJcbiAgICB8IFwiaW52YWxpZFwiXG4gICAgfCBcInN0YXR1c1wiXG4gICAgfCBcInByaXN0aW5lXCJcbiAgICB8IFwiZGlydHlcIlxuICAgIHwgXCJ0b3VjaGVkXCJcbiAgICB8IFwidW50b3VjaGVkXCJcbiAgICB8IFwiZGlzYWJsZWRcIlxuICAgIHwgXCJlbmFibGVkXCJcbiAgICB8IFwiZXJyb3JzXCJcblxuZXhwb3J0IGNvbnN0IERFRkFVTFQ6IE9ic2VydmFibGVPcHRpb25zID0geyBkaXN0aW5jdDogdHJ1ZSwgZGVzdHJ1Y3Q6IHRydWUgfVxuZXhwb3J0IGNvbnN0IFZBTFVFX0RFRkFVTFQ6IE9ic2VydmFibGVWYWx1ZU9wdGlvbnMgPSB7IC4uLkRFRkFVTFQsIGZhbHN5VG9OdWxsOiB0cnVlIH1cblxuZXhwb3J0IGZ1bmN0aW9uIGZjT2JzZXJ2YWJsZVZhbHVlPFQsIE8gZXh0ZW5kcyBPYnNlcnZhYmxlVmFsdWVPcHRpb25zPihcbiAgICBmYzogRm9ybUNvbnRyb2w8VD4sXG4gICAgb3B0czogTyA9IFZBTFVFX0RFRkFVTFQgYXMgYW55XG4pOiBPYnNlcnZhYmxlPE8gZXh0ZW5kcyB7IGZhbHN5VG9OdWxsOiB0cnVlIH0gPyBUIHwgbnVsbCA6IFQ+IHtcbiAgICBsZXQgcmVzdWx0OiBPYnNlcnZhYmxlPGFueT4gPSBmYy52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgICAgc3RhcnRXaXRoKG51bGwpLFxuICAgICAgICBtYXAoKCkgPT4gZmMudmFsdWUpXG4gICAgKVxuXG4gICAgaWYgKG9wdHMuZGVib3VuY2UpIHtcbiAgICAgICAgcmVzdWx0ID0gcmVzdWx0LnBpcGUoZGVib3VuY2VUaW1lKG9wdHMuZGVib3VuY2UpKVxuICAgIH1cblxuICAgIGlmIChvcHRzLmZhbHN5VG9OdWxsKSB7XG4gICAgICAgIHJlc3VsdCA9IHJlc3VsdC5waXBlKG1hcCh2ID0+IChpc0ZhbHN5KHYpID8gbnVsbCA6IHYpKSlcbiAgICB9XG5cbiAgICByZXR1cm4gaGFuZGxlQ29tbW9uT3B0aW9ucyhyZXN1bHQsIG9wdHMpIGFzIGFueVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmNPYnNlcnZhYmxlUHJvcGVydHk8VCwgUCBleHRlbmRzIEZvcm1Db250cm9sUHJvcGVydGllcz4oXG4gICAgZmM6IEZvcm1Db250cm9sPFQ+LFxuICAgIHByb3BlcnR5OiBQLFxuICAgIG9wdHM6IE9ic2VydmFibGVPcHRpb25zID0gREVGQVVMVFxuKTogT2JzZXJ2YWJsZTxGb3JtQ29udHJvbDxUPltQXT4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IGZjLnN0YXR1c0NoYW5nZXMucGlwZShcbiAgICAgICAgc3RhcnRXaXRoKG51bGwpLFxuICAgICAgICBtYXAoKCkgPT4gZmNbcHJvcGVydHldKVxuICAgIClcblxuICAgIHJldHVybiBoYW5kbGVDb21tb25PcHRpb25zKHJlc3VsdCwgb3B0cylcbn1cblxuZnVuY3Rpb24gaGFuZGxlQ29tbW9uT3B0aW9uczxUPihvOiBPYnNlcnZhYmxlPFQ+LCBvcHRzOiBPYnNlcnZhYmxlT3B0aW9ucyk6IE9ic2VydmFibGU8VD4ge1xuICAgIGlmIChvcHRzLmRpc3RpbmN0KSB7XG4gICAgICAgIG8gPSBvLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoaXNFcXVhbCkpXG4gICAgfVxuXG4gICAgaWYgKG9wdHMuZGVzdHJ1Y3QpIHtcbiAgICAgICAgbyA9IG8ucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICB9XG5cbiAgICByZXR1cm4gby5waXBlKHNoYXJlUmVwbGF5KDEpKVxufVxuIl19
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2YWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvZm9ybS9vYnNlcnZhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBRy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFjLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFFbEcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUVuQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBd0JqQyxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQXNCLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUE7QUFDNUUsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUEyQixFQUFFLEdBQUcsT0FBTyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQTtBQUV0RixNQUFNLFVBQVUsaUJBQWlCLENBQzdCLEVBQWtCLEVBQ2xCLE9BQVUsYUFBb0I7SUFFOUIsSUFBSSxNQUFNLEdBQW9CLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUM5QyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQ2YsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FDdEIsQ0FBQTtJQUVELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hCLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQTtJQUNyRCxDQUFDO0lBRUQsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzNELENBQUM7SUFFRCxPQUFPLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQVEsQ0FBQTtBQUNuRCxDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUNoQyxFQUFrQixFQUNsQixRQUFXLEVBQ1gsT0FBMEIsT0FBTztJQUVqQyxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDaEMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUNmLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FDMUIsQ0FBQTtJQUVELE9BQU8sbUJBQW1CLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFBO0FBQzVDLENBQUM7QUFFRCxTQUFTLG1CQUFtQixDQUFJLENBQWdCLEVBQUUsSUFBdUI7SUFDckUsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtJQUM3QyxDQUFDO0lBRUQsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFBO0lBQ3BDLENBQUM7SUFFRCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDakMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcFwiXG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiXG5cbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgT2JzZXJ2YWJsZSwgc2hhcmVSZXBsYXksIHN0YXJ0V2l0aCB9IGZyb20gXCJyeGpzXCJcblxuaW1wb3J0IHsgaXNFcXVhbCB9IGZyb20gXCJsb2Rhc2gtZXNcIlxuXG5pbXBvcnQgeyBpc0ZhbHN5IH0gZnJvbSBcIi4uL3V0aWxcIlxuXG5leHBvcnQgaW50ZXJmYWNlIE9ic2VydmFibGVPcHRpb25zIHtcbiAgICBkaXN0aW5jdD86IGJvb2xlYW5cbiAgICBkZXN0cnVjdD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBPYnNlcnZhYmxlVmFsdWVPcHRpb25zIGV4dGVuZHMgT2JzZXJ2YWJsZU9wdGlvbnMge1xuICAgIGRlYm91bmNlPzogbnVtYmVyXG4gICAgZmFsc3lUb051bGw/OiBib29sZWFuXG59XG5cbmV4cG9ydCB0eXBlIEZvcm1Db250cm9sUHJvcGVydGllcyA9XG4gICAgfCBcInZhbGlkXCJcbiAgICB8IFwiaW52YWxpZFwiXG4gICAgfCBcInN0YXR1c1wiXG4gICAgfCBcInByaXN0aW5lXCJcbiAgICB8IFwiZGlydHlcIlxuICAgIHwgXCJ0b3VjaGVkXCJcbiAgICB8IFwidW50b3VjaGVkXCJcbiAgICB8IFwiZGlzYWJsZWRcIlxuICAgIHwgXCJlbmFibGVkXCJcbiAgICB8IFwiZXJyb3JzXCJcblxuZXhwb3J0IGNvbnN0IERFRkFVTFQ6IE9ic2VydmFibGVPcHRpb25zID0geyBkaXN0aW5jdDogdHJ1ZSwgZGVzdHJ1Y3Q6IHRydWUgfVxuZXhwb3J0IGNvbnN0IFZBTFVFX0RFRkFVTFQ6IE9ic2VydmFibGVWYWx1ZU9wdGlvbnMgPSB7IC4uLkRFRkFVTFQsIGZhbHN5VG9OdWxsOiB0cnVlIH1cblxuZXhwb3J0IGZ1bmN0aW9uIGZjT2JzZXJ2YWJsZVZhbHVlPFQsIE8gZXh0ZW5kcyBPYnNlcnZhYmxlVmFsdWVPcHRpb25zPihcbiAgICBmYzogRm9ybUNvbnRyb2w8VD4sXG4gICAgb3B0czogTyA9IFZBTFVFX0RFRkFVTFQgYXMgYW55XG4pOiBPYnNlcnZhYmxlPE8gZXh0ZW5kcyB7IGZhbHN5VG9OdWxsOiB0cnVlIH0gPyBUIHwgbnVsbCA6IFQ+IHtcbiAgICBsZXQgcmVzdWx0OiBPYnNlcnZhYmxlPGFueT4gPSBmYy52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgICAgc3RhcnRXaXRoKG51bGwpLFxuICAgICAgICBtYXAoKCkgPT4gZmMudmFsdWUpXG4gICAgKVxuXG4gICAgaWYgKG9wdHMuZGVib3VuY2UpIHtcbiAgICAgICAgcmVzdWx0ID0gcmVzdWx0LnBpcGUoZGVib3VuY2VUaW1lKG9wdHMuZGVib3VuY2UpKVxuICAgIH1cblxuICAgIGlmIChvcHRzLmZhbHN5VG9OdWxsKSB7XG4gICAgICAgIHJlc3VsdCA9IHJlc3VsdC5waXBlKG1hcCh2ID0+IChpc0ZhbHN5KHYpID8gbnVsbCA6IHYpKSlcbiAgICB9XG5cbiAgICByZXR1cm4gaGFuZGxlQ29tbW9uT3B0aW9ucyhyZXN1bHQsIG9wdHMpIGFzIGFueVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmNPYnNlcnZhYmxlUHJvcGVydHk8VCwgUCBleHRlbmRzIEZvcm1Db250cm9sUHJvcGVydGllcz4oXG4gICAgZmM6IEZvcm1Db250cm9sPFQ+LFxuICAgIHByb3BlcnR5OiBQLFxuICAgIG9wdHM6IE9ic2VydmFibGVPcHRpb25zID0gREVGQVVMVFxuKTogT2JzZXJ2YWJsZTxGb3JtQ29udHJvbDxUPltQXT4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IGZjLnN0YXR1c0NoYW5nZXMucGlwZShcbiAgICAgICAgc3RhcnRXaXRoKG51bGwpLFxuICAgICAgICBtYXAoKCkgPT4gZmNbcHJvcGVydHldKVxuICAgIClcblxuICAgIHJldHVybiBoYW5kbGVDb21tb25PcHRpb25zKHJlc3VsdCwgb3B0cylcbn1cblxuZnVuY3Rpb24gaGFuZGxlQ29tbW9uT3B0aW9uczxUPihvOiBPYnNlcnZhYmxlPFQ+LCBvcHRzOiBPYnNlcnZhYmxlT3B0aW9ucyk6IE9ic2VydmFibGU8VD4ge1xuICAgIGlmIChvcHRzLmRpc3RpbmN0KSB7XG4gICAgICAgIG8gPSBvLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoaXNFcXVhbCkpXG4gICAgfVxuXG4gICAgaWYgKG9wdHMuZGVzdHJ1Y3QpIHtcbiAgICAgICAgbyA9IG8ucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICB9XG5cbiAgICByZXR1cm4gby5waXBlKHNoYXJlUmVwbGF5KDEpKVxufVxuIl19
@@ -1,5 +1,5 @@
1
1
  import { catchError, concat, concatMap, filter, forkJoin, from, map, Observable, of, reduce, ReplaySubject, scan, share, shareReplay, Subject, take, takeLast, takeUntil, takeWhile, tap, throwError } from "rxjs";
2
- import { flatten } from "lodash";
2
+ import { flatten } from "lodash-es";
3
3
  export class StopLifecycle extends Error {
4
4
  }
5
5
  export class Lifecycle {
@@ -153,4 +153,4 @@ export class Lifecycle {
153
153
  }));
154
154
  }
155
155
  }
156
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlmZWN5Y2xlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWZlY3ljbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFVBQVUsRUFDVixNQUFNLEVBQ04sU0FBUyxFQUNULE1BQU0sRUFDTixRQUFRLEVBQ1IsSUFBSSxFQUNKLEdBQUcsRUFDSCxVQUFVLEVBRVYsRUFBRSxFQUNGLE1BQU0sRUFDTixhQUFhLEVBQ2IsSUFBSSxFQUNKLEtBQUssRUFDTCxXQUFXLEVBQ1gsT0FBTyxFQUVQLElBQUksRUFDSixRQUFRLEVBQ1IsU0FBUyxFQUNULFNBQVMsRUFDVCxHQUFHLEVBQ0gsVUFBVSxFQUNiLE1BQU0sTUFBTSxDQUFBO0FBRWIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUloQyxNQUFNLE9BQU8sYUFBYyxTQUFRLEtBQUs7Q0FBRztBQVczQyxNQUFNLE9BQU8sU0FBUztJQUVULFNBQVMsQ0FBa0Q7SUFFM0QsTUFBTSxDQUFzQjtJQUM1QixRQUFRLENBQW1CO0lBQzNCLE9BQU8sQ0EyQ2Y7SUFLRCxZQUFZLE1BQVM7UUFwRFosY0FBUyxHQUFnRCxFQUFFLENBQUE7UUFFM0QsV0FBTSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUE7UUFDNUIsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFLLENBQUE7UUFDM0IsWUFBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNqQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUN0QixJQUFJLENBQ0EsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNuQixNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFZLENBQUMsQ0FBQyxJQUFJLENBQzFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRTtvQkFDWCxJQUFJLFFBQVEsS0FBSyxLQUFLLEVBQUUsQ0FBQzt3QkFDckIsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUE7b0JBQzFCLENBQUM7Z0JBQ0wsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBaUIsQ0FBQyxFQUN0RCxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2pCLENBQUE7WUFDTCxDQUFDO1lBQ0QsT0FBTyxNQUFNLENBQUE7UUFDakIsQ0FBQyxFQUNELEVBQXlDLENBQzVDLEVBQ0QsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ2pCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFvQyxDQUFBO1lBQ3ZFLE9BQU8sTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUN2QixTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxFQUM3QyxNQUFNLENBQ0YsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRTtnQkFDekIsT0FBTyxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUE7WUFDMUMsQ0FBQyxFQUNELEVBQXdCLENBQzNCLENBQ0osQ0FBQTtRQUNMLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNULElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDekIsT0FBTTtZQUNWLENBQUM7WUFFRCxLQUFLLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO2dCQUMxQyxJQUFJLENBQUMsRUFBRSxDQUFDO29CQUNKLE9BQVEsSUFBSSxDQUFDLFNBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUE7Z0JBQ3JDLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQyxDQUFDLEVBQ0YsS0FBSyxFQUFFLENBQ1YsQ0FBQTtRQUVRLFlBQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUMzQyxhQUFRLEdBQUcsSUFBSSxhQUFhLEVBQUssQ0FBQTtRQUd0QyxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsR0FBRyxNQUFNLEVBQUUsQ0FBQTtRQUUzQixLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUN4QyxJQUFJLEtBQUssQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ3RCLEtBQUssQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFBO1lBQzVCLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVELEVBQUUsQ0FBQyxLQUFRLEVBQUUsRUFBb0I7UUFDN0IsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQ25DLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQ2hDLENBQUM7UUFFRCxPQUFPLEdBQUcsRUFBRTtZQUNSLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1lBQzlDLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ1gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFBO1lBQ3pDLENBQUM7UUFDTCxDQUFDLENBQUE7SUFDTCxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQVE7UUFDZCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNyQixTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUN0QixNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLENBQ3ZDLENBQUE7SUFDTCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQVE7UUFDWCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNwQixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFDL0IsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUNWLENBQUE7SUFDTCxDQUFDO0lBRUQsR0FBRyxDQUFDLEdBQUcsTUFBc0I7UUFDekIsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO1FBQ3pFLE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUE7UUFDdEMsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLElBQXNCLEVBQUUsRUFBRTtZQUM3QyxJQUFJLENBQUMsR0FBRyxDQUNKLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxFQUFFO2dCQUNuQyxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FDdEQsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLElBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNsRixDQUFDLENBQ0osQ0FBQTtnQkFFRCxJQUFJLGFBQWEsSUFBSSxhQUFhLEVBQUUsQ0FBQztvQkFDakMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFBO29CQUNYLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQTtnQkFDbkIsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUNMLENBQUE7WUFFRCxLQUFLLE1BQU0sQ0FBQyxJQUFJLFNBQVMsRUFBRSxDQUFDO2dCQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUN6QixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSCxPQUFPLENBQWdDLEtBQVEsRUFBRSxLQUErQjtRQUM1RSxNQUFNLE1BQU0sR0FBc0IsRUFBRSxDQUFBO1FBRXBDLEtBQUssTUFBTSxTQUFTLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUMvQyxNQUFNLFVBQVUsR0FBSSxLQUF3QixFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksU0FBUyxDQUFBO1lBQ3RFLElBQUksVUFBVSxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDN0IsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQWdCLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDdkUsQ0FBQztRQUNMLENBQUM7UUFFRCxPQUFPLEdBQUcsRUFBRTtZQUNSLEtBQUssTUFBTSxFQUFFLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ3RCLEVBQUUsRUFBRSxDQUFBO1lBQ1IsQ0FBQztRQUNMLENBQUMsQ0FBQTtJQUNMLENBQUM7SUFFRCxPQUFPO1FBQ0gsQ0FBQztRQUFDLElBQVksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFBO1FBQy9CLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUE7UUFDbEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUMxQixDQUFDO0lBRUQsSUFBSSxDQUFDLEtBQVE7UUFDVCxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2hELE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ25CLENBQUM7UUFFRCxPQUFPLElBQUksVUFBVSxDQUFDLENBQUMsSUFBeUIsRUFBRSxFQUFFO1lBQ2hELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBRXpCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDdEMsSUFBSSxRQUFRLElBQUksSUFBSSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQzVDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7Z0JBQ2YsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFBO2dCQUNmLE9BQU07WUFDVixDQUFDO1lBRUQsTUFBTSxXQUFXLEdBQTJCLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQy9ELE1BQU0sVUFBVSxHQUFHLE9BQU8sRUFBRSxDQUFBO2dCQUM1QixJQUFJLFVBQVUsSUFBSSxJQUFJLEVBQUUsQ0FBQztvQkFDckIsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUE7Z0JBQ25CLENBQUM7cUJBQU0sQ0FBQztvQkFDSixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTtnQkFDM0IsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFBO1lBRUYsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUVqQyxJQUFJLFdBQVcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQzNCLE9BQU8sV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDL0QsQ0FBQztpQkFBTSxJQUFJLE1BQU0sQ0FBQyxLQUFLLEtBQUssVUFBVSxFQUFFLENBQUM7Z0JBQ3JDLE9BQU8sUUFBUSxDQUFDLFdBQVcsQ0FBQztxQkFDdkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztxQkFDckIsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQ3hCLENBQUM7aUJBQU0sSUFBSSxNQUFNLENBQUMsS0FBSyxLQUFLLFlBQVksRUFBRSxDQUFDO2dCQUN2QyxPQUFPLE1BQU0sQ0FBQyxHQUFHLFdBQVcsQ0FBQztxQkFDeEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztxQkFDckIsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQ3hCLENBQUM7aUJBQU0sQ0FBQztnQkFDSixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO2dCQUNmLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQTtZQUNuQixDQUFDO1lBRUQsT0FBTTtRQUNWLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDSCxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQ1gsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2YsSUFBSSxLQUFLLFlBQVksYUFBYSxFQUFFLENBQUM7Z0JBQ2pDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ3BCLENBQUM7aUJBQU0sQ0FBQztnQkFDSixPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUNsQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQ0wsQ0FBQTtJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgY2F0Y2hFcnJvcixcbiAgICBjb25jYXQsXG4gICAgY29uY2F0TWFwLFxuICAgIGZpbHRlcixcbiAgICBmb3JrSm9pbixcbiAgICBmcm9tLFxuICAgIG1hcCxcbiAgICBPYnNlcnZhYmxlLFxuICAgIE9ic2VydmFibGVJbnB1dCxcbiAgICBvZixcbiAgICByZWR1Y2UsXG4gICAgUmVwbGF5U3ViamVjdCxcbiAgICBzY2FuLFxuICAgIHNoYXJlLFxuICAgIHNoYXJlUmVwbGF5LFxuICAgIFN1YmplY3QsXG4gICAgU3Vic2NyaWJlcixcbiAgICB0YWtlLFxuICAgIHRha2VMYXN0LFxuICAgIHRha2VVbnRpbCxcbiAgICB0YWtlV2hpbGUsXG4gICAgdGFwLFxuICAgIHRocm93RXJyb3Jcbn0gZnJvbSBcInJ4anNcIlxuXG5pbXBvcnQgeyBmbGF0dGVuIH0gZnJvbSBcImxvZGFzaFwiXG5cbmV4cG9ydCB0eXBlIExpZmVjeWNsZUhhbmRsZXIgPSAoKSA9PiBPYnNlcnZhYmxlSW5wdXQ8dW5rbm93bj4gfCBudWxsIHwgdW5kZWZpbmVkIHwgdm9pZFxuXG5leHBvcnQgY2xhc3MgU3RvcExpZmVjeWNsZSBleHRlbmRzIEVycm9yIHt9XG5cbmV4cG9ydCB0eXBlIExpZmVjeWNsZU9wdGlvbnMgPSBSZWNvcmQ8c3RyaW5nLCB7IG9yZGVyPzogXCJwYXJhbGxlbFwiIHwgXCJzZXF1ZW50aWFsXCI7IGNhbmNlbGxhYmxlPzogYm9vbGVhbiB9PlxuXG5leHBvcnQgdHlwZSBMaWZlY3ljbGVSZW1hcDxBLCBCPiA9XG4gICAgQSBleHRlbmRzIExpZmVjeWNsZTxpbmZlciBBTywgaW5mZXIgQVM+XG4gICAgICAgID8gQiBleHRlbmRzIExpZmVjeWNsZTxpbmZlciBCTywgaW5mZXIgQlM+XG4gICAgICAgICAgICA/IFBhcnRpYWw8eyBbSyBpbiBBU106IEJTIH0+XG4gICAgICAgICAgICA6IG5ldmVyXG4gICAgICAgIDogbmV2ZXJcblxuZXhwb3J0IGNsYXNzIExpZmVjeWNsZTxUIGV4dGVuZHMgTGlmZWN5Y2xlT3B0aW9ucywgUyBleHRlbmRzIGtleW9mIFQgPSBrZXlvZiBUPiB7XG4gICAgcmVhZG9ubHkgc3RhdGVzOiBUXG4gICAgcmVhZG9ubHkgI2hhbmRsZXJzOiBQYXJ0aWFsPFJlY29yZDxTLCBBcnJheTxMaWZlY3ljbGVIYW5kbGVyPj4+ID0ge31cblxuICAgIHJlYWRvbmx5ICN1bnRpbCA9IG5ldyBTdWJqZWN0PHZvaWQ+KClcbiAgICByZWFkb25seSAjdHJpZ2dlciA9IG5ldyBTdWJqZWN0PFM+KClcbiAgICByZWFkb25seSAjc3RhdHVzID0gdGhpcy4jdHJpZ2dlci5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy4jdW50aWwpLFxuICAgICAgICBzY2FuKFxuICAgICAgICAgICAgKHJlc3VsdCwgdHJpZ2dlcikgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghcmVzdWx0W3RyaWdnZXJdKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdFt0cmlnZ2VyXSA9IHRoaXMuI3J1bih0cmlnZ2VyIGFzIFMpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICB0YXAoZXhlY3V0ZWQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChleGVjdXRlZCA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIHJlc3VsdFt0cmlnZ2VyXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFwKGV4ZWN1dGVkID0+IFt0cmlnZ2VyLCAhIWV4ZWN1dGVkXSBhcyBbUywgYm9vbGVhbl0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge30gYXMgUmVjb3JkPFMsIE9ic2VydmFibGU8W1MsIGJvb2xlYW5dPj5cbiAgICAgICAgKSxcbiAgICAgICAgY29uY2F0TWFwKHRyaWdnZXJzID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNyY3MgPSBPYmplY3QudmFsdWVzKHRyaWdnZXJzKSBhcyBBcnJheTxPYnNlcnZhYmxlPFtTLCBib29sZWFuXT4+XG4gICAgICAgICAgICByZXR1cm4gY29uY2F0KC4uLnNyY3MpLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFrZVdoaWxlKChbXywgZXhlY3V0ZWRdKSA9PiBleGVjdXRlZCwgZmFsc2UpLFxuICAgICAgICAgICAgICAgIHJlZHVjZShcbiAgICAgICAgICAgICAgICAgICAgKHJlc3VsdCwgW25hbWUsIGV4ZWN1dGVkXSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgLi4ucmVzdWx0LCBbbmFtZV06IGV4ZWN1dGVkIH1cbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge30gYXMgUmVjb3JkPFMsIGJvb2xlYW4+XG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKVxuICAgICAgICB9KSxcbiAgICAgICAgdGFwKHN0YXR1cyA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy4jaGFuZGxlcnMgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IFtrLCB2XSBvZiBPYmplY3QuZW50cmllcyhzdGF0dXMpKSB7XG4gICAgICAgICAgICAgICAgaWYgKHYpIHtcbiAgICAgICAgICAgICAgICAgICAgZGVsZXRlICh0aGlzLiNoYW5kbGVycyBhcyBhbnkpW2tdXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgc2hhcmUoKVxuICAgIClcblxuICAgIHJlYWRvbmx5IHN0YXR1cyQgPSB0aGlzLiNzdGF0dXMucGlwZShzaGFyZVJlcGxheSgxKSlcbiAgICByZWFkb25seSBjdXJyZW50JCA9IG5ldyBSZXBsYXlTdWJqZWN0PFM+KClcblxuICAgIGNvbnN0cnVjdG9yKHN0YXRlczogVCkge1xuICAgICAgICB0aGlzLnN0YXRlcyA9IHsgLi4uc3RhdGVzIH1cblxuICAgICAgICBmb3IgKGNvbnN0IHZhbHVlIG9mIE9iamVjdC52YWx1ZXMoc3RhdGVzKSkge1xuICAgICAgICAgICAgaWYgKHZhbHVlLm9yZGVyID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB2YWx1ZS5vcmRlciA9IFwicGFyYWxsZWxcIlxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgb24oc3RhdGU6IFMsIGZuOiBMaWZlY3ljbGVIYW5kbGVyKSB7XG4gICAgICAgIGlmIChzdGF0ZSBpbiB0aGlzLiNoYW5kbGVycykge1xuICAgICAgICAgICAgdGhpcy4jaGFuZGxlcnNbc3RhdGVdIS5wdXNoKGZuKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy4jaGFuZGxlcnNbc3RhdGVdID0gW2ZuXVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGlkeCA9IHRoaXMuI2hhbmRsZXJzW3N0YXRlXSEuaW5kZXhPZihmbilcbiAgICAgICAgICAgIGlmIChpZHggPiAtMSkge1xuICAgICAgICAgICAgICAgIHRoaXMuI2hhbmRsZXJzW3N0YXRlXSEuc3BsaWNlKGlkeCwgMSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uRXhlY3V0ZShzdGF0ZTogUykge1xuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50JC5waXBlKFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuI3VudGlsKSxcbiAgICAgICAgICAgIGZpbHRlcihjdXJyZW50ID0+IGN1cnJlbnQgPT09IHN0YXRlKVxuICAgICAgICApXG4gICAgfVxuXG4gICAgb25Eb25lKHN0YXRlOiBTKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXR1cyQucGlwZShcbiAgICAgICAgICAgIGZpbHRlcihzdGF0dXMgPT4gc3RhdHVzW3N0YXRlXSksXG4gICAgICAgICAgICB0YWtlKDEpXG4gICAgICAgIClcbiAgICB9XG5cbiAgICBydW4oLi4uc3RhdGVzOiBBcnJheTxTIHwgU1tdPikge1xuICAgICAgICBjb25zdCBmbGF0dGVuZWQgPSBmbGF0dGVuKHN0YXRlcykuZmlsdGVyKCh2LCBpLCBhKSA9PiBhLmluZGV4T2YodikgPT09IGkpXG4gICAgICAgIGNvbnN0IGV4cGVjdGVkQ291bnQgPSBmbGF0dGVuZWQubGVuZ3RoXG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgoZGVzdDogU3Vic2NyaWJlcjx2b2lkPikgPT4ge1xuICAgICAgICAgICAgZGVzdC5hZGQoXG4gICAgICAgICAgICAgICAgdGhpcy4jc3RhdHVzLnN1YnNjcmliZShjdXJyZW50U3RhdHVzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXhlY3V0ZWRDb3VudCA9IE9iamVjdC5lbnRyaWVzKGN1cnJlbnRTdGF0dXMpLnJlZHVjZShcbiAgICAgICAgICAgICAgICAgICAgICAgIChyZXN1bHQsIFtuYW1lLCBkb25lXSkgPT4gcmVzdWx0ICsgKGRvbmUgJiYgZmxhdHRlbmVkLmluY2x1ZGVzKG5hbWUgYXMgUykgPyAxIDogMCksXG4gICAgICAgICAgICAgICAgICAgICAgICAwXG4gICAgICAgICAgICAgICAgICAgIClcblxuICAgICAgICAgICAgICAgICAgICBpZiAoZXhlY3V0ZWRDb3VudCA+PSBleHBlY3RlZENvdW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZXN0Lm5leHQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgZGVzdC5jb21wbGV0ZSgpXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHMgb2YgZmxhdHRlbmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy4jdHJpZ2dlci5uZXh0KHMpXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUnVuIHRoaXMgc3RhdGUgY2hhbmdlcyBvbiBvdGhlciBzdGF0ZVxuICAgICAqL1xuICAgIGNvbnRyb2w8VCBleHRlbmRzIExpZmVjeWNsZTxhbnksIGFueT4+KHN0YXRlOiBULCByZW1hcD86IExpZmVjeWNsZVJlbWFwPHRoaXMsIFQ+KSB7XG4gICAgICAgIGNvbnN0IHJlbW92ZTogQXJyYXk8KCkgPT4gdm9pZD4gPSBbXVxuXG4gICAgICAgIGZvciAoY29uc3Qgc2VsZlN0YXRlIG9mIE9iamVjdC5rZXlzKHRoaXMuc3RhdGVzKSkge1xuICAgICAgICAgICAgY29uc3Qgb3RoZXJTdGF0ZSA9IChyZW1hcCBhcyB1bmtub3duIGFzIGFueSk/LltzZWxmU3RhdGVdIHx8IHNlbGZTdGF0ZVxuICAgICAgICAgICAgaWYgKG90aGVyU3RhdGUgaW4gc3RhdGUuc3RhdGVzKSB7XG4gICAgICAgICAgICAgICAgcmVtb3ZlLnB1c2godGhpcy5vbihzZWxmU3RhdGUgYXMgYW55LCAoKSA9PiBzdGF0ZS5ydW4ob3RoZXJTdGF0ZSkpKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgZm4gb2YgcmVtb3ZlKSB7XG4gICAgICAgICAgICAgICAgZm4oKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGVzdHJveSgpIHtcbiAgICAgICAgOyh0aGlzIGFzIGFueSkuI2hhbmRsZXJzID0gbnVsbFxuICAgICAgICB0aGlzLiN1bnRpbC5uZXh0KClcbiAgICAgICAgdGhpcy4jdW50aWwuY29tcGxldGUoKVxuICAgIH1cblxuICAgICNydW4oc3RhdGU6IFMpIHtcbiAgICAgICAgaWYgKHRoaXMuI2hhbmRsZXJzID09IG51bGwgfHwgIXRoaXMuc3RhdGVzW3N0YXRlXSkge1xuICAgICAgICAgICAgcmV0dXJuIG9mKHRydWUpXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKGRlc3Q6IFN1YnNjcmliZXI8Ym9vbGVhbj4pID0+IHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudCQubmV4dChzdGF0ZSlcblxuICAgICAgICAgICAgY29uc3QgaGFuZGxlcnMgPSB0aGlzLiNoYW5kbGVyc1tzdGF0ZV1cbiAgICAgICAgICAgIGlmIChoYW5kbGVycyA9PSBudWxsIHx8IGhhbmRsZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIGRlc3QubmV4dCh0cnVlKVxuICAgICAgICAgICAgICAgIGRlc3QuY29tcGxldGUoKVxuICAgICAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBvYnNlcnZhYmxlczogQXJyYXk8T2JzZXJ2YWJsZTxhbnk+PiA9IGhhbmRsZXJzLm1hcChoYW5kbGVyID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYnNlcnZhYmxlID0gaGFuZGxlcigpXG4gICAgICAgICAgICAgICAgaWYgKG9ic2VydmFibGUgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YobnVsbClcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZnJvbShvYnNlcnZhYmxlKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuc3RhdGVzW3N0YXRlXVxuXG4gICAgICAgICAgICBpZiAob2JzZXJ2YWJsZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9ic2VydmFibGVzWzBdLnBpcGUobWFwKCgpID0+IHRydWUpKS5zdWJzY3JpYmUoZGVzdClcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoY29uZmlnLm9yZGVyID09PSBcInBhcmFsbGVsXCIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZm9ya0pvaW4ob2JzZXJ2YWJsZXMpXG4gICAgICAgICAgICAgICAgICAgIC5waXBlKG1hcCgoKSA9PiB0cnVlKSlcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZShkZXN0KVxuICAgICAgICAgICAgfSBlbHNlIGlmIChjb25maWcub3JkZXIgPT09IFwic2VxdWVudGlhbFwiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbmNhdCguLi5vYnNlcnZhYmxlcylcbiAgICAgICAgICAgICAgICAgICAgLnBpcGUobWFwKCgpID0+IHRydWUpKVxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKGRlc3QpXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGRlc3QubmV4dCh0cnVlKVxuICAgICAgICAgICAgICAgIGRlc3QuY29tcGxldGUoKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgfSkucGlwZShcbiAgICAgICAgICAgIHRha2VMYXN0KDEpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgU3RvcExpZmVjeWNsZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YoZmFsc2UpXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgIH1cbn1cbiJdfQ==
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlmZWN5Y2xlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWZlY3ljbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFVBQVUsRUFDVixNQUFNLEVBQ04sU0FBUyxFQUNULE1BQU0sRUFDTixRQUFRLEVBQ1IsSUFBSSxFQUNKLEdBQUcsRUFDSCxVQUFVLEVBRVYsRUFBRSxFQUNGLE1BQU0sRUFDTixhQUFhLEVBQ2IsSUFBSSxFQUNKLEtBQUssRUFDTCxXQUFXLEVBQ1gsT0FBTyxFQUVQLElBQUksRUFDSixRQUFRLEVBQ1IsU0FBUyxFQUNULFNBQVMsRUFDVCxHQUFHLEVBQ0gsVUFBVSxFQUNiLE1BQU0sTUFBTSxDQUFBO0FBRWIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUluQyxNQUFNLE9BQU8sYUFBYyxTQUFRLEtBQUs7Q0FBRztBQVczQyxNQUFNLE9BQU8sU0FBUztJQUVULFNBQVMsQ0FBa0Q7SUFFM0QsTUFBTSxDQUFzQjtJQUM1QixRQUFRLENBQW1CO0lBQzNCLE9BQU8sQ0EyQ2Y7SUFLRCxZQUFZLE1BQVM7UUFwRFosY0FBUyxHQUFnRCxFQUFFLENBQUE7UUFFM0QsV0FBTSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUE7UUFDNUIsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFLLENBQUE7UUFDM0IsWUFBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNqQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUN0QixJQUFJLENBQ0EsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNuQixNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFZLENBQUMsQ0FBQyxJQUFJLENBQzFDLEdB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cG9ydCB7XG4gICAgY2F0Y2hFcnJvcixcbiAgICBjb25jYXQsXG4gICAgY29uY2F0TWFwLFxuICAgIGZpbHRlcixcbiAgICBmb3JrSm9pbixcbiAgICBmcm9tLFxuICAgIG1hcCxcbiAgICBPYnNlcnZhYmxlLFxuICAgIE9ic2VydmFibGVJbnB1dCxcbiAgICBvZixcbiAgICByZWR1Y2UsXG4gICAgUmVwbGF5U3ViamVjdCxcbiAgICBzY2FuLFxuICAgIHNoYXJlLFxuICAgIHNoYXJlUmVwbGF5LFxuICAgIFN1YmplY3QsXG4gICAgU3Vic2NyaWJlcixcbiAgICB0YWtlLFxuICAgIHRha2VMYXN0LFxuICAgIHRha2VVbnRpbCxcbiAgICB0YWtlV2hpbGUsXG4gICAgdGFwLFxuICAgIHRocm93RXJyb3Jcbn0gZnJvbSBcInJ4anNcIlxuXG5pbXBvcnQgeyBmbGF0dGVuIH0gZnJvbSBcImxvZGFzaC1lc1wiXG5cbmV4cG9ydCB0eXBlIExpZmVjeWNsZUhhbmRsZXIgPSAoKSA9PiBPYnNlcnZhYmxlSW5wdXQ8dW5rbm93bj4gfCBudWxsIHwgdW5kZWZpbmVkIHwgdm9pZFxuXG5leHBvcnQgY2xhc3MgU3RvcExpZmVjeWNsZSBleHRlbmRzIEVycm9yIHt9XG5cbmV4cG9ydCB0eXBlIExpZmVjeWNsZU9wdGlvbnMgPSBSZWNvcmQ8c3RyaW5nLCB7IG9yZGVyPzogXCJwYXJhbGxlbFwiIHwgXCJzZXF1ZW50aWFsXCI7IGNhbmNlbGxhYmxlPzogYm9vbGVhbiB9PlxuXG5leHBvcnQgdHlwZSBMaWZlY3ljbGVSZW1hcDxBLCBCPiA9XG4gICAgQSBleHRlbmRzIExpZmVjeWNsZTxpbmZlciBBTywgaW5mZXIgQVM+XG4gICAgICAgID8gQiBleHRlbmRzIExpZmVjeWNsZTxpbmZlciBCTywgaW5mZXIgQlM+XG4gICAgICAgICAgICA/IFBhcnRpYWw8eyBbSyBpbiBBU106IEJTIH0+XG4gICAgICAgICAgICA6IG5ldmVyXG4gICAgICAgIDogbmV2ZXJcblxuZXhwb3J0IGNsYXNzIExpZmVjeWNsZTxUIGV4dGVuZHMgTGlmZWN5Y2xlT3B0aW9ucywgUyBleHRlbmRzIGtleW9mIFQgPSBrZXlvZiBUPiB7XG4gICAgcmVhZG9ubHkgc3RhdGVzOiBUXG4gICAgcmVhZG9ubHkgI2hhbmRsZXJzOiBQYXJ0aWFsPFJlY29yZDxTLCBBcnJheTxMaWZlY3ljbGVIYW5kbGVyPj4+ID0ge31cblxuICAgIHJlYWRvbmx5ICN1bnRpbCA9IG5ldyBTdWJqZWN0PHZvaWQ+KClcbiAgICByZWFkb25seSAjdHJpZ2dlciA9IG5ldyBTdWJqZWN0PFM+KClcbiAgICByZWFkb25seSAjc3RhdHVzID0gdGhpcy4jdHJpZ2dlci5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy4jdW50aWwpLFxuICAgICAgICBzY2FuKFxuICAgICAgICAgICAgKHJlc3VsdCwgdHJpZ2dlcikgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghcmVzdWx0W3RyaWdnZXJdKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdFt0cmlnZ2VyXSA9IHRoaXMuI3J1bih0cmlnZ2VyIGFzIFMpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICB0YXAoZXhlY3V0ZWQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChleGVjdXRlZCA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIHJlc3VsdFt0cmlnZ2VyXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFwKGV4ZWN1dGVkID0+IFt0cmlnZ2VyLCAhIWV4ZWN1dGVkXSBhcyBbUywgYm9vbGVhbl0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge30gYXMgUmVjb3JkPFMsIE9ic2VydmFibGU8W1MsIGJvb2xlYW5dPj5cbiAgICAgICAgKSxcbiAgICAgICAgY29uY2F0TWFwKHRyaWdnZXJzID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNyY3MgPSBPYmplY3QudmFsdWVzKHRyaWdnZXJzKSBhcyBBcnJheTxPYnNlcnZhYmxlPFtTLCBib29sZWFuXT4+XG4gICAgICAgICAgICByZXR1cm4gY29uY2F0KC4uLnNyY3MpLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFrZVdoaWxlKChbXywgZXhlY3V0ZWRdKSA9PiBleGVjdXRlZCwgZmFsc2UpLFxuICAgICAgICAgICAgICAgIHJlZHVjZShcbiAgICAgICAgICAgICAgICAgICAgKHJlc3VsdCwgW25hbWUsIGV4ZWN1dGVkXSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgLi4ucmVzdWx0LCBbbmFtZV06IGV4ZWN1dGVkIH1cbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge30gYXMgUmVjb3JkPFMsIGJvb2xlYW4+XG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKVxuICAgICAgICB9KSxcbiAgICAgICAgdGFwKHN0YXR1cyA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy4jaGFuZGxlcnMgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IFtrLCB2XSBvZiBPYmplY3QuZW50cmllcyhzdGF0dXMpKSB7XG4gICAgICAgICAgICAgICAgaWYgKHYpIHtcbiAgICAgICAgICAgICAgICAgICAgZGVsZXRlICh0aGlzLiNoYW5kbGVycyBhcyBhbnkpW2tdXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgc2hhcmUoKVxuICAgIClcblxuICAgIHJlYWRvbmx5IHN0YXR1cyQgPSB0aGlzLiNzdGF0dXMucGlwZShzaGFyZVJlcGxheSgxKSlcbiAgICByZWFkb25seSBjdXJyZW50JCA9IG5ldyBSZXBsYXlTdWJqZWN0PFM+KClcblxuICAgIGNvbnN0cnVjdG9yKHN0YXRlczogVCkge1xuICAgICAgICB0aGlzLnN0YXRlcyA9IHsgLi4uc3RhdGVzIH1cblxuICAgICAgICBmb3IgKGNvbnN0IHZhbHVlIG9mIE9iamVjdC52YWx1ZXMoc3RhdGVzKSkge1xuICAgICAgICAgICAgaWYgKHZhbHVlLm9yZGVyID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB2YWx1ZS5vcmRlciA9IFwicGFyYWxsZWxcIlxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgb24oc3RhdGU6IFMsIGZuOiBMaWZlY3ljbGVIYW5kbGVyKSB7XG4gICAgICAgIGlmIChzdGF0ZSBpbiB0aGlzLiNoYW5kbGVycykge1xuICAgICAgICAgICAgdGhpcy4jaGFuZGxlcnNbc3RhdGVdIS5wdXNoKGZuKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy4jaGFuZGxlcnNbc3RhdGVdID0gW2ZuXVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGlkeCA9IHRoaXMuI2hhbmRsZXJzW3N0YXRlXSEuaW5kZXhPZihmbilcbiAgICAgICAgICAgIGlmIChpZHggPiAtMSkge1xuICAgICAgICAgICAgICAgIHRoaXMuI2hhbmRsZXJzW3N0YXRlXSEuc3BsaWNlKGlkeCwgMSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uRXhlY3V0ZShzdGF0ZTogUykge1xuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50JC5waXBlKFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuI3VudGlsKSxcbiAgICAgICAgICAgIGZpbHRlcihjdXJyZW50ID0+IGN1cnJlbnQgPT09IHN0YXRlKVxuICAgICAgICApXG4gICAgfVxuXG4gICAgb25Eb25lKHN0YXRlOiBTKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXR1cyQucGlwZShcbiAgICAgICAgICAgIGZpbHRlcihzdGF0dXMgPT4gc3RhdHVzW3N0YXRlXSksXG4gICAgICAgICAgICB0YWtlKDEpXG4gICAgICAgIClcbiAgICB9XG5cbiAgICBydW4oLi4uc3RhdGVzOiBBcnJheTxTIHwgU1tdPikge1xuICAgICAgICBjb25zdCBmbGF0dGVuZWQgPSBmbGF0dGVuKHN0YXRlcykuZmlsdGVyKCh2LCBpLCBhKSA9PiBhLmluZGV4T2YodikgPT09IGkpXG4gICAgICAgIGNvbnN0IGV4cGVjdGVkQ291bnQgPSBmbGF0dGVuZWQubGVuZ3RoXG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgoZGVzdDogU3Vic2NyaWJlcjx2b2lkPikgPT4ge1xuICAgICAgICAgICAgZGVzdC5hZGQoXG4gICAgICAgICAgICAgICAgdGhpcy4jc3RhdHVzLnN1YnNjcmliZShjdXJyZW50U3RhdHVzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXhlY3V0ZWRDb3VudCA9IE9iamVjdC5lbnRyaWVzKGN1cnJlbnRTdGF0dXMpLnJlZHVjZShcbiAgICAgICAgICAgICAgICAgICAgICAgIChyZXN1bHQsIFtuYW1lLCBkb25lXSkgPT4gcmVzdWx0ICsgKGRvbmUgJiYgZmxhdHRlbmVkLmluY2x1ZGVzKG5hbWUgYXMgUykgPyAxIDogMCksXG4gICAgICAgICAgICAgICAgICAgICAgICAwXG4gICAgICAgICAgICAgICAgICAgIClcblxuICAgICAgICAgICAgICAgICAgICBpZiAoZXhlY3V0ZWRDb3VudCA+PSBleHBlY3RlZENvdW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZXN0Lm5leHQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgZGVzdC5jb21wbGV0ZSgpXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHMgb2YgZmxhdHRlbmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy4jdHJpZ2dlci5uZXh0KHMpXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUnVuIHRoaXMgc3RhdGUgY2hhbmdlcyBvbiBvdGhlciBzdGF0ZVxuICAgICAqL1xuICAgIGNvbnRyb2w8VCBleHRlbmRzIExpZmVjeWNsZTxhbnksIGFueT4+KHN0YXRlOiBULCByZW1hcD86IExpZmVjeWNsZVJlbWFwPHRoaXMsIFQ+KSB7XG4gICAgICAgIGNvbnN0IHJlbW92ZTogQXJyYXk8KCkgPT4gdm9pZD4gPSBbXVxuXG4gICAgICAgIGZvciAoY29uc3Qgc2VsZlN0YXRlIG9mIE9iamVjdC5rZXlzKHRoaXMuc3RhdGVzKSkge1xuICAgICAgICAgICAgY29uc3Qgb3RoZXJTdGF0ZSA9IChyZW1hcCBhcyB1bmtub3duIGFzIGFueSk/LltzZWxmU3RhdGVdIHx8IHNlbGZTdGF0ZVxuICAgICAgICAgICAgaWYgKG90aGVyU3RhdGUgaW4gc3RhdGUuc3RhdGVzKSB7XG4gICAgICAgICAgICAgICAgcmVtb3ZlLnB1c2godGhpcy5vbihzZWxmU3RhdGUgYXMgYW55LCAoKSA9PiBzdGF0ZS5ydW4ob3RoZXJTdGF0ZSkpKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgZm4gb2YgcmVtb3ZlKSB7XG4gICAgICAgICAgICAgICAgZm4oKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGVzdHJveSgpIHtcbiAgICAgICAgOyh0aGlzIGFzIGFueSkuI2hhbmRsZXJzID0gbnVsbFxuICAgICAgICB0aGlzLiN1bnRpbC5uZXh0KClcbiAgICAgICAgdGhpcy4jdW50aWwuY29tcGxldGUoKVxuICAgIH1cblxuICAgICNydW4oc3RhdGU6IFMpIHtcbiAgICAgICAgaWYgKHRoaXMuI2hhbmRsZXJzID09IG51bGwgfHwgIXRoaXMuc3RhdGVzW3N0YXRlXSkge1xuICAgICAgICAgICAgcmV0dXJuIG9mKHRydWUpXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKGRlc3Q6IFN1YnNjcmliZXI8Ym9vbGVhbj4pID0+IHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudCQubmV4dChzdGF0ZSlcblxuICAgICAgICAgICAgY29uc3QgaGFuZGxlcnMgPSB0aGlzLiNoYW5kbGVyc1tzdGF0ZV1cbiAgICAgICAgICAgIGlmIChoYW5kbGVycyA9PSBudWxsIHx8IGhhbmRsZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIGRlc3QubmV4dCh0cnVlKVxuICAgICAgICAgICAgICAgIGRlc3QuY29tcGxldGUoKVxuICAgICAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBvYnNlcnZhYmxlczogQXJyYXk8T2JzZXJ2YWJsZTxhbnk+PiA9IGhhbmRsZXJzLm1hcChoYW5kbGVyID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYnNlcnZhYmxlID0gaGFuZGxlcigpXG4gICAgICAgICAgICAgICAgaWYgKG9ic2VydmFibGUgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YobnVsbClcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZnJvbShvYnNlcnZhYmxlKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuc3RhdGVzW3N0YXRlXVxuXG4gICAgICAgICAgICBpZiAob2JzZXJ2YWJsZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9ic2VydmFibGVzWzBdLnBpcGUobWFwKCgpID0+IHRydWUpKS5zdWJzY3JpYmUoZGVzdClcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoY29uZmlnLm9yZGVyID09PSBcInBhcmFsbGVsXCIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZm9ya0pvaW4ob2JzZXJ2YWJsZXMpXG4gICAgICAgICAgICAgICAgICAgIC5waXBlKG1hcCgoKSA9PiB0cnVlKSlcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZShkZXN0KVxuICAgICAgICAgICAgfSBlbHNlIGlmIChjb25maWcub3JkZXIgPT09IFwic2VxdWVudGlhbFwiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbmNhdCguLi5vYnNlcnZhYmxlcylcbiAgICAgICAgICAgICAgICAgICAgLnBpcGUobWFwKCgpID0+IHRydWUpKVxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKGRlc3QpXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGRlc3QubmV4dCh0cnVlKVxuICAgICAgICAgICAgICAgIGRlc3QuY29tcGxldGUoKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgfSkucGlwZShcbiAgICAgICAgICAgIHRha2VMYXN0KDEpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgU3RvcExpZmVjeWNsZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YoZmFsc2UpXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgIH1cbn1cbiJdfQ==
package/esm2022/util.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { isPlainObject as _isPlainObject, cloneDeep } from "lodash";
1
+ import { isPlainObject as _isPlainObject, cloneDeep } from "lodash-es";
2
2
  // export { deepFreeze }
3
3
  export const deepClone = typeof structuredClone === "function" ? structuredClone : cloneDeep;
4
4
  // export const deepFreeze: <T>(obj: T) => DeepReadonly<T> = o => Object.freeze(o) as any
@@ -76,4 +76,4 @@ export function isFalsy(value) {
76
76
  export function isTruthy(value) {
77
77
  return !isFalsy(value);
78
78
  }
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxJQUFJLGNBQWMsRUFBRSxTQUFTLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFJbkUsd0JBQXdCO0FBRXhCLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBcUIsT0FBTyxlQUFlLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtBQUM5Ryx5RkFBeUY7QUFDekYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFnRCxjQUFxQixDQUFBO0FBRS9GLE1BQU0sVUFBVSxVQUFVLENBQUksR0FBTTtJQUNoQyxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNkLE9BQU8sR0FBVSxDQUFBO0lBQ3JCLENBQUM7SUFFRCxJQUFJLEdBQUcsWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUNyQixHQUFHLENBQUMsS0FBSztZQUNMLEdBQUcsQ0FBQyxNQUFNO2dCQUNWLEdBQUcsQ0FBQyxHQUFHO29CQUNIO3dCQUNJLE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtvQkFDdkMsQ0FBQyxDQUFBO0lBQ2IsQ0FBQztTQUFNLElBQUksR0FBRyxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBQzVCLEdBQUcsQ0FBQyxHQUFHO1lBQ0gsR0FBRyxDQUFDLEtBQUs7Z0JBQ1QsR0FBRyxDQUFDLE1BQU07b0JBQ047d0JBQ0ksTUFBTSxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO29CQUN2QyxDQUFDLENBQUE7SUFDYixDQUFDO0lBRUQsY0FBYztJQUNkLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7SUFFbEIsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUMzQyxNQUFNLElBQUksR0FBSSxHQUFXLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDL0IsTUFBTSxJQUFJLEdBQUcsT0FBTyxJQUFJLENBQUE7UUFFeEIseUVBQXlFO1FBQ3pFLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFJLElBQUksS0FBSyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN2RSxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDcEIsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFBO0lBRUYsT0FBTyxHQUFVLENBQUE7QUFDckIsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLFFBQVEsQ0FBSSxLQUFtQixFQUFFLEVBQTBCO0lBQ3ZFLElBQUksT0FBUSxLQUFhLENBQUMsUUFBUSxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQ2hELE9BQVEsS0FBYSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUN0QyxDQUFDO1NBQU0sQ0FBQztRQUNKLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDbEMsQ0FBQztBQUNMLENBQUM7QUFJRCxNQUFNLFVBQVUsT0FBTyxDQUFDLEtBQVU7SUFDOUIsSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFLENBQUM7UUFDaEIsT0FBTyxJQUFJLENBQUE7SUFDZixDQUFDO1NBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDOUIsT0FBTyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQTtJQUM3QixDQUFDO1NBQU0sSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM5QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQTtJQUMxQyxDQUFDO1NBQU0sSUFBSSxLQUFLLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDOUIsT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQTtJQUMzQixDQUFDO1NBQU0sSUFBSSxLQUFLLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDOUIsT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQTtJQUMzQixDQUFDO1NBQU0sSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUNuQyxPQUFPLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFBO0lBQzdCLENBQUM7U0FBTSxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ25DLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUE7SUFDdEMsQ0FBQztJQUNELE9BQU8sS0FBSyxLQUFLLEtBQUssQ0FBQTtBQUMxQixDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVEsQ0FBSSxLQUFRO0lBQ2hDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDMUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhaW5PYmplY3QgYXMgX2lzUGxhaW5PYmplY3QsIGNsb25lRGVlcCB9IGZyb20gXCJsb2Rhc2hcIlxuXG5pbXBvcnQgeyBEZWVwUmVhZG9ubHkgfSBmcm9tIFwiLi90eXBlcy9yZWFkb25seVwiXG5cbi8vIGV4cG9ydCB7IGRlZXBGcmVlemUgfVxuXG5leHBvcnQgY29uc3QgZGVlcENsb25lOiA8VD4ob2JqOiBUKSA9PiBUID0gdHlwZW9mIHN0cnVjdHVyZWRDbG9uZSA9PT0gXCJmdW5jdGlvblwiID8gc3RydWN0dXJlZENsb25lIDogY2xvbmVEZWVwXG4vLyBleHBvcnQgY29uc3QgZGVlcEZyZWV6ZTogPFQ+KG9iajogVCkgPT4gRGVlcFJlYWRvbmx5PFQ+ID0gbyA9PiBPYmplY3QuZnJlZXplKG8pIGFzIGFueVxuZXhwb3J0IGNvbnN0IGlzUGxhaW5PYmplY3Q6IChhcmc6IGFueSkgPT4gYXJnIGlzIHsgW2tleTogc3RyaW5nXTogYW55IH0gPSBfaXNQbGFpbk9iamVjdCBhcyBhbnlcblxuZXhwb3J0IGZ1bmN0aW9uIGRlZXBGcmVlemU8VD4ob2JqOiBUKTogRGVlcFJlYWRvbmx5PFQ+IHtcbiAgICBpZiAob2JqID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIG9iaiBhcyBhbnlcbiAgICB9XG5cbiAgICBpZiAob2JqIGluc3RhbmNlb2YgTWFwKSB7XG4gICAgICAgIG9iai5jbGVhciA9XG4gICAgICAgICAgICBvYmouZGVsZXRlID1cbiAgICAgICAgICAgIG9iai5zZXQgPVxuICAgICAgICAgICAgICAgIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwibWFwIGlzIHJlYWQtb25seVwiKVxuICAgICAgICAgICAgICAgIH1cbiAgICB9IGVsc2UgaWYgKG9iaiBpbnN0YW5jZW9mIFNldCkge1xuICAgICAgICBvYmouYWRkID1cbiAgICAgICAgICAgIG9iai5jbGVhciA9XG4gICAgICAgICAgICBvYmouZGVsZXRlID1cbiAgICAgICAgICAgICAgICBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcInNldCBpcyByZWFkLW9ubHlcIilcbiAgICAgICAgICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRnJlZXplIHNlbGZcbiAgICBPYmplY3QuZnJlZXplKG9iailcblxuICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG9iaikuZm9yRWFjaChuYW1lID0+IHtcbiAgICAgICAgY29uc3QgcHJvcCA9IChvYmogYXMgYW55KVtuYW1lXVxuICAgICAgICBjb25zdCB0eXBlID0gdHlwZW9mIHByb3BcblxuICAgICAgICAvLyBGcmVlemUgcHJvcCBpZiBpdCBpcyBhbiBvYmplY3Qgb3IgZnVuY3Rpb24gYW5kIGFsc28gbm90IGFscmVhZHkgZnJvemVuXG4gICAgICAgIGlmICgodHlwZSA9PT0gXCJvYmplY3RcIiB8fCB0eXBlID09PSBcImZ1bmN0aW9uXCIpICYmICFPYmplY3QuaXNGcm96ZW4ocHJvcCkpIHtcbiAgICAgICAgICAgIGRlZXBGcmVlemUocHJvcClcbiAgICAgICAgfVxuICAgIH0pXG5cbiAgICByZXR1cm4gb2JqIGFzIGFueVxufVxuXG4vKipcbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogdG9Tb3J0ZWQoW3tpZDogMX0sIHtpZDogMn0sIHtpZDogM31dLCBzb3J0QnkoW3tpZDogXCJkZXNjXCJ9XSkpXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvU29ydGVkPFQ+KGl0ZW1zOiByZWFkb25seSBUW10sIGZuOiAoYTogVCwgYjogVCkgPT4gbnVtYmVyKTogVFtdIHtcbiAgICBpZiAodHlwZW9mIChpdGVtcyBhcyBhbnkpLnRvU29ydGVkID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgcmV0dXJuIChpdGVtcyBhcyBhbnkpLnRvU29ydGVkKGZuKVxuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBpdGVtcy5zbGljZSgwKS5zb3J0KGZuKVxuICAgIH1cbn1cblxudHlwZSBGYWxzeVJldHVybnMgPSBudWxsIHwgdW5kZWZpbmVkIHwgZmFsc2UgfCAwIHwgXCJcIlxuXG5leHBvcnQgZnVuY3Rpb24gaXNGYWxzeSh2YWx1ZTogYW55KTogdmFsdWUgaXMgRmFsc3lSZXR1cm5zIHtcbiAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLmxlbmd0aCA9PT0gMFxuICAgIH0gZWxzZSBpZiAoaXNQbGFpbk9iamVjdCh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKHZhbHVlKS5sZW5ndGggPT09IDBcbiAgICB9IGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgU2V0KSB7XG4gICAgICAgIHJldHVybiB2YWx1ZS5zaXplID09PSAwXG4gICAgfSBlbHNlIGlmICh2YWx1ZSBpbnN0YW5jZW9mIE1hcCkge1xuICAgICAgICByZXR1cm4gdmFsdWUuc2l6ZSA9PT0gMFxuICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZS5sZW5ndGggPT09IDBcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICByZXR1cm4gaXNOYU4odmFsdWUpIHx8IHZhbHVlID09PSAwXG4gICAgfVxuICAgIHJldHVybiB2YWx1ZSA9PT0gZmFsc2Vcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVHJ1dGh5PFQ+KHZhbHVlOiBUKTogdmFsdWUgaXMgRXhjbHVkZTxULCBGYWxzeVJldHVybnM+IHtcbiAgICByZXR1cm4gIWlzRmFsc3kodmFsdWUpXG59XG4iXX0=
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxJQUFJLGNBQWMsRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFJdEUsd0JBQXdCO0FBRXhCLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBcUIsT0FBTyxlQUFlLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtBQUM5Ryx5RkFBeUY7QUFDekYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFnRCxjQUFxQixDQUFBO0FBRS9GLE1BQU0sVUFBVSxVQUFVLENBQUksR0FBTTtJQUNoQyxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNkLE9BQU8sR0FBVSxDQUFBO0lBQ3JCLENBQUM7SUFFRCxJQUFJLEdBQUcsWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUNyQixHQUFHLENBQUMsS0FBSztZQUNMLEdBQUcsQ0FBQyxNQUFNO2dCQUNWLEdBQUcsQ0FBQyxHQUFHO29CQUNIO3dCQUNJLE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtvQkFDdkMsQ0FBQyxDQUFBO0lBQ2IsQ0FBQztTQUFNLElBQUksR0FBRyxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBQzVCLEdBQUcsQ0FBQyxHQUFHO1lBQ0gsR0FBRyxDQUFDLEtBQUs7Z0JBQ1QsR0FBRyxDQUFDLE1BQU07b0JBQ047d0JBQ0ksTUFBTSxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO29CQUN2QyxDQUFDLENBQUE7SUFDYixDQUFDO0lBRUQsY0FBYztJQUNkLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7SUFFbEIsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUMzQyxNQUFNLElBQUksR0FBSSxHQUFXLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDL0IsTUFBTSxJQUFJLEdBQUcsT0FBTyxJQUFJLENBQUE7UUFFeEIseUVBQXlFO1FBQ3pFLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFJLElBQUksS0FBSyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN2RSxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDcEIsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFBO0lBRUYsT0FBTyxHQUFVLENBQUE7QUFDckIsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLFFBQVEsQ0FBSSxLQUFtQixFQUFFLEVBQTBCO0lBQ3ZFLElBQUksT0FBUSxLQUFhLENBQUMsUUFBUSxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQ2hELE9BQVEsS0FBYSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUN0QyxDQUFDO1NBQU0sQ0FBQztRQUNKLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDbEMsQ0FBQztBQUNMLENBQUM7QUFJRCxNQUFNLFVBQVUsT0FBTyxDQUFDLEtBQVU7SUFDOUIsSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFLENBQUM7UUFDaEIsT0FBTyxJQUFJLENBQUE7SUFDZixDQUFDO1NBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDOUIsT0FBTyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQTtJQUM3QixDQUFDO1NBQU0sSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM5QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQTtJQUMxQyxDQUFDO1NBQU0sSUFBSSxLQUFLLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDOUIsT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQTtJQUMzQixDQUFDO1NBQU0sSUFBSSxLQUFLLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDOUIsT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQTtJQUMzQixDQUFDO1NBQU0sSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUNuQyxPQUFPLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFBO0lBQzdCLENBQUM7U0FBTSxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ25DLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUE7SUFDdEMsQ0FBQztJQUNELE9BQU8sS0FBSyxLQUFLLEtBQUssQ0FBQTtBQUMxQixDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVEsQ0FBSSxLQUFRO0lBQ2hDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDMUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhaW5PYmplY3QgYXMgX2lzUGxhaW5PYmplY3QsIGNsb25lRGVlcCB9IGZyb20gXCJsb2Rhc2gtZXNcIlxuXG5pbXBvcnQgeyBEZWVwUmVhZG9ubHkgfSBmcm9tIFwiLi90eXBlcy9yZWFkb25seVwiXG5cbi8vIGV4cG9ydCB7IGRlZXBGcmVlemUgfVxuXG5leHBvcnQgY29uc3QgZGVlcENsb25lOiA8VD4ob2JqOiBUKSA9PiBUID0gdHlwZW9mIHN0cnVjdHVyZWRDbG9uZSA9PT0gXCJmdW5jdGlvblwiID8gc3RydWN0dXJlZENsb25lIDogY2xvbmVEZWVwXG4vLyBleHBvcnQgY29uc3QgZGVlcEZyZWV6ZTogPFQ+KG9iajogVCkgPT4gRGVlcFJlYWRvbmx5PFQ+ID0gbyA9PiBPYmplY3QuZnJlZXplKG8pIGFzIGFueVxuZXhwb3J0IGNvbnN0IGlzUGxhaW5PYmplY3Q6IChhcmc6IGFueSkgPT4gYXJnIGlzIHsgW2tleTogc3RyaW5nXTogYW55IH0gPSBfaXNQbGFpbk9iamVjdCBhcyBhbnlcblxuZXhwb3J0IGZ1bmN0aW9uIGRlZXBGcmVlemU8VD4ob2JqOiBUKTogRGVlcFJlYWRvbmx5PFQ+IHtcbiAgICBpZiAob2JqID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIG9iaiBhcyBhbnlcbiAgICB9XG5cbiAgICBpZiAob2JqIGluc3RhbmNlb2YgTWFwKSB7XG4gICAgICAgIG9iai5jbGVhciA9XG4gICAgICAgICAgICBvYmouZGVsZXRlID1cbiAgICAgICAgICAgIG9iai5zZXQgPVxuICAgICAgICAgICAgICAgIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwibWFwIGlzIHJlYWQtb25seVwiKVxuICAgICAgICAgICAgICAgIH1cbiAgICB9IGVsc2UgaWYgKG9iaiBpbnN0YW5jZW9mIFNldCkge1xuICAgICAgICBvYmouYWRkID1cbiAgICAgICAgICAgIG9iai5jbGVhciA9XG4gICAgICAgICAgICBvYmouZGVsZXRlID1cbiAgICAgICAgICAgICAgICBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcInNldCBpcyByZWFkLW9ubHlcIilcbiAgICAgICAgICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRnJlZXplIHNlbGZcbiAgICBPYmplY3QuZnJlZXplKG9iailcblxuICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG9iaikuZm9yRWFjaChuYW1lID0+IHtcbiAgICAgICAgY29uc3QgcHJvcCA9IChvYmogYXMgYW55KVtuYW1lXVxuICAgICAgICBjb25zdCB0eXBlID0gdHlwZW9mIHByb3BcblxuICAgICAgICAvLyBGcmVlemUgcHJvcCBpZiBpdCBpcyBhbiBvYmplY3Qgb3IgZnVuY3Rpb24gYW5kIGFsc28gbm90IGFscmVhZHkgZnJvemVuXG4gICAgICAgIGlmICgodHlwZSA9PT0gXCJvYmplY3RcIiB8fCB0eXBlID09PSBcImZ1bmN0aW9uXCIpICYmICFPYmplY3QuaXNGcm96ZW4ocHJvcCkpIHtcbiAgICAgICAgICAgIGRlZXBGcmVlemUocHJvcClcbiAgICAgICAgfVxuICAgIH0pXG5cbiAgICByZXR1cm4gb2JqIGFzIGFueVxufVxuXG4vKipcbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogdG9Tb3J0ZWQoW3tpZDogMX0sIHtpZDogMn0sIHtpZDogM31dLCBzb3J0QnkoW3tpZDogXCJkZXNjXCJ9XSkpXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvU29ydGVkPFQ+KGl0ZW1zOiByZWFkb25seSBUW10sIGZuOiAoYTogVCwgYjogVCkgPT4gbnVtYmVyKTogVFtdIHtcbiAgICBpZiAodHlwZW9mIChpdGVtcyBhcyBhbnkpLnRvU29ydGVkID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgcmV0dXJuIChpdGVtcyBhcyBhbnkpLnRvU29ydGVkKGZuKVxuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBpdGVtcy5zbGljZSgwKS5zb3J0KGZuKVxuICAgIH1cbn1cblxudHlwZSBGYWxzeVJldHVybnMgPSBudWxsIHwgdW5kZWZpbmVkIHwgZmFsc2UgfCAwIHwgXCJcIlxuXG5leHBvcnQgZnVuY3Rpb24gaXNGYWxzeSh2YWx1ZTogYW55KTogdmFsdWUgaXMgRmFsc3lSZXR1cm5zIHtcbiAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLmxlbmd0aCA9PT0gMFxuICAgIH0gZWxzZSBpZiAoaXNQbGFpbk9iamVjdCh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKHZhbHVlKS5sZW5ndGggPT09IDBcbiAgICB9IGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgU2V0KSB7XG4gICAgICAgIHJldHVybiB2YWx1ZS5zaXplID09PSAwXG4gICAgfSBlbHNlIGlmICh2YWx1ZSBpbnN0YW5jZW9mIE1hcCkge1xuICAgICAgICByZXR1cm4gdmFsdWUuc2l6ZSA9PT0gMFxuICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZS5sZW5ndGggPT09IDBcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICByZXR1cm4gaXNOYU4odmFsdWUpIHx8IHZhbHVlID09PSAwXG4gICAgfVxuICAgIHJldHVybiB2YWx1ZSA9PT0gZmFsc2Vcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVHJ1dGh5PFQ+KHZhbHVlOiBUKTogdmFsdWUgaXMgRXhjbHVkZTxULCBGYWxzeVJldHVybnM+IHtcbiAgICByZXR1cm4gIWlzRmFsc3kodmFsdWUpXG59XG4iXX0=
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Directive, ElementRef } from '@angular/core';
3
3
  import { Subject, share, take, takeUntil, startWith, map, debounceTime, distinctUntilChanged, shareReplay, scan, tap, concatMap, concat, takeWhile, reduce, ReplaySubject, filter, Observable, of, from, forkJoin, takeLast, catchError, throwError } from 'rxjs';
4
- import { cloneDeep, isPlainObject as isPlainObject$1, isEqual, flatten } from 'lodash';
4
+ import { cloneDeep, isPlainObject as isPlainObject$1, isEqual, flatten } from 'lodash-es';
5
5
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
6
6
  export { isPrimitive } from 'utility-types';
7
7
 
@@ -1 +1 @@
1
- {"version":3,"file":"ngutil-common.mjs","sources":["../../../../packages/common/src/destruct.ts","../../../../packages/common/src/number-with-unit.ts","../../../../packages/common/src/util.ts","../../../../packages/common/src/coerce/bool-attr.ts","../../../../packages/common/src/coerce/element.ts","../../../../packages/common/src/form/observable.ts","../../../../packages/common/src/unngzone.ts","../../../../packages/common/src/dom.ts","../../../../packages/common/src/lifecycle.ts","../../../../packages/common/src/ngutil-common.ts"],"sourcesContent":["import { Directive, OnDestroy } from \"@angular/core\"\n\nimport { Observable, share, Subject, take, takeUntil } from \"rxjs\"\n\nexport interface IDisposable {\n dispose(): void\n}\n\nexport class Destruct {\n readonly #on = new Subject<void>()\n readonly on = this.#on.pipe(share())\n\n constructor(fn?: () => void) {\n if (fn != null) {\n this.any(fn)\n }\n }\n get done(): boolean {\n return this.#on.closed\n }\n\n sub<T>(o: Observable<T>): Observable<T> {\n if (this.done) {\n return o.pipe(take(0))\n } else {\n return o.pipe(takeUntil(this.on))\n }\n }\n\n disposable<T extends IDisposable>(d: T): T {\n if (this.done) {\n d.dispose()\n } else {\n this.on.subscribe(d.dispose.bind(d))\n }\n\n return d\n }\n\n node<T extends Node>(el: T): T {\n const remove = () => {\n const parent = el.parentNode\n if (parent) {\n parent.removeChild(el)\n }\n }\n if (this.done) {\n remove()\n } else {\n this.on.subscribe(remove)\n }\n\n return el\n }\n\n any(f: () => void): void {\n if (this.done) {\n f()\n } else {\n this.on.subscribe(f)\n }\n }\n\n run() {\n if (!this.done) {\n this.#on.next()\n this.#on.complete()\n }\n }\n}\n\n@Directive()\nexport abstract class Destructible implements OnDestroy, IDisposable {\n /** @ignore */\n readonly d = new Destruct()\n\n /** @ignore */\n ngOnDestroy() {\n this.d.run()\n delete (this as any).d\n }\n\n /** @ignore */\n dispose() {\n this.ngOnDestroy()\n }\n}\n","export type NumberWithUnitInput = number | string | NumberWithUnit\n\nconst specials = [\"auto\", \"inherit\"]\n\nexport const UNIT_REGEX = \"v[h|w|min|max]|p[c|t|x]|[re|e|c|m]m|[l|c]h|%|in|Q|ex|m?s\"\nexport const NUMBER_REGEX = \"[+-]?(?:\\\\d*\\\\.\\\\d+|\\\\d+\\\\.\\\\d*|\\\\d+)\"\n\nconst regex = new RegExp(`^(${NUMBER_REGEX})\\\\s*(${UNIT_REGEX})?$`)\n\nexport class NumberWithUnit {\n static coerce(value: any, defaultUnit?: string) {\n if (value instanceof NumberWithUnit) {\n return value\n } else if (specials.includes(value)) {\n return new NumberWithUnit(NaN, value)\n } else if (typeof value === \"string\") {\n const match = value.match(regex)\n if (match) {\n return new NumberWithUnit(Number(match[1]), match[2] || defaultUnit)\n }\n } else if (typeof value === \"number\") {\n return new NumberWithUnit(value, defaultUnit)\n }\n\n throw new Error(`Not implemented number with unit: ${value}`)\n }\n\n constructor(\n public readonly value: number,\n public readonly unit?: string\n ) {}\n\n toString() {\n if (isNaN(this.value)) {\n return this.unit\n } else if (this.unit != null) {\n return `${this.value}${this.unit}`\n } else {\n return `${this.value}`\n }\n }\n}\n","import { isPlainObject as _isPlainObject, cloneDeep } from \"lodash\"\n\nimport { DeepReadonly } from \"./types/readonly\"\n\n// export { deepFreeze }\n\nexport const deepClone: <T>(obj: T) => T = typeof structuredClone === \"function\" ? structuredClone : cloneDeep\n// export const deepFreeze: <T>(obj: T) => DeepReadonly<T> = o => Object.freeze(o) as any\nexport const isPlainObject: (arg: any) => arg is { [key: string]: any } = _isPlainObject as any\n\nexport function deepFreeze<T>(obj: T): DeepReadonly<T> {\n if (obj == null) {\n return obj as any\n }\n\n if (obj instanceof Map) {\n obj.clear =\n obj.delete =\n obj.set =\n function () {\n throw new Error(\"map is read-only\")\n }\n } else if (obj instanceof Set) {\n obj.add =\n obj.clear =\n obj.delete =\n function () {\n throw new Error(\"set is read-only\")\n }\n }\n\n // Freeze self\n Object.freeze(obj)\n\n Object.getOwnPropertyNames(obj).forEach(name => {\n const prop = (obj as any)[name]\n const type = typeof prop\n\n // Freeze prop if it is an object or function and also not already frozen\n if ((type === \"object\" || type === \"function\") && !Object.isFrozen(prop)) {\n deepFreeze(prop)\n }\n })\n\n return obj as any\n}\n\n/**\n * @example\n * ```ts\n * toSorted([{id: 1}, {id: 2}, {id: 3}], sortBy([{id: \"desc\"}]))\n * ```\n */\nexport function toSorted<T>(items: readonly T[], fn: (a: T, b: T) => number): T[] {\n if (typeof (items as any).toSorted === \"function\") {\n return (items as any).toSorted(fn)\n } else {\n return items.slice(0).sort(fn)\n }\n}\n\ntype FalsyReturns = null | undefined | false | 0 | \"\"\n\nexport function isFalsy(value: any): value is FalsyReturns {\n if (value == null) {\n return true\n } else if (Array.isArray(value)) {\n return value.length === 0\n } else if (isPlainObject(value)) {\n return Object.keys(value).length === 0\n } else if (value instanceof Set) {\n return value.size === 0\n } else if (value instanceof Map) {\n return value.size === 0\n } else if (typeof value === \"string\") {\n return value.length === 0\n } else if (typeof value === \"number\") {\n return isNaN(value) || value === 0\n }\n return value === false\n}\n\nexport function isTruthy<T>(value: T): value is Exclude<T, FalsyReturns> {\n return !isFalsy(value)\n}\n","import { isTruthy } from \"../util\"\n\nexport type BooleanInput = string | boolean | null | undefined\n\nexport function coerceBoolAttr(value: BooleanInput): boolean {\n return isTruthy(value) || (typeof value === \"string\" && value !== \"false\")\n}\n","import { ElementRef } from \"@angular/core\"\n\nexport type ElementInput<T extends Element = HTMLElement> = T | ElementRef<T>\n\nexport function coerceElement<T>(value: T | ElementRef<T>): T {\n if (value instanceof ElementRef) {\n return value.nativeElement\n }\n return value\n}\n\nexport function isElementInput(value: any): value is ElementInput {\n return value instanceof Element || value instanceof ElementRef\n}\n","import { takeUntilDestroyed } from \"@angular/core/rxjs-interop\"\nimport { FormControl } from \"@angular/forms\"\n\nimport { debounceTime, distinctUntilChanged, map, Observable, shareReplay, startWith } from \"rxjs\"\n\nimport { isEqual } from \"lodash\"\n\nimport { isFalsy } from \"../util\"\n\nexport interface ObservableOptions {\n distinct?: boolean\n destruct?: boolean\n}\n\nexport interface ObservableValueOptions extends ObservableOptions {\n debounce?: number\n falsyToNull?: boolean\n}\n\nexport type FormControlProperties =\n | \"valid\"\n | \"invalid\"\n | \"status\"\n | \"pristine\"\n | \"dirty\"\n | \"touched\"\n | \"untouched\"\n | \"disabled\"\n | \"enabled\"\n | \"errors\"\n\nexport const DEFAULT: ObservableOptions = { distinct: true, destruct: true }\nexport const VALUE_DEFAULT: ObservableValueOptions = { ...DEFAULT, falsyToNull: true }\n\nexport function fcObservableValue<T, O extends ObservableValueOptions>(\n fc: FormControl<T>,\n opts: O = VALUE_DEFAULT as any\n): Observable<O extends { falsyToNull: true } ? T | null : T> {\n let result: Observable<any> = fc.valueChanges.pipe(\n startWith(null),\n map(() => fc.value)\n )\n\n if (opts.debounce) {\n result = result.pipe(debounceTime(opts.debounce))\n }\n\n if (opts.falsyToNull) {\n result = result.pipe(map(v => (isFalsy(v) ? null : v)))\n }\n\n return handleCommonOptions(result, opts) as any\n}\n\nexport function fcObservableProperty<T, P extends FormControlProperties>(\n fc: FormControl<T>,\n property: P,\n opts: ObservableOptions = DEFAULT\n): Observable<FormControl<T>[P]> {\n const result = fc.statusChanges.pipe(\n startWith(null),\n map(() => fc[property])\n )\n\n return handleCommonOptions(result, opts)\n}\n\nfunction handleCommonOptions<T>(o: Observable<T>, opts: ObservableOptions): Observable<T> {\n if (opts.distinct) {\n o = o.pipe(distinctUntilChanged(isEqual))\n }\n\n if (opts.destruct) {\n o = o.pipe(takeUntilDestroyed())\n }\n\n return o.pipe(shareReplay(1))\n}\n","export const Zone = (window as any).Zone\n\nexport function __zone_symbol__<T extends string>(val: T): T {\n const symbol =\n typeof Zone !== \"undefined\" && (Zone as any).__symbol__\n ? (Zone as any).__symbol__(val)\n : `__zone_symbol__${val}`\n return typeof window[symbol] !== \"undefined\" ? symbol : val\n}\n\nexport const rawSetTimeout = window[__zone_symbol__(\"setTimeout\")]\nexport const rawClearTimeout = window[__zone_symbol__(\"clearTimeout\")]\nexport const rawSetInterval = window[__zone_symbol__(\"setInterval\")]\nexport const rawClearInterval = window[__zone_symbol__(\"clearInterval\")]\nexport const rawRequestAnimationFrame = window[__zone_symbol__(\"requestAnimationFrame\")]\nexport const rawCancelAnimationFrame = window[__zone_symbol__(\"cancelAnimationFrame\")]\n","import { rawRequestAnimationFrame } from \"./unngzone\"\n\ntype FastDomHandler = () => void\n\nclass _FastDOM {\n #rafId: any\n #mutate: Array<FastDomHandler> = []\n #measure: Array<FastDomHandler> = []\n\n public mutate(handler: FastDomHandler) {\n this.#mutate.push(handler)\n this._schedule()\n }\n\n public mutateNext(handler: FastDomHandler) {\n this.#mutate.push(() => {\n this.#mutate.push(handler)\n })\n this._schedule()\n }\n\n public measure(handler: FastDomHandler) {\n this.#measure.push(handler)\n this._schedule()\n }\n\n public setStyle(el: HTMLElement, style: { [key: string]: any }, chain?: FastDomHandler) {\n this.mutate(() => {\n for (const [k, v] of Object.entries(style)) {\n if (v == null) {\n el.style.removeProperty(k)\n } else {\n el.style.setProperty(k, v)\n }\n }\n\n chain && chain()\n })\n }\n\n public setAttributes(el: HTMLElement, attrs: { [key: string]: any }, chain?: FastDomHandler) {\n this.mutate(() => {\n for (const [k, v] of Object.entries(attrs)) {\n if (v == null) {\n el.removeAttribute(k)\n } else {\n el.setAttribute(k, v)\n }\n }\n\n chain && chain()\n })\n }\n\n private _schedule() {\n if (!this.#rafId) {\n this.#rafId = rawRequestAnimationFrame(this._apply.bind(this))\n }\n }\n\n private _apply() {\n this.#rafId = null\n\n const measure = this.#measure.slice()\n const mutate = this.#mutate.slice()\n this.#measure.length = 0\n this.#mutate.length = 0\n\n runQ(measure)\n runQ(mutate)\n\n if (this.#measure.length || this.#mutate.length) {\n this._schedule()\n }\n }\n}\n\nfunction runQ(items: FastDomHandler[]) {\n let item: FastDomHandler\n while ((item = items.shift()!)) {\n item()\n }\n}\n\nexport const FastDOM = new _FastDOM()\n","import {\n catchError,\n concat,\n concatMap,\n filter,\n forkJoin,\n from,\n map,\n Observable,\n ObservableInput,\n of,\n reduce,\n ReplaySubject,\n scan,\n share,\n shareReplay,\n Subject,\n Subscriber,\n take,\n takeLast,\n takeUntil,\n takeWhile,\n tap,\n throwError\n} from \"rxjs\"\n\nimport { flatten } from \"lodash\"\n\nexport type LifecycleHandler = () => ObservableInput<unknown> | null | undefined | void\n\nexport class StopLifecycle extends Error {}\n\nexport type LifecycleOptions = Record<string, { order?: \"parallel\" | \"sequential\"; cancellable?: boolean }>\n\nexport type LifecycleRemap<A, B> =\n A extends Lifecycle<infer AO, infer AS>\n ? B extends Lifecycle<infer BO, infer BS>\n ? Partial<{ [K in AS]: BS }>\n : never\n : never\n\nexport class Lifecycle<T extends LifecycleOptions, S extends keyof T = keyof T> {\n readonly states: T\n readonly #handlers: Partial<Record<S, Array<LifecycleHandler>>> = {}\n\n readonly #until = new Subject<void>()\n readonly #trigger = new Subject<S>()\n readonly #status = this.#trigger.pipe(\n takeUntil(this.#until),\n scan(\n (result, trigger) => {\n if (!result[trigger]) {\n result[trigger] = this.#run(trigger as S).pipe(\n tap(executed => {\n if (executed === false) {\n delete result[trigger]\n }\n }),\n map(executed => [trigger, !!executed] as [S, boolean]),\n shareReplay(1)\n )\n }\n return result\n },\n {} as Record<S, Observable<[S, boolean]>>\n ),\n concatMap(triggers => {\n const srcs = Object.values(triggers) as Array<Observable<[S, boolean]>>\n return concat(...srcs).pipe(\n takeWhile(([_, executed]) => executed, false),\n reduce(\n (result, [name, executed]) => {\n return { ...result, [name]: executed }\n },\n {} as Record<S, boolean>\n )\n )\n }),\n tap(status => {\n if (this.#handlers == null) {\n return\n }\n\n for (const [k, v] of Object.entries(status)) {\n if (v) {\n delete (this.#handlers as any)[k]\n }\n }\n }),\n share()\n )\n\n readonly status$ = this.#status.pipe(shareReplay(1))\n readonly current$ = new ReplaySubject<S>()\n\n constructor(states: T) {\n this.states = { ...states }\n\n for (const value of Object.values(states)) {\n if (value.order == null) {\n value.order = \"parallel\"\n }\n }\n }\n\n on(state: S, fn: LifecycleHandler) {\n if (state in this.#handlers) {\n this.#handlers[state]!.push(fn)\n } else {\n this.#handlers[state] = [fn]\n }\n\n return () => {\n const idx = this.#handlers[state]!.indexOf(fn)\n if (idx > -1) {\n this.#handlers[state]!.splice(idx, 1)\n }\n }\n }\n\n onExecute(state: S) {\n return this.current$.pipe(\n takeUntil(this.#until),\n filter(current => current === state)\n )\n }\n\n onDone(state: S) {\n return this.status$.pipe(\n filter(status => status[state]),\n take(1)\n )\n }\n\n run(...states: Array<S | S[]>) {\n const flattened = flatten(states).filter((v, i, a) => a.indexOf(v) === i)\n const expectedCount = flattened.length\n return new Observable((dest: Subscriber<void>) => {\n dest.add(\n this.#status.subscribe(currentStatus => {\n const executedCount = Object.entries(currentStatus).reduce(\n (result, [name, done]) => result + (done && flattened.includes(name as S) ? 1 : 0),\n 0\n )\n\n if (executedCount >= expectedCount) {\n dest.next()\n dest.complete()\n }\n })\n )\n\n for (const s of flattened) {\n this.#trigger.next(s)\n }\n })\n }\n\n /**\n * Run this state changes on other state\n */\n control<T extends Lifecycle<any, any>>(state: T, remap?: LifecycleRemap<this, T>) {\n const remove: Array<() => void> = []\n\n for (const selfState of Object.keys(this.states)) {\n const otherState = (remap as unknown as any)?.[selfState] || selfState\n if (otherState in state.states) {\n remove.push(this.on(selfState as any, () => state.run(otherState)))\n }\n }\n\n return () => {\n for (const fn of remove) {\n fn()\n }\n }\n }\n\n destroy() {\n ;(this as any).#handlers = null\n this.#until.next()\n this.#until.complete()\n }\n\n #run(state: S) {\n if (this.#handlers == null || !this.states[state]) {\n return of(true)\n }\n\n return new Observable((dest: Subscriber<boolean>) => {\n this.current$.next(state)\n\n const handlers = this.#handlers[state]\n if (handlers == null || handlers.length === 0) {\n dest.next(true)\n dest.complete()\n return\n }\n\n const observables: Array<Observable<any>> = handlers.map(handler => {\n const observable = handler()\n if (observable == null) {\n return of(null)\n } else {\n return from(observable)\n }\n })\n\n const config = this.states[state]\n\n if (observables.length === 1) {\n return observables[0].pipe(map(() => true)).subscribe(dest)\n } else if (config.order === \"parallel\") {\n return forkJoin(observables)\n .pipe(map(() => true))\n .subscribe(dest)\n } else if (config.order === \"sequential\") {\n return concat(...observables)\n .pipe(map(() => true))\n .subscribe(dest)\n } else {\n dest.next(true)\n dest.complete()\n }\n\n return\n }).pipe(\n takeLast(1),\n catchError(error => {\n if (error instanceof StopLifecycle) {\n return of(false)\n } else {\n return throwError(() => error)\n }\n })\n )\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["_isPlainObject"],"mappings":"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"}
1
+ {"version":3,"file":"ngutil-common.mjs","sources":["../../../../packages/common/src/destruct.ts","../../../../packages/common/src/number-with-unit.ts","../../../../packages/common/src/util.ts","../../../../packages/common/src/coerce/bool-attr.ts","../../../../packages/common/src/coerce/element.ts","../../../../packages/common/src/form/observable.ts","../../../../packages/common/src/unngzone.ts","../../../../packages/common/src/dom.ts","../../../../packages/common/src/lifecycle.ts","../../../../packages/common/src/ngutil-common.ts"],"sourcesContent":["import { Directive, OnDestroy } from \"@angular/core\"\n\nimport { Observable, share, Subject, take, takeUntil } from \"rxjs\"\n\nexport interface IDisposable {\n dispose(): void\n}\n\nexport class Destruct {\n readonly #on = new Subject<void>()\n readonly on = this.#on.pipe(share())\n\n constructor(fn?: () => void) {\n if (fn != null) {\n this.any(fn)\n }\n }\n get done(): boolean {\n return this.#on.closed\n }\n\n sub<T>(o: Observable<T>): Observable<T> {\n if (this.done) {\n return o.pipe(take(0))\n } else {\n return o.pipe(takeUntil(this.on))\n }\n }\n\n disposable<T extends IDisposable>(d: T): T {\n if (this.done) {\n d.dispose()\n } else {\n this.on.subscribe(d.dispose.bind(d))\n }\n\n return d\n }\n\n node<T extends Node>(el: T): T {\n const remove = () => {\n const parent = el.parentNode\n if (parent) {\n parent.removeChild(el)\n }\n }\n if (this.done) {\n remove()\n } else {\n this.on.subscribe(remove)\n }\n\n return el\n }\n\n any(f: () => void): void {\n if (this.done) {\n f()\n } else {\n this.on.subscribe(f)\n }\n }\n\n run() {\n if (!this.done) {\n this.#on.next()\n this.#on.complete()\n }\n }\n}\n\n@Directive()\nexport abstract class Destructible implements OnDestroy, IDisposable {\n /** @ignore */\n readonly d = new Destruct()\n\n /** @ignore */\n ngOnDestroy() {\n this.d.run()\n delete (this as any).d\n }\n\n /** @ignore */\n dispose() {\n this.ngOnDestroy()\n }\n}\n","export type NumberWithUnitInput = number | string | NumberWithUnit\n\nconst specials = [\"auto\", \"inherit\"]\n\nexport const UNIT_REGEX = \"v[h|w|min|max]|p[c|t|x]|[re|e|c|m]m|[l|c]h|%|in|Q|ex|m?s\"\nexport const NUMBER_REGEX = \"[+-]?(?:\\\\d*\\\\.\\\\d+|\\\\d+\\\\.\\\\d*|\\\\d+)\"\n\nconst regex = new RegExp(`^(${NUMBER_REGEX})\\\\s*(${UNIT_REGEX})?$`)\n\nexport class NumberWithUnit {\n static coerce(value: any, defaultUnit?: string) {\n if (value instanceof NumberWithUnit) {\n return value\n } else if (specials.includes(value)) {\n return new NumberWithUnit(NaN, value)\n } else if (typeof value === \"string\") {\n const match = value.match(regex)\n if (match) {\n return new NumberWithUnit(Number(match[1]), match[2] || defaultUnit)\n }\n } else if (typeof value === \"number\") {\n return new NumberWithUnit(value, defaultUnit)\n }\n\n throw new Error(`Not implemented number with unit: ${value}`)\n }\n\n constructor(\n public readonly value: number,\n public readonly unit?: string\n ) {}\n\n toString() {\n if (isNaN(this.value)) {\n return this.unit\n } else if (this.unit != null) {\n return `${this.value}${this.unit}`\n } else {\n return `${this.value}`\n }\n }\n}\n","import { isPlainObject as _isPlainObject, cloneDeep } from \"lodash-es\"\n\nimport { DeepReadonly } from \"./types/readonly\"\n\n// export { deepFreeze }\n\nexport const deepClone: <T>(obj: T) => T = typeof structuredClone === \"function\" ? structuredClone : cloneDeep\n// export const deepFreeze: <T>(obj: T) => DeepReadonly<T> = o => Object.freeze(o) as any\nexport const isPlainObject: (arg: any) => arg is { [key: string]: any } = _isPlainObject as any\n\nexport function deepFreeze<T>(obj: T): DeepReadonly<T> {\n if (obj == null) {\n return obj as any\n }\n\n if (obj instanceof Map) {\n obj.clear =\n obj.delete =\n obj.set =\n function () {\n throw new Error(\"map is read-only\")\n }\n } else if (obj instanceof Set) {\n obj.add =\n obj.clear =\n obj.delete =\n function () {\n throw new Error(\"set is read-only\")\n }\n }\n\n // Freeze self\n Object.freeze(obj)\n\n Object.getOwnPropertyNames(obj).forEach(name => {\n const prop = (obj as any)[name]\n const type = typeof prop\n\n // Freeze prop if it is an object or function and also not already frozen\n if ((type === \"object\" || type === \"function\") && !Object.isFrozen(prop)) {\n deepFreeze(prop)\n }\n })\n\n return obj as any\n}\n\n/**\n * @example\n * ```ts\n * toSorted([{id: 1}, {id: 2}, {id: 3}], sortBy([{id: \"desc\"}]))\n * ```\n */\nexport function toSorted<T>(items: readonly T[], fn: (a: T, b: T) => number): T[] {\n if (typeof (items as any).toSorted === \"function\") {\n return (items as any).toSorted(fn)\n } else {\n return items.slice(0).sort(fn)\n }\n}\n\ntype FalsyReturns = null | undefined | false | 0 | \"\"\n\nexport function isFalsy(value: any): value is FalsyReturns {\n if (value == null) {\n return true\n } else if (Array.isArray(value)) {\n return value.length === 0\n } else if (isPlainObject(value)) {\n return Object.keys(value).length === 0\n } else if (value instanceof Set) {\n return value.size === 0\n } else if (value instanceof Map) {\n return value.size === 0\n } else if (typeof value === \"string\") {\n return value.length === 0\n } else if (typeof value === \"number\") {\n return isNaN(value) || value === 0\n }\n return value === false\n}\n\nexport function isTruthy<T>(value: T): value is Exclude<T, FalsyReturns> {\n return !isFalsy(value)\n}\n","import { isTruthy } from \"../util\"\n\nexport type BooleanInput = string | boolean | null | undefined\n\nexport function coerceBoolAttr(value: BooleanInput): boolean {\n return isTruthy(value) || (typeof value === \"string\" && value !== \"false\")\n}\n","import { ElementRef } from \"@angular/core\"\n\nexport type ElementInput<T extends Element = HTMLElement> = T | ElementRef<T>\n\nexport function coerceElement<T>(value: T | ElementRef<T>): T {\n if (value instanceof ElementRef) {\n return value.nativeElement\n }\n return value\n}\n\nexport function isElementInput(value: any): value is ElementInput {\n return value instanceof Element || value instanceof ElementRef\n}\n","import { takeUntilDestroyed } from \"@angular/core/rxjs-interop\"\nimport { FormControl } from \"@angular/forms\"\n\nimport { debounceTime, distinctUntilChanged, map, Observable, shareReplay, startWith } from \"rxjs\"\n\nimport { isEqual } from \"lodash-es\"\n\nimport { isFalsy } from \"../util\"\n\nexport interface ObservableOptions {\n distinct?: boolean\n destruct?: boolean\n}\n\nexport interface ObservableValueOptions extends ObservableOptions {\n debounce?: number\n falsyToNull?: boolean\n}\n\nexport type FormControlProperties =\n | \"valid\"\n | \"invalid\"\n | \"status\"\n | \"pristine\"\n | \"dirty\"\n | \"touched\"\n | \"untouched\"\n | \"disabled\"\n | \"enabled\"\n | \"errors\"\n\nexport const DEFAULT: ObservableOptions = { distinct: true, destruct: true }\nexport const VALUE_DEFAULT: ObservableValueOptions = { ...DEFAULT, falsyToNull: true }\n\nexport function fcObservableValue<T, O extends ObservableValueOptions>(\n fc: FormControl<T>,\n opts: O = VALUE_DEFAULT as any\n): Observable<O extends { falsyToNull: true } ? T | null : T> {\n let result: Observable<any> = fc.valueChanges.pipe(\n startWith(null),\n map(() => fc.value)\n )\n\n if (opts.debounce) {\n result = result.pipe(debounceTime(opts.debounce))\n }\n\n if (opts.falsyToNull) {\n result = result.pipe(map(v => (isFalsy(v) ? null : v)))\n }\n\n return handleCommonOptions(result, opts) as any\n}\n\nexport function fcObservableProperty<T, P extends FormControlProperties>(\n fc: FormControl<T>,\n property: P,\n opts: ObservableOptions = DEFAULT\n): Observable<FormControl<T>[P]> {\n const result = fc.statusChanges.pipe(\n startWith(null),\n map(() => fc[property])\n )\n\n return handleCommonOptions(result, opts)\n}\n\nfunction handleCommonOptions<T>(o: Observable<T>, opts: ObservableOptions): Observable<T> {\n if (opts.distinct) {\n o = o.pipe(distinctUntilChanged(isEqual))\n }\n\n if (opts.destruct) {\n o = o.pipe(takeUntilDestroyed())\n }\n\n return o.pipe(shareReplay(1))\n}\n","export const Zone = (window as any).Zone\n\nexport function __zone_symbol__<T extends string>(val: T): T {\n const symbol =\n typeof Zone !== \"undefined\" && (Zone as any).__symbol__\n ? (Zone as any).__symbol__(val)\n : `__zone_symbol__${val}`\n return typeof window[symbol] !== \"undefined\" ? symbol : val\n}\n\nexport const rawSetTimeout = window[__zone_symbol__(\"setTimeout\")]\nexport const rawClearTimeout = window[__zone_symbol__(\"clearTimeout\")]\nexport const rawSetInterval = window[__zone_symbol__(\"setInterval\")]\nexport const rawClearInterval = window[__zone_symbol__(\"clearInterval\")]\nexport const rawRequestAnimationFrame = window[__zone_symbol__(\"requestAnimationFrame\")]\nexport const rawCancelAnimationFrame = window[__zone_symbol__(\"cancelAnimationFrame\")]\n","import { rawRequestAnimationFrame } from \"./unngzone\"\n\ntype FastDomHandler = () => void\n\nclass _FastDOM {\n #rafId: any\n #mutate: Array<FastDomHandler> = []\n #measure: Array<FastDomHandler> = []\n\n public mutate(handler: FastDomHandler) {\n this.#mutate.push(handler)\n this._schedule()\n }\n\n public mutateNext(handler: FastDomHandler) {\n this.#mutate.push(() => {\n this.#mutate.push(handler)\n })\n this._schedule()\n }\n\n public measure(handler: FastDomHandler) {\n this.#measure.push(handler)\n this._schedule()\n }\n\n public setStyle(el: HTMLElement, style: { [key: string]: any }, chain?: FastDomHandler) {\n this.mutate(() => {\n for (const [k, v] of Object.entries(style)) {\n if (v == null) {\n el.style.removeProperty(k)\n } else {\n el.style.setProperty(k, v)\n }\n }\n\n chain && chain()\n })\n }\n\n public setAttributes(el: HTMLElement, attrs: { [key: string]: any }, chain?: FastDomHandler) {\n this.mutate(() => {\n for (const [k, v] of Object.entries(attrs)) {\n if (v == null) {\n el.removeAttribute(k)\n } else {\n el.setAttribute(k, v)\n }\n }\n\n chain && chain()\n })\n }\n\n private _schedule() {\n if (!this.#rafId) {\n this.#rafId = rawRequestAnimationFrame(this._apply.bind(this))\n }\n }\n\n private _apply() {\n this.#rafId = null\n\n const measure = this.#measure.slice()\n const mutate = this.#mutate.slice()\n this.#measure.length = 0\n this.#mutate.length = 0\n\n runQ(measure)\n runQ(mutate)\n\n if (this.#measure.length || this.#mutate.length) {\n this._schedule()\n }\n }\n}\n\nfunction runQ(items: FastDomHandler[]) {\n let item: FastDomHandler\n while ((item = items.shift()!)) {\n item()\n }\n}\n\nexport const FastDOM = new _FastDOM()\n","import {\n catchError,\n concat,\n concatMap,\n filter,\n forkJoin,\n from,\n map,\n Observable,\n ObservableInput,\n of,\n reduce,\n ReplaySubject,\n scan,\n share,\n shareReplay,\n Subject,\n Subscriber,\n take,\n takeLast,\n takeUntil,\n takeWhile,\n tap,\n throwError\n} from \"rxjs\"\n\nimport { flatten } from \"lodash-es\"\n\nexport type LifecycleHandler = () => ObservableInput<unknown> | null | undefined | void\n\nexport class StopLifecycle extends Error {}\n\nexport type LifecycleOptions = Record<string, { order?: \"parallel\" | \"sequential\"; cancellable?: boolean }>\n\nexport type LifecycleRemap<A, B> =\n A extends Lifecycle<infer AO, infer AS>\n ? B extends Lifecycle<infer BO, infer BS>\n ? Partial<{ [K in AS]: BS }>\n : never\n : never\n\nexport class Lifecycle<T extends LifecycleOptions, S extends keyof T = keyof T> {\n readonly states: T\n readonly #handlers: Partial<Record<S, Array<LifecycleHandler>>> = {}\n\n readonly #until = new Subject<void>()\n readonly #trigger = new Subject<S>()\n readonly #status = this.#trigger.pipe(\n takeUntil(this.#until),\n scan(\n (result, trigger) => {\n if (!result[trigger]) {\n result[trigger] = this.#run(trigger as S).pipe(\n tap(executed => {\n if (executed === false) {\n delete result[trigger]\n }\n }),\n map(executed => [trigger, !!executed] as [S, boolean]),\n shareReplay(1)\n )\n }\n return result\n },\n {} as Record<S, Observable<[S, boolean]>>\n ),\n concatMap(triggers => {\n const srcs = Object.values(triggers) as Array<Observable<[S, boolean]>>\n return concat(...srcs).pipe(\n takeWhile(([_, executed]) => executed, false),\n reduce(\n (result, [name, executed]) => {\n return { ...result, [name]: executed }\n },\n {} as Record<S, boolean>\n )\n )\n }),\n tap(status => {\n if (this.#handlers == null) {\n return\n }\n\n for (const [k, v] of Object.entries(status)) {\n if (v) {\n delete (this.#handlers as any)[k]\n }\n }\n }),\n share()\n )\n\n readonly status$ = this.#status.pipe(shareReplay(1))\n readonly current$ = new ReplaySubject<S>()\n\n constructor(states: T) {\n this.states = { ...states }\n\n for (const value of Object.values(states)) {\n if (value.order == null) {\n value.order = \"parallel\"\n }\n }\n }\n\n on(state: S, fn: LifecycleHandler) {\n if (state in this.#handlers) {\n this.#handlers[state]!.push(fn)\n } else {\n this.#handlers[state] = [fn]\n }\n\n return () => {\n const idx = this.#handlers[state]!.indexOf(fn)\n if (idx > -1) {\n this.#handlers[state]!.splice(idx, 1)\n }\n }\n }\n\n onExecute(state: S) {\n return this.current$.pipe(\n takeUntil(this.#until),\n filter(current => current === state)\n )\n }\n\n onDone(state: S) {\n return this.status$.pipe(\n filter(status => status[state]),\n take(1)\n )\n }\n\n run(...states: Array<S | S[]>) {\n const flattened = flatten(states).filter((v, i, a) => a.indexOf(v) === i)\n const expectedCount = flattened.length\n return new Observable((dest: Subscriber<void>) => {\n dest.add(\n this.#status.subscribe(currentStatus => {\n const executedCount = Object.entries(currentStatus).reduce(\n (result, [name, done]) => result + (done && flattened.includes(name as S) ? 1 : 0),\n 0\n )\n\n if (executedCount >= expectedCount) {\n dest.next()\n dest.complete()\n }\n })\n )\n\n for (const s of flattened) {\n this.#trigger.next(s)\n }\n })\n }\n\n /**\n * Run this state changes on other state\n */\n control<T extends Lifecycle<any, any>>(state: T, remap?: LifecycleRemap<this, T>) {\n const remove: Array<() => void> = []\n\n for (const selfState of Object.keys(this.states)) {\n const otherState = (remap as unknown as any)?.[selfState] || selfState\n if (otherState in state.states) {\n remove.push(this.on(selfState as any, () => state.run(otherState)))\n }\n }\n\n return () => {\n for (const fn of remove) {\n fn()\n }\n }\n }\n\n destroy() {\n ;(this as any).#handlers = null\n this.#until.next()\n this.#until.complete()\n }\n\n #run(state: S) {\n if (this.#handlers == null || !this.states[state]) {\n return of(true)\n }\n\n return new Observable((dest: Subscriber<boolean>) => {\n this.current$.next(state)\n\n const handlers = this.#handlers[state]\n if (handlers == null || handlers.length === 0) {\n dest.next(true)\n dest.complete()\n return\n }\n\n const observables: Array<Observable<any>> = handlers.map(handler => {\n const observable = handler()\n if (observable == null) {\n return of(null)\n } else {\n return from(observable)\n }\n })\n\n const config = this.states[state]\n\n if (observables.length === 1) {\n return observables[0].pipe(map(() => true)).subscribe(dest)\n } else if (config.order === \"parallel\") {\n return forkJoin(observables)\n .pipe(map(() => true))\n .subscribe(dest)\n } else if (config.order === \"sequential\") {\n return concat(...observables)\n .pipe(map(() => true))\n .subscribe(dest)\n } else {\n dest.next(true)\n dest.complete()\n }\n\n return\n }).pipe(\n takeLast(1),\n catchError(error => {\n if (error instanceof StopLifecycle) {\n return of(false)\n } else {\n return throwError(() => error)\n }\n })\n )\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["_isPlainObject"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ngutil/common",
3
- "version": "0.0.69",
3
+ "version": "0.0.70",
4
4
  "peerDependencies": {
5
5
  "@angular/cdk": "18.2.6",
6
6
  "@angular/core": "18.2.6",