@effect-rx/rx-react 0.7.1 → 0.7.3

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.
@@ -97,4 +97,9 @@ export declare const useRxSubscribe: <A>(rx: Rx.Rx<A>, f: (_: A) => void, option
97
97
  * @category hooks
98
98
  */
99
99
  export declare const useRxRef: <A>(ref: RxRef.ReadonlyRef<A>) => A;
100
+ /**
101
+ * @since 1.0.0
102
+ * @category hooks
103
+ */
104
+ export declare const useRxRefProp: <A, K extends keyof A>(ref: RxRef.RxRef<A>, prop: K) => RxRef.RxRef<A[K]>;
100
105
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"../../../src","sources":["index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAA;AAClD,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAC9C,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,KAAK,KAAK,KAAK,MAAM,qBAAqB,CAAA;AAEjD,OAAO,KAAK,KAAK,IAAI,MAAM,aAAa,CAAA;AAExC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B;;;GAGG;AACH,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAA;AAClD;;;GAGG;AACH,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAC9C;;;GAGG;AACH,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACtC;;;GAGG;AACH,OAAO,KAAK,KAAK,MAAM,qBAAqB,CAAA;AAE5C;;;GAGG;AACH,eAAO,MAAM,eAAe,kCAA0D,CAAA;AAmCtF;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE;IACvB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACpB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;CAQxC,CAAA;AAmDD;;;GAGG;AACH,eAAO,MAAM,UAAU,uBAAsB,IAG5C,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,6DAA4D,IAIhF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,0FAK3B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,wCAAuC,MAAM,IAMrE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,KAAK,8FAE4C,IAAI,CAMjE,CAAA;AA2CD;;;GAGG;AACH,eAAO,MAAM,aAAa,mDAEd;IAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAE;wBAE7B,OAAO;;CAwB5B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,mDAErB;IAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAE;wBAE7B,OAAO;;CAW5B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,iCAEZ,IAAI,YACP;IAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,KACzC,IAMF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,qCAIpB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"../../../src","sources":["index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAA;AAClD,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAC9C,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,KAAK,KAAK,KAAK,MAAM,qBAAqB,CAAA;AAEjD,OAAO,KAAK,KAAK,IAAI,MAAM,aAAa,CAAA;AAExC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B;;;GAGG;AACH,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAA;AAClD;;;GAGG;AACH,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAC9C;;;GAGG;AACH,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACtC;;;GAGG;AACH,OAAO,KAAK,KAAK,MAAM,qBAAqB,CAAA;AAE5C;;;GAGG;AACH,eAAO,MAAM,eAAe,kCAA0D,CAAA;AAmCtF;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE;IACvB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACpB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;CAQxC,CAAA;AAmDD;;;GAGG;AACH,eAAO,MAAM,UAAU,uBAAsB,IAG5C,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,6DAA4D,IAIhF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,0FAK3B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,wCAAuC,MAAM,IAMrE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,KAAK,8FAE4C,IAAI,CAMjE,CAAA;AA2CD;;;GAGG;AACH,eAAO,MAAM,aAAa,mDAEd;IAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAE;wBAE7B,OAAO;;CAwB5B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,mDAErB;IAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAE;wBAE7B,OAAO;;CAW5B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,iCAEZ,IAAI,YACP;IAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,KACzC,IAMF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,qCAIpB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,2EAExB,CAAA"}
@@ -259,6 +259,14 @@ const useRxRef = ref => {
259
259
  return value;
260
260
  };
261
261
 
262
+ /**
263
+ * @since 1.0.0
264
+ * @category hooks
265
+ */
266
+ const useRxRefProp = (ref, prop) => {
267
+ return React__namespace.useMemo(() => ref.prop(prop), [ref, prop]);
268
+ };
269
+
262
270
  exports.Registry = Registry__namespace;
263
271
  exports.Result = Result__namespace;
264
272
  exports.Rx = Rx__namespace;
@@ -267,6 +275,7 @@ exports.RegistryContext = RegistryContext;
267
275
  exports.useRx = useRx;
268
276
  exports.useRxMount = useRxMount;
269
277
  exports.useRxRef = useRxRef;
278
+ exports.useRxRefProp = useRxRefProp;
270
279
  exports.useRxRefresh = useRxRefresh;
271
280
  exports.useRxSet = useRxSet;
272
281
  exports.useRxSetPromise = useRxSetPromise;
@@ -7,6 +7,7 @@ export {
7
7
  useRx,
8
8
  useRxMount,
9
9
  useRxRef,
10
+ useRxRefProp,
10
11
  useRxRefresh,
11
12
  useRxSet,
12
13
  useRxSetPromise,
@@ -259,6 +259,14 @@ const useRxRef = ref => {
259
259
  return value;
260
260
  };
261
261
 
262
+ /**
263
+ * @since 1.0.0
264
+ * @category hooks
265
+ */
266
+ const useRxRefProp = (ref, prop) => {
267
+ return React__namespace.useMemo(() => ref.prop(prop), [ref, prop]);
268
+ };
269
+
262
270
  exports.Registry = Registry__namespace;
263
271
  exports.Result = Result__namespace;
264
272
  exports.Rx = Rx__namespace;
@@ -267,6 +275,7 @@ exports.RegistryContext = RegistryContext;
267
275
  exports.useRx = useRx;
268
276
  exports.useRxMount = useRxMount;
269
277
  exports.useRxRef = useRxRef;
278
+ exports.useRxRefProp = useRxRefProp;
270
279
  exports.useRxRefresh = useRxRefresh;
271
280
  exports.useRxSet = useRxSet;
272
281
  exports.useRxSetPromise = useRxSetPromise;
@@ -234,4 +234,12 @@ const useRxRef = ref => {
234
234
  return value;
235
235
  };
236
236
 
237
- export { RegistryContext, useRx, useRxMount, useRxRef, useRxRefresh, useRxSet, useRxSetPromise, useRxSubscribe, useRxSuspense, useRxSuspenseSuccess, useRxValue };
237
+ /**
238
+ * @since 1.0.0
239
+ * @category hooks
240
+ */
241
+ const useRxRefProp = (ref, prop) => {
242
+ return React.useMemo(() => ref.prop(prop), [ref, prop]);
243
+ };
244
+
245
+ export { RegistryContext, useRx, useRxMount, useRxRef, useRxRefProp, useRxRefresh, useRxSet, useRxSetPromise, useRxSubscribe, useRxSuspense, useRxSuspenseSuccess, useRxValue };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect-rx/rx-react",
3
- "version": "0.7.1",
3
+ "version": "0.7.3",
4
4
  "description": "Reactive toolkit for Effect",
5
5
  "main": "dist/effect-rx-rx-react.cjs.js",
6
6
  "module": "dist/effect-rx-rx-react.esm.js",
@@ -38,7 +38,7 @@
38
38
  "react": "^18"
39
39
  },
40
40
  "dependencies": {
41
- "@effect-rx/rx": "^0.7.1"
41
+ "@effect-rx/rx": "^0.7.2"
42
42
  },
43
43
  "files": [
44
44
  "src",
package/src/index.ts CHANGED
@@ -312,3 +312,11 @@ export const useRxRef = <A>(ref: RxRef.ReadonlyRef<A>): A => {
312
312
  React.useEffect(() => ref.subscribe(setValue), [ref])
313
313
  return value
314
314
  }
315
+
316
+ /**
317
+ * @since 1.0.0
318
+ * @category hooks
319
+ */
320
+ export const useRxRefProp = <A, K extends keyof A>(ref: RxRef.RxRef<A>, prop: K): RxRef.RxRef<A[K]> => {
321
+ return React.useMemo(() => ref.prop(prop), [ref, prop])
322
+ }