react-deepwatch 1.2.5 → 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.
@@ -46,7 +46,7 @@ type WatchedComponentOptions = {
46
46
  */
47
47
  useGlobalSharedProxyFacade?: boolean;
48
48
  };
49
- export declare function watchedComponent<PROPS extends object>(componentFn: (props: PROPS) => any, options?: WatchedComponentOptions): (props: PROPS) => any;
49
+ export declare function watchedComponent<PROPS extends object>(componentFn: (props: PROPS) => any, options?: WatchedComponentOptions): ((props: PROPS) => any) | import("react").MemoExoticComponent<(props: PROPS) => any>;
50
50
  type WatchedOptions = {
51
51
  /**
52
52
  * Called, when a deep property was changed through the proxy.
@@ -99,6 +99,12 @@ type LoadOptions = {
99
99
  * <p>Default: false</p>
100
100
  */
101
101
  silent?: boolean;
102
+ /**
103
+ * Specify dependencies. Just like with React's useEffect(...), a re-load will only be done, if these change. They are compared <strong>shallowly</strong>
104
+ * You can insert the special identifier: READS_INSIDE_LOADER_FN. I.e. <code>import {READS_INSIDE_LOADER_FN} from "react-deepwatch"; ... load(..., {deps: [READS_INSIDE_LOADER_FN, myOtherDep]})</code>
105
+ * <p>Default: Auto-dependencies. See readme.md</p>
106
+ */
107
+ deps?: unknown[];
102
108
  /**
103
109
  * Performance: Set to false, to mark following `load(...)` statements do not depend on the result. I.e when used only for immediate rendering or passed to child components only. I.e. <div>{load(...)}/div> or `<MySubComponent param={load(...)} />`:
104
110
  * Therefore, the following `load(...)` statements may not need a reload and can run in parallel.
@@ -257,4 +263,8 @@ export declare function bind<T>(prop: T, options?: BindingOptions): {
257
263
  export declare function debug_tagComponent(name: string): void;
258
264
  export { preserve } from "./preserve";
259
265
  export type { PreserveOptions } from "./preserve";
266
+ /**
267
+ * Flag/Single Enum
268
+ */
269
+ export declare const READS_INSIDE_LOADER_FN: {};
260
270
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAeA,OAAO,EAAqD,SAAS,EAA8B,MAAM,OAAO,CAAC;AAEjH,OAAO,EAAsB,eAAe,EAAC,MAAM,YAAY,CAAC;AAMhE,KAAK,uBAAuB,GAAG;IAC3B;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IAEd;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IAEvB;;;;;;;OAOG;IAEH,0BAA0B,CAAC,EAAE,OAAO,CAAA;CACvC,CAAA;AA0mBD,wBAAgB,gBAAgB,CAAC,KAAK,SAAS,MAAM,EAAE,WAAW,EAAC,CAAC,KAAK,EAAE,KAAK,KAAK,GAAG,EAAE,OAAO,GAAE,uBAA4B,YAC/F,KAAK,wDAAL,KAAK,UA8GpC;AAED,KAAK,cAAc,GAAG;IAClB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;CAQxB,CAAA;AAED;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,CAAC,CAkB7E;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,CAAC,CAKzF;AAgBD,KAAK,WAAW,GAAG;IACf;;;;;OAKG;IACH,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;IAE7B;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAErB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,EAAE,CAAA;IAEhB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAWlB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,eAAe,CAAA;CACvC,CAAA;AACD,KAAK,WAAW,GAAG;IACf;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAEhB;;;;;;OAMG;IACH,aAAa,CAAC,EAAC,OAAO,CAAA;CACzB,CAAA;AAED;;;;;;;;GAQG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,GAAG,CAAC,CAAA;AACrH;;;;;;;;GAQG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,GAAG;IAAC,QAAQ,EAAE,QAAQ,CAAA;CAAC,GAAG,CAAC,GAAG,QAAQ,CAAA;AAwRpI;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAMtD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAQvD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,GAAG,WAAW,GAAG,CAAC,CAAA;AAClI;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,GAAG;IAAC,QAAQ,EAAE,QAAQ,CAAA;CAAC,GAAG,WAAW,GAAG,CAAC,GAAG,QAAQ,CAAA;AA6ClJ,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI;IAAC,KAAK,EAAE,CAAC,CAAA;CAAC,CAAA;AAEzC,KAAK,cAAc,GAAG;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,aAAa,CAAC,CAAC,CAAC,CAqD9E;AAED;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,cAAc;WAG7B,GAAG;aACD,OAAO;cAkCvB,CAAC,CAAC,KAAK,EAAC,GAAG,KAAK,IAAI,CAAC;EAElC;AAGD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,QAE9C;AAED,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAA;AACnC,YAAY,EAAC,eAAe,EAAC,MAAM,YAAY,CAAA;AAE/C;;GAEG;AACH,eAAO,MAAM,sBAAsB,IAAK,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { RecordedReadOnProxiedObject, RecordedValueRead, WatchedProxyFacade, installChangeTracker, RecordedPropertyRead } from "proxy-facades";
2
- import { array_peekLast, isObject, newDefaultMap, recordedReadsArraysAreEqual, throwError } from "./Util";
2
+ import { array_peekLast, arraysAreShallowlyEqual, isObject, newDefaultMap, recordedReadsArraysAreEqual, throwError } from "./Util";
3
3
  import { useState, createElement, Fragment, useEffect, useContext, memo } from "react";
4
4
  import { ErrorBoundaryContext, useErrorBoundary } from "react-error-boundary";
5
5
  import { _preserve } from "./preserve";
@@ -366,10 +366,6 @@ class RenderRun {
366
366
  * Recorded reads of this component's watchedProxyFacade for load(...) statements
367
367
  */
368
368
  this.load_recordedReads = [];
369
- /**
370
- * Mutes recording into {@see RenderRun#load_recordedReads}
371
- */
372
- this.load_muteReadRecording = false;
373
369
  this.loadCallIdsSeen = new Set();
374
370
  /**
375
371
  * Increased, when we see a load(...) call
@@ -386,6 +382,7 @@ class RenderRun {
386
382
  */
387
383
  this.effectCleanupFns = [];
388
384
  this.diagnosis_objectsWatchedWithOnChange = new Set();
385
+ this.readsRecordingTarget = this.load_recordedReads;
389
386
  }
390
387
  handleRenderFinishedSuccessfully() {
391
388
  if (!this.isPassive) {
@@ -435,15 +432,14 @@ class RenderRun {
435
432
  * Mutes read-/dependency recording for load(...) statements while running fn()
436
433
  * @param fn
437
434
  */
438
- withReadRecordingMuted(fn) {
435
+ withRecordReadsInto(fn, recordTarget) {
436
+ const origTarget = this.readsRecordingTarget;
439
437
  try {
440
- !this.load_muteReadRecording || throwError("Illegal state"); // safety check: Should not be muted yet
441
- this.load_muteReadRecording = true;
438
+ this.readsRecordingTarget = recordTarget;
442
439
  return fn();
443
440
  }
444
441
  finally {
445
- this.load_muteReadRecording || throwError("Illegal state"); // safety check: Should currently be muted
446
- this.load_muteReadRecording = false;
442
+ this.readsRecordingTarget = origTarget;
447
443
  }
448
444
  }
449
445
  }
@@ -486,12 +482,11 @@ export function watchedComponent(componentFn, options = {}) {
486
482
  try {
487
483
  // Install read listener:
488
484
  let readListener = (read) => {
485
+ var _a;
489
486
  if (!renderRun.isPassive) { // Active run ?
490
487
  frame.watchPropertyChange(read);
491
488
  }
492
- if (!renderRun.load_muteReadRecording) {
493
- renderRun.load_recordedReads.push(read);
494
- }
489
+ (_a = renderRun.readsRecordingTarget) === null || _a === void 0 ? void 0 : _a.push(read);
495
490
  };
496
491
  persistent.watchedProxyFacade.onAfterRead(readListener);
497
492
  try {
@@ -534,6 +529,9 @@ export function watchedComponent(componentFn, options = {}) {
534
529
  }
535
530
  finally {
536
531
  renderRun.load_recordedReads = []; // renderRun is still referenced in closures, but this field is not needed, so let's not hold a big grown array here and may be prevent memory leaks
532
+ renderRun.readsRecordingTarget = undefined;
533
+ renderRun.binding_lastSeenRead = undefined;
534
+ renderRun.binding_lastSeenRead_outerMostGetter = undefined;
537
535
  currentRenderRun = undefined;
538
536
  }
539
537
  };
@@ -611,8 +609,6 @@ export function load(loaderFn, options = {}) {
611
609
  const renderRun = currentRenderRun;
612
610
  const frame = renderRun.frame;
613
611
  const persistent = frame.persistent;
614
- const recordedReadsSincePreviousLoadCall = renderRun.load_recordedReads;
615
- renderRun.load_recordedReads = []; // Pop recordedReads
616
612
  const callerSourceLocation = callStack.stack ? getCallerSourceLocation(callStack.stack) : undefined;
617
613
  // Determine loadCallId:
618
614
  let loadCallId;
@@ -640,6 +636,8 @@ export function load(loaderFn, options = {}) {
640
636
  loadCall = new LoadCall(loadCallId, persistent, options, callStack, callerSourceLocation);
641
637
  }
642
638
  persistent.loadCalls.set(loadCallId, isUnique ? loadCall : null);
639
+ //safety check:
640
+ !(options.deps !== undefined && !loadCall.isUniquelyIdentified()) || throwError(`Deps used, but the load(...) statement is not uniquely identifyable. Please specify a key via load(..., { key:<your key>, ...})`);
643
641
  loadCall.options = options; // Update options. It is allowed that these can change over time. I.e. the poll interval or the name.
644
642
  // Determine lastLoadRun:
645
643
  let lastLoadRun = renderRun.loadCallIndex < persistent.loadRuns.length ? persistent.loadRuns[renderRun.loadCallIndex] : undefined;
@@ -691,22 +689,46 @@ export function load(loaderFn, options = {}) {
691
689
  renderRun.loadCallIndex++;
692
690
  }
693
691
  function inner() {
694
- const recordedReadsAreEqualSinceLastCall = lastLoadRun && recordedReadsArraysAreEqual(recordedReadsSincePreviousLoadCall, lastLoadRun.recordedReadsBefore);
695
- if (!recordedReadsAreEqualSinceLastCall) {
696
- persistent.loadRuns = persistent.loadRuns.slice(0, renderRun.loadCallIndex); // Erase all loadRuns after here (including this one).
697
- lastLoadRun = undefined;
692
+ var _a;
693
+ function depsHaveChanngedSinceLastCall() {
694
+ var _a;
695
+ if (!lastLoadRun) {
696
+ return true;
697
+ }
698
+ if (options.deps === undefined) { // Auto-deps?
699
+ // Safety check:
700
+ if (!("auto_recordedReads" in lastLoadRun.deps)) {
701
+ return true; // Seems like options have changed
702
+ }
703
+ if (!recordedReadsArraysAreEqual(renderRun.load_recordedReads, lastLoadRun.deps.auto_recordedReads)) { // Performance note: Quadratic growth here! Could optimize this
704
+ return true;
705
+ }
706
+ }
707
+ else if (Array.isArray(options.deps)) { // Deps explicitly specified?
708
+ // Safety check:
709
+ if (!("explicit" in lastLoadRun.deps)) {
710
+ return true; // Seems like options have changed
711
+ }
712
+ if (!arraysAreShallowlyEqual(lastLoadRun.deps.explicit, options.deps)) { // deps have changed?
713
+ return true;
714
+ }
715
+ }
716
+ else {
717
+ throw new Error("Illegal value for options.deps");
718
+ }
719
+ if ((_a = lastLoadRun.recordedReadsInsideLoaderFn) === null || _a === void 0 ? void 0 : _a.some((r => r.isChanged))) { // I.e for "load( () => { fetch(props.x, myLocalValue) }) )" -> props.x or myLocalValue has changed?
720
+ return true;
721
+ }
698
722
  }
699
723
  /**
700
724
  * Can we use the result from last call ?
701
725
  */
702
726
  const canReuseLastResult = () => {
727
+ var _a, _b;
703
728
  if (!lastLoadRun) { // call was not recorded last render or is invalid?
704
729
  return false;
705
730
  }
706
- if (!recordedReadsAreEqualSinceLastCall) {
707
- return false;
708
- }
709
- if (lastLoadRun.recordedReadsInsideLoaderFn.some((r => r.isChanged))) { // I.e for "load( () => { fetch(props.x, myLocalValue) }) )" -> props.x or myLocalValue has changed?
731
+ if (depsHaveChanngedSinceLastCall()) {
710
732
  return false;
711
733
  }
712
734
  if (lastLoadRun.result.state === "resolved") {
@@ -718,11 +740,11 @@ export function load(loaderFn, options = {}) {
718
740
  if (fallback) { // Fallback available ?
719
741
  return { result: fallback.value };
720
742
  }
721
- lastLoadRun.recordedReadsInsideLoaderFn.forEach(read => frame.watchPropertyChange(read)); // Also watch recordedReadsInsideLoaderFn (again in this frame)
743
+ (_a = lastLoadRun.recordedReadsInsideLoaderFn) === null || _a === void 0 ? void 0 : _a.forEach(read => frame.watchPropertyChange(read)); // Also watch recordedReadsInsideLoaderFn (again in this frame)
722
744
  throw lastLoadRun.result.promise; // Throwing a promise will put the react component into suspense state
723
745
  }
724
746
  else if (lastLoadRun.result.state === "rejected") {
725
- lastLoadRun.recordedReadsInsideLoaderFn.forEach(read => frame.watchPropertyChange(read)); // Also watch recordedReadsInsideLoaderFn (again in this frame)
747
+ (_b = lastLoadRun.recordedReadsInsideLoaderFn) === null || _b === void 0 ? void 0 : _b.forEach(read => frame.watchPropertyChange(read)); // Also watch recordedReadsInsideLoaderFn (again in this frame)
726
748
  throw lastLoadRun.result.rejectReason;
727
749
  }
728
750
  else {
@@ -732,7 +754,7 @@ export function load(loaderFn, options = {}) {
732
754
  const canReuse = canReuseLastResult();
733
755
  if (canReuse !== false) { // can re-use ?
734
756
  const lastCall = persistent.loadRuns[renderRun.loadCallIndex];
735
- lastCall.recordedReadsInsideLoaderFn.forEach(read => frame.watchPropertyChange(read)); // Also watch recordedReadsInsideLoaderFn
757
+ (_a = lastCall.recordedReadsInsideLoaderFn) === null || _a === void 0 ? void 0 : _a.forEach(read => frame.watchPropertyChange(read)); // Also watch recordedReadsInsideLoaderFn (again in this frame)
736
758
  return canReuse.result; // return proxy'ed result from last call:
737
759
  }
738
760
  else { // cannot use last result ?
@@ -747,11 +769,15 @@ export function load(loaderFn, options = {}) {
747
769
  }
748
770
  // *** make a loadRun / exec loaderFn ***:
749
771
  let loadRun = new LoadRun(loadCall, loaderFn, renderRun.loadCallIndex);
750
- loadRun.recordedReadsBefore = recordedReadsSincePreviousLoadCall;
751
- const resultPromise = Promise.resolve(loadRun.exec()); // Exec loaderFn
772
+ loadRun.deps = options.deps === undefined ? { auto_recordedReads: [...renderRun.load_recordedReads] } : { explicit: [...options.deps] }; // Save deps
773
+ // Exec loaderFn and record reasd to loadRun.recordedReadsInsideLoaderFn:
774
+ if (options.deps === undefined || options.deps.includes(READS_INSIDE_LOADER_FN)) { // should reord reads ?
775
+ loadRun.recordedReadsInsideLoaderFn = []; // this will make the following call record into them
776
+ }
777
+ const resultPromise = renderRun.withRecordReadsInto(() => {
778
+ return Promise.resolve(loadRun.exec());
779
+ }, loadRun.recordedReadsInsideLoaderFn);
752
780
  loadRun.loaderFn = options.interval ? loadRun.loaderFn : undefined; // Remove reference if not needed to not risk leaking memory
753
- loadRun.recordedReadsInsideLoaderFn = renderRun.load_recordedReads;
754
- renderRun.load_recordedReads = []; // pop and remember the (immediate) reads from inside the loaderFn
755
781
  resultPromise.then((value) => {
756
782
  loadRun.result = { state: "resolved", resolvedValue: value };
757
783
  if (loadRun.isObsolete) {
@@ -921,7 +947,7 @@ export function binding(prop, options) {
921
947
  if (array_peekLast(renderRun.load_recordedReads) === lastRead) { // Read was last recorded in the render run? Usually true, except when the binding is on a different facade layer (which is fine also)
922
948
  renderRun.load_recordedReads.pop(); // Don't treat the read as a dependency to load(...) statements, because the value is exclusively consumed by the input component
923
949
  }
924
- renderRun.withReadRecordingMuted(() => {
950
+ renderRun.withRecordReadsInto(() => {
925
951
  if (renderRun.binding_lastSeenRead_outerMostGetter && !((options === null || options === void 0 ? void 0 : options.isAccessor) === false)) { // getter call and user want's getters ?
926
952
  obj = renderRun.binding_lastSeenRead_outerMostGetter.proxy;
927
953
  key = renderRun.binding_lastSeenRead_outerMostGetter.key;
@@ -938,15 +964,15 @@ export function binding(prop, options) {
938
964
  lastRead.value === obj[key] || throwError(`Illegal state: lastRead does not seem to be deterministic. ${diagnosis_msg()}\nMore info:${diagnosis_moreMsg()}`);
939
965
  prop === lastRead.value || throwError(`The value of the last recorded read is not what's passed as 'prop' argument into bind(prop). ${diagnosis_msg()}\nMore info:${diagnosis_moreMsg()}`);
940
966
  }
941
- });
967
+ }, undefined);
942
968
  return {
943
969
  get value() {
944
970
  if (!currentRenderRun)
945
971
  throw new Error("Illegal state. Not called from the render run of a watchedComponent");
946
- return currentRenderRun.withReadRecordingMuted(() => {
972
+ return currentRenderRun.withRecordReadsInto(() => {
947
973
  //@ts-ignore
948
974
  return obj[key];
949
- });
975
+ }, undefined);
950
976
  },
951
977
  set value(value) {
952
978
  //@ts-ignore
@@ -1004,4 +1030,8 @@ export function debug_tagComponent(name) {
1004
1030
  currentRenderRun.frame.persistent.debug_tag = name;
1005
1031
  }
1006
1032
  export { preserve } from "./preserve";
1033
+ /**
1034
+ * Flag/Single Enum
1035
+ */
1036
+ export const READS_INSIDE_LOADER_FN = {};
1007
1037
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,2BAA2B,EAC3B,iBAAiB,EACjB,kBAAkB,EAAE,oBAAoB,EAAE,oBAAoB,EACjE,MAAM,eAAe,CAAC;AACvB,OAAO,EACH,cAAc,EAEd,QAAQ,EACR,aAAa,EAEb,2BAA2B,EAC3B,UAAU,EACb,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAkB,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAa,SAAS,EAAE,UAAU,EAAE,IAAI,EAAC,MAAM,OAAO,CAAC;AACjH,OAAO,EAAC,oBAAoB,EAAE,gBAAgB,EAAC,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAC,SAAS,EAA4B,MAAM,YAAY,CAAC;AAEhE,IAAI,wBAAwD,CAAA;AAE5D,IAAI,iBAAiB,GAAC,CAAC,CAAC;AAsDxB;;;GAGG;AACH,MAAM,OAAO;IAkCT,IAAI,UAAU;QACV,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,kEAAkE;IAC7O,CAAC;IAED,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;IACjC,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,IAAI;QACN,IAAI,CAAC;YACD,IAAG,IAAI,CAAC,OAAO,CAAC,aAAa,KAAK,KAAK;gBAAE,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC,iBAAiB;YAC1F,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC5C,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,QAAS,CAAC,UAAU,CAAC,CAAC;YAC9C,IAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC,CAAC,oBAAoB;gBACtD,IAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,wBAAwB;oBAC3C,mJAAmJ;oBACnJ,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,IAAI,UAAU,CAAC,IAAI,KAAK,CAAC,6MAA6M,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAC,CAAC,CAAC,CAAC;oBACzT,MAAM,eAAe,GAAG,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAA,CAAC,CAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAA,CAAC,CAAC,EAAE,CAAC;oBAC9F,MAAM,GAAG,SAAS,CAAC,UAAU,EAAC,MAAM,EAAE,eAAe,EAAE,EAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAC,CAAC,CAAC;gBAC3G,CAAC;YACL,CAAC;YAED,mBAAmB;YACnB,IAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,oCAAoC;gBAC7F,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,iBAAiB;YACxD,CAAC;iBACI,CAAC;gBACF,gDAAgD;YACpD,CAAC;YAED,OAAO,MAAM,CAAA;QACjB,CAAC;gBACO,CAAC;YACL,IAAG,IAAI,CAAC,OAAO,CAAC,aAAa,KAAK,KAAK;gBAAE,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC,iBAAiB;QAC9F,CAAC;IACL,CAAC;IAED,gCAAgC;QAC5B,uCAAuC;QACvC,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,wBAAwB;YACjD,OAAO;QACX,CAAC;QACD,IAAG,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC,CAAC,sBAAsB;YACvD,OAAO;QACX,CAAC;QACD,IAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,OAAO;QACX,CAAC;QACD,IAAG,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO,CAAC,4FAA4F;QACxG,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE;YACrC,sCAAsC;YACtC,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC,CAAC,2CAA2C;gBAC7E,OAAO;YACX,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,OAAO;YACX,CAAC;YAED,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAE3B,gGAAgG;YAChG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC,CAAC,2CAA2C;gBAC7E,OAAO;YACX,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,OAAO;YACX,CAAC;YAED,cAAc;YACd,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,0JAA0J;YAC1L,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;YAC7B,IAAI,CAAC,gCAAgC,EAAE,CAAC;QAC5C,CAAC,EAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,YAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAE,CAAC;IACrG,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa;QACf,IAAI,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAChC,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;YAC5F,IAAI,CAAC,MAAM,GAAG,EAAC,KAAK,EAAE,UAAU,EAAE,aAAa,EAAC,KAAK,EAAC,CAAA;YAEtD,IAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBACjB,OAAO;YACX,CAAC;YAED,IAAG,SAAS,EAAE,CAAC;gBACX,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,iBAAiB,EAAE,CAAC,CAAC,uBAAuB;gBACrF,OAAO;YACX,CAAC;YACD,IAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpD,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,eAAe,EAAE,CAAC,CAAC,mLAAmL;gBAC/O,OAAO;YACX,CAAC;QACL,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,IAAI,CAAC,MAAM,GAAG,EAAC,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,EAAC,CAAC;YACnD,IAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,iBAAiB,EAAE,CAAC;YACjE,CAAC;QACL,CAAC;IACL,CAAC;IAED,uBAAuB;QACnB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAG,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YAChC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC/B,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QACjC,CAAC;IACL,CAAC;IAED,UAAU;QACN,IAAG,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;QACrC,CAAC;IACL,CAAC;IAGD,YAAY,QAAkB,EAAE,QAA6B,EAAE,WAAmB;QAnKlF,aAAQ,GAAG,EAAE,iBAAiB,CAAC;QAoK3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACnC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,QAAQ;IAyBV,YAAY,EAAkB,EAAE,0BAAsD,EAAE,OAA2C,EAAE,mBAAsC,EAAE,8BAAkD;QAC3N,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,0BAA0B,GAAG,0BAA0B,CAAC;QAC7D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,IAAI,CAAC,8BAA8B,GAAG,8BAA8B,CAAA;IACxE,CAAC;IAED,oBAAoB;QAChB,IAAI,eAAe,GAAG,IAAI,CAAC,0BAA0B,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7E,IAAG,eAAe,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC9E,CAAC;QACD,IAAG,eAAe,KAAK,IAAI,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC,CAAC,yBAAyB;QAC3C,CAAC;QACD,IAAG,eAAe,KAAK,IAAI,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;QACxF,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,gBAAgB;QACZ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,IAAI,UAAU,CAAC,iKAAiK,CAAC,CAAC,CAAC,iBAAiB;QAE1P,IAAG,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACtD,OAAO,EAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAC,CAAA;QACnC,CAAC;aACI,IAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9C,OAAO,EAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAC,CAAC;QAC1C,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AAED,SAAS,wBAAwB;IAC7B,MAAM,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;IACxC,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC,4BAA4B;IAC5D,4DAA4D;IAC5D,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,IAAG,gBAAgB,EAAE,CAAC;YAClB,gBAAgB,CAAC,oBAAoB,GAAG,IAAI,CAAC;YAC7C,gBAAgB,CAAC,oCAAoC,GAAG,MAAM,CAAC,sBAAsB,CAAC;QAC1F,CAAC;IACL,CAAC,CAAC,CAAA;IACF,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,0BAA0B;IAK5B,IAAI,kBAAkB;QAClB,IAAG,IAAI,CAAC,OAAO,CAAC,0BAA0B,KAAK,KAAK,EAAE,CAAC;YACnD,OAAO,IAAI,CAAC,4BAA4B,IAAI,CAAC,IAAI,CAAC,4BAA4B,GAAG,wBAAwB,EAAE,CAAC,CAAC;QACjH,CAAC;QACD,+BAA+B;QAC/B,OAAO,wBAAwB,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,EAAE,CAAC,CAAC,CAAC,kCAAkC;IAClI,CAAC;IA6CS,UAAU;QAChB,kBAAkB;QAClB,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC;QAElC,IAAI,CAAC,WAAW,EAAE,CAAA;IACtB,CAAC;IAED,eAAe,CAAC,oBAAgC;QAC5C,MAAM,mBAAmB,GAAG,IAAI,CAAC,iBAAiB,KAAK,KAAK,CAAC;QAE7D,qCAAqC;QACrC,IAAG,oBAAoB,KAAK,SAAS,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI,EAAE,CAAC;YACvE,IAAI,CAAC,iBAAiB,GAAG,oBAAoB,CAAC;QAClD,CAAC;aACI,CAAC;YACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAClC,CAAC;QAED,IAAG,mBAAmB,EAAE,CAAC;YACrB,OAAO;QACX,CAAC;QAED,oBAAoB;QACpB,IAAG,gBAAgB,KAAK,SAAS,EAAE,CAAC;YAChC,8EAA8E;YAC9E,UAAU,CAAC,GAAG,EAAE;gBACZ,IAAI,CAAC,UAAU,EAAE,CAAC;YACtB,CAAC,CAAC,CAAA;QACN,CAAC;aACI,CAAC;YACF,IAAI,CAAC,UAAU,EAAE,CAAC;QACtB,CAAC;IACL,CAAC;IAED;;OAEG;IACH,iBAAiB;;QACb,MAAA,MAAA,IAAI,CAAC,YAAa,EAAC,oBAAoB,kDAAI,CAAC;QAC5C,IAAI,CAAC,eAAe,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,0BAA0B;;QACtB,OAAO,CAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,eAAe,MAAK,SAAS,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC;IAC5H,CAAC;IAGD,YAAY,OAAgC;QAzF5C;;WAEG;QACH,cAAS,GAAG,IAAI,GAAG,EAAmC,CAAC;QAEvD;;WAEG;QACH,aAAQ,GAAc,EAAE,CAAC;QAIzB;;;;WAIG;QACH,sBAAiB,GAAwB,KAAK,CAAC;QAI/C,yBAAoB,GAAG,KAAK,CAAC;QAE7B;;WAEG;QACH,4BAAuB,GAAiB,EAAE,CAAC;QAE3C,iCAA4B,GAAiB,EAAE,CAAC;QAEhD;;;WAGG;QACH,sCAAiC,GAAG,aAAa,CAA6B,GAAG,EAAE,CAAC,wBAAwB,EAAE,CAAC,CAAC;QAwD5G,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;IAC/D,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,KAAa;QACvB,uBAAuB;QACvB,KAAI,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACrB,YAAY;YACZ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC;QAED,iCAAiC;QACjC,KAAI,MAAM,GAAG,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACjC,YAAY;YACZ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC;IACL,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,KAAK;IA0BP;QAFA,0BAAqB,GAAG,KAAK,CAAC;QAM9B,gCAA2B,GAAiB,EAAE,CAAC;QAiB/C,iCAA4B,GAAiB,EAAE,CAAC;QApB5C,IAAI,CAAC,oCAAoC,GAAG,IAAI,CAAC,oCAAoC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,4DAA4D;IAClK,CAAC;IAGD;;;OAGG;IACH,wBAAwB;QACpB,IAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC5B,OAAO;QACX,CAAC;QAED,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAEnD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,gCAAgC,EAAE,CAAC,CAAC,CAAC,oBAAoB;QAEnG,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;IACtC,CAAC;IAID;;;OAGG;IACH,uBAAuB,CAAC,uBAAuB,GAAC,IAAI;QAChD,IAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,OAAO;QACX,CAAC;QAED,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB;QAC3E,IAAG,uBAAuB,EAAE,CAAC;YACzB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC,0BAA0B;QACpG,CAAC;QAED,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;IACvC,CAAC;IAED,2BAA2B;QACvB,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC;IACxC,CAAC;IAED,mBAAmB,CAAC,IAAkB;;QAClC,sHAAsH;QACtH,IAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;YAChD,IAAI,CAAC;gBACD,IAAI,IAAI,YAAY,2BAA2B,EAAE,CAAC;oBAC9C,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvC,CAAC;YACL,CAAC;YACD,OAAO,CAAC,EAAE,CAAC;gBACP,IAAG,MAAC,CAAW,CAAC,OAAO,0CAAE,UAAU,CAAC,0CAA0C,CAAC,EAAE,CAAC,CAAC,6DAA6D;gBAEhJ,CAAC;qBACI,CAAC;oBACF,mJAAmJ;oBACnJ,MAAM,IAAI,KAAK,CAAC,iWAAiW,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,CAAC,CAAC;gBACnY,CAAC;YACL,CAAC;QACL,CAAC;QAED,2CAA2C;QAC3C,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,oCAAoC,CAAC,iFAAiF,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,KAAK,KAAK,CAAC,CAAC,CAAC;QAC7O,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,oCAAoC,CAAC,iFAAiF,CAAC,CAAC,CAAC;IACnM,CAAC;IAES,oCAAoC;QAC1C,IAAI,gBAAgB,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACnF,CAAC;QACD,IAAI,CAAC,2BAA2B,EAAE,CAAC;IACvC,CAAC;CACJ;AAED;;;GAGG;AACH,MAAM,SAAS;IAAf;QAGI,cAAS,GAAC,KAAK,CAAC;QAEhB;;WAEG;QACH,uBAAkB,GAAmB,EAAE,CAAC;QAExC;;WAEG;QACH,2BAAsB,GAAG,KAAK,CAAC;QAE/B,oBAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;QAE5C;;WAEG;QACH,kBAAa,GAAG,CAAC,CAAC;QAElB,4CAAuC,GAAiB,EAAE,CAAC;QAM3D,2BAAsB,GAAG,KAAK,CAAC;QAE/B;;WAEG;QACH,cAAS,GAAmB,EAAE,CAAC;QAE/B;;WAEG;QACH,qBAAgB,GAAmB,EAAE,CAAC;QAQtC,yCAAoC,GAAG,IAAI,GAAG,EAAU,CAAC;IAmE7D,CAAC;IAjEG,gCAAgC;QAC5B,IAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,0BAA0B;YAC1B,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;YACzD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACf,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACjC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChD,CAAC;YACL,CAAC,CAAC,CAAA;YAEF,0BAA0B;YAC1B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,GAAC,CAAC,CAAC,CAAC;QACnG,CAAC;IACL,CAAC;IAED;;OAEG;IACH,iBAAiB;QACb,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,oBAAoB,GAAG,IAAI,CAAC;QAClD,IAAI,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC;QACtC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,mBAAmB;QACf,kBAAkB;QAClB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,4BAA4B,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,4BAA4B,GAAG,EAAE,CAAC;QAExD,IAAI,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,YAAa,CAAC;QACvD,IAAG,YAAY,CAAC,MAAM,YAAY,KAAK,IAAI,YAAY,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC,CAAC,uBAAuB;YACjH,0FAA0F;YAC1F,IAAG,IAAI,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC,CAAC,sBAAsB;gBACpD,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC,mJAAmJ;YAClM,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,uBAAuB,CAAC,IAAI,CAAC,GAAG,EAAE;gBACpD,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC;gBACrC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC,4EAA4E;YAC5J,CAAC,CAAC,CAAC,CAAC,sCAAsC;QAC9C,CAAC;aACI,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC,CAAC,eAAe;QACzD,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,sBAAsB,CAAI,EAAW;QACjC,IAAI,CAAC;YAED,CAAC,IAAI,CAAC,sBAAsB,IAAI,UAAU,CAAC,eAAe,CAAC,CAAA,CAAC,wCAAwC;YACpG,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;YACnC,OAAO,EAAE,EAAE,CAAC;QAChB,CAAC;gBACO,CAAC;YACL,IAAI,CAAC,sBAAsB,IAAI,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,0CAA0C;YACtG,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACxC,CAAC;IACL,CAAC;CACJ;AACD,IAAI,gBAAsC,CAAC;AAE3C,MAAM,UAAU,gBAAgB,CAAuB,WAAiC,EAAE,UAAmC,EAAE;IAC3H,MAAM,WAAW,GAAG,CAAC,KAAY,EAAE,EAAE;QACjC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,0BAA0B,CAAC,OAAO,CAAC,CAAC,CAAC;QACvE,UAAU,CAAC,WAAW,GAAG,GAAG,EAAE,CAAC,gBAAgB,CAAC,aAAa,GAAC,CAAC,CAAC,CAAC;QAEjE,MAAM,SAAS,GAAG,UAAU,CAAC,0BAA0B,EAAE,CAAA;QAEzD,sFAAsF;QACtF,UAAU,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC,+BAA+B;QACpE,UAAU,CAAC,eAAe,EAAE,CAAC,CAAC,6FAA6F;QAC3H,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAEhC,UAAU,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAErC,oIAAoI;QACpI,UAAU,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACvD,UAAU,CAAC,uBAAuB,GAAG,EAAE,CAAC;QAExC,gBAAgB;QAChB,IAAI,KAAK,GAAG,SAAS,IAAI,UAAU,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC;QACvG,UAAU,CAAC,YAAY,GAAG,KAAK,CAAC;QAChC,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;QAE9B,oBAAoB;QACpB,gBAAgB,KAAK,SAAS,IAAI,UAAU,CAAC,4CAA4C,CAAC,CAAC;QAC3F,MAAM,SAAS,GAAG,gBAAgB,GAAG,IAAI,SAAS,EAAE,CAAC;QACrD,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC;QACxB,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC;QAChC,KAAK,CAAC,eAAe,GAAG,gBAAgB,CAAC;QAGzC,0CAA0C;QAC1C,IAAG,OAAO,gBAAgB,KAAK,UAAU,EAAE,CAAC,CAAC,+BAA+B;YACxE,YAAY;YACZ,IAAG,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,4BAA4B;gBAC/D,KAAK,CAAC,oBAAoB,GAAG,gBAAgB,EAAE,CAAC,aAAa,CAAC;YAClE,CAAC;QACL,CAAC;QAED,SAAS,CAAC,GAAG,EAAE;YACX,SAAS,CAAC,iBAAiB,EAAE,CAAC;YAC9B,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC;QACjD,CAAC,CAAC,CAAC;QAGH,IAAI,CAAC;YACD,yBAAyB;YACzB,IAAI,YAAY,GAAG,CAAC,IAAkB,EAAG,EAAE;gBACvC,IAAG,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,eAAe;oBACtC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;gBACpC,CAAC;gBACD,IAAG,CAAC,SAAS,CAAC,sBAAsB,EAAE,CAAC;oBACnC,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5C,CAAC;YACL,CAAC,CAAC;YACF,UAAU,CAAC,kBAAkB,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;YAEvD,IAAI,CAAC;gBACD,IAAI,CAAC;oBACD,IAAI,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,YAAqB,CAAC,CAAC,CAAE,oCAAoC;oBACjG,SAAS,CAAC,gCAAgC,EAAE,CAAC;oBAC7C,OAAO,MAAM,CAAC;gBAClB,CAAC;wBACO,CAAC;oBACL,SAAS,CAAC,uCAAuC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB;gBAC1F,CAAC;YACL,CAAC;YACD,OAAO,CAAC,EAAE,CAAC;gBACP,IAAG,UAAU,CAAC,0BAA0B,EAAE,EAAE,CAAC;oBACzC,OAAO,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,0HAA0H;gBACpK,CAAC;gBAED,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;gBACjB,IAAG,CAAC,YAAY,OAAO,EAAE,CAAC;oBACtB,IAAG,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC;wBAClC,kGAAkG;wBAClG,OAAO,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,iFAAiF;oBAC3H,CAAC;oBAED,IAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;wBAClB,OAAO,OAAO,CAAC,QAAQ,CAAC;oBAC5B,CAAC;oBAED,8IAA8I;gBAClJ,CAAC;qBACI,CAAC,CAAC,SAAS;oBACZ,IAAG,KAAK,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC,CAAC,yCAAyC;wBACpF,gFAAgF;wBAChF,KAAK,CAAC,wBAAwB,EAAE,CAAC;wBACjC,UAAU,CAAC,uBAAuB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,KAAK,CAAC,uBAAuB,EAAE,CAAA,CAAA,CAAC,CAAC,CAAC;oBACrF,CAAC;gBACL,CAAC;gBACD,MAAM,CAAC,CAAC;YACZ,CAAC;oBACO,CAAC;gBACL,UAAU,CAAC,kBAAkB,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YAC7D,CAAC;QACL,CAAC;gBACO,CAAC;YACL,SAAS,CAAC,kBAAkB,GAAG,EAAE,CAAC,CAAC,oJAAoJ;YACvL,gBAAgB,GAAG,SAAS,CAAC;QACjC,CAAC;IACL,CAAC,CAAA;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACzB,OAAO,WAAW,CAAC;IACvB,CAAC;IAED,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC;AAC7B,CAAC;AAoBD;;;;;;;;GAQG;AACH,MAAM,UAAU,OAAO,CAAmB,GAAM,EAAE,OAAwB;IACtE,gBAAgB,IAAI,UAAU,CAAC,oDAAoD,CAAC,CAAC;IACrF,IAAI,MAAM,GAAG,gBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC,kBAAkB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACpF,IAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,EAAE,CAAC;QACnB,gBAAgB;QAChB,CAAC,gBAAiB,CAAC,oCAAoC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,sVAAsV,CAAC,CAAC;QAC1a,gBAAiB,CAAC,oCAAoC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAElE,MAAM,uBAAuB,GAAG,gBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC,iCAAiC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,4BAA4B;QAE3I,uEAAuE;QACvE,MAAM,aAAa,GAAG,CAAC,eAAoB,EAAE,EAAE,CAAC,OAAO,CAAC,QAAS,EAAE,CAAA;QACnE,gBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,uBAAuB,CAAC,aAAa,CAAC,aAAa,CAAC,CAAA,CAAA,CAAC,CAAC,CAAC;QAC/F,gBAAiB,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,uBAAuB,CAAC,cAAc,CAAC,aAAa,CAAC,CAAA,CAAA,CAAC,CAAC,CAAC;QAEvG,MAAM,GAAG,uBAAuB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAmB,OAAU,EAAE,OAAwB;IAClF,gBAAgB,IAAI,UAAU,CAAC,4DAA4D,CAAC,CAAC;IAE7F,MAAM,CAAC,KAAK,CAAC,GAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;IACnC,OAAO,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,OAAO,CAAI,MAAwB;IACxC,OAAO,SAAc,CAAC;AAC1B,CAAC;AAuGD;;;;;;;;GAQG;AACH,MAAM,UAAU,IAAI,CAAC,QAAmD,EAAE,UAA8C,EAAE;IACtH,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA,CAAC,6EAA6E;IAEjI,WAAW;IACX,2EAA2E;IAC3E,uDAAuD;IAEvD,mBAAmB;IACnB,OAAO,QAAQ,KAAK,UAAU,IAAI,UAAU,CAAC,4BAA4B,CAAC,CAAC;IAC3E,IAAG,gBAAgB,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;IAErG,MAAM,SAAS,GAAG,gBAAgB,CAAC;IACnC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAA;IAC7B,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IACpC,MAAM,kCAAkC,GAAG,SAAS,CAAC,kBAAkB,CAAC;IAAC,SAAS,CAAC,kBAAkB,GAAG,EAAE,CAAC,CAAC,oBAAoB;IAChI,MAAM,oBAAoB,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,uBAAuB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEpG,wBAAwB;IACxB,IAAI,UAAsC,CAAA;IAC1C,IAAG,OAAO,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,UAAU,CAAC,uDAAuD,CAAC,CAAC,CAAC,iBAAiB;QAEnH,UAAU,GAAG,OAAO,CAAC,EAAE,CAAC;QAExB,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,kBAAkB,UAAU,gBAAgB,CAAC,CAAC;IAC3G,CAAC;SAAM,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QACnC,oBAAoB,IAAI,UAAU,CAAC,oGAAoG,CAAC,CAAC,CAAC,iBAAiB;QAC3J,UAAU,GAAG,GAAG,oBAAoB,MAAM,OAAO,CAAC,GAAG,EAAE,CAAA,CAAC,WAAW;QACnE,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,mBAAmB,OAAO,CAAC,GAAG,+CAA+C,CAAC,CAAC;IAC5I,CAAC;SAAM,CAAC;QACJ,UAAU,GAAG,oBAAoB,CAAC,CAAC,4BAA4B;IACnE,CAAC;IACD,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,CAAC;IAC/G,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAE1C,kCAAkC;IAClC,IAAI,QAA8B,CAAA;IAClC,IAAG,QAAQ,EAAE,CAAC;QACV,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAA2B,CAAC;IAC9E,CAAC;IACD,IAAG,QAAQ,KAAK,SAAS,EAAE,CAAC;QACxB,QAAQ,GAAG,IAAI,QAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,oBAAoB,CAAC,CAAC;IAC9F,CAAC;IACD,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAA,CAAC,CAAA,QAAQ,CAAA,CAAC,CAAA,IAAI,CAAC,CAAC;IAE7D,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,qGAAqG;IAEjI,yBAAyB;IACzB,IAAI,WAAW,GAAG,SAAS,CAAC,aAAa,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAA,CAAC,CAAA,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA,CAAC,CAAA,SAAS,CAAC;IAC9H,IAAG,WAAW,EAAE,CAAC;QACb,WAAW,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,qCAAqC;QACrG,mJAAmJ;QACnJ,WAAW,CAAC,QAAQ,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,IAAI,UAAU,CAAC,IAAI,KAAK,CAAC,gLAAgL,GAAG,sBAAsB,WAAW,CAAC,QAAQ,CAAC,EAAE,QAAQ,QAAQ,CAAC,EAAE,+CAA+C,EAAE,EAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,mBAAmB,EAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB;IAC9a,CAAC;IAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,gBAAgB,EAAE,CAAC;IAE7C,IAAI,CAAC;QACD,IAAG,SAAS,CAAC,SAAS,EAAE,CAAC;YACrB,iEAAiE;YAEjE,kBAAkB;YAClB,IAAG,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC3B,6LAA6L;gBAC7L,gKAAgK;gBAEhK,IAAG,QAAQ,EAAE,CAAC;oBACV,OAAO,QAAQ,CAAC,KAAK,CAAC;gBAC1B,CAAC;qBACI,CAAC;oBACF,MAAM,IAAI,KAAK,CAAC,8HAA8H,CAAC,CAAC;gBACpJ,CAAC;YACL,CAAC;YAED,+BAA+B;YAC/B,IAAG,WAAW,CAAC,MAAM,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBACzC,OAAO,OAAO,CAAC,QAAQ,KAAK,KAAK,CAAA,CAAC,CAAA,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA,CAAC,CAAA,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC;YACjH,CAAC;iBACI,IAAG,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,CAAC,KAAK,MAAK,UAAU,EAAE,CAAC;gBAC/C,MAAM,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC;YAC1C,CAAC;iBACI,IAAG,WAAW,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC7C,IAAG,QAAQ,EAAE,CAAC;oBACV,OAAO,QAAQ,CAAC,KAAK,CAAC;gBAC1B,CAAC;gBACD,MAAM,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC;YACrC,CAAC;iBACI,CAAC;gBACF,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACvC,CAAC;QACL,CAAC;QAED,IAAI,MAAM,GAAG,KAAK,EAAE,CAAC;QACrB,IAAG,OAAO,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YAC5B,OAAO,MAAM,CAAC,CAAC,oCAAoC;QACvD,CAAC;QACD,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,uCAAuC;QACzG,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;YACO,CAAC;QACL,SAAS,CAAC,aAAa,EAAE,CAAC;IAC9B,CAAC;IAID,SAAS,KAAK;QACV,MAAM,kCAAkC,GAAG,WAAW,IAAI,2BAA2B,CAAC,kCAAkC,EAAE,WAAW,CAAC,mBAAmB,CAAC,CAAA;QAC1J,IAAG,CAAC,kCAAkC,EAAE,CAAC;YACrC,UAAU,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,sDAAsD;YACnI,WAAW,GAAG,SAAS,CAAC;QAC5B,CAAC;QAED;;WAEG;QACH,MAAM,kBAAkB,GAAG,GAAG,EAAE;YAC5B,IAAG,CAAC,WAAW,EAAE,CAAC,CAAC,mDAAmD;gBAClE,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,IAAI,CAAC,kCAAkC,EAAE,CAAC;gBACtC,OAAO,KAAK,CAAC;YACjB,CAAC;YAED,IAAI,WAAW,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,oGAAoG;gBACxK,OAAO,KAAK,CAAC;YACjB,CAAC;YAED,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBAC1C,OAAO,EAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,aAAa,EAAC,CAAA;YACrD,CAAC;YACD,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBACzC,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC;gBACnD,SAAS,CAAC,sBAAsB,KAAhC,SAAS,CAAC,sBAAsB,GAAM,OAAO,CAAC,QAAQ,KAAK,KAAK,EAAE;gBAClE,IAAI,QAAQ,EAAE,CAAC,CAAC,uBAAuB;oBACnC,OAAO,EAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAC,CAAC;gBACpC,CAAC;gBAED,WAAW,CAAC,2BAA2B,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAA,CAAC,+DAA+D;gBACxJ,MAAM,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,sEAAsE;YAC5G,CAAC;iBAAM,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBACjD,WAAW,CAAC,2BAA2B,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAA,CAAC,+DAA+D;gBACxJ,MAAM,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;YAChE,CAAC;QACL,CAAC,CAAA;QAED,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;QACtC,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC,CAAC,eAAe;YACrC,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YAE9D,QAAQ,CAAC,2BAA2B,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAA,CAAC,yCAAyC;YAE/H,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,yCAAyC;QACrE,CAAC;aACI,CAAC,CAAC,2BAA2B;YAC9B,IAAG,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,sBAAsB,EAAE,CAAC,CAAC,kHAAkH;gBAC9K,wBAAwB;gBACxB,IAAG,QAAQ,EAAE,CAAC;oBACV,OAAO,QAAQ,CAAC,KAAK,CAAC;gBAC1B,CAAC;qBACI,CAAC;oBACF,MAAM,SAAS,CAAC,WAAW,CAAC;gBAChC,CAAC;YACL,CAAC;YAED,0CAA0C;YAE1C,IAAI,OAAO,GAAG,IAAI,OAAO,CAAC,QAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;YACxE,OAAO,CAAC,mBAAmB,GAAG,kCAAkC,CAAC;YACjE,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,gBAAgB;YACvE,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA,CAAC,CAAA,OAAO,CAAC,QAAQ,CAAA,CAAC,CAAA,SAAS,CAAC,CAAC,4DAA4D;YAC5H,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC,kBAAkB,CAAC;YAAC,SAAS,CAAC,kBAAkB,GAAG,EAAE,CAAC,CAAC,kEAAkE;YAEzK,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;gBACzB,OAAO,CAAC,MAAM,GAAG,EAAC,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAC,CAAC;gBAE3D,IAAG,OAAO,CAAC,UAAU,EAAE,CAAC;oBACpB,OAAO;gBACX,CAAC;gBAED;;;;;;;;;;;kBAWE;gBAEF,UAAU,CAAC,iBAAiB,EAAE,CAAC;YACnC,CAAC,CAAC,CAAC;YACH,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;gBACzB,OAAO,CAAC,MAAM,GAAG,EAAC,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAC,CAAA;gBAE1D,IAAG,OAAO,CAAC,UAAU,EAAE,CAAC;oBACpB,OAAO;gBACX,CAAC;gBAED,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC,gGAAgG;YACpI,CAAC,CAAC,CAAA;YACF,OAAO,CAAC,MAAM,GAAG,EAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAC,CAAC;YAE5D,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,CAAC,gBAAgB;YAExE,SAAS,CAAC,WAAW,GAAG,aAAa,CAAC;YACtC,SAAS,CAAC,sBAAsB,KAAhC,SAAS,CAAC,sBAAsB,GAAM,OAAO,CAAC,QAAQ,KAAK,KAAK,EAAE;YAElE,IAAI,QAAQ,EAAE,CAAC;gBACX,OAAO,QAAQ,CAAC,KAAK,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACJ,MAAM,aAAa,CAAC,CAAC,sEAAsE;YAC/F,CAAC;QACL,CAAC;IACL,CAAC;IAED,SAAS,OAAO,CAAC,KAAc,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAA,CAAC,CAAA,UAAU,CAAC,kBAAkB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA,CAAC,CAAA,KAAK,CAAA,CAAC,CAAC;IAEhJ;;;;OAIG;IACH,SAAS,uBAAuB,CAAC,SAA6B;QAC1D,SAAS,GAAG,SAAU,CAAC,OAAO,CAAC,gCAAgC,EAAE,EAAE,CAAC,CAAC,CAAC,uCAAuC;QAC7G,MAAM,aAAa,GAAG,SAAU,CAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9C,aAAa,CAAC,MAAM,IAAI,CAAC,IAAI,UAAU,CAAC,gCAAgC,SAAS,EAAE,CAAC,CAAC,CAAC,iBAAiB;QACvG,IAAI,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACrC,MAAM,KAAK,EAAE,IAAI,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAC9C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,wBAAwB;QAC9D,OAAO,MAAM,CAAC;IAClB,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,SAAS,CAAC,UAAmB;IACzC,MAAM,SAAS,GAAG,gBAAgB,CAAC;IACnC,kBAAkB;IAClB,IAAG,SAAS,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;IAEnG,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACrJ,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,UAAU,CAAC,UAAmB;IAC1C,MAAM,SAAS,GAAG,gBAAgB,CAAC;IACnC,kBAAkB;IAClB,IAAG,SAAS,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;IAEnG,OAAO,KAAK,CAAC,GAAG,EAAE;;QACd,OAAO,MAAC,MAAA,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,KAAK,UAAU,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,0CAAE,MAAc,0CAAE,YAAY,CAAC;IACjK,CAAC,EAAE,SAAS,CAAC,CAAC;AAClB,CAAC;AAsCD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,IAAI,CAAC,QAAmD,EAAE,OAAkC;IACxG,OAAO,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AACnC,CAAC;AAED;;;;GAIG;AACH,SAAS,KAAK,CAAI,OAAgB,EAAE,aAAgB;IAChD,MAAM,SAAS,GAAG,gBAAgB,CAAC;IACnC,kBAAkB;IAClB,IAAG,SAAS,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;IAEtF,IAAG,SAAS,CAAC,SAAS,EAAE,CAAC;QACrB,OAAO,OAAO,EAAE,CAAC;IACrB,CAAC;IAED,SAAS,CAAC,uCAAuC,CAAC,IAAI,CAAC,GAAG,EAAE;QACxD,IAAG,OAAO,EAAE,KAAK,aAAa,EAAE,CAAC;YAC7B,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAA,CAAC,0BAA0B;QAC3F,CAAC;IACL,CAAC,CAAC,CAAA;IAEF,OAAO,aAAa,CAAC;AACzB,CAAC;AAQD;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAI,IAAO,EAAE,OAAwB;IACxD,MAAM,SAAS,GAAG,gBAAgB,CAAC;IACnC,kBAAkB;IAClB,IAAI,SAAS,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IAElG,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,wIAAwI,CAAC;IAErK,IAAI,GAAU,CAAC;IACf,IAAI,GAAoB,CAAC;IAEzB,mBAAmB;IACnB,MAAM,QAAQ,GAAG,SAAS,CAAC,oBAAoB,CAAC;IAChD,IAAG,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IACtF,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC,2DAA2D,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;IACtH,IAAG,CAAC,CAAC,QAAQ,YAAY,2BAA2B,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,wDAAwD,aAAa,EAAE,eAAe,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAEpL,IAAG,cAAc,CAAC,SAAS,CAAC,kBAAkB,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC,sIAAsI;QAClM,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC,iIAAiI;IACzK,CAAC;IAED,SAAS,CAAC,sBAAsB,CAAC,GAAG,EAAE;QAClC,IAAI,SAAS,CAAC,oCAAoC,IAAI,CAAC,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,MAAK,KAAK,CAAC,EAAE,CAAC,CAAC,wCAAwC;YAC9H,GAAG,GAAG,SAAS,CAAC,oCAAoC,CAAC,KAAK,CAAA;YAC1D,GAAG,GAAG,SAAS,CAAC,oCAAoC,CAAC,GAAG,CAAA;YACxD,YAAY;YACZ,IAAI,KAAK,GAAG,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,gGAAgG,aAAa,EAAE,gEAAgE,GAAG,sFAAsF,CAAC,CAAC;QAC9S,CAAC;aAAM,CAAC,CAAC,kCAAkC;YACvC,IAAI,CAAC,CAAC,QAAQ,YAAY,oBAAoB,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,wDAAwD,aAAa,EAAE,eAAe,iBAAiB,EAAE,EAAE,CAAC,CAAC;YAE9K,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC;YACrB,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;YAEnB,kCAAkC;YAClC,YAAY;YACZ,QAAQ,CAAC,KAAK,KAAK,GAAG,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,8DAA8D,aAAa,EAAE,eAAe,iBAAiB,EAAE,EAAE,CAAC,CAAC;YAC7J,IAAI,KAAK,QAAQ,CAAC,KAAK,IAAI,UAAU,CAAC,gGAAgG,aAAa,EAAE,eAAe,iBAAiB,EAAE,EAAE,CAAC,CAAC;QAC/L,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO;QACH,IAAI,KAAK;YACL,IAAG,CAAC,gBAAgB;gBAAG,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;YAE9G,OAAO,gBAAgB,CAAC,sBAAsB,CAAC,GAAG,EAAE;gBAChD,YAAY;gBACZ,OAAO,GAAG,CAAC,GAAG,CAAM,CAAA;YACxB,CAAC,CAAC,CAAA;QACN,CAAC;QACD,IAAI,KAAK,CAAC,KAAK;YACX,YAAY;YACZ,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACrB,CAAC;KACJ,CAAA;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,IAAI,CAAI,IAAO,EAAE,OAAwB;IACrD,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnC,OAAO;QACH,KAAK,EAAE,GAAG,CAAC,KAAY,EAAE,+CAA+C;QACxE,OAAO,EAAE,GAAG,CAAC,KAAgB;QAC7B,QAAQ,EAAE,CAAC,CAAC,KAA+B,EAAE,EAAE;YAC3C,IAAG,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC7C,IAAG,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,EAAE,CAAC;oBACtB,MAAM,IAAI,KAAK,CAAC,mRAAmR,CAAC,CAAA;gBACxS,CAAC;gBACD,IAAG,KAAK,CAAC,MAAM,YAAY,gBAAgB,EAAE,CAAC,CAAC,6BAA6B;oBACxE,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;oBAC/B,IAAG,IAAI,KAAK,UAAU,EAAE,CAAC;wBACrB,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,OAAY,CAAC;oBAC1C,CAAC;yBACI,IAAG,IAAI,KAAK,OAAO,EAAE,CAAC;wBACvB,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;oBAC7E,CAAC;yBACI,CAAC,CAAC,qCAAqC;wBACxC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAU,CAAC;oBACxC,CAAC;gBACL,CAAC;qBACI,IAAG,KAAK,CAAC,MAAM,YAAY,iBAAiB,EAAE,CAAC;oBAChD,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;gBACnC,CAAC;qBACI,IAAG,SAAS,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBAChC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,OAAY,CAAC,CAAC,oBAAoB;gBAC/D,CAAC;qBACI,IAAG,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBAC9B,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAU,CAAC;gBACxC,CAAC;qBACI,CAAC;oBACF,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;gBAC5E,CAAC;YACL,CAAC;iBACI,CAAC,CAAC,yBAAyB;gBAC5B,GAAG,CAAC,KAAK,GAAG,KAAU,CAAC,CAAC,6DAA6D;YACzF,CAAC;QACL,CAAC,CAA0B,CAAC,gCAAgC;KAC/D,CAAC;AACN,CAAC;AAGD,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC3C,gBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC;AACxD,CAAC;AAED,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"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"}
@@ -46,7 +46,7 @@ type WatchedComponentOptions = {
46
46
  */
47
47
  useGlobalSharedProxyFacade?: boolean;
48
48
  };
49
- export declare function watchedComponent<PROPS extends object>(componentFn: (props: PROPS) => any, options?: WatchedComponentOptions): (props: PROPS) => any;
49
+ export declare function watchedComponent<PROPS extends object>(componentFn: (props: PROPS) => any, options?: WatchedComponentOptions): ((props: PROPS) => any) | import("react").MemoExoticComponent<(props: PROPS) => any>;
50
50
  type WatchedOptions = {
51
51
  /**
52
52
  * Called, when a deep property was changed through the proxy.
@@ -99,6 +99,12 @@ type LoadOptions = {
99
99
  * <p>Default: false</p>
100
100
  */
101
101
  silent?: boolean;
102
+ /**
103
+ * Specify dependencies. Just like with React's useEffect(...), a re-load will only be done, if these change. They are compared <strong>shallowly</strong>
104
+ * You can insert the special identifier: READS_INSIDE_LOADER_FN. I.e. <code>import {READS_INSIDE_LOADER_FN} from "react-deepwatch"; ... load(..., {deps: [READS_INSIDE_LOADER_FN, myOtherDep]})</code>
105
+ * <p>Default: Auto-dependencies. See readme.md</p>
106
+ */
107
+ deps?: unknown[];
102
108
  /**
103
109
  * Performance: Set to false, to mark following `load(...)` statements do not depend on the result. I.e when used only for immediate rendering or passed to child components only. I.e. <div>{load(...)}/div> or `<MySubComponent param={load(...)} />`:
104
110
  * Therefore, the following `load(...)` statements may not need a reload and can run in parallel.
@@ -257,4 +263,8 @@ export declare function bind<T>(prop: T, options?: BindingOptions): {
257
263
  export declare function debug_tagComponent(name: string): void;
258
264
  export { preserve } from "./preserve";
259
265
  export type { PreserveOptions } from "./preserve";
266
+ /**
267
+ * Flag/Single Enum
268
+ */
269
+ export declare const READS_INSIDE_LOADER_FN: {};
260
270
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.preserve = void 0;
3
+ exports.READS_INSIDE_LOADER_FN = exports.preserve = void 0;
4
4
  exports.watchedComponent = watchedComponent;
5
5
  exports.watched = watched;
6
6
  exports.useWatchedState = useWatchedState;
@@ -379,10 +379,6 @@ class RenderRun {
379
379
  * Recorded reads of this component's watchedProxyFacade for load(...) statements
380
380
  */
381
381
  this.load_recordedReads = [];
382
- /**
383
- * Mutes recording into {@see RenderRun#load_recordedReads}
384
- */
385
- this.load_muteReadRecording = false;
386
382
  this.loadCallIdsSeen = new Set();
387
383
  /**
388
384
  * Increased, when we see a load(...) call
@@ -399,6 +395,7 @@ class RenderRun {
399
395
  */
400
396
  this.effectCleanupFns = [];
401
397
  this.diagnosis_objectsWatchedWithOnChange = new Set();
398
+ this.readsRecordingTarget = this.load_recordedReads;
402
399
  }
403
400
  handleRenderFinishedSuccessfully() {
404
401
  if (!this.isPassive) {
@@ -448,15 +445,14 @@ class RenderRun {
448
445
  * Mutes read-/dependency recording for load(...) statements while running fn()
449
446
  * @param fn
450
447
  */
451
- withReadRecordingMuted(fn) {
448
+ withRecordReadsInto(fn, recordTarget) {
449
+ const origTarget = this.readsRecordingTarget;
452
450
  try {
453
- !this.load_muteReadRecording || (0, Util_1.throwError)("Illegal state"); // safety check: Should not be muted yet
454
- this.load_muteReadRecording = true;
451
+ this.readsRecordingTarget = recordTarget;
455
452
  return fn();
456
453
  }
457
454
  finally {
458
- this.load_muteReadRecording || (0, Util_1.throwError)("Illegal state"); // safety check: Should currently be muted
459
- this.load_muteReadRecording = false;
455
+ this.readsRecordingTarget = origTarget;
460
456
  }
461
457
  }
462
458
  }
@@ -499,12 +495,11 @@ function watchedComponent(componentFn, options = {}) {
499
495
  try {
500
496
  // Install read listener:
501
497
  let readListener = (read) => {
498
+ var _a;
502
499
  if (!renderRun.isPassive) { // Active run ?
503
500
  frame.watchPropertyChange(read);
504
501
  }
505
- if (!renderRun.load_muteReadRecording) {
506
- renderRun.load_recordedReads.push(read);
507
- }
502
+ (_a = renderRun.readsRecordingTarget) === null || _a === void 0 ? void 0 : _a.push(read);
508
503
  };
509
504
  persistent.watchedProxyFacade.onAfterRead(readListener);
510
505
  try {
@@ -547,6 +542,9 @@ function watchedComponent(componentFn, options = {}) {
547
542
  }
548
543
  finally {
549
544
  renderRun.load_recordedReads = []; // renderRun is still referenced in closures, but this field is not needed, so let's not hold a big grown array here and may be prevent memory leaks
545
+ renderRun.readsRecordingTarget = undefined;
546
+ renderRun.binding_lastSeenRead = undefined;
547
+ renderRun.binding_lastSeenRead_outerMostGetter = undefined;
550
548
  currentRenderRun = undefined;
551
549
  }
552
550
  };
@@ -624,8 +622,6 @@ function load(loaderFn, options = {}) {
624
622
  const renderRun = currentRenderRun;
625
623
  const frame = renderRun.frame;
626
624
  const persistent = frame.persistent;
627
- const recordedReadsSincePreviousLoadCall = renderRun.load_recordedReads;
628
- renderRun.load_recordedReads = []; // Pop recordedReads
629
625
  const callerSourceLocation = callStack.stack ? getCallerSourceLocation(callStack.stack) : undefined;
630
626
  // Determine loadCallId:
631
627
  let loadCallId;
@@ -653,6 +649,8 @@ function load(loaderFn, options = {}) {
653
649
  loadCall = new LoadCall(loadCallId, persistent, options, callStack, callerSourceLocation);
654
650
  }
655
651
  persistent.loadCalls.set(loadCallId, isUnique ? loadCall : null);
652
+ //safety check:
653
+ !(options.deps !== undefined && !loadCall.isUniquelyIdentified()) || (0, Util_1.throwError)(`Deps used, but the load(...) statement is not uniquely identifyable. Please specify a key via load(..., { key:<your key>, ...})`);
656
654
  loadCall.options = options; // Update options. It is allowed that these can change over time. I.e. the poll interval or the name.
657
655
  // Determine lastLoadRun:
658
656
  let lastLoadRun = renderRun.loadCallIndex < persistent.loadRuns.length ? persistent.loadRuns[renderRun.loadCallIndex] : undefined;
@@ -704,22 +702,46 @@ function load(loaderFn, options = {}) {
704
702
  renderRun.loadCallIndex++;
705
703
  }
706
704
  function inner() {
707
- const recordedReadsAreEqualSinceLastCall = lastLoadRun && (0, Util_1.recordedReadsArraysAreEqual)(recordedReadsSincePreviousLoadCall, lastLoadRun.recordedReadsBefore);
708
- if (!recordedReadsAreEqualSinceLastCall) {
709
- persistent.loadRuns = persistent.loadRuns.slice(0, renderRun.loadCallIndex); // Erase all loadRuns after here (including this one).
710
- lastLoadRun = undefined;
705
+ var _a;
706
+ function depsHaveChanngedSinceLastCall() {
707
+ var _a;
708
+ if (!lastLoadRun) {
709
+ return true;
710
+ }
711
+ if (options.deps === undefined) { // Auto-deps?
712
+ // Safety check:
713
+ if (!("auto_recordedReads" in lastLoadRun.deps)) {
714
+ return true; // Seems like options have changed
715
+ }
716
+ if (!(0, Util_1.recordedReadsArraysAreEqual)(renderRun.load_recordedReads, lastLoadRun.deps.auto_recordedReads)) { // Performance note: Quadratic growth here! Could optimize this
717
+ return true;
718
+ }
719
+ }
720
+ else if (Array.isArray(options.deps)) { // Deps explicitly specified?
721
+ // Safety check:
722
+ if (!("explicit" in lastLoadRun.deps)) {
723
+ return true; // Seems like options have changed
724
+ }
725
+ if (!(0, Util_1.arraysAreShallowlyEqual)(lastLoadRun.deps.explicit, options.deps)) { // deps have changed?
726
+ return true;
727
+ }
728
+ }
729
+ else {
730
+ throw new Error("Illegal value for options.deps");
731
+ }
732
+ if ((_a = lastLoadRun.recordedReadsInsideLoaderFn) === null || _a === void 0 ? void 0 : _a.some((r => r.isChanged))) { // I.e for "load( () => { fetch(props.x, myLocalValue) }) )" -> props.x or myLocalValue has changed?
733
+ return true;
734
+ }
711
735
  }
712
736
  /**
713
737
  * Can we use the result from last call ?
714
738
  */
715
739
  const canReuseLastResult = () => {
740
+ var _a, _b;
716
741
  if (!lastLoadRun) { // call was not recorded last render or is invalid?
717
742
  return false;
718
743
  }
719
- if (!recordedReadsAreEqualSinceLastCall) {
720
- return false;
721
- }
722
- if (lastLoadRun.recordedReadsInsideLoaderFn.some((r => r.isChanged))) { // I.e for "load( () => { fetch(props.x, myLocalValue) }) )" -> props.x or myLocalValue has changed?
744
+ if (depsHaveChanngedSinceLastCall()) {
723
745
  return false;
724
746
  }
725
747
  if (lastLoadRun.result.state === "resolved") {
@@ -731,11 +753,11 @@ function load(loaderFn, options = {}) {
731
753
  if (fallback) { // Fallback available ?
732
754
  return { result: fallback.value };
733
755
  }
734
- lastLoadRun.recordedReadsInsideLoaderFn.forEach(read => frame.watchPropertyChange(read)); // Also watch recordedReadsInsideLoaderFn (again in this frame)
756
+ (_a = lastLoadRun.recordedReadsInsideLoaderFn) === null || _a === void 0 ? void 0 : _a.forEach(read => frame.watchPropertyChange(read)); // Also watch recordedReadsInsideLoaderFn (again in this frame)
735
757
  throw lastLoadRun.result.promise; // Throwing a promise will put the react component into suspense state
736
758
  }
737
759
  else if (lastLoadRun.result.state === "rejected") {
738
- lastLoadRun.recordedReadsInsideLoaderFn.forEach(read => frame.watchPropertyChange(read)); // Also watch recordedReadsInsideLoaderFn (again in this frame)
760
+ (_b = lastLoadRun.recordedReadsInsideLoaderFn) === null || _b === void 0 ? void 0 : _b.forEach(read => frame.watchPropertyChange(read)); // Also watch recordedReadsInsideLoaderFn (again in this frame)
739
761
  throw lastLoadRun.result.rejectReason;
740
762
  }
741
763
  else {
@@ -745,7 +767,7 @@ function load(loaderFn, options = {}) {
745
767
  const canReuse = canReuseLastResult();
746
768
  if (canReuse !== false) { // can re-use ?
747
769
  const lastCall = persistent.loadRuns[renderRun.loadCallIndex];
748
- lastCall.recordedReadsInsideLoaderFn.forEach(read => frame.watchPropertyChange(read)); // Also watch recordedReadsInsideLoaderFn
770
+ (_a = lastCall.recordedReadsInsideLoaderFn) === null || _a === void 0 ? void 0 : _a.forEach(read => frame.watchPropertyChange(read)); // Also watch recordedReadsInsideLoaderFn (again in this frame)
749
771
  return canReuse.result; // return proxy'ed result from last call:
750
772
  }
751
773
  else { // cannot use last result ?
@@ -760,11 +782,15 @@ function load(loaderFn, options = {}) {
760
782
  }
761
783
  // *** make a loadRun / exec loaderFn ***:
762
784
  let loadRun = new LoadRun(loadCall, loaderFn, renderRun.loadCallIndex);
763
- loadRun.recordedReadsBefore = recordedReadsSincePreviousLoadCall;
764
- const resultPromise = Promise.resolve(loadRun.exec()); // Exec loaderFn
785
+ loadRun.deps = options.deps === undefined ? { auto_recordedReads: [...renderRun.load_recordedReads] } : { explicit: [...options.deps] }; // Save deps
786
+ // Exec loaderFn and record reasd to loadRun.recordedReadsInsideLoaderFn:
787
+ if (options.deps === undefined || options.deps.includes(exports.READS_INSIDE_LOADER_FN)) { // should reord reads ?
788
+ loadRun.recordedReadsInsideLoaderFn = []; // this will make the following call record into them
789
+ }
790
+ const resultPromise = renderRun.withRecordReadsInto(() => {
791
+ return Promise.resolve(loadRun.exec());
792
+ }, loadRun.recordedReadsInsideLoaderFn);
765
793
  loadRun.loaderFn = options.interval ? loadRun.loaderFn : undefined; // Remove reference if not needed to not risk leaking memory
766
- loadRun.recordedReadsInsideLoaderFn = renderRun.load_recordedReads;
767
- renderRun.load_recordedReads = []; // pop and remember the (immediate) reads from inside the loaderFn
768
794
  resultPromise.then((value) => {
769
795
  loadRun.result = { state: "resolved", resolvedValue: value };
770
796
  if (loadRun.isObsolete) {
@@ -934,7 +960,7 @@ function binding(prop, options) {
934
960
  if ((0, Util_1.array_peekLast)(renderRun.load_recordedReads) === lastRead) { // Read was last recorded in the render run? Usually true, except when the binding is on a different facade layer (which is fine also)
935
961
  renderRun.load_recordedReads.pop(); // Don't treat the read as a dependency to load(...) statements, because the value is exclusively consumed by the input component
936
962
  }
937
- renderRun.withReadRecordingMuted(() => {
963
+ renderRun.withRecordReadsInto(() => {
938
964
  if (renderRun.binding_lastSeenRead_outerMostGetter && !((options === null || options === void 0 ? void 0 : options.isAccessor) === false)) { // getter call and user want's getters ?
939
965
  obj = renderRun.binding_lastSeenRead_outerMostGetter.proxy;
940
966
  key = renderRun.binding_lastSeenRead_outerMostGetter.key;
@@ -951,15 +977,15 @@ function binding(prop, options) {
951
977
  lastRead.value === obj[key] || (0, Util_1.throwError)(`Illegal state: lastRead does not seem to be deterministic. ${diagnosis_msg()}\nMore info:${diagnosis_moreMsg()}`);
952
978
  prop === lastRead.value || (0, Util_1.throwError)(`The value of the last recorded read is not what's passed as 'prop' argument into bind(prop). ${diagnosis_msg()}\nMore info:${diagnosis_moreMsg()}`);
953
979
  }
954
- });
980
+ }, undefined);
955
981
  return {
956
982
  get value() {
957
983
  if (!currentRenderRun)
958
984
  throw new Error("Illegal state. Not called from the render run of a watchedComponent");
959
- return currentRenderRun.withReadRecordingMuted(() => {
985
+ return currentRenderRun.withRecordReadsInto(() => {
960
986
  //@ts-ignore
961
987
  return obj[key];
962
- });
988
+ }, undefined);
963
989
  },
964
990
  set value(value) {
965
991
  //@ts-ignore
@@ -1018,4 +1044,8 @@ function debug_tagComponent(name) {
1018
1044
  }
1019
1045
  var preserve_2 = require("./preserve");
1020
1046
  Object.defineProperty(exports, "preserve", { enumerable: true, get: function () { return preserve_2.preserve; } });
1047
+ /**
1048
+ * Flag/Single Enum
1049
+ */
1050
+ exports.READS_INSIDE_LOADER_FN = {};
1021
1051
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"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"}
package/index.ts CHANGED
@@ -6,7 +6,7 @@ import {
6
6
  } from "proxy-facades";
7
7
  import {
8
8
  array_peekLast,
9
- arraysAreEqualsByPredicateFn,
9
+ arraysAreEqualsByPredicateFn, arraysAreShallowlyEqual,
10
10
  isObject,
11
11
  newDefaultMap,
12
12
  PromiseState,
@@ -88,12 +88,9 @@ class LoadRun {
88
88
  */
89
89
  loaderFn?: (oldResult?: unknown) => Promise<unknown>;
90
90
 
91
+ deps!: {auto_recordedReads: RecordedRead[]} | {explicit: unknown[]};
91
92
 
92
- /**
93
- * From the beginning or previous load call up to this one
94
- */
95
- recordedReadsBefore!: RecordedRead[];
96
- recordedReadsInsideLoaderFn!: RecordedRead[];
93
+ recordedReadsInsideLoaderFn?: RecordedRead[];
97
94
 
98
95
  result!: PromiseState<unknown>;
99
96
 
@@ -585,9 +582,9 @@ class RenderRun {
585
582
  load_recordedReads: RecordedRead[] = [];
586
583
 
587
584
  /**
588
- * Mutes recording into {@see RenderRun#load_recordedReads}
585
+ * Record the reads into which array? Undefined = recording muted
589
586
  */
590
- load_muteReadRecording = false;
587
+ readsRecordingTarget?: RecordedRead[];
591
588
 
592
589
  loadCallIdsSeen = new Set<LoadCall["id"]>();
593
590
 
@@ -622,6 +619,10 @@ class RenderRun {
622
619
 
623
620
  diagnosis_objectsWatchedWithOnChange = new Set<object>();
624
621
 
622
+ constructor() {
623
+ this.readsRecordingTarget = this.load_recordedReads;
624
+ }
625
+
625
626
  handleRenderFinishedSuccessfully() {
626
627
  if(!this.isPassive) {
627
628
  // Delete unused loadCalls
@@ -675,16 +676,14 @@ class RenderRun {
675
676
  * Mutes read-/dependency recording for load(...) statements while running fn()
676
677
  * @param fn
677
678
  */
678
- withReadRecordingMuted<T>(fn: () => T) {
679
+ withRecordReadsInto<T>(fn: () => T, recordTarget: RecordedRead[] | undefined) {
680
+ const origTarget = this.readsRecordingTarget;
679
681
  try {
680
-
681
- !this.load_muteReadRecording || throwError("Illegal state") // safety check: Should not be muted yet
682
- this.load_muteReadRecording = true;
682
+ this.readsRecordingTarget = recordTarget;
683
683
  return fn();
684
684
  }
685
685
  finally {
686
- this.load_muteReadRecording || throwError("Illegal state"); // safety check: Should currently be muted
687
- this.load_muteReadRecording = false;
686
+ this.readsRecordingTarget = origTarget;
688
687
  }
689
688
  }
690
689
  }
@@ -742,9 +741,7 @@ export function watchedComponent<PROPS extends object>(componentFn:(props: PROPS
742
741
  if(!renderRun.isPassive) { // Active run ?
743
742
  frame.watchPropertyChange(read);
744
743
  }
745
- if(!renderRun.load_muteReadRecording) {
746
- renderRun.load_recordedReads.push(read);
747
- }
744
+ renderRun.readsRecordingTarget?.push(read);
748
745
  };
749
746
  persistent.watchedProxyFacade.onAfterRead(readListener)
750
747
 
@@ -791,6 +788,9 @@ export function watchedComponent<PROPS extends object>(componentFn:(props: PROPS
791
788
  }
792
789
  finally {
793
790
  renderRun.load_recordedReads = []; // renderRun is still referenced in closures, but this field is not needed, so let's not hold a big grown array here and may be prevent memory leaks
791
+ renderRun.readsRecordingTarget = undefined;
792
+ renderRun.binding_lastSeenRead = undefined;
793
+ renderRun.binding_lastSeenRead_outerMostGetter = undefined;
794
794
  currentRenderRun = undefined;
795
795
  }
796
796
  }
@@ -905,6 +905,13 @@ type LoadOptions = {
905
905
  */
906
906
  silent?: boolean
907
907
 
908
+ /**
909
+ * Specify dependencies. Just like with React's useEffect(...), a re-load will only be done, if these change. They are compared <strong>shallowly</strong>
910
+ * You can insert the special identifier: READS_INSIDE_LOADER_FN. I.e. <code>import {READS_INSIDE_LOADER_FN} from "react-deepwatch"; ... load(..., {deps: [READS_INSIDE_LOADER_FN, myOtherDep]})</code>
911
+ * <p>Default: Auto-dependencies. See readme.md</p>
912
+ */
913
+ deps?: unknown[]
914
+
908
915
  /**
909
916
  * Performance: Set to false, to mark following `load(...)` statements do not depend on the result. I.e when used only for immediate rendering or passed to child components only. I.e. <div>{load(...)}/div> or `<MySubComponent param={load(...)} />`:
910
917
  * Therefore, the following `load(...)` statements may not need a reload and can run in parallel.
@@ -999,7 +1006,6 @@ export function load(loaderFn: (oldResult?: unknown) => Promise<unknown>, option
999
1006
  const renderRun = currentRenderRun;
1000
1007
  const frame = renderRun.frame
1001
1008
  const persistent = frame.persistent;
1002
- const recordedReadsSincePreviousLoadCall = renderRun.load_recordedReads; renderRun.load_recordedReads = []; // Pop recordedReads
1003
1009
  const callerSourceLocation = callStack.stack ? getCallerSourceLocation(callStack.stack) : undefined;
1004
1010
 
1005
1011
  // Determine loadCallId:
@@ -1030,6 +1036,9 @@ export function load(loaderFn: (oldResult?: unknown) => Promise<unknown>, option
1030
1036
  }
1031
1037
  persistent.loadCalls.set(loadCallId, isUnique?loadCall:null);
1032
1038
 
1039
+ //safety check:
1040
+ !(options.deps !== undefined && !loadCall.isUniquelyIdentified()) || throwError(`Deps used, but the load(...) statement is not uniquely identifyable. Please specify a key via load(..., { key:<your key>, ...})`);
1041
+
1033
1042
  loadCall.options = options; // Update options. It is allowed that these can change over time. I.e. the poll interval or the name.
1034
1043
 
1035
1044
  // Determine lastLoadRun:
@@ -1091,10 +1100,37 @@ export function load(loaderFn: (oldResult?: unknown) => Promise<unknown>, option
1091
1100
 
1092
1101
 
1093
1102
  function inner() {
1094
- const recordedReadsAreEqualSinceLastCall = lastLoadRun && recordedReadsArraysAreEqual(recordedReadsSincePreviousLoadCall, lastLoadRun.recordedReadsBefore)
1095
- if(!recordedReadsAreEqualSinceLastCall) {
1096
- persistent.loadRuns = persistent.loadRuns.slice(0, renderRun.loadCallIndex); // Erase all loadRuns after here (including this one).
1097
- lastLoadRun = undefined;
1103
+ function depsHaveChanngedSinceLastCall() {
1104
+ if(!lastLoadRun) {
1105
+ return true;
1106
+ }
1107
+ if(options.deps === undefined) { // Auto-deps?
1108
+ // Safety check:
1109
+ if(!("auto_recordedReads" in lastLoadRun.deps)) {
1110
+ return true; // Seems like options have changed
1111
+ }
1112
+
1113
+ if(!recordedReadsArraysAreEqual(renderRun.load_recordedReads, lastLoadRun.deps.auto_recordedReads)) { // Performance note: Quadratic growth here! Could optimize this
1114
+ return true;
1115
+ }
1116
+ }
1117
+ else if(Array.isArray(options.deps)) { // Deps explicitly specified?
1118
+ // Safety check:
1119
+ if(!("explicit" in lastLoadRun.deps)) {
1120
+ return true; // Seems like options have changed
1121
+ }
1122
+
1123
+ if(!arraysAreShallowlyEqual(lastLoadRun.deps.explicit, options.deps)) { // deps have changed?
1124
+ return true;
1125
+ }
1126
+ }
1127
+ else {
1128
+ throw new Error("Illegal value for options.deps");
1129
+ }
1130
+
1131
+ if (lastLoadRun.recordedReadsInsideLoaderFn?.some((r => r.isChanged))) { // I.e for "load( () => { fetch(props.x, myLocalValue) }) )" -> props.x or myLocalValue has changed?
1132
+ return true;
1133
+ }
1098
1134
  }
1099
1135
 
1100
1136
  /**
@@ -1104,11 +1140,7 @@ export function load(loaderFn: (oldResult?: unknown) => Promise<unknown>, option
1104
1140
  if(!lastLoadRun) { // call was not recorded last render or is invalid?
1105
1141
  return false;
1106
1142
  }
1107
- if (!recordedReadsAreEqualSinceLastCall) {
1108
- return false;
1109
- }
1110
-
1111
- if (lastLoadRun.recordedReadsInsideLoaderFn.some((r => r.isChanged))) { // I.e for "load( () => { fetch(props.x, myLocalValue) }) )" -> props.x or myLocalValue has changed?
1143
+ if (depsHaveChanngedSinceLastCall()) {
1112
1144
  return false;
1113
1145
  }
1114
1146
 
@@ -1122,10 +1154,10 @@ export function load(loaderFn: (oldResult?: unknown) => Promise<unknown>, option
1122
1154
  return {result: fallback.value};
1123
1155
  }
1124
1156
 
1125
- lastLoadRun.recordedReadsInsideLoaderFn.forEach(read => frame.watchPropertyChange(read)) // Also watch recordedReadsInsideLoaderFn (again in this frame)
1157
+ lastLoadRun.recordedReadsInsideLoaderFn?.forEach(read => frame.watchPropertyChange(read)) // Also watch recordedReadsInsideLoaderFn (again in this frame)
1126
1158
  throw lastLoadRun.result.promise; // Throwing a promise will put the react component into suspense state
1127
1159
  } else if (lastLoadRun.result.state === "rejected") {
1128
- lastLoadRun.recordedReadsInsideLoaderFn.forEach(read => frame.watchPropertyChange(read)) // Also watch recordedReadsInsideLoaderFn (again in this frame)
1160
+ lastLoadRun.recordedReadsInsideLoaderFn?.forEach(read => frame.watchPropertyChange(read)) // Also watch recordedReadsInsideLoaderFn (again in this frame)
1129
1161
  throw lastLoadRun.result.rejectReason;
1130
1162
  } else {
1131
1163
  throw new Error("Invalid state of lastLoadRun.result.state")
@@ -1136,7 +1168,7 @@ export function load(loaderFn: (oldResult?: unknown) => Promise<unknown>, option
1136
1168
  if (canReuse !== false) { // can re-use ?
1137
1169
  const lastCall = persistent.loadRuns[renderRun.loadCallIndex];
1138
1170
 
1139
- lastCall.recordedReadsInsideLoaderFn.forEach(read => frame.watchPropertyChange(read)) // Also watch recordedReadsInsideLoaderFn
1171
+ lastCall.recordedReadsInsideLoaderFn?.forEach(read => frame.watchPropertyChange(read)) // Also watch recordedReadsInsideLoaderFn (again in this frame)
1140
1172
 
1141
1173
  return canReuse.result; // return proxy'ed result from last call:
1142
1174
  }
@@ -1154,10 +1186,16 @@ export function load(loaderFn: (oldResult?: unknown) => Promise<unknown>, option
1154
1186
  // *** make a loadRun / exec loaderFn ***:
1155
1187
 
1156
1188
  let loadRun = new LoadRun(loadCall!, loaderFn, renderRun.loadCallIndex);
1157
- loadRun.recordedReadsBefore = recordedReadsSincePreviousLoadCall;
1158
- const resultPromise = Promise.resolve(loadRun.exec()); // Exec loaderFn
1189
+ loadRun.deps = options.deps === undefined?{auto_recordedReads: [...renderRun.load_recordedReads]}:{explicit: [...options.deps]} // Save deps
1190
+ // Exec loaderFn and record reasd to loadRun.recordedReadsInsideLoaderFn:
1191
+ if(options.deps === undefined || options.deps.includes(READS_INSIDE_LOADER_FN)) { // should reord reads ?
1192
+ loadRun.recordedReadsInsideLoaderFn = []; // this will make the following call record into them
1193
+ }
1194
+ const resultPromise = renderRun.withRecordReadsInto(() => {
1195
+ return Promise.resolve(loadRun.exec());
1196
+ }, loadRun.recordedReadsInsideLoaderFn);
1197
+
1159
1198
  loadRun.loaderFn = options.interval?loadRun.loaderFn:undefined; // Remove reference if not needed to not risk leaking memory
1160
- loadRun.recordedReadsInsideLoaderFn = renderRun.load_recordedReads; renderRun.load_recordedReads = []; // pop and remember the (immediate) reads from inside the loaderFn
1161
1199
 
1162
1200
  resultPromise.then((value) => {
1163
1201
  loadRun.result = {state: "resolved", resolvedValue: value};
@@ -1387,7 +1425,7 @@ export function binding<T>(prop: T, options?: BindingOptions): ValueOnObject<T>
1387
1425
  renderRun.load_recordedReads.pop(); // Don't treat the read as a dependency to load(...) statements, because the value is exclusively consumed by the input component
1388
1426
  }
1389
1427
 
1390
- renderRun.withReadRecordingMuted(() => {
1428
+ renderRun.withRecordReadsInto(() => { // With muted read recording
1391
1429
  if (renderRun.binding_lastSeenRead_outerMostGetter && !(options?.isAccessor === false)) { // getter call and user want's getters ?
1392
1430
  obj = renderRun.binding_lastSeenRead_outerMostGetter.proxy
1393
1431
  key = renderRun.binding_lastSeenRead_outerMostGetter.key
@@ -1404,16 +1442,16 @@ export function binding<T>(prop: T, options?: BindingOptions): ValueOnObject<T>
1404
1442
  lastRead.value === obj[key] || throwError(`Illegal state: lastRead does not seem to be deterministic. ${diagnosis_msg()}\nMore info:${diagnosis_moreMsg()}`);
1405
1443
  prop === lastRead.value || throwError(`The value of the last recorded read is not what's passed as 'prop' argument into bind(prop). ${diagnosis_msg()}\nMore info:${diagnosis_moreMsg()}`);
1406
1444
  }
1407
- });
1445
+ }, undefined);
1408
1446
 
1409
1447
  return {
1410
1448
  get value() {
1411
1449
  if(!currentRenderRun) throw new Error("Illegal state. Not called from the render run of a watchedComponent");
1412
1450
 
1413
- return currentRenderRun.withReadRecordingMuted(() => { // get the value while not recording it as a read for the load(...) statements. Because this value is exclusively consumed by the input component and does never contribute as a dependency to load statements
1451
+ return currentRenderRun.withRecordReadsInto(() => { // With muted read reacording. Get the value while not recording it as a read for the load(...) statements. Because this value is exclusively consumed by the input component and does never contribute as a dependency to load statements
1414
1452
  //@ts-ignore
1415
1453
  return obj[key] as T
1416
- })
1454
+ }, undefined)
1417
1455
  },
1418
1456
  set value(value) {
1419
1457
  //@ts-ignore
@@ -1475,4 +1513,9 @@ export function debug_tagComponent(name: string) {
1475
1513
  }
1476
1514
 
1477
1515
  export {preserve} from "./preserve"
1478
- export type {PreserveOptions} from "./preserve"
1516
+ export type {PreserveOptions} from "./preserve"
1517
+
1518
+ /**
1519
+ * Flag/Single Enum
1520
+ */
1521
+ export const READS_INSIDE_LOADER_FN = {}
package/index_esm.mjs CHANGED
@@ -12,6 +12,8 @@ export const poll = cjsIndex.poll
12
12
  export const debug_tagComponent = cjsIndex.debug_tagComponent
13
13
  export const binding = cjsIndex.binding
14
14
  export const bind = cjsIndex.bind
15
+ export const READS_INSIDE_LOADER_FN = cjsIndex.READS_INSIDE_LOADER_FN
16
+
15
17
 
16
18
  import cjsPreserve from "./preserve.js"
17
19
  export const preserve = cjsPreserve.preserve
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-deepwatch",
3
- "version": "1.2.5",
3
+ "version": "1.3.0",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "react",
@@ -40,10 +40,12 @@
40
40
  },
41
41
  "dependencies": {
42
42
  "underscore": "^1.13.3",
43
- "react": "^18.3.1",
44
43
  "react-error-boundary": "^4.x",
45
44
  "proxy-facades": "^1.2.9"
46
45
  },
46
+ "peerDependencies": {
47
+ "react": "^18.3.1||^19.0.0"
48
+ },
47
49
  "devDependencies": {
48
50
  "tsx": "^4.7.0",
49
51
  "@vitest/ui": "^1.5.1",
@@ -55,6 +57,6 @@
55
57
  "@types/underscore": "^1.11.4",
56
58
  "@types/node": "^20.12.7",
57
59
  "@types/clone": "^2.1.4",
58
- "@types/react": "^19.0.12"
60
+ "@types/react": "^18.3.20"
59
61
  }
60
62
  }
package/readme.md CHANGED
@@ -1,12 +1,13 @@
1
1
  # React Deepwatch - no more setState and less
2
2
 
3
3
 
4
- **Deeply watches your state-object and props** for changes. **Re-renders** automatically😎 and makes you write less code 😊.
4
+ **Deeply watches your state-object and props** for changes. **Re-renders** automatically😎 and makes you write much less code😊.
5
5
  - **Performance friendly**
6
6
  React Deepwatch uses a [proxy-facade](https://github.com/bogeeee/proxy-facades) to **watch only for those properties that are actually used** in your component function. It doesn't matter how complex and deep the graph behind your state or props is.
7
7
  - **Can watch your -model- as well**
8
8
  If a (used) property in props points to your model, a change there will also trigger a re-render. In fact, you can [watch anything](#watched) ;)
9
- # Quick example to show you most features:
9
+
10
+ # Quick example to show you most features
10
11
  ````jsx
11
12
  // Will reload the fruits and show a 🌀 during load, if you type in the filter box.
12
13
  const MyComponent = watchedComponent(props => {
@@ -23,7 +24,7 @@ const MyComponent = watchedComponent(props => {
23
24
  <input type="button" value="Clear filter" onClick={() => state.filter = ""} />
24
25
 
25
26
  {/* you can fetch data from **inside** conditional render code or loops😎! No useEffect needed! Knows its dependencies automatically👍 */}
26
- <div>Here are the fruits, fetched from the Server:<br/><i>{ load(async ()=> await simulateFetchFruitsFromServer(state.filter), {fallback:"loading list 🌀"} )}</i></div><br/>
27
+ <div>Here are the fruits, fetched from the Server:<br/><i>{ load(async ()=> await fetchFruitsFromServer(state.filter), {fallback:"loading list 🌀"} )}</i></div><br/>
27
28
 
28
29
  {/* The above load(...) code is independent of state.showPrices, react-deepwatch knows that automatically, so clicking here will NOT exec a re- load(...)👍... */}
29
30
  Show prices <input type="checkbox" {...bind(state.showPrices)} />
@@ -60,10 +61,10 @@ const MyComponent = watchedComponent(props => {
60
61
  [![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/fork/github/bogeeee/react-deepwatch/tree/1.x/examples/no-more-setstate?title=react-deepwatch%20example&file=index.jsx)
61
62
 
62
63
  ## and less... loading code
63
- Now that we already have the ability to deeply record our reads, let's see if there's also a way to **cut away the boilerplate code for `useEffect`**.
64
+ Now that we already have the ability to deeply record our reads, let's see if there's also a way to **cut away the boilerplate code for `useEffect`**:
64
65
 
65
66
  ````jsx
66
- import {watchedComponent, load, poll, isLoading, loadFailed, preserve} from "react-deepwatch"
67
+ import {watchedComponent, load, poll, isLoading, loadFailed, preserve, READS_INSIDE_LOADER_FN} from "react-deepwatch"
67
68
 
68
69
  const MyComponent = watchedComponent(props => {
69
70
 
@@ -76,10 +77,35 @@ const MyComponent = watchedComponent(props => {
76
77
  ````
77
78
  [![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/fork/github/bogeeee/react-deepwatch/tree/1.x/examples/less-loading-code?title=react-deepwatch%20example&file=index.jsx)
78
79
 
79
- **`load(...)` re-executes `myFetchFromServer`, when a dependent value changes**. That means, it records all reads from previous code in your component function _(which can as well be the result of a previous `load(...)` call)_ plus the reads immediately inside the `load(...)` call. _Here: props.myProperty._
80
- The returned Promise will be await'ed and the component will be put into [suspense](https://react.dev/reference/react/Suspense) that long.
81
- 👍 load(...) can be inside a conditional block or a loop. Then it has already recorded the condition + everything else that leads to the computation of load(...)'s point in time and state 😎._
82
- For this mechanic to work, **make sure, all sources are watched**: `props` and `load(...)`'s result are already automatically watched; For state, use `useWatchedState(...)`; For context, use `watched(useContext(...))`.
80
+ Note: 👍 load(...) even can be inside a conditional block or a loop 👍.
81
+ The returned Promise will be await'ed and the component will be put into [suspense](https://react.dev/reference/react/Suspense) that long.
82
+ **`load(...)` re-executes `myFetchFromServer`, when a dependent value changes**. For this auto-dependency mechanic to work, **make sure, all sources to your component are watched**: `props` and other `load(...)`'s result are already automatically watched; For state, use `useWatchedState(...)`; For context, use `watched(useContext(...))`.
83
+
84
+ ### Dependencies
85
+ By default, everything prior to the load(...) statement in your code and immediately in your loaderFn is treated as a dependency.
86
+ This is the perfectly safe and care free option for most use cases. But it can sometimes be too broad and lead to more reloads than necessary. Therefore, when you do performance sensitive fetches, you can fine-tune the dependencies:
87
+
88
+ <details>
89
+ <summary>Fine-tuning your deps</summary>
90
+
91
+ Just like with React's `useEffect(..., [...yourDeps...])`, You can explicitly specify the deps in the LoadOptions#deps array.
92
+ Additional, there is one special symbol which you can insert there:` READS_INSIDE_LOADER_FN`. This will treat trackable reads on objects in your loaderFn as dependencies. Examples:
93
+ ````jsx
94
+ const someWatchedObj = ... //somehow derived (deeply) from props, watched(...) or useWatchedState(...) or load(...)
95
+ const showPrices = state.showPrices;
96
+
97
+ {load(async () => {return await fetchFruitsFromServer(showPrices)}) } // ✅ Auto dependencies. This will include the recorded "read" in the line 'const showPrices = state.showPrices;' and therefore reload when showPrices is different (=any determnistic value that's derived from the inputs till here, which covers everything you could need👍).
98
+ {load(async () => {return await fetchFruitsFromServer(state.showPrices )}, {deps: [READS_INSIDE_LOADER_FN ]}) } // ✅
99
+ {load(async () => {return await fetchFruitsFromServer(someWatchedObj.users.get("Axel").getPrefs().showPrices)}, {deps: [READS_INSIDE_LOADER_FN]}) } // ✅ Depending on properties, starting from **on** a watched object/Array/Set/Map or derived stuff is all tracked (Thanks to proxy-facades, it will follow and track this complete path of reads and watch for changes precisely there👍).
100
+ {load(async () => {return await fetchFruitsFromServer(showPrices )}, {deps: [READS_INSIDE_LOADER_FN ]}) } // ❌ Reading the closured variable showPrices is not trackable by react-deepwatch. It can only track reads **on** (proxied-) objects = You should see a `.` or a `[...]`
101
+ {load(async () => {return await fetchFruitsFromServer(showPrices )}, {deps: [READS_INSIDE_LOADER_FN, showPrices]}) } // ✅ List showPrices additionally as depExplicitly. Note: READS_INSIDE_LOADER_FN is not needed here, but it doesn't hurt.
102
+
103
+ {load(async () => {
104
+ const fruits = await fetchFruitsFromServer(); // Takes some time...
105
+ return fruits.filter(f => f.indexOf(state.myFilter) >=0); // ❌ READS_INSIDE_LOADER_FN cant't catch the state.myFilter read, cause it did not happen **immediately** but after an async fork/not in the same sync block. You have to keep this in mind. Also for the auto-dependencies.
106
+ }, {deps: [READS_INSIDE_LOADER_FN]}) }
107
+ ````
108
+ </details>
83
109
 
84
110
  ### Show a 🌀loading spinner
85
111
  To show a 🌀loading spinner / placeholder during load, either...
@@ -94,13 +120,10 @@ either...
94
120
  - **try/catch around the load(...)** statement. Caveat: You must check, if caught is `instanceof Promise` and re-throw it then. _Because this is the way for `load` to signal, that things are loading._ _Or..._
95
121
  - **call** the **loadFailed()** probing function. This looks more elegant than the above. _See jsDoc for usage example._
96
122
 
97
- ### Performance optimization for load(...)
98
- To reduce the number of expensive `myFetchFromServer` calls, try the following:
99
- - Move the load(...) call as upwards in the code as possible, so it depends on fewer props / state / watched objects.
100
- - See the `LoadOptions#fallback`, `LoadOptions#silent` and `LoadOptions#critical` settings.
101
- - Use the `preserve` function on all your fetched data, to smartly ensure non-changing object instances in your app (`newFetchResult` **===** `oldFetchResult`; Triple-equals. Also for the deep result_). Changed object instances can either cascade to a lot of re-loads or result in your component still watching the old instance.
123
+ ### Object instance preserving
124
+ Use the `preserve` function on all your fetched data, to smartly ensure non-changing object instances in your app (`newFetchResult` **===** `oldFetchResult`; Triple-equals. Also for the deep result_). Changed object instances can either cascade to a lot of re-loads or result in your component still watching the old instance.
102
125
  _Think of it like: The preserve function does for your data, what React does for your component tree: It smartly remembers the instances, if needed with the help of an id or key, and re-applies the re-fetched/re-rendered properties to them, so the object-identity/component-state stays the same._
103
- 👍 `load(...)` does call `preserve` by default to enforce this paradigm and give you the best, trouble free experience.
126
+ 👍 `load(...)` does `preserve` its result by default to enforce this paradigm and give you the best, trouble free experience.
104
127
 
105
128
  ### Caveats
106
129
  - The component function might return and empty `</>` on the first load and **produce a short screen flicker**. This is [because React's Suspense mechasim is not able to remeber state at that time](https://react.dev/reference/react/Suspense#caveats). To circumvent this, specify `WatchedComponentOptions#fallback`.
@@ -136,7 +159,7 @@ const MyParentComponent = watchedComponent(props => {
136
159
 
137
160
  _This example will trigger both onChange handlers._
138
161
 
139
- _Note, that `watched(myState.form) !== myState.form`. It created a new proxy object in a new proxy-facade layer here, just for the purpose of deep-watching everything under it. Sometimes you may want to take advantage of it, so that modifications in the originaly layer (in MyParentComponent) won't fire the onChange event / call the postFormToTheSerer function. I.e. for updates that came from the server_
162
+ _Note, that `watched(myState.form) !== myState.form`. It created a new proxy object in a new proxy-facade layer here, just for the purpose of deep-watching everything under it. Keep that in mind, when i.e. comparing objects by instance (I.e. row === selectedRow) if they arrived in different ways. Sometimes you may want to take advantage of it, so that modifications in the originaly layer (in MyParentComponent) won't fire the onChange event / call the postFormToTheSerer function. I.e. for updates that **came** from the server_
140
163
 
141
164
  # ...and less onChange code for &lt;input/&gt; elements
142
165
 
@@ -171,7 +194,7 @@ There are also other libraries that address proxying the state:
171
194
  while React-deepwatch set's its self apart in these areas:
172
195
  - Deep (not only shallow-) proxying
173
196
  - Tracking changes above **and** below the proxy = also on the unproxied object.
174
- - Fully transparent support for `this`, getters/setters (treated white box), user's methods, Sets, Maps, Arrays _(wana seems to support Sets,Maps, Arrays too)_
197
+ - Full transparent support for `this`, getters/setters (treated as white box), user's methods, Sets, Maps, Arrays _(wana seems to support Sets,Maps, Arrays too)_
175
198
  - Very comprehensive `load(...)` concept with auto dependencies, fallbacks, probing functions, instance preserving mechanism, possible in conditionals/loops, supports polling, error boundaries.
176
199
  - &lt;Input/&gt; bind(...)ing
177
200