react-deepwatch 1.2.4 → 1.2.6

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.
Files changed (39) hide show
  1. package/Util.ts +9 -3
  2. package/{Util.d.ts → dist/browser/Util.d.ts} +3 -2
  3. package/dist/browser/Util.d.ts.map +1 -0
  4. package/dist/{mjs → browser}/Util.js +6 -1
  5. package/dist/browser/Util.js.map +1 -0
  6. package/dist/{mjs → browser}/index.d.ts +11 -1
  7. package/dist/browser/index.d.ts.map +1 -0
  8. package/dist/{mjs → browser}/index.js +101 -41
  9. package/dist/browser/index.js.map +1 -0
  10. package/dist/{mjs → default}/Util.d.ts +3 -2
  11. package/dist/default/Util.d.ts.map +1 -0
  12. package/{Util.js → dist/default/Util.js} +7 -1
  13. package/dist/default/Util.js.map +1 -0
  14. package/{index.d.ts → dist/default/index.d.ts} +11 -1
  15. package/dist/default/index.d.ts.map +1 -0
  16. package/{index.js → dist/default/index.js} +101 -41
  17. package/dist/default/index.js.map +1 -0
  18. package/dist/default/preserve.d.ts.map +1 -0
  19. package/dist/default/preserve.js.map +1 -0
  20. package/index.ts +124 -46
  21. package/index_esm.mjs +2 -0
  22. package/package.json +11 -8
  23. package/readme.md +42 -1
  24. package/Util.d.ts.map +0 -1
  25. package/Util.js.map +0 -1
  26. package/dist/mjs/Util.d.ts.map +0 -1
  27. package/dist/mjs/Util.js.map +0 -1
  28. package/dist/mjs/index.d.ts.map +0 -1
  29. package/dist/mjs/index.js.map +0 -1
  30. package/index.d.ts.map +0 -1
  31. package/index.js.map +0 -1
  32. package/preserve.d.ts.map +0 -1
  33. package/preserve.js.map +0 -1
  34. /package/dist/{mjs → browser}/preserve.d.ts +0 -0
  35. /package/dist/{mjs → browser}/preserve.d.ts.map +0 -0
  36. /package/dist/{mjs → browser}/preserve.js +0 -0
  37. /package/dist/{mjs → browser}/preserve.js.map +0 -0
  38. /package/{preserve.d.ts → dist/default/preserve.d.ts} +0 -0
  39. /package/{preserve.js → dist/default/preserve.js} +0 -0
@@ -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;
@@ -376,9 +376,9 @@ class RenderRun {
376
376
  constructor() {
377
377
  this.isPassive = false;
378
378
  /**
379
- * Recorded reads of this component's watchedProxyFacade
379
+ * Recorded reads of this component's watchedProxyFacade for load(...) statements
380
380
  */
381
- this.recordedReads = [];
381
+ this.load_recordedReads = [];
382
382
  this.loadCallIdsSeen = new Set();
383
383
  /**
384
384
  * Increased, when we see a load(...) call
@@ -395,6 +395,7 @@ class RenderRun {
395
395
  */
396
396
  this.effectCleanupFns = [];
397
397
  this.diagnosis_objectsWatchedWithOnChange = new Set();
398
+ this.readsRecordingTarget = this.load_recordedReads;
398
399
  }
399
400
  handleRenderFinishedSuccessfully() {
400
401
  if (!this.isPassive) {
@@ -440,6 +441,20 @@ class RenderRun {
440
441
  this.frame.stopListeningForChanges(); // Clean up now
441
442
  }
442
443
  }
444
+ /**
445
+ * Mutes read-/dependency recording for load(...) statements while running fn()
446
+ * @param fn
447
+ */
448
+ withRecordReadsInto(fn, recordTarget) {
449
+ const origTarget = this.readsRecordingTarget;
450
+ try {
451
+ this.readsRecordingTarget = recordTarget;
452
+ return fn();
453
+ }
454
+ finally {
455
+ this.readsRecordingTarget = origTarget;
456
+ }
457
+ }
443
458
  }
444
459
  let currentRenderRun;
445
460
  function watchedComponent(componentFn, options = {}) {
@@ -480,10 +495,11 @@ function watchedComponent(componentFn, options = {}) {
480
495
  try {
481
496
  // Install read listener:
482
497
  let readListener = (read) => {
498
+ var _a;
483
499
  if (!renderRun.isPassive) { // Active run ?
484
500
  frame.watchPropertyChange(read);
485
501
  }
486
- renderRun.recordedReads.push(read);
502
+ (_a = renderRun.readsRecordingTarget) === null || _a === void 0 ? void 0 : _a.push(read);
487
503
  };
488
504
  persistent.watchedProxyFacade.onAfterRead(readListener);
489
505
  try {
@@ -525,7 +541,10 @@ function watchedComponent(componentFn, options = {}) {
525
541
  }
526
542
  }
527
543
  finally {
528
- renderRun.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
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;
529
548
  currentRenderRun = undefined;
530
549
  }
531
550
  };
@@ -603,8 +622,6 @@ function load(loaderFn, options = {}) {
603
622
  const renderRun = currentRenderRun;
604
623
  const frame = renderRun.frame;
605
624
  const persistent = frame.persistent;
606
- const recordedReadsSincePreviousLoadCall = renderRun.recordedReads;
607
- renderRun.recordedReads = []; // Pop recordedReads
608
625
  const callerSourceLocation = callStack.stack ? getCallerSourceLocation(callStack.stack) : undefined;
609
626
  // Determine loadCallId:
610
627
  let loadCallId;
@@ -632,6 +649,8 @@ function load(loaderFn, options = {}) {
632
649
  loadCall = new LoadCall(loadCallId, persistent, options, callStack, callerSourceLocation);
633
650
  }
634
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>, ...})`);
635
654
  loadCall.options = options; // Update options. It is allowed that these can change over time. I.e. the poll interval or the name.
636
655
  // Determine lastLoadRun:
637
656
  let lastLoadRun = renderRun.loadCallIndex < persistent.loadRuns.length ? persistent.loadRuns[renderRun.loadCallIndex] : undefined;
@@ -676,29 +695,53 @@ function load(loaderFn, options = {}) {
676
695
  if (options.critical === false) {
677
696
  return result; // non-watched and add no dependency
678
697
  }
679
- renderRun.recordedReads.push(new proxy_facades_1.RecordedValueRead(result)); // Add as dependency for the next loads
698
+ renderRun.load_recordedReads.push(new proxy_facades_1.RecordedValueRead(result)); // Add as dependency for the next loads
680
699
  return watched(result);
681
700
  }
682
701
  finally {
683
702
  renderRun.loadCallIndex++;
684
703
  }
685
704
  function inner() {
686
- const recordedReadsAreEqualSinceLastCall = lastLoadRun && (0, Util_1.recordedReadsArraysAreEqual)(recordedReadsSincePreviousLoadCall, lastLoadRun.recordedReadsBefore);
687
- if (!recordedReadsAreEqualSinceLastCall) {
688
- persistent.loadRuns = persistent.loadRuns.slice(0, renderRun.loadCallIndex); // Erase all loadRuns after here (including this one).
689
- 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
+ }
690
735
  }
691
736
  /**
692
737
  * Can we use the result from last call ?
693
738
  */
694
739
  const canReuseLastResult = () => {
740
+ var _a, _b;
695
741
  if (!lastLoadRun) { // call was not recorded last render or is invalid?
696
742
  return false;
697
743
  }
698
- if (!recordedReadsAreEqualSinceLastCall) {
699
- return false;
700
- }
701
- if (lastLoadRun.recordedReadsInsideLoaderFn.some((r => r.isChanged))) { // I.e for "load( () => { fetch(props.x, myLocalValue) }) )" -> props.x or myLocalValue has changed?
744
+ if (depsHaveChanngedSinceLastCall()) {
702
745
  return false;
703
746
  }
704
747
  if (lastLoadRun.result.state === "resolved") {
@@ -710,11 +753,11 @@ function load(loaderFn, options = {}) {
710
753
  if (fallback) { // Fallback available ?
711
754
  return { result: fallback.value };
712
755
  }
713
- 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)
714
757
  throw lastLoadRun.result.promise; // Throwing a promise will put the react component into suspense state
715
758
  }
716
759
  else if (lastLoadRun.result.state === "rejected") {
717
- 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)
718
761
  throw lastLoadRun.result.rejectReason;
719
762
  }
720
763
  else {
@@ -724,7 +767,7 @@ function load(loaderFn, options = {}) {
724
767
  const canReuse = canReuseLastResult();
725
768
  if (canReuse !== false) { // can re-use ?
726
769
  const lastCall = persistent.loadRuns[renderRun.loadCallIndex];
727
- 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)
728
771
  return canReuse.result; // return proxy'ed result from last call:
729
772
  }
730
773
  else { // cannot use last result ?
@@ -739,11 +782,15 @@ function load(loaderFn, options = {}) {
739
782
  }
740
783
  // *** make a loadRun / exec loaderFn ***:
741
784
  let loadRun = new LoadRun(loadCall, loaderFn, renderRun.loadCallIndex);
742
- loadRun.recordedReadsBefore = recordedReadsSincePreviousLoadCall;
743
- 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);
744
793
  loadRun.loaderFn = options.interval ? loadRun.loaderFn : undefined; // Remove reference if not needed to not risk leaking memory
745
- loadRun.recordedReadsInsideLoaderFn = renderRun.recordedReads;
746
- renderRun.recordedReads = []; // pop and remember the (immediate) reads from inside the loaderFn
747
794
  resultPromise.then((value) => {
748
795
  loadRun.result = { state: "resolved", resolvedValue: value };
749
796
  if (loadRun.isObsolete) {
@@ -903,33 +950,42 @@ function binding(prop, options) {
903
950
  const diagnosis_msg = () => `Make sure, prop is derived from something watched: The component's 'props', or a useWatchedState(...) or a wached(...) or a load(...).`;
904
951
  let obj;
905
952
  let key;
906
- // Obtain lastRead
953
+ // Obtain lastRead:
907
954
  const lastRead = renderRun.binding_lastSeenRead;
908
955
  if (!lastRead)
909
956
  throw new Error("Illegal state: no recorded reads. ${diagnosis_msg()}");
910
957
  const diagnosis_moreMsg = () => `The last 'read' in your component function was of type: ${lastRead.constructor.name}`;
911
958
  if (!(lastRead instanceof proxy_facades_1.RecordedReadOnProxiedObject))
912
959
  throw new Error(`Cannot determine property for input into bind(prop). ${diagnosis_msg()}\nMore info:${diagnosis_moreMsg()}`);
913
- if (renderRun.binding_lastSeenRead_outerMostGetter && !((options === null || options === void 0 ? void 0 : options.isAccessor) === false)) { // getter call and user want's getters ?
914
- obj = renderRun.binding_lastSeenRead_outerMostGetter.proxy;
915
- key = renderRun.binding_lastSeenRead_outerMostGetter.key;
916
- //@ts-ignore
917
- prop === obj[key] || (0, Util_1.throwError)(`The value of the last recorded read is not what's passed as 'prop' argument into bind(prop). ${diagnosis_msg()}\n The read was detected as a property-accessor: 'someObject.${key}'. If you didn't intend to bind to a getter/setter, try bind(...,{isAccessor:false})`);
918
- }
919
- else { // property access without getter:
920
- if (!(lastRead instanceof proxy_facades_1.RecordedPropertyRead))
921
- throw new Error(`Cannot determine property for input into bind(prop). ${diagnosis_msg()}\nMore info:${diagnosis_moreMsg()}`);
922
- obj = lastRead.proxy;
923
- key = lastRead.key;
924
- // Check if bind is deterministic:
925
- //@ts-ignore
926
- lastRead.value === obj[key] || (0, Util_1.throwError)(`Illegal state: lastRead does not seem to be deterministic. ${diagnosis_msg()}\nMore info:${diagnosis_moreMsg()}`);
927
- 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()}`);
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)
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
928
962
  }
963
+ renderRun.withRecordReadsInto(() => {
964
+ if (renderRun.binding_lastSeenRead_outerMostGetter && !((options === null || options === void 0 ? void 0 : options.isAccessor) === false)) { // getter call and user want's getters ?
965
+ obj = renderRun.binding_lastSeenRead_outerMostGetter.proxy;
966
+ key = renderRun.binding_lastSeenRead_outerMostGetter.key;
967
+ //@ts-ignore
968
+ prop === obj[key] || (0, Util_1.throwError)(`The value of the last recorded read is not what's passed as 'prop' argument into bind(prop). ${diagnosis_msg()}\n The read was detected as a property-accessor: 'someObject.${key}'. If you didn't intend to bind to a getter/setter, try bind(...,{isAccessor:false})`);
969
+ }
970
+ else { // property access without getter:
971
+ if (!(lastRead instanceof proxy_facades_1.RecordedPropertyRead))
972
+ throw new Error(`Cannot determine property for input into bind(prop). ${diagnosis_msg()}\nMore info:${diagnosis_moreMsg()}`);
973
+ obj = lastRead.proxy;
974
+ key = lastRead.key;
975
+ // Check if bind is deterministic:
976
+ //@ts-ignore
977
+ lastRead.value === obj[key] || (0, Util_1.throwError)(`Illegal state: lastRead does not seem to be deterministic. ${diagnosis_msg()}\nMore info:${diagnosis_moreMsg()}`);
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()}`);
979
+ }
980
+ }, undefined);
929
981
  return {
930
982
  get value() {
931
- //@ts-ignore
932
- return obj[key];
983
+ if (!currentRenderRun)
984
+ throw new Error("Illegal state. Not called from the render run of a watchedComponent");
985
+ return currentRenderRun.withRecordReadsInto(() => {
986
+ //@ts-ignore
987
+ return obj[key];
988
+ }, undefined);
933
989
  },
934
990
  set value(value) {
935
991
  //@ts-ignore
@@ -988,4 +1044,8 @@ function debug_tagComponent(name) {
988
1044
  }
989
1045
  var preserve_2 = require("./preserve");
990
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 = {};
991
1051
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preserve.d.ts","sourceRoot":"","sources":["../../preserve.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,iBAAiB,GAAG;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,KAAK,CAAC;CACrB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC1B;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAE1B;;OAEG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAA;CACtC,CAAA;AAED,cAAM,YAAY;IACd,OAAO,EAAE,eAAe,CAAC;IACzB;;OAEG;IACH,WAAW,sBAA4B;IAEvC;;OAEG;IACH,cAAc,sBAA4B;IAE1C,uBAAuB,cAAqB;IAE5C,WAAW,kBAAyB;IAEpC;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO;IAMvB,SAAS,CAAC,EAAE,iBAAiB,CAAA;gBAEjB,OAAO,EAAE,eAAe,EAAE,SAAS,CAAC,EAAE,iBAAiB;CAItE;AA8FD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,GAAE,eAAoB,GAAG,CAAC,CAEtF;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,SAAS,CAAC,EAAE,iBAAiB,GAAG,CAAC,CAqBjH;AAGD,wBAAgB,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,GAAG,CAAC,CAuEzG;AAmFD,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,GAAG,GAAI,MAAM,CAqE/D;AA6BD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,GAAE,eAAoB,KAOtF;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,GAAE,eAAoB,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,CAAC,CAoBrH"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preserve.js","sourceRoot":"","sources":["../../preserve.ts"],"names":[],"mappings":"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"}