react-deepwatch 1.2.6 → 1.4.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.
@@ -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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"}
@@ -3,6 +3,7 @@ import { array_peekLast, arraysAreShallowlyEqual, isObject, newDefaultMap, recor
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";
6
+ import { _global as retsync_global, RetsyncWaitsForPromiseException, Retsync2promiseCall } from "proxy-facades/retsync";
6
7
  let sharedWatchedProxyFacade;
7
8
  let debug_idGenerator = 0;
8
9
  /**
@@ -200,14 +201,20 @@ class WatchedComponentPersistent {
200
201
  this.onceOnReRenderListeners = [];
201
202
  this._doReRender();
202
203
  }
203
- requestReRender(passiveFromRenderRun) {
204
+ requestReRender(passiveFromRenderRun, withImmediateError) {
204
205
  const wasAlreadyRequested = this.reRenderRequested !== false;
205
206
  // Enable the reRenderRequested flag:
206
- if (passiveFromRenderRun !== undefined && this.reRenderRequested !== true) {
207
- this.reRenderRequested = passiveFromRenderRun;
208
- }
209
- else {
210
- this.reRenderRequested = true;
207
+ if (this.reRenderRequested !== true) { // Not already at the strongest un-overridable state?
208
+ if (passiveFromRenderRun !== undefined) {
209
+ !withImmediateError || throwError("Illeagal arguments"); // Validity check
210
+ this.reRenderRequested = passiveFromRenderRun;
211
+ }
212
+ else if (withImmediateError !== undefined) {
213
+ this.reRenderRequested = withImmediateError;
214
+ }
215
+ else {
216
+ this.reRenderRequested = true;
217
+ }
211
218
  }
212
219
  if (wasAlreadyRequested) {
213
220
  return;
@@ -251,6 +258,7 @@ class WatchedComponentPersistent {
251
258
  * - true = rerender requested (will re-render asap) or just starting the render and changes in props/state/watched still make it into it.
252
259
  * - false = ...
253
260
  * - RenderRun = A passive render is requested. Save reference to the render run as safety check
261
+ * - Error = rerender that should immediately fail with that error is requested
254
262
  */
255
263
  this.reRenderRequested = false;
256
264
  this.hadASuccessfullMount = false;
@@ -449,6 +457,17 @@ export function watchedComponent(componentFn, options = {}) {
449
457
  const [renderCounter, setRenderCounter] = useState(0);
450
458
  const [persistent] = useState(new WatchedComponentPersistent(options));
451
459
  persistent._doReRender = () => setRenderCounter(renderCounter + 1);
460
+ if (persistent.reRenderRequested instanceof Error) {
461
+ // **Immediately** fail and show the <ErrorBoundary>. Hack / haven't thought trough, if hard-skipping all the following will lead to bugs.
462
+ const error = persistent.reRenderRequested;
463
+ // Clear persistent.reRenderRequested flag:
464
+ setTimeout(() => {
465
+ if (persistent.reRenderRequested === error) { // Nothing has changed so far
466
+ persistent.reRenderRequested = false;
467
+ }
468
+ });
469
+ throw error;
470
+ }
452
471
  const isPassive = persistent.nextReRenderMightBePassive();
453
472
  // Apply the new props (may trigger change listeners and therefore requestReRender() )
454
473
  persistent.reRenderRequested = true; // this prevents new re-renders
@@ -491,9 +510,11 @@ export function watchedComponent(componentFn, options = {}) {
491
510
  persistent.watchedProxyFacade.onAfterRead(readListener);
492
511
  try {
493
512
  try {
494
- let result = componentFn(persistent.watchedProps); // Run the user's component function
495
- renderRun.handleRenderFinishedSuccessfully();
496
- return result;
513
+ return withRetsyncHandling(() => {
514
+ let result = componentFn(persistent.watchedProps); // Run the user's component function
515
+ renderRun.handleRenderFinishedSuccessfully();
516
+ return result;
517
+ });
497
518
  }
498
519
  finally {
499
520
  renderRun.onFinallyAfterUsersComponentFnListeners.forEach(l => l()); // Call listeners
@@ -854,7 +875,7 @@ export function isLoading(nameFilter) {
854
875
  // Validity check:
855
876
  if (renderRun === undefined)
856
877
  throw new Error("isLoading is not used from inside a watchedComponent");
857
- return probe(() => renderRun.frame.persistent.loadRuns.some(c => c.result.state === "pending" && (!nameFilter || c.name === nameFilter)), false);
878
+ return probe(() => (!nameFilter && renderRun.frame.pendingRetsyncPromise !== undefined) || renderRun.frame.persistent.loadRuns.some(c => c.result.state === "pending" && (!nameFilter || c.name === nameFilter)), false);
858
879
  }
859
880
  /**
860
881
  * Probe if a <code>load(...)</code> statement directly inside this watchedComponent failed.
@@ -882,6 +903,7 @@ export function loadFailed(nameFilter) {
882
903
  return probe(() => {
883
904
  var _a, _b;
884
905
  return (_b = (_a = renderRun.frame.persistent.loadRuns.find(c => c.result.state === "rejected" && (!nameFilter || c.name === nameFilter))) === null || _a === void 0 ? void 0 : _a.result) === null || _b === void 0 ? void 0 : _b.rejectReason;
906
+ // Note for retsyncs: We are not able to check for failed retsyncs. Cause when they are failed, we are already the next **frame** and unlike load(...)s, the cannot persist in loaded/failed state. (just for the failed feature, we would need to track, which reads it depends on, and we would have to identify it. Too much effort)
885
907
  }, undefined);
886
908
  }
887
909
  /**
@@ -924,6 +946,48 @@ function probe(probeFn, defaultResult) {
924
946
  });
925
947
  return defaultResult;
926
948
  }
949
+ function withRetsyncHandling(componentFn) {
950
+ const orig_retsync2promiseCall = retsync_global.retsync2promiseCall;
951
+ try {
952
+ retsync_global.retsync2promiseCall = new Retsync2promiseCall();
953
+ return componentFn();
954
+ }
955
+ catch (e) {
956
+ if (e !== null && e instanceof RetsyncWaitsForPromiseException) {
957
+ const retsyncPromise = e.promise;
958
+ // Validity check:
959
+ if (currentRenderRun === undefined)
960
+ throw new Error("Illegal state");
961
+ const renderRun = currentRenderRun;
962
+ renderRun.frame.pendingRetsyncPromise = retsyncPromise;
963
+ // Await result and save it (like in retsync2promise from "proxy-facades/retsync"):
964
+ retsyncPromise.then((value) => {
965
+ retsync_global.resolvedPromiseValues.set(e.promise, value);
966
+ if (renderRun.frame.pendingRetsyncPromise !== retsyncPromise) { // Not waiting for this promise (=obsolete)?
967
+ return;
968
+ }
969
+ renderRun.frame.pendingRetsyncPromise = undefined;
970
+ renderRun.frame.persistent.handleChangeEvent();
971
+ });
972
+ retsyncPromise.catch((reason) => {
973
+ var _a, _b;
974
+ // TODO retsync_global.resolvedPromiseValues. -> mark as failed
975
+ if (renderRun.frame.pendingRetsyncPromise !== retsyncPromise) { // Not waiting for this promise (=obsolete)?
976
+ return;
977
+ }
978
+ renderRun.frame.pendingRetsyncPromise = undefined;
979
+ (_b = (_a = renderRun.frame).dismissErrorBoundary) === null || _b === void 0 ? void 0 : _b.call(_a);
980
+ const reasonAsError = (reason != null && reason instanceof Error) ? reason : new Error(`${reason}`);
981
+ renderRun.frame.persistent.requestReRender(undefined, reasonAsError); // Rerender, but fail immediately so the retsync does not get run again, resultung in an endless loop
982
+ });
983
+ throw retsyncPromise;
984
+ }
985
+ throw e;
986
+ }
987
+ finally {
988
+ retsync_global.retsync2promiseCall = orig_retsync2promiseCall;
989
+ }
990
+ }
927
991
  /**
928
992
  * Helper for {@see bind}. Looks up the last read and returns a binding for that.
929
993
  * @param prop
@@ -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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"}
@@ -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;AAOhE,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;AAsnBD,wBAAgB,gBAAgB,CAAC,KAAK,SAAS,MAAM,EAAE,WAAW,EAAC,CAAC,KAAK,EAAE,KAAK,KAAK,GAAG,EAAE,OAAO,GAAE,uBAA4B,YAC/F,KAAK,wDAAL,KAAK,UA4HpC;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,CASvD;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;AA+FlJ,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"}
@@ -16,6 +16,7 @@ const Util_1 = require("./Util");
16
16
  const react_1 = require("react");
17
17
  const react_error_boundary_1 = require("react-error-boundary");
18
18
  const preserve_1 = require("./preserve");
19
+ const retsync_1 = require("proxy-facades/retsync");
19
20
  let sharedWatchedProxyFacade;
20
21
  let debug_idGenerator = 0;
21
22
  /**
@@ -213,14 +214,20 @@ class WatchedComponentPersistent {
213
214
  this.onceOnReRenderListeners = [];
214
215
  this._doReRender();
215
216
  }
216
- requestReRender(passiveFromRenderRun) {
217
+ requestReRender(passiveFromRenderRun, withImmediateError) {
217
218
  const wasAlreadyRequested = this.reRenderRequested !== false;
218
219
  // Enable the reRenderRequested flag:
219
- if (passiveFromRenderRun !== undefined && this.reRenderRequested !== true) {
220
- this.reRenderRequested = passiveFromRenderRun;
221
- }
222
- else {
223
- this.reRenderRequested = true;
220
+ if (this.reRenderRequested !== true) { // Not already at the strongest un-overridable state?
221
+ if (passiveFromRenderRun !== undefined) {
222
+ !withImmediateError || (0, Util_1.throwError)("Illeagal arguments"); // Validity check
223
+ this.reRenderRequested = passiveFromRenderRun;
224
+ }
225
+ else if (withImmediateError !== undefined) {
226
+ this.reRenderRequested = withImmediateError;
227
+ }
228
+ else {
229
+ this.reRenderRequested = true;
230
+ }
224
231
  }
225
232
  if (wasAlreadyRequested) {
226
233
  return;
@@ -264,6 +271,7 @@ class WatchedComponentPersistent {
264
271
  * - true = rerender requested (will re-render asap) or just starting the render and changes in props/state/watched still make it into it.
265
272
  * - false = ...
266
273
  * - RenderRun = A passive render is requested. Save reference to the render run as safety check
274
+ * - Error = rerender that should immediately fail with that error is requested
267
275
  */
268
276
  this.reRenderRequested = false;
269
277
  this.hadASuccessfullMount = false;
@@ -462,6 +470,17 @@ function watchedComponent(componentFn, options = {}) {
462
470
  const [renderCounter, setRenderCounter] = (0, react_1.useState)(0);
463
471
  const [persistent] = (0, react_1.useState)(new WatchedComponentPersistent(options));
464
472
  persistent._doReRender = () => setRenderCounter(renderCounter + 1);
473
+ if (persistent.reRenderRequested instanceof Error) {
474
+ // **Immediately** fail and show the <ErrorBoundary>. Hack / haven't thought trough, if hard-skipping all the following will lead to bugs.
475
+ const error = persistent.reRenderRequested;
476
+ // Clear persistent.reRenderRequested flag:
477
+ setTimeout(() => {
478
+ if (persistent.reRenderRequested === error) { // Nothing has changed so far
479
+ persistent.reRenderRequested = false;
480
+ }
481
+ });
482
+ throw error;
483
+ }
465
484
  const isPassive = persistent.nextReRenderMightBePassive();
466
485
  // Apply the new props (may trigger change listeners and therefore requestReRender() )
467
486
  persistent.reRenderRequested = true; // this prevents new re-renders
@@ -504,9 +523,11 @@ function watchedComponent(componentFn, options = {}) {
504
523
  persistent.watchedProxyFacade.onAfterRead(readListener);
505
524
  try {
506
525
  try {
507
- let result = componentFn(persistent.watchedProps); // Run the user's component function
508
- renderRun.handleRenderFinishedSuccessfully();
509
- return result;
526
+ return withRetsyncHandling(() => {
527
+ let result = componentFn(persistent.watchedProps); // Run the user's component function
528
+ renderRun.handleRenderFinishedSuccessfully();
529
+ return result;
530
+ });
510
531
  }
511
532
  finally {
512
533
  renderRun.onFinallyAfterUsersComponentFnListeners.forEach(l => l()); // Call listeners
@@ -867,7 +888,7 @@ function isLoading(nameFilter) {
867
888
  // Validity check:
868
889
  if (renderRun === undefined)
869
890
  throw new Error("isLoading is not used from inside a watchedComponent");
870
- return probe(() => renderRun.frame.persistent.loadRuns.some(c => c.result.state === "pending" && (!nameFilter || c.name === nameFilter)), false);
891
+ return probe(() => (!nameFilter && renderRun.frame.pendingRetsyncPromise !== undefined) || renderRun.frame.persistent.loadRuns.some(c => c.result.state === "pending" && (!nameFilter || c.name === nameFilter)), false);
871
892
  }
872
893
  /**
873
894
  * Probe if a <code>load(...)</code> statement directly inside this watchedComponent failed.
@@ -895,6 +916,7 @@ function loadFailed(nameFilter) {
895
916
  return probe(() => {
896
917
  var _a, _b;
897
918
  return (_b = (_a = renderRun.frame.persistent.loadRuns.find(c => c.result.state === "rejected" && (!nameFilter || c.name === nameFilter))) === null || _a === void 0 ? void 0 : _a.result) === null || _b === void 0 ? void 0 : _b.rejectReason;
919
+ // Note for retsyncs: We are not able to check for failed retsyncs. Cause when they are failed, we are already the next **frame** and unlike load(...)s, the cannot persist in loaded/failed state. (just for the failed feature, we would need to track, which reads it depends on, and we would have to identify it. Too much effort)
898
920
  }, undefined);
899
921
  }
900
922
  /**
@@ -937,6 +959,48 @@ function probe(probeFn, defaultResult) {
937
959
  });
938
960
  return defaultResult;
939
961
  }
962
+ function withRetsyncHandling(componentFn) {
963
+ const orig_retsync2promiseCall = retsync_1._global.retsync2promiseCall;
964
+ try {
965
+ retsync_1._global.retsync2promiseCall = new retsync_1.Retsync2promiseCall();
966
+ return componentFn();
967
+ }
968
+ catch (e) {
969
+ if (e !== null && e instanceof retsync_1.RetsyncWaitsForPromiseException) {
970
+ const retsyncPromise = e.promise;
971
+ // Validity check:
972
+ if (currentRenderRun === undefined)
973
+ throw new Error("Illegal state");
974
+ const renderRun = currentRenderRun;
975
+ renderRun.frame.pendingRetsyncPromise = retsyncPromise;
976
+ // Await result and save it (like in retsync2promise from "proxy-facades/retsync"):
977
+ retsyncPromise.then((value) => {
978
+ retsync_1._global.resolvedPromiseValues.set(e.promise, value);
979
+ if (renderRun.frame.pendingRetsyncPromise !== retsyncPromise) { // Not waiting for this promise (=obsolete)?
980
+ return;
981
+ }
982
+ renderRun.frame.pendingRetsyncPromise = undefined;
983
+ renderRun.frame.persistent.handleChangeEvent();
984
+ });
985
+ retsyncPromise.catch((reason) => {
986
+ var _a, _b;
987
+ // TODO retsync_global.resolvedPromiseValues. -> mark as failed
988
+ if (renderRun.frame.pendingRetsyncPromise !== retsyncPromise) { // Not waiting for this promise (=obsolete)?
989
+ return;
990
+ }
991
+ renderRun.frame.pendingRetsyncPromise = undefined;
992
+ (_b = (_a = renderRun.frame).dismissErrorBoundary) === null || _b === void 0 ? void 0 : _b.call(_a);
993
+ const reasonAsError = (reason != null && reason instanceof Error) ? reason : new Error(`${reason}`);
994
+ renderRun.frame.persistent.requestReRender(undefined, reasonAsError); // Rerender, but fail immediately so the retsync does not get run again, resultung in an endless loop
995
+ });
996
+ throw retsyncPromise;
997
+ }
998
+ throw e;
999
+ }
1000
+ finally {
1001
+ retsync_1._global.retsync2promiseCall = orig_retsync2promiseCall;
1002
+ }
1003
+ }
940
1004
  /**
941
1005
  * Helper for {@see bind}. Looks up the last read and returns a binding for that.
942
1006
  * @param prop
@@ -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
@@ -16,6 +16,7 @@ import {
16
16
  import {useLayoutEffect, useState, createElement, Fragment, ReactNode, useEffect, useContext, memo} from "react";
17
17
  import {ErrorBoundaryContext, useErrorBoundary} from "react-error-boundary";
18
18
  import {_preserve, preserve, PreserveOptions} from "./preserve";
19
+ import {_global as retsync_global, RetsyncWaitsForPromiseException, Retsync2promiseCall} from "proxy-facades/retsync";
19
20
 
20
21
  let sharedWatchedProxyFacade: WatchedProxyFacade | undefined
21
22
 
@@ -362,8 +363,9 @@ class WatchedComponentPersistent {
362
363
  * - true = rerender requested (will re-render asap) or just starting the render and changes in props/state/watched still make it into it.
363
364
  * - false = ...
364
365
  * - RenderRun = A passive render is requested. Save reference to the render run as safety check
366
+ * - Error = rerender that should immediately fail with that error is requested
365
367
  */
366
- reRenderRequested: boolean | RenderRun = false;
368
+ reRenderRequested: boolean | RenderRun | Error = false;
367
369
 
368
370
  _doReRender!: () => void
369
371
 
@@ -392,15 +394,21 @@ class WatchedComponentPersistent {
392
394
  this._doReRender()
393
395
  }
394
396
 
395
- requestReRender(passiveFromRenderRun?: RenderRun) {
397
+ requestReRender(passiveFromRenderRun?: RenderRun, withImmediateError?: Error) {
396
398
  const wasAlreadyRequested = this.reRenderRequested !== false;
397
399
 
398
400
  // Enable the reRenderRequested flag:
399
- if(passiveFromRenderRun !== undefined && this.reRenderRequested !== true) {
400
- this.reRenderRequested = passiveFromRenderRun;
401
- }
402
- else {
403
- this.reRenderRequested = true;
401
+ if(this.reRenderRequested !== true) { // Not already at the strongest un-overridable state?
402
+ if (passiveFromRenderRun !== undefined) {
403
+ !withImmediateError || throwError("Illeagal arguments"); // Validity check
404
+ this.reRenderRequested = passiveFromRenderRun;
405
+ }
406
+ else if(withImmediateError !== undefined) {
407
+ this.reRenderRequested = withImmediateError;
408
+ }
409
+ else {
410
+ this.reRenderRequested = true;
411
+ }
404
412
  }
405
413
 
406
414
  if(wasAlreadyRequested) {
@@ -483,6 +491,11 @@ class Frame {
483
491
 
484
492
  persistent!: WatchedComponentPersistent;
485
493
 
494
+ /**
495
+ * Whether a load from retsync code is currently happening
496
+ */
497
+ pendingRetsyncPromise?: Promise<unknown>;
498
+
486
499
  /**
487
500
  * See {@link https://github.com/bvaughn/react-error-boundary?tab=readme-ov-file#dismiss-the-nearest-error-boundary}
488
501
  * From optional package.
@@ -695,6 +708,18 @@ export function watchedComponent<PROPS extends object>(componentFn:(props: PROPS
695
708
  const [persistent] = useState(new WatchedComponentPersistent(options));
696
709
  persistent._doReRender = () => setRenderCounter(renderCounter+1);
697
710
 
711
+ if(persistent.reRenderRequested instanceof Error) {
712
+ // **Immediately** fail and show the <ErrorBoundary>. Hack / haven't thought trough, if hard-skipping all the following will lead to bugs.
713
+ const error = persistent.reRenderRequested
714
+ // Clear persistent.reRenderRequested flag:
715
+ setTimeout(() => { // Wait a while, cause the <ErrorBoundary/> immediately causes this to rerender another 2 times
716
+ if(persistent.reRenderRequested === error) { // Nothing has changed so far
717
+ persistent.reRenderRequested = false;
718
+ }
719
+ })
720
+ throw error;
721
+ }
722
+
698
723
  const isPassive = persistent.nextReRenderMightBePassive()
699
724
 
700
725
  // Apply the new props (may trigger change listeners and therefore requestReRender() )
@@ -747,9 +772,11 @@ export function watchedComponent<PROPS extends object>(componentFn:(props: PROPS
747
772
 
748
773
  try {
749
774
  try {
750
- let result = componentFn(persistent.watchedProps as PROPS); // Run the user's component function
751
- renderRun.handleRenderFinishedSuccessfully();
752
- return result;
775
+ return withRetsyncHandling(() => {
776
+ let result = componentFn(persistent.watchedProps as PROPS); // Run the user's component function
777
+ renderRun.handleRenderFinishedSuccessfully();
778
+ return result;
779
+ })
753
780
  }
754
781
  finally {
755
782
  renderRun.onFinallyAfterUsersComponentFnListeners.forEach(l => l()); // Call listeners
@@ -1283,7 +1310,7 @@ export function isLoading(nameFilter?: string): boolean {
1283
1310
  // Validity check:
1284
1311
  if(renderRun === undefined) throw new Error("isLoading is not used from inside a watchedComponent")
1285
1312
 
1286
- return probe(() => renderRun.frame.persistent.loadRuns.some(c => c.result.state === "pending" && (!nameFilter || c.name === nameFilter)), false);
1313
+ return probe(() => (!nameFilter && renderRun.frame.pendingRetsyncPromise !== undefined) || renderRun.frame.persistent.loadRuns.some(c => c.result.state === "pending" && (!nameFilter || c.name === nameFilter)), false);
1287
1314
  }
1288
1315
 
1289
1316
  /**
@@ -1311,6 +1338,7 @@ export function loadFailed(nameFilter?: string): unknown {
1311
1338
 
1312
1339
  return probe(() => {
1313
1340
  return (renderRun.frame.persistent.loadRuns.find(c => c.result.state === "rejected" && (!nameFilter || c.name === nameFilter))?.result as any)?.rejectReason;
1341
+ // Note for retsyncs: We are not able to check for failed retsyncs. Cause when they are failed, we are already the next **frame** and unlike load(...)s, the cannot persist in loaded/failed state. (just for the failed feature, we would need to track, which reads it depends on, and we would have to identify it. Too much effort)
1314
1342
  }, undefined);
1315
1343
  }
1316
1344
 
@@ -1394,6 +1422,56 @@ function probe<T>(probeFn: () => T, defaultResult: T) {
1394
1422
  return defaultResult;
1395
1423
  }
1396
1424
 
1425
+ function withRetsyncHandling<T>(componentFn: () => T) {
1426
+ const orig_retsync2promiseCall = retsync_global.retsync2promiseCall;
1427
+ try {
1428
+ retsync_global.retsync2promiseCall = new Retsync2promiseCall();
1429
+ return componentFn();
1430
+ } catch (e) {
1431
+ if (e !== null && e instanceof RetsyncWaitsForPromiseException) {
1432
+ const retsyncPromise = e.promise;
1433
+
1434
+ // Validity check:
1435
+ if (currentRenderRun === undefined) throw new Error("Illegal state")
1436
+
1437
+ const renderRun = currentRenderRun;
1438
+
1439
+ renderRun.frame.pendingRetsyncPromise = retsyncPromise;
1440
+
1441
+ // Await result and save it (like in retsync2promise from "proxy-facades/retsync"):
1442
+ retsyncPromise.then((value) => {
1443
+ retsync_global.resolvedPromiseValues.set(e.promise, value);
1444
+
1445
+ if(renderRun.frame.pendingRetsyncPromise !== retsyncPromise) { // Not waiting for this promise (=obsolete)?
1446
+ return;
1447
+ }
1448
+
1449
+ renderRun.frame.pendingRetsyncPromise = undefined;
1450
+ renderRun.frame.persistent.handleChangeEvent();
1451
+ })
1452
+
1453
+
1454
+ retsyncPromise.catch((reason) => {
1455
+ // TODO retsync_global.resolvedPromiseValues. -> mark as failed
1456
+ if(renderRun.frame.pendingRetsyncPromise !== retsyncPromise) { // Not waiting for this promise (=obsolete)?
1457
+ return;
1458
+ }
1459
+
1460
+ renderRun.frame.pendingRetsyncPromise = undefined;
1461
+ renderRun.frame.dismissErrorBoundary?.();
1462
+ const reasonAsError = (reason != null && reason instanceof Error)?reason:new Error(`${reason}`);
1463
+ renderRun.frame.persistent.requestReRender(undefined, reasonAsError); // Rerender, but fail immediately so the retsync does not get run again, resultung in an endless loop
1464
+ });
1465
+
1466
+
1467
+ throw retsyncPromise;
1468
+ }
1469
+ throw e;
1470
+ } finally {
1471
+ retsync_global.retsync2promiseCall = orig_retsync2promiseCall;
1472
+ }
1473
+ }
1474
+
1397
1475
  export type ValueOnObject<T> = {value: T}
1398
1476
 
1399
1477
  type BindingOptions = {
package/mechanics.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # Deeper explanation of the mechanics
2
2
  ## Re-rendering
3
3
  - A watchedComponents is re-rendered **by React from the outside**, only when shallow properties change. It uses React's [memo](https://react.dev/reference/react/memo) therefore. See the `WatchedComponentOptions#memo` flag.
4
- - A watchedComponents re-renders it's self when a property, that is actually "read" inside the render function (=component function), later changes. This is from these (root) sources:
4
+ - A watchedComponents re-renders **it's self** when a property, that is actually "read" inside the render function (=component function), later changes. This is from these (root) sources:
5
5
  - the `props`
6
6
  - the `useWatchedState`
7
7
  - a `watched(useContext(...))`
@@ -38,8 +38,11 @@ So, what is a "read"? tl;dr: Just everything anywhere that reads from the above
38
38
  Change tracking works also (by default), if these properties are changed externally / from the outside / not through the proxy-facade that you see in the render function. See `WatchedComponentOptions#watchOutside`.
39
39
  _Thanks to the mothers and fathers of Ecmascript to make all this possible through fancy proxy tricks ;)_
40
40
  - _Besides that, re-renders can be made for operational purposes: to display the state change of a load or to serve the isLoading() and loadFailed() probing functions, etc..._
41
+ For more info, how it works, see the [proxy-facades library](https://github.com/bogeeee/proxy-facades).
41
42
 
42
43
  ## Re-loading
44
+ _This text is a bit redundant with, what's also explained in the readme and it only assumes the (default) auto-dependencies here_
45
+
43
46
  The `loaderFn` from inside the `load(...)` statements is re-executed, when:
44
47
  - A property, that is read immediately in the `loaderFn`, later changes. _Immediately = in the same sync block / not after an awaited i/o operation._
45
48
  - The precondition changes: Meaning, those reads that were done **before** the `load(...)` statement, their value later changes.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-deepwatch",
3
- "version": "1.2.6",
3
+ "version": "1.4.0",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "react",
@@ -31,7 +31,6 @@
31
31
  "verify_d.ts": "tsc dist/**/*.d.ts -noEmit",
32
32
  "test": "npm run clean && vitest --clearScreen --hideSkippedTests --poolOptions.threads.singleThread",
33
33
  "test_specific": "npm run clean && vitest --clearScreen --hideSkippedTests --poolOptions.threads.singleThread --testNamePattern \"Arrays with Object.keys with .*push.* With writes from outside\"",
34
- "test:web:prepare": "npm install --prefix ../tests/web dev --ignore-scripts",
35
34
  "test:web": "npm run clean && npm run --prefix ../tests/web dev",
36
35
  "prepublish": "npm run clean && npm run build && ncp ../LICENSE ./LICENSE && ncp ../readme.md ./readme.md",
37
36
  "publish:npmlogin": "npm login",
@@ -41,7 +40,7 @@
41
40
  "dependencies": {
42
41
  "underscore": "^1.13.3",
43
42
  "react-error-boundary": "^4.x",
44
- "proxy-facades": "^1.2.9"
43
+ "proxy-facades": "^1.6.0"
45
44
  },
46
45
  "peerDependencies": {
47
46
  "react": "^18.3.1||^19.0.0"
package/readme.md CHANGED
@@ -1,7 +1,7 @@
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**
@@ -24,7 +24,7 @@ const MyComponent = watchedComponent(props => {
24
24
  <input type="button" value="Clear filter" onClick={() => state.filter = ""} />
25
25
 
26
26
  {/* you can fetch data from **inside** conditional render code or loops😎! No useEffect needed! Knows its dependencies automatically👍 */}
27
- <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/>
28
28
 
29
29
  {/* The above load(...) code is independent of state.showPrices, react-deepwatch knows that automatically, so clicking here will NOT exec a re- load(...)👍... */}
30
30
  Show prices <input type="checkbox" {...bind(state.showPrices)} />
@@ -61,10 +61,10 @@ const MyComponent = watchedComponent(props => {
61
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)
62
62
 
63
63
  ## and less... loading code
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
+ 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`**:
65
65
 
66
66
  ````jsx
67
- 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"
68
68
 
69
69
  const MyComponent = watchedComponent(props => {
70
70
 
@@ -77,10 +77,35 @@ const MyComponent = watchedComponent(props => {
77
77
  ````
78
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)
79
79
 
80
- **`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._
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(...) 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 😎._
83
- 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>
84
109
 
85
110
  ### Show a 🌀loading spinner
86
111
  To show a 🌀loading spinner / placeholder during load, either...
@@ -95,13 +120,10 @@ either...
95
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..._
96
121
  - **call** the **loadFailed()** probing function. This looks more elegant than the above. _See jsDoc for usage example._
97
122
 
98
- ### Performance optimization for load(...)
99
- To reduce the number of expensive `myFetchFromServer` calls, try the following:
100
- - Move the load(...) call as upwards in the code as possible, so it depends on fewer props / state / watched objects.
101
- - See the `LoadOptions#fallback`, `LoadOptions#silent` and `LoadOptions#critical` settings.
102
- - 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.
103
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._
104
- 👍 `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.
105
127
 
106
128
  ### Caveats
107
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`.
@@ -137,7 +159,7 @@ const MyParentComponent = watchedComponent(props => {
137
159
 
138
160
  _This example will trigger both onChange handlers._
139
161
 
140
- _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_
141
163
 
142
164
  # ...and less onChange code for &lt;input/&gt; elements
143
165
 
@@ -163,16 +185,19 @@ You can also use `watched` similarly to `useWatchedState` to watch any global o
163
185
  ### poll
164
186
  Besides `load`, there's also the `poll` function, which works similar, but re-loads in regular intervals. _See jsDoc_
165
187
 
188
+ ### Retsync
189
+ Besides `load`, react-deepwatch also supports hosting [retryable-synchronous](https://github.com/bogeeee/proxy-facades/blob/main/retsync.ts) code.
190
+
166
191
  ### [Deeper explanation of the mechanics](https://github.com/bogeeee/react-deepwatch/blob/main/react-deepwatch/mechanics.md)
167
192
 
168
193
  ### Similar libraries
169
194
  There are also other libraries that address proxying the state:
170
- [valito](https://github.com/pmndrs/valtio), [react-easy-state](https://github.com/RisingStack/react-easy-state), [wana](https://www.npmjs.com/package/wana),
195
+ [valtio](https://github.com/pmndrs/valtio), [react-easy-state](https://github.com/RisingStack/react-easy-state), [wana](https://www.npmjs.com/package/wana),
171
196
 
172
197
  while React-deepwatch set's its self apart in these areas:
173
198
  - Deep (not only shallow-) proxying
174
199
  - Tracking changes above **and** below the proxy = also on the unproxied object.
175
- - Fully transparent support for `this`, getters/setters (treated white box), user's methods, Sets, Maps, Arrays _(wana seems to support Sets,Maps, Arrays too)_
200
+ - 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)_
176
201
  - Very comprehensive `load(...)` concept with auto dependencies, fallbacks, probing functions, instance preserving mechanism, possible in conditionals/loops, supports polling, error boundaries.
177
202
  - &lt;Input/&gt; bind(...)ing
178
203