react-deepwatch 1.1.2 → 1.2.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.
@@ -232,6 +232,33 @@ export declare function poll<T, FALLBACK>(loaderFn: (oldResult?: T) => Promise<T
232
232
  export declare function poll<T, FALLBACK>(loaderFn: (oldResult?: T) => Promise<T>, options: LoadOptions & {
233
233
  fallback: FALLBACK;
234
234
  } & PollOptions): T | FALLBACK;
235
+ export type ValueOnObject<T> = {
236
+ value: T;
237
+ };
238
+ type BindingOptions = {
239
+ isAccessor?: boolean;
240
+ };
241
+ /**
242
+ * Helper for {@see bind}. Looks up the last read and returns a binding for that.
243
+ * @param prop
244
+ * @param options
245
+ */
246
+ export declare function binding<T>(prop: T, options?: BindingOptions): ValueOnObject<T>;
247
+ /**
248
+ * For usage, see <a href="https://github.com/bogeeee/react-deepwatch/blob/main/readme.md#and-less-onchange-code-for-ltinputgt-elements">the docs</a>
249
+ * @param prop the value from the object (not really just the value. react-deepwatch uses some tricks and looks at your last read to a proxied object, to determine the object and key of the binding)
250
+ * @param options
251
+ */
252
+ export declare function bind<T>(prop: T, options?: BindingOptions): {
253
+ value: T;
254
+ checked: T;
255
+ onChange: (event: T | {
256
+ target: {
257
+ value: T;
258
+ };
259
+ }, ...args: any[]) => void;
260
+ };
235
261
  export declare function debug_tagComponent(name: string): void;
236
- export { preserve, PreserveOptions } from "./preserve";
262
+ export { preserve } from "./preserve";
263
+ export type { PreserveOptions } from "./preserve";
237
264
  //# 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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"}
package/dist/mjs/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { RecordedReadOnProxiedObject, RecordedValueRead, WatchedProxyFacade, installChangeTracker } from "proxy-facades";
1
+ import { RecordedReadOnProxiedObject, RecordedValueRead, WatchedProxyFacade, installChangeTracker, RecordedPropertyRead } from "proxy-facades";
2
2
  import { 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";
@@ -170,16 +170,28 @@ class LoadCall {
170
170
  return undefined;
171
171
  }
172
172
  }
173
+ function createWatchedProxyFacade() {
174
+ const facade = new WatchedProxyFacade();
175
+ facade.trackGetterCalls = true; // we need this for bindings
176
+ // For bindings, we need to track reads for **all** facades:
177
+ facade.onAfterRead((read) => {
178
+ if (currentRenderRun) {
179
+ currentRenderRun.binding_lastSeenRead = read;
180
+ currentRenderRun.binding_lastSeenRead_outerMostGetter = facade.currentOutermostGetter;
181
+ }
182
+ });
183
+ return facade;
184
+ }
173
185
  /**
174
186
  * Fields that persist across re-render and across frames
175
187
  */
176
188
  class WatchedComponentPersistent {
177
189
  get watchedProxyFacade() {
178
190
  if (this.options.useGlobalSharedProxyFacade === false) {
179
- return this._nonSharedWatchedProxyFacade || (this._nonSharedWatchedProxyFacade = new WatchedProxyFacade());
191
+ return this._nonSharedWatchedProxyFacade || (this._nonSharedWatchedProxyFacade = createWatchedProxyFacade());
180
192
  }
181
193
  // Use a global shared instance
182
- return sharedWatchedProxyFacade || (sharedWatchedProxyFacade = new WatchedProxyFacade()); // Lazy initialize global variable
194
+ return sharedWatchedProxyFacade || (sharedWatchedProxyFacade = createWatchedProxyFacade()); // Lazy initialize global variable
183
195
  }
184
196
  doReRender() {
185
197
  // Call listeners:
@@ -250,7 +262,7 @@ class WatchedComponentPersistent {
250
262
  * For the <a href="https://github.com/bogeeee/react-deepwatch/blob/main/readme.md#and-less-handing-onchange-listeners-to-child-components">"And less... handing onChange listeners to child components"</a> use case.
251
263
  * We don't want new object instances created, every time watched(..., {onChange:....}) is called. So we assign the proxy facade (see watched function) to the object
252
264
  */
253
- this.object_to_childProxyFacade = newDefaultMap(() => new WatchedProxyFacade());
265
+ this.watchedObject_to_childProxyFacade = newDefaultMap(() => createWatchedProxyFacade());
254
266
  this.options = options;
255
267
  this.watchedProps = this.watchedProxyFacade.getProxyFor({});
256
268
  }
@@ -319,7 +331,7 @@ class Frame {
319
331
  if (this.persistent.options.watchOutside !== false) {
320
332
  try {
321
333
  if (read instanceof RecordedReadOnProxiedObject) {
322
- installChangeTracker(read.obj);
334
+ installChangeTracker(read.origObj);
323
335
  }
324
336
  }
325
337
  catch (e) {
@@ -348,6 +360,9 @@ class Frame {
348
360
  class RenderRun {
349
361
  constructor() {
350
362
  this.isPassive = false;
363
+ /**
364
+ * Recorded reads of this component's watchedProxyFacade
365
+ */
351
366
  this.recordedReads = [];
352
367
  this.loadCallIdsSeen = new Set();
353
368
  /**
@@ -519,7 +534,7 @@ export function watched(obj, options) {
519
534
  // Safety check:
520
535
  !currentRenderRun.diagnosis_objectsWatchedWithOnChange.has(result) || throwError("You have called watched(someObject, {onChange:...}) 2 times for the same someObj. This is not supported, since for keeping as much object instance consitency as possible, there is one fixed proxyfacade-for-change-tracking assiciated to it. If you really have a valid use case for watching the same object twice for changes, submit an issue.");
521
536
  currentRenderRun.diagnosis_objectsWatchedWithOnChange.add(result);
522
- const facadeForChangeWatching = currentRenderRun.frame.persistent.object_to_childProxyFacade.get(obj);
537
+ const facadeForChangeWatching = currentRenderRun.frame.persistent.watchedObject_to_childProxyFacade.get(obj); // Might create a new facade
523
538
  // Listen for changes and call options.onChange during component mount:
524
539
  const changeHandler = (changeOperation) => options.onChange();
525
540
  currentRenderRun.effectFns.push(() => { facadeForChangeWatching.onAfterChange(changeHandler); });
@@ -858,6 +873,99 @@ function probe(probeFn, defaultResult) {
858
873
  });
859
874
  return defaultResult;
860
875
  }
876
+ /**
877
+ * Helper for {@see bind}. Looks up the last read and returns a binding for that.
878
+ * @param prop
879
+ * @param options
880
+ */
881
+ export function binding(prop, options) {
882
+ const renderRun = currentRenderRun;
883
+ // Validity check:
884
+ if (renderRun === undefined)
885
+ throw new Error("bind(...) not used from inside a watchedComponent");
886
+ const diagnosis_msg = () => `Make sure, prop is derived from something watched: The component's 'props', or a useWatchedState(...) or a wached(...) or a load(...).`;
887
+ let obj;
888
+ let key;
889
+ // Obtain lastRead
890
+ const lastRead = renderRun.binding_lastSeenRead;
891
+ if (!lastRead)
892
+ throw new Error("Illegal state: no recorded reads. ${diagnosis_msg()}");
893
+ const diagnosis_moreMsg = () => `The last 'read' in your component function was of type: ${lastRead.constructor.name}`;
894
+ if (!(lastRead instanceof RecordedReadOnProxiedObject))
895
+ throw new Error(`Cannot determine property for input into bind(prop). ${diagnosis_msg()}\nMore info:${diagnosis_moreMsg()}`);
896
+ if (renderRun.binding_lastSeenRead_outerMostGetter && !((options === null || options === void 0 ? void 0 : options.isAccessor) === false)) { // getter call and user want's getters ?
897
+ obj = renderRun.binding_lastSeenRead_outerMostGetter.proxy;
898
+ key = renderRun.binding_lastSeenRead_outerMostGetter.key;
899
+ //@ts-ignore
900
+ prop === obj[key] || 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})`);
901
+ }
902
+ else { // property access without getter:
903
+ if (!(lastRead instanceof RecordedPropertyRead))
904
+ throw new Error(`Cannot determine property for input into bind(prop). ${diagnosis_msg()}\nMore info:${diagnosis_moreMsg()}`);
905
+ obj = lastRead.proxy;
906
+ key = lastRead.key;
907
+ // Check if bind is deterministic:
908
+ //@ts-ignore
909
+ lastRead.value === obj[key] || throwError(`Illegal state: lastRead does not seem to be deterministic. ${diagnosis_msg()}\nMore info:${diagnosis_moreMsg()}`);
910
+ 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()}`);
911
+ }
912
+ return {
913
+ get value() {
914
+ //@ts-ignore
915
+ return obj[key];
916
+ },
917
+ set value(value) {
918
+ //@ts-ignore
919
+ obj[key] = value;
920
+ }
921
+ };
922
+ }
923
+ /**
924
+ * For usage, see <a href="https://github.com/bogeeee/react-deepwatch/blob/main/readme.md#and-less-onchange-code-for-ltinputgt-elements">the docs</a>
925
+ * @param prop the value from the object (not really just the value. react-deepwatch uses some tricks and looks at your last read to a proxied object, to determine the object and key of the binding)
926
+ * @param options
927
+ */
928
+ export function bind(prop, options) {
929
+ const bnd = binding(prop, options);
930
+ return {
931
+ value: bnd.value,
932
+ checked: bnd.value,
933
+ onChange: (event, ...args) => {
934
+ if (event !== null && typeof event === "object") {
935
+ if (!("target" in event)) {
936
+ throw new Error("Event has no target property. The bind(...) function handles just input component with standard behaviour. If you have something more exotic and want it to work with bind, have a look at the (very short) source code of this bind function and implement onChange differently.");
937
+ }
938
+ if (event.target instanceof HTMLInputElement) { // native <input /> element ?
939
+ const type = event.target.type;
940
+ if (type === "checkbox") {
941
+ bnd.value = event.target.checked;
942
+ }
943
+ else if (type === "radio") {
944
+ throw new Error(`bind(...) is not supported for <input type="radio" />.`);
945
+ }
946
+ else { // most input elements accept a value
947
+ bnd.value = event.target.value;
948
+ }
949
+ }
950
+ else if (event.target instanceof HTMLSelectElement) {
951
+ bnd.value = event.target.value;
952
+ }
953
+ else if ("checked" in event.target) {
954
+ bnd.value = event.target.checked; // assuming checkbix
955
+ }
956
+ else if ("value" in event.target) {
957
+ bnd.value = event.target.value;
958
+ }
959
+ else {
960
+ throw new Error("This input type is not yet implemented with bind(...)");
961
+ }
962
+ }
963
+ else { // event is a primitive ?
964
+ bnd.value = event; // assume, that event is not an event but the immediate value
965
+ }
966
+ }
967
+ };
968
+ }
861
969
  export function debug_tagComponent(name) {
862
970
  currentRenderRun.frame.persistent.debug_tag = name;
863
971
  }
@@ -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.d.ts CHANGED
@@ -232,6 +232,33 @@ export declare function poll<T, FALLBACK>(loaderFn: (oldResult?: T) => Promise<T
232
232
  export declare function poll<T, FALLBACK>(loaderFn: (oldResult?: T) => Promise<T>, options: LoadOptions & {
233
233
  fallback: FALLBACK;
234
234
  } & PollOptions): T | FALLBACK;
235
+ export type ValueOnObject<T> = {
236
+ value: T;
237
+ };
238
+ type BindingOptions = {
239
+ isAccessor?: boolean;
240
+ };
241
+ /**
242
+ * Helper for {@see bind}. Looks up the last read and returns a binding for that.
243
+ * @param prop
244
+ * @param options
245
+ */
246
+ export declare function binding<T>(prop: T, options?: BindingOptions): ValueOnObject<T>;
247
+ /**
248
+ * For usage, see <a href="https://github.com/bogeeee/react-deepwatch/blob/main/readme.md#and-less-onchange-code-for-ltinputgt-elements">the docs</a>
249
+ * @param prop the value from the object (not really just the value. react-deepwatch uses some tricks and looks at your last read to a proxied object, to determine the object and key of the binding)
250
+ * @param options
251
+ */
252
+ export declare function bind<T>(prop: T, options?: BindingOptions): {
253
+ value: T;
254
+ checked: T;
255
+ onChange: (event: T | {
256
+ target: {
257
+ value: T;
258
+ };
259
+ }, ...args: any[]) => void;
260
+ };
235
261
  export declare function debug_tagComponent(name: string): void;
236
- export { preserve, PreserveOptions } from "./preserve";
262
+ export { preserve } from "./preserve";
263
+ export type { PreserveOptions } from "./preserve";
237
264
  //# sourceMappingURL=index.d.ts.map
package/index.d.ts.map CHANGED
@@ -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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"}
package/index.js CHANGED
@@ -8,6 +8,8 @@ exports.load = load;
8
8
  exports.isLoading = isLoading;
9
9
  exports.loadFailed = loadFailed;
10
10
  exports.poll = poll;
11
+ exports.binding = binding;
12
+ exports.bind = bind;
11
13
  exports.debug_tagComponent = debug_tagComponent;
12
14
  const proxy_facades_1 = require("proxy-facades");
13
15
  const Util_1 = require("./Util");
@@ -181,16 +183,28 @@ class LoadCall {
181
183
  return undefined;
182
184
  }
183
185
  }
186
+ function createWatchedProxyFacade() {
187
+ const facade = new proxy_facades_1.WatchedProxyFacade();
188
+ facade.trackGetterCalls = true; // we need this for bindings
189
+ // For bindings, we need to track reads for **all** facades:
190
+ facade.onAfterRead((read) => {
191
+ if (currentRenderRun) {
192
+ currentRenderRun.binding_lastSeenRead = read;
193
+ currentRenderRun.binding_lastSeenRead_outerMostGetter = facade.currentOutermostGetter;
194
+ }
195
+ });
196
+ return facade;
197
+ }
184
198
  /**
185
199
  * Fields that persist across re-render and across frames
186
200
  */
187
201
  class WatchedComponentPersistent {
188
202
  get watchedProxyFacade() {
189
203
  if (this.options.useGlobalSharedProxyFacade === false) {
190
- return this._nonSharedWatchedProxyFacade || (this._nonSharedWatchedProxyFacade = new proxy_facades_1.WatchedProxyFacade());
204
+ return this._nonSharedWatchedProxyFacade || (this._nonSharedWatchedProxyFacade = createWatchedProxyFacade());
191
205
  }
192
206
  // Use a global shared instance
193
- return sharedWatchedProxyFacade || (sharedWatchedProxyFacade = new proxy_facades_1.WatchedProxyFacade()); // Lazy initialize global variable
207
+ return sharedWatchedProxyFacade || (sharedWatchedProxyFacade = createWatchedProxyFacade()); // Lazy initialize global variable
194
208
  }
195
209
  doReRender() {
196
210
  // Call listeners:
@@ -261,7 +275,7 @@ class WatchedComponentPersistent {
261
275
  * For the <a href="https://github.com/bogeeee/react-deepwatch/blob/main/readme.md#and-less-handing-onchange-listeners-to-child-components">"And less... handing onChange listeners to child components"</a> use case.
262
276
  * We don't want new object instances created, every time watched(..., {onChange:....}) is called. So we assign the proxy facade (see watched function) to the object
263
277
  */
264
- this.object_to_childProxyFacade = (0, Util_1.newDefaultMap)(() => new proxy_facades_1.WatchedProxyFacade());
278
+ this.watchedObject_to_childProxyFacade = (0, Util_1.newDefaultMap)(() => createWatchedProxyFacade());
265
279
  this.options = options;
266
280
  this.watchedProps = this.watchedProxyFacade.getProxyFor({});
267
281
  }
@@ -330,7 +344,7 @@ class Frame {
330
344
  if (this.persistent.options.watchOutside !== false) {
331
345
  try {
332
346
  if (read instanceof proxy_facades_1.RecordedReadOnProxiedObject) {
333
- (0, proxy_facades_1.installChangeTracker)(read.obj);
347
+ (0, proxy_facades_1.installChangeTracker)(read.origObj);
334
348
  }
335
349
  }
336
350
  catch (e) {
@@ -359,6 +373,9 @@ class Frame {
359
373
  class RenderRun {
360
374
  constructor() {
361
375
  this.isPassive = false;
376
+ /**
377
+ * Recorded reads of this component's watchedProxyFacade
378
+ */
362
379
  this.recordedReads = [];
363
380
  this.loadCallIdsSeen = new Set();
364
381
  /**
@@ -530,7 +547,7 @@ function watched(obj, options) {
530
547
  // Safety check:
531
548
  !currentRenderRun.diagnosis_objectsWatchedWithOnChange.has(result) || (0, Util_1.throwError)("You have called watched(someObject, {onChange:...}) 2 times for the same someObj. This is not supported, since for keeping as much object instance consitency as possible, there is one fixed proxyfacade-for-change-tracking assiciated to it. If you really have a valid use case for watching the same object twice for changes, submit an issue.");
532
549
  currentRenderRun.diagnosis_objectsWatchedWithOnChange.add(result);
533
- const facadeForChangeWatching = currentRenderRun.frame.persistent.object_to_childProxyFacade.get(obj);
550
+ const facadeForChangeWatching = currentRenderRun.frame.persistent.watchedObject_to_childProxyFacade.get(obj); // Might create a new facade
534
551
  // Listen for changes and call options.onChange during component mount:
535
552
  const changeHandler = (changeOperation) => options.onChange();
536
553
  currentRenderRun.effectFns.push(() => { facadeForChangeWatching.onAfterChange(changeHandler); });
@@ -869,6 +886,99 @@ function probe(probeFn, defaultResult) {
869
886
  });
870
887
  return defaultResult;
871
888
  }
889
+ /**
890
+ * Helper for {@see bind}. Looks up the last read and returns a binding for that.
891
+ * @param prop
892
+ * @param options
893
+ */
894
+ function binding(prop, options) {
895
+ const renderRun = currentRenderRun;
896
+ // Validity check:
897
+ if (renderRun === undefined)
898
+ throw new Error("bind(...) not used from inside a watchedComponent");
899
+ const diagnosis_msg = () => `Make sure, prop is derived from something watched: The component's 'props', or a useWatchedState(...) or a wached(...) or a load(...).`;
900
+ let obj;
901
+ let key;
902
+ // Obtain lastRead
903
+ const lastRead = renderRun.binding_lastSeenRead;
904
+ if (!lastRead)
905
+ throw new Error("Illegal state: no recorded reads. ${diagnosis_msg()}");
906
+ const diagnosis_moreMsg = () => `The last 'read' in your component function was of type: ${lastRead.constructor.name}`;
907
+ if (!(lastRead instanceof proxy_facades_1.RecordedReadOnProxiedObject))
908
+ throw new Error(`Cannot determine property for input into bind(prop). ${diagnosis_msg()}\nMore info:${diagnosis_moreMsg()}`);
909
+ if (renderRun.binding_lastSeenRead_outerMostGetter && !((options === null || options === void 0 ? void 0 : options.isAccessor) === false)) { // getter call and user want's getters ?
910
+ obj = renderRun.binding_lastSeenRead_outerMostGetter.proxy;
911
+ key = renderRun.binding_lastSeenRead_outerMostGetter.key;
912
+ //@ts-ignore
913
+ 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})`);
914
+ }
915
+ else { // property access without getter:
916
+ if (!(lastRead instanceof proxy_facades_1.RecordedPropertyRead))
917
+ throw new Error(`Cannot determine property for input into bind(prop). ${diagnosis_msg()}\nMore info:${diagnosis_moreMsg()}`);
918
+ obj = lastRead.proxy;
919
+ key = lastRead.key;
920
+ // Check if bind is deterministic:
921
+ //@ts-ignore
922
+ lastRead.value === obj[key] || (0, Util_1.throwError)(`Illegal state: lastRead does not seem to be deterministic. ${diagnosis_msg()}\nMore info:${diagnosis_moreMsg()}`);
923
+ 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()}`);
924
+ }
925
+ return {
926
+ get value() {
927
+ //@ts-ignore
928
+ return obj[key];
929
+ },
930
+ set value(value) {
931
+ //@ts-ignore
932
+ obj[key] = value;
933
+ }
934
+ };
935
+ }
936
+ /**
937
+ * For usage, see <a href="https://github.com/bogeeee/react-deepwatch/blob/main/readme.md#and-less-onchange-code-for-ltinputgt-elements">the docs</a>
938
+ * @param prop the value from the object (not really just the value. react-deepwatch uses some tricks and looks at your last read to a proxied object, to determine the object and key of the binding)
939
+ * @param options
940
+ */
941
+ function bind(prop, options) {
942
+ const bnd = binding(prop, options);
943
+ return {
944
+ value: bnd.value,
945
+ checked: bnd.value,
946
+ onChange: (event, ...args) => {
947
+ if (event !== null && typeof event === "object") {
948
+ if (!("target" in event)) {
949
+ throw new Error("Event has no target property. The bind(...) function handles just input component with standard behaviour. If you have something more exotic and want it to work with bind, have a look at the (very short) source code of this bind function and implement onChange differently.");
950
+ }
951
+ if (event.target instanceof HTMLInputElement) { // native <input /> element ?
952
+ const type = event.target.type;
953
+ if (type === "checkbox") {
954
+ bnd.value = event.target.checked;
955
+ }
956
+ else if (type === "radio") {
957
+ throw new Error(`bind(...) is not supported for <input type="radio" />.`);
958
+ }
959
+ else { // most input elements accept a value
960
+ bnd.value = event.target.value;
961
+ }
962
+ }
963
+ else if (event.target instanceof HTMLSelectElement) {
964
+ bnd.value = event.target.value;
965
+ }
966
+ else if ("checked" in event.target) {
967
+ bnd.value = event.target.checked; // assuming checkbix
968
+ }
969
+ else if ("value" in event.target) {
970
+ bnd.value = event.target.value;
971
+ }
972
+ else {
973
+ throw new Error("This input type is not yet implemented with bind(...)");
974
+ }
975
+ }
976
+ else { // event is a primitive ?
977
+ bnd.value = event; // assume, that event is not an event but the immediate value
978
+ }
979
+ }
980
+ };
981
+ }
872
982
  function debug_tagComponent(name) {
873
983
  currentRenderRun.frame.persistent.debug_tag = name;
874
984
  }
package/index.js.map CHANGED
@@ -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
@@ -2,7 +2,7 @@ import {
2
2
  RecordedRead,
3
3
  RecordedReadOnProxiedObject,
4
4
  RecordedValueRead,
5
- WatchedProxyFacade, installChangeTracker
5
+ WatchedProxyFacade, installChangeTracker, RecordedPropertyRead
6
6
  } from "proxy-facades";
7
7
  import {
8
8
  arraysAreEqualsByPredicateFn,
@@ -313,6 +313,19 @@ class LoadCall {
313
313
  }
314
314
  }
315
315
 
316
+ function createWatchedProxyFacade() {
317
+ const facade = new WatchedProxyFacade();
318
+ facade.trackGetterCalls = true; // we need this for bindings
319
+ // For bindings, we need to track reads for **all** facades:
320
+ facade.onAfterRead((read) => {
321
+ if(currentRenderRun) {
322
+ currentRenderRun.binding_lastSeenRead = read;
323
+ currentRenderRun.binding_lastSeenRead_outerMostGetter = facade.currentOutermostGetter;
324
+ }
325
+ })
326
+ return facade;
327
+ }
328
+
316
329
  /**
317
330
  * Fields that persist across re-render and across frames
318
331
  */
@@ -323,10 +336,10 @@ class WatchedComponentPersistent {
323
336
 
324
337
  get watchedProxyFacade() {
325
338
  if(this.options.useGlobalSharedProxyFacade === false) {
326
- return this._nonSharedWatchedProxyFacade || (this._nonSharedWatchedProxyFacade = new WatchedProxyFacade());
339
+ return this._nonSharedWatchedProxyFacade || (this._nonSharedWatchedProxyFacade = createWatchedProxyFacade());
327
340
  }
328
341
  // Use a global shared instance
329
- return sharedWatchedProxyFacade || (sharedWatchedProxyFacade = new WatchedProxyFacade()); // Lazy initialize global variable
342
+ return sharedWatchedProxyFacade || (sharedWatchedProxyFacade = createWatchedProxyFacade()); // Lazy initialize global variable
330
343
  }
331
344
 
332
345
  /**
@@ -368,7 +381,7 @@ class WatchedComponentPersistent {
368
381
  * For the <a href="https://github.com/bogeeee/react-deepwatch/blob/main/readme.md#and-less-handing-onchange-listeners-to-child-components">"And less... handing onChange listeners to child components"</a> use case.
369
382
  * We don't want new object instances created, every time watched(..., {onChange:....}) is called. So we assign the proxy facade (see watched function) to the object
370
383
  */
371
- object_to_childProxyFacade = newDefaultMap<object, WatchedProxyFacade>(() => new WatchedProxyFacade());
384
+ watchedObject_to_childProxyFacade = newDefaultMap<object, WatchedProxyFacade>(() => createWatchedProxyFacade());
372
385
 
373
386
  debug_tag?: string;
374
387
 
@@ -528,7 +541,7 @@ class Frame {
528
541
  if(this.persistent.options.watchOutside !== false) {
529
542
  try {
530
543
  if (read instanceof RecordedReadOnProxiedObject) {
531
- installChangeTracker(read.obj);
544
+ installChangeTracker(read.origObj);
532
545
  }
533
546
  }
534
547
  catch (e) {
@@ -563,6 +576,9 @@ class RenderRun {
563
576
 
564
577
  isPassive=false;
565
578
 
579
+ /**
580
+ * Recorded reads of this component's watchedProxyFacade
581
+ */
566
582
  recordedReads: RecordedRead[] = [];
567
583
 
568
584
  loadCallIdsSeen = new Set<LoadCall["id"]>();
@@ -590,6 +606,12 @@ class RenderRun {
590
606
  */
591
607
  effectCleanupFns: (() => void)[] = [];
592
608
 
609
+ /**
610
+ * Last seen read on **all** watchedProxyFacade levels. {@see binding} needs the real, highest level read.
611
+ */
612
+ binding_lastSeenRead?: RecordedRead
613
+ binding_lastSeenRead_outerMostGetter?: WatchedProxyFacade["currentOutermostGetter"]
614
+
593
615
  diagnosis_objectsWatchedWithOnChange = new Set<object>();
594
616
 
595
617
  handleRenderFinishedSuccessfully() {
@@ -788,7 +810,7 @@ export function watched<T extends object>(obj: T, options?: WatchedOptions): T {
788
810
  !currentRenderRun!.diagnosis_objectsWatchedWithOnChange.has(result) || throwError("You have called watched(someObject, {onChange:...}) 2 times for the same someObj. This is not supported, since for keeping as much object instance consitency as possible, there is one fixed proxyfacade-for-change-tracking assiciated to it. If you really have a valid use case for watching the same object twice for changes, submit an issue.");
789
811
  currentRenderRun!.diagnosis_objectsWatchedWithOnChange.add(result)
790
812
 
791
- const facadeForChangeWatching = currentRenderRun!.frame.persistent.object_to_childProxyFacade.get(obj);
813
+ const facadeForChangeWatching = currentRenderRun!.frame.persistent.watchedObject_to_childProxyFacade.get(obj); // Might create a new facade
792
814
 
793
815
  // Listen for changes and call options.onChange during component mount:
794
816
  const changeHandler = (changeOperation: any) => options.onChange!()
@@ -1306,9 +1328,112 @@ function probe<T>(probeFn: () => T, defaultResult: T) {
1306
1328
  return defaultResult;
1307
1329
  }
1308
1330
 
1331
+ export type ValueOnObject<T> = {value: T}
1332
+
1333
+ type BindingOptions = {
1334
+ isAccessor?: boolean
1335
+ }
1336
+
1337
+ /**
1338
+ * Helper for {@see bind}. Looks up the last read and returns a binding for that.
1339
+ * @param prop
1340
+ * @param options
1341
+ */
1342
+ export function binding<T>(prop: T, options?: BindingOptions): ValueOnObject<T> {
1343
+ const renderRun = currentRenderRun;
1344
+ // Validity check:
1345
+ if (renderRun === undefined) throw new Error("bind(...) not used from inside a watchedComponent");
1346
+
1347
+ const diagnosis_msg = () => `Make sure, prop is derived from something watched: The component's 'props', or a useWatchedState(...) or a wached(...) or a load(...).`;
1348
+
1349
+ let obj:object;
1350
+ let key: string | symbol;
1351
+ // Obtain lastRead
1352
+ const lastRead = renderRun.binding_lastSeenRead;
1353
+ if(!lastRead) throw new Error("Illegal state: no recorded reads. ${diagnosis_msg()}");
1354
+ const diagnosis_moreMsg = () => `The last 'read' in your component function was of type: ${lastRead.constructor.name}`
1355
+ if(!(lastRead instanceof RecordedReadOnProxiedObject)) throw new Error(`Cannot determine property for input into bind(prop). ${diagnosis_msg()}\nMore info:${diagnosis_moreMsg()}`);
1356
+ if(renderRun.binding_lastSeenRead_outerMostGetter && !(options?.isAccessor === false)) { // getter call and user want's getters ?
1357
+ obj = renderRun.binding_lastSeenRead_outerMostGetter.proxy
1358
+ key = renderRun.binding_lastSeenRead_outerMostGetter.key
1359
+ //@ts-ignore
1360
+ prop === obj[key] || 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})`);
1361
+ }
1362
+ else { // property access without getter:
1363
+ if (!(lastRead instanceof RecordedPropertyRead)) throw new Error(`Cannot determine property for input into bind(prop). ${diagnosis_msg()}\nMore info:${diagnosis_moreMsg()}`);
1364
+
1365
+ obj = lastRead.proxy;
1366
+ key = lastRead.key;
1367
+
1368
+ // Check if bind is deterministic:
1369
+ //@ts-ignore
1370
+ lastRead.value === obj[key] || throwError(`Illegal state: lastRead does not seem to be deterministic. ${diagnosis_msg()}\nMore info:${diagnosis_moreMsg()}`);
1371
+ 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()}`);
1372
+ }
1373
+
1374
+ return {
1375
+ get value() {
1376
+ //@ts-ignore
1377
+ return obj[key] as T
1378
+ },
1379
+ set value(value) {
1380
+ //@ts-ignore
1381
+ obj[key] = value;
1382
+ }
1383
+ }
1384
+ }
1385
+
1386
+ /**
1387
+ * For usage, see <a href="https://github.com/bogeeee/react-deepwatch/blob/main/readme.md#and-less-onchange-code-for-ltinputgt-elements">the docs</a>
1388
+ * @param prop the value from the object (not really just the value. react-deepwatch uses some tricks and looks at your last read to a proxied object, to determine the object and key of the binding)
1389
+ * @param options
1390
+ */
1391
+ export function bind<T>(prop: T, options?: BindingOptions) {
1392
+ const bnd = binding(prop, options);
1393
+ return {
1394
+ value: bnd.value,
1395
+ checked: bnd.value,
1396
+ onChange: (event: T | {target: {value: T}}, ...args: any[]) => {
1397
+ if(event !== null && typeof event === "object") {
1398
+ if(!("target" in event)) {
1399
+ throw new Error("Event has no target property. The bind(...) function handles just input component with standard behaviour. If you have something more exotic and want it to work with bind, have a look at the (very short) source code of this bind function and implement onChange differently.")
1400
+ }
1401
+ if(event.target instanceof HTMLInputElement) { // native <input /> element ?
1402
+ const type = event.target.type;
1403
+ if(type === "checkbox") {
1404
+ bnd.value = event.target.checked as T;
1405
+ }
1406
+ else if(type === "radio") {
1407
+ throw new Error(`bind(...) is not supported for <input type="radio" />.`)
1408
+ }
1409
+ else { // most input elements accept a value
1410
+ bnd.value = event.target.value as T;
1411
+ }
1412
+ }
1413
+ else if(event.target instanceof HTMLSelectElement) {
1414
+ bnd.value = event.target.value;
1415
+ }
1416
+ else if("checked" in event.target) {
1417
+ bnd.value = event.target.checked as T; // assuming checkbix
1418
+ }
1419
+ else if("value" in event.target) {
1420
+ bnd.value = event.target.value as T;
1421
+ }
1422
+ else {
1423
+ throw new Error("This input type is not yet implemented with bind(...)")
1424
+ }
1425
+ }
1426
+ else { // event is a primitive ?
1427
+ bnd.value = event as T; // assume, that event is not an event but the immediate value
1428
+ }
1429
+ }
1430
+ };
1431
+ }
1432
+
1309
1433
 
1310
1434
  export function debug_tagComponent(name: string) {
1311
1435
  currentRenderRun!.frame.persistent.debug_tag = name;
1312
1436
  }
1313
1437
 
1314
- export {preserve, PreserveOptions} from "./preserve"
1438
+ export {preserve} from "./preserve"
1439
+ export type {PreserveOptions} from "./preserve"
package/index_esm.mjs CHANGED
@@ -12,5 +12,4 @@ export const poll = cjsIndex.poll
12
12
  export const debug_tagComponent = cjsIndex.debug_tagComponent
13
13
 
14
14
  import cjsPreserve from "./preserve.js"
15
- export const preserve = cjsPreserve.preserve
16
- export const PreserveOptions = cjsPreserve.PreserveOptions
15
+ export const preserve = cjsPreserve.preserve
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-deepwatch",
3
- "version": "1.1.2",
3
+ "version": "1.2.0",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "react",
@@ -44,7 +44,7 @@
44
44
  "react": "^18.3.1",
45
45
  "@types/react": "^18.3.11",
46
46
  "react-error-boundary": "^4.x",
47
- "proxy-facades": "^1.0.5"
47
+ "proxy-facades": "^1.2.2"
48
48
  },
49
49
  "devDependencies": {
50
50
  "tsx": "^4.7.0",
package/readme.md CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  **Deeply watches your state-object and props** for changes. **Re-renders** automatically😎 and makes you write less code 😊.
5
5
  - **Performance friendly**
6
- React Deepwatch uses [proxy](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/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.
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
9
 
@@ -109,6 +109,19 @@ _This example will trigger both onChange handlers._
109
109
 
110
110
  _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_
111
111
 
112
+ # ...and less onChange code for &lt;input/&gt; elements
113
+
114
+ Let's make the value binding code a bit easier:
115
+ ````jsx
116
+ import {bind} from "react-deepwatch";
117
+
118
+ // Old:
119
+ <input type="text" value={myState.myValue} onChange={(event) => myState.myValue = event.how.was.that.again.i.just.want.the.value} />
120
+
121
+ // New:
122
+ <input type="text" {...bind(myState.myValue)} />
123
+ ````
124
+ It works for all sorts of input types, not only text👍. Also with [MUI](https://mui.com/) and [Blueprint](https://blueprintjs.com) input components and should work in general with other library components as long as they stick to the standards.
112
125
 
113
126
  # Further notes
114
127
 
@@ -118,7 +131,7 @@ You can also use `watched` similarly to `useWatchedState` to watch any global o
118
131
  ### poll
119
132
  Besides `load`, there's also the `poll` function, which works similar, but re-loads in regular intervals. _See jsDoc_
120
133
 
121
- # [Deeper explanation of the mechanics](https://github.com/bogeeee/react-deepwatch/blob/main/react-deepwatch/mechanics.md)
134
+ ### [Deeper explanation of the mechanics](https://github.com/bogeeee/react-deepwatch/blob/main/react-deepwatch/mechanics.md)
122
135
 
123
136
  ### Simplify the server side as well
124
137
  If you like, how this library simplifies things for you and want to write the backend (http) endpoints behind your load(...) statements simply as typescript methods, have a look at my flagship project [Restfuncs](https://github.com/bogeeee/restfuncs).