react-use-singleton-hook 1.0.12 → 1.0.14

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/README.md CHANGED
@@ -28,7 +28,4 @@ This assumes that you’re using [npm](http://npmjs.com/) package manager
28
28
 
29
29
  - ✅ Supports React 18.x and 19.x
30
30
  - ✅ Works with Concurrent Mode
31
- - ✅ Compatible with Server Components (client-side only)
32
- - ✅ Supports Strict Mode
33
- - ✅ TypeScript support included
34
- - ✅ Zero dependencies (peer dependency on React only)
31
+ - ✅ Compatible with Server Components (client-side only)
package/dist/main.d.ts CHANGED
@@ -1,6 +1,9 @@
1
1
  import { singletonHook } from './singletonHook';
2
- export { singletonHook };
2
+ export { singletonHook as createSingletonGlobalState };
3
3
  declare const ReactSingletonHook: {
4
- singletonHook: typeof singletonHook;
4
+ createSingletonGlobalState: <T>(initValue: T | (() => T), useHookBody: () => T, options?: {
5
+ mountId?: string;
6
+ unmountIfNoConsumers?: boolean;
7
+ }) => (() => T);
5
8
  };
6
9
  export default ReactSingletonHook;
package/dist/main.js CHANGED
@@ -2,13 +2,13 @@ import i, { useEffect as v } from "react";
2
2
  import { createRoot as E } from "react-dom/client";
3
3
  const g = (t) => {
4
4
  let e;
5
- const u = /* @__PURE__ */ new Set(), r = (o, s) => {
5
+ const u = /* @__PURE__ */ new Set(), l = (o, s) => {
6
6
  const n = typeof o == "function" ? o(e) : o;
7
7
  if (!Object.is(n, e)) {
8
8
  const m = e;
9
9
  e = s ?? (typeof n != "object" || n === null) ? n : Object.assign({}, e, n), u.forEach((b) => b(e, m));
10
10
  }
11
- }, a = () => e, c = { setState: r, getState: a, getInitialState: () => l, subscribe: (o) => (u.add(o), () => u.delete(o)) }, l = e = t(r, a, c);
11
+ }, a = () => e, c = { setState: l, getState: a, getInitialState: () => r, subscribe: (o) => (u.add(o), () => u.delete(o)) }, r = e = t(l, a, c);
12
12
  return c;
13
13
  }, h = ((t) => t ? g(t) : g), k = (t) => t;
14
14
  function C(t, e = k) {
@@ -19,39 +19,39 @@ function C(t, e = k) {
19
19
  );
20
20
  return i.useDebugValue(u), u;
21
21
  }
22
- function j(t, e, u = {}) {
23
- const { mountId: r, unmountIfNoConsumers: a = !0 } = u, f = typeof t == "function";
22
+ const j = (t, e, u = {}) => {
23
+ const { mountId: l, unmountIfNoConsumers: a = !0 } = u, f = typeof t == "function";
24
24
  let S = !f, c = f ? void 0 : t;
25
- const l = h(() => ({ value: c }));
25
+ const r = h(() => ({ value: c }));
26
26
  let o = 0, s = null, n = null;
27
27
  function m() {
28
28
  const d = e();
29
29
  return v(() => {
30
- l.setState({ value: d });
30
+ r.setState({ value: d });
31
31
  }, [d]), null;
32
32
  }
33
33
  function b() {
34
- s || (n = document.createElement("div"), n.style.display = "none", r && (n.id = r), document.body.appendChild(n), s = E(n), s.render(i.createElement(m)));
34
+ s || (n = document.createElement("div"), n.style.display = "none", l && (n.id = l), document.body.appendChild(n), s = E(n), s.render(i.createElement(m)));
35
35
  }
36
36
  function I() {
37
37
  !s || !n || (s.unmount(), n.remove(), s = null, n = null);
38
38
  }
39
39
  function y() {
40
- !S && f && (S = !0, c = t(), l.setState({ value: c }));
40
+ !S && f && (S = !0, c = t(), r.setState({ value: c }));
41
41
  }
42
42
  function R() {
43
43
  y();
44
- const d = C(l, (p) => p.value);
44
+ const d = C(r, (p) => p.value);
45
45
  return v(() => (o += 1, o === 1 && b(), () => {
46
46
  o -= 1, o === 0 && a && I();
47
47
  }), []), d;
48
48
  }
49
49
  return R;
50
- }
51
- const N = {
52
- singletonHook: j
50
+ }, G = {
51
+ //This Generic Arrow Function is creating a hook, not calling one, so naming convention should not have use prefix
52
+ createSingletonGlobalState: j
53
53
  };
54
54
  export {
55
- N as default,
56
- j as singletonHook
55
+ j as createSingletonGlobalState,
56
+ G as default
57
57
  };
@@ -2,5 +2,5 @@ type Options = {
2
2
  mountId?: string;
3
3
  unmountIfNoConsumers?: boolean;
4
4
  };
5
- export declare function singletonHook<T>(initValue: T | (() => T), useHookBody: () => T, options?: Options): () => T;
5
+ export declare const singletonHook: <T>(initValue: T | (() => T), useHookBody: () => T, options?: Options) => (() => T);
6
6
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-use-singleton-hook",
3
- "version": "1.0.12",
3
+ "version": "1.0.14",
4
4
  "type": "module",
5
5
  "main": "dist/main.js",
6
6
  "module": "dist/main.js",