@reactables/react 2.0.0-beta.2 → 2.0.0-beta.4

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.
package/dist/index.cjs CHANGED
@@ -24,6 +24,8 @@ var useReactable = function (reactableFactory) {
24
24
  setState(result);
25
25
  });
26
26
  return function () {
27
+ var _a;
28
+ (_a = actions.destroy) === null || _a === void 0 ? void 0 : _a.call(actions);
27
29
  subscription.unsubscribe();
28
30
  };
29
31
  }, [actions, state$]);
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/Hooks/useReactable.ts"],"sourcesContent":["import { Observable } from 'rxjs';\nimport { useEffect, useState, useRef } from 'react';\nimport { Reactable, ActionObservableWithTypes, DestroyAction } from '@reactables/core';\n\nexport type HookedReactable<T> = T extends (...args: any[]) => Reactable<infer S, infer U, infer V>\n ? [S, U, Observable<S>, ActionObservableWithTypes<V>?]\n : never;\n\nexport const useReactable = <\n T,\n S extends DestroyAction,\n U extends unknown[],\n V extends Record<string, string>,\n>(\n reactableFactory: (...props: U) => Reactable<T, S, V>,\n ...props: U\n): HookedReactable<typeof reactableFactory> => {\n const rx = useRef<Reactable<T, S, V>>(null);\n\n /**\n * React Strict Mode has bugs with clean up with refs so it breaks the useReactable hook as of now\n * See Bug: https://github.com/facebook/react/issues/26315\n * See Bug: https://github.com/facebook/react/issues/24670\n * Using this recommended approach for resolving Strict Modeissue: https://react.dev/reference/react/useRef#avoiding-recreating-the-ref-contents\n */\n if (rx.current === null) {\n rx.current = reactableFactory(...props);\n }\n\n const [state$, actions, actions$] = rx.current;\n const [state, setState] = useState<T>();\n\n useEffect(() => {\n const subscription = state$.subscribe((result) => {\n setState(result);\n });\n\n return () => {\n subscription.unsubscribe();\n };\n }, [actions, state$]);\n\n return [state, actions, state$, actions$];\n};\n"],"names":["useRef","useState","useEffect"],"mappings":";;;;AAQO,IAAM,YAAY,GAAG,UAM1B,gBAAqD,EAAA;IACrD,IAAW,KAAA,GAAA,EAAA;SAAX,IAAW,EAAA,GAAA,CAAA,EAAX,EAAW,GAAA,SAAA,CAAA,MAAA,EAAX,EAAW,EAAA,EAAA;QAAX,KAAW,CAAA,EAAA,GAAA,CAAA,CAAA,GAAA,SAAA,CAAA,EAAA,CAAA;;AAEX,IAAA,IAAM,EAAE,GAAGA,YAAM,CAAqB,IAAI,CAAC;AAE3C;;;;;AAKG;AACH,IAAA,IAAI,EAAE,CAAC,OAAO,KAAK,IAAI,EAAE;AACvB,QAAA,EAAE,CAAC,OAAO,GAAG,gBAAgB,CAAI,KAAA,CAAA,MAAA,EAAA,KAAK,CAAC;AACxC;AAEK,IAAA,IAAA,EAA8B,GAAA,EAAE,CAAC,OAAO,EAAvC,MAAM,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,OAAO,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,QAAQ,QAAc;IACxC,IAAA,EAAA,GAAoBC,cAAQ,EAAK,EAAhC,KAAK,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,CAAA,CAAiB;AAEvC,IAAAC,eAAS,CAAC,YAAA;AACR,QAAA,IAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,UAAC,MAAM,EAAA;YAC3C,QAAQ,CAAC,MAAM,CAAC;AAClB,SAAC,CAAC;QAEF,OAAO,YAAA;YACL,YAAY,CAAC,WAAW,EAAE;AAC5B,SAAC;AACH,KAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAErB,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC;AAC3C;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../src/Hooks/useReactable.ts"],"sourcesContent":["import { Observable } from 'rxjs';\nimport { useEffect, useState, useRef } from 'react';\nimport { Reactable, ActionObservableWithTypes, DestroyAction } from '@reactables/core';\n\nexport type HookedReactable<T> = T extends (...args: any[]) => Reactable<infer S, infer U, infer V>\n ? [S, U, Observable<S>, ActionObservableWithTypes<V>?]\n : never;\n\nexport const useReactable = <\n T,\n S extends DestroyAction,\n U extends unknown[],\n V extends Record<string, string>,\n>(\n reactableFactory: (...props: U) => Reactable<T, S, V>,\n ...props: U\n): HookedReactable<typeof reactableFactory> => {\n const rx = useRef<Reactable<T, S, V>>(null);\n\n /**\n * React Strict Mode has bugs with clean up with refs so it breaks the useReactable hook as of now\n * See Bug: https://github.com/facebook/react/issues/26315\n * See Bug: https://github.com/facebook/react/issues/24670\n * Using this recommended approach for resolving Strict Modeissue: https://react.dev/reference/react/useRef#avoiding-recreating-the-ref-contents\n */\n if (rx.current === null) {\n rx.current = reactableFactory(...props);\n }\n\n const [state$, actions, actions$] = rx.current;\n const [state, setState] = useState<T>();\n\n useEffect(() => {\n const subscription = state$.subscribe((result) => {\n setState(result);\n });\n\n return () => {\n actions.destroy?.();\n subscription.unsubscribe();\n };\n }, [actions, state$]);\n\n return [state, actions, state$, actions$] as unknown as HookedReactable<typeof reactableFactory>;\n};\n"],"names":["useRef","useState","useEffect"],"mappings":";;;;AAQO,IAAM,YAAY,GAAG,UAM1B,gBAAqD,EAAA;IACrD,IAAW,KAAA,GAAA,EAAA;SAAX,IAAW,EAAA,GAAA,CAAA,EAAX,EAAW,GAAA,SAAA,CAAA,MAAA,EAAX,EAAW,EAAA,EAAA;QAAX,KAAW,CAAA,EAAA,GAAA,CAAA,CAAA,GAAA,SAAA,CAAA,EAAA,CAAA;;AAEX,IAAA,IAAM,EAAE,GAAGA,YAAM,CAAqB,IAAI,CAAC;AAE3C;;;;;AAKG;AACH,IAAA,IAAI,EAAE,CAAC,OAAO,KAAK,IAAI,EAAE;AACvB,QAAA,EAAE,CAAC,OAAO,GAAG,gBAAgB,CAAI,KAAA,CAAA,MAAA,EAAA,KAAK,CAAC;AACxC;AAEK,IAAA,IAAA,EAA8B,GAAA,EAAE,CAAC,OAAO,EAAvC,MAAM,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,OAAO,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,QAAQ,QAAc;IACxC,IAAA,EAAA,GAAoBC,cAAQ,EAAK,EAAhC,KAAK,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,CAAA,CAAiB;AAEvC,IAAAC,eAAS,CAAC,YAAA;AACR,QAAA,IAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,UAAC,MAAM,EAAA;YAC3C,QAAQ,CAAC,MAAM,CAAC;AAClB,SAAC,CAAC;QAEF,OAAO,YAAA;;AACL,YAAA,CAAA,EAAA,GAAA,OAAO,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,OAAA,CAAI;YACnB,YAAY,CAAC,WAAW,EAAE;AAC5B,SAAC;AACH,KAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAErB,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAwD;AAClG;;;;"}
package/dist/index.js CHANGED
@@ -22,6 +22,8 @@ var useReactable = function (reactableFactory) {
22
22
  setState(result);
23
23
  });
24
24
  return function () {
25
+ var _a;
26
+ (_a = actions.destroy) === null || _a === void 0 ? void 0 : _a.call(actions);
25
27
  subscription.unsubscribe();
26
28
  };
27
29
  }, [actions, state$]);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/Hooks/useReactable.ts"],"sourcesContent":["import { Observable } from 'rxjs';\nimport { useEffect, useState, useRef } from 'react';\nimport { Reactable, ActionObservableWithTypes, DestroyAction } from '@reactables/core';\n\nexport type HookedReactable<T> = T extends (...args: any[]) => Reactable<infer S, infer U, infer V>\n ? [S, U, Observable<S>, ActionObservableWithTypes<V>?]\n : never;\n\nexport const useReactable = <\n T,\n S extends DestroyAction,\n U extends unknown[],\n V extends Record<string, string>,\n>(\n reactableFactory: (...props: U) => Reactable<T, S, V>,\n ...props: U\n): HookedReactable<typeof reactableFactory> => {\n const rx = useRef<Reactable<T, S, V>>(null);\n\n /**\n * React Strict Mode has bugs with clean up with refs so it breaks the useReactable hook as of now\n * See Bug: https://github.com/facebook/react/issues/26315\n * See Bug: https://github.com/facebook/react/issues/24670\n * Using this recommended approach for resolving Strict Modeissue: https://react.dev/reference/react/useRef#avoiding-recreating-the-ref-contents\n */\n if (rx.current === null) {\n rx.current = reactableFactory(...props);\n }\n\n const [state$, actions, actions$] = rx.current;\n const [state, setState] = useState<T>();\n\n useEffect(() => {\n const subscription = state$.subscribe((result) => {\n setState(result);\n });\n\n return () => {\n subscription.unsubscribe();\n };\n }, [actions, state$]);\n\n return [state, actions, state$, actions$];\n};\n"],"names":[],"mappings":";;AAQO,IAAM,YAAY,GAAG,UAM1B,gBAAqD,EAAA;IACrD,IAAW,KAAA,GAAA,EAAA;SAAX,IAAW,EAAA,GAAA,CAAA,EAAX,EAAW,GAAA,SAAA,CAAA,MAAA,EAAX,EAAW,EAAA,EAAA;QAAX,KAAW,CAAA,EAAA,GAAA,CAAA,CAAA,GAAA,SAAA,CAAA,EAAA,CAAA;;AAEX,IAAA,IAAM,EAAE,GAAG,MAAM,CAAqB,IAAI,CAAC;AAE3C;;;;;AAKG;AACH,IAAA,IAAI,EAAE,CAAC,OAAO,KAAK,IAAI,EAAE;AACvB,QAAA,EAAE,CAAC,OAAO,GAAG,gBAAgB,CAAI,KAAA,CAAA,MAAA,EAAA,KAAK,CAAC;AACxC;AAEK,IAAA,IAAA,EAA8B,GAAA,EAAE,CAAC,OAAO,EAAvC,MAAM,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,OAAO,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,QAAQ,QAAc;IACxC,IAAA,EAAA,GAAoB,QAAQ,EAAK,EAAhC,KAAK,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,CAAA,CAAiB;AAEvC,IAAA,SAAS,CAAC,YAAA;AACR,QAAA,IAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,UAAC,MAAM,EAAA;YAC3C,QAAQ,CAAC,MAAM,CAAC;AAClB,SAAC,CAAC;QAEF,OAAO,YAAA;YACL,YAAY,CAAC,WAAW,EAAE;AAC5B,SAAC;AACH,KAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAErB,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC;AAC3C;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../src/Hooks/useReactable.ts"],"sourcesContent":["import { Observable } from 'rxjs';\nimport { useEffect, useState, useRef } from 'react';\nimport { Reactable, ActionObservableWithTypes, DestroyAction } from '@reactables/core';\n\nexport type HookedReactable<T> = T extends (...args: any[]) => Reactable<infer S, infer U, infer V>\n ? [S, U, Observable<S>, ActionObservableWithTypes<V>?]\n : never;\n\nexport const useReactable = <\n T,\n S extends DestroyAction,\n U extends unknown[],\n V extends Record<string, string>,\n>(\n reactableFactory: (...props: U) => Reactable<T, S, V>,\n ...props: U\n): HookedReactable<typeof reactableFactory> => {\n const rx = useRef<Reactable<T, S, V>>(null);\n\n /**\n * React Strict Mode has bugs with clean up with refs so it breaks the useReactable hook as of now\n * See Bug: https://github.com/facebook/react/issues/26315\n * See Bug: https://github.com/facebook/react/issues/24670\n * Using this recommended approach for resolving Strict Modeissue: https://react.dev/reference/react/useRef#avoiding-recreating-the-ref-contents\n */\n if (rx.current === null) {\n rx.current = reactableFactory(...props);\n }\n\n const [state$, actions, actions$] = rx.current;\n const [state, setState] = useState<T>();\n\n useEffect(() => {\n const subscription = state$.subscribe((result) => {\n setState(result);\n });\n\n return () => {\n actions.destroy?.();\n subscription.unsubscribe();\n };\n }, [actions, state$]);\n\n return [state, actions, state$, actions$] as unknown as HookedReactable<typeof reactableFactory>;\n};\n"],"names":[],"mappings":";;AAQO,IAAM,YAAY,GAAG,UAM1B,gBAAqD,EAAA;IACrD,IAAW,KAAA,GAAA,EAAA;SAAX,IAAW,EAAA,GAAA,CAAA,EAAX,EAAW,GAAA,SAAA,CAAA,MAAA,EAAX,EAAW,EAAA,EAAA;QAAX,KAAW,CAAA,EAAA,GAAA,CAAA,CAAA,GAAA,SAAA,CAAA,EAAA,CAAA;;AAEX,IAAA,IAAM,EAAE,GAAG,MAAM,CAAqB,IAAI,CAAC;AAE3C;;;;;AAKG;AACH,IAAA,IAAI,EAAE,CAAC,OAAO,KAAK,IAAI,EAAE;AACvB,QAAA,EAAE,CAAC,OAAO,GAAG,gBAAgB,CAAI,KAAA,CAAA,MAAA,EAAA,KAAK,CAAC;AACxC;AAEK,IAAA,IAAA,EAA8B,GAAA,EAAE,CAAC,OAAO,EAAvC,MAAM,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,OAAO,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,QAAQ,QAAc;IACxC,IAAA,EAAA,GAAoB,QAAQ,EAAK,EAAhC,KAAK,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,CAAA,CAAiB;AAEvC,IAAA,SAAS,CAAC,YAAA;AACR,QAAA,IAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,UAAC,MAAM,EAAA;YAC3C,QAAQ,CAAC,MAAM,CAAC;AAClB,SAAC,CAAC;QAEF,OAAO,YAAA;;AACL,YAAA,CAAA,EAAA,GAAA,OAAO,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,OAAA,CAAI;YACnB,YAAY,CAAC,WAAW,EAAE;AAC5B,SAAC;AACH,KAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAErB,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAwD;AAClG;;;;"}
package/package.json CHANGED
@@ -24,5 +24,5 @@
24
24
  "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
25
25
  "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
26
26
  },
27
- "version": "2.0.0-beta.2"
27
+ "version": "2.0.0-beta.4"
28
28
  }