@stryke/hooks 0.3.1 → 0.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.
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.useBattery = useBattery;
7
- var _isFunction = require("@stryke/types/type-checks/is-function");
7
+ var _isFunction = require("@stryke/type-checks/is-function");
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
10
10
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -1 +1 @@
1
- import{isFunction as s}from"@stryke/types/type-checks/is-function";import o,{useEffect as l}from"react";const i={supported:!0,loading:!0,level:null,charging:null,chargingTime:null,dischargingTime:null};export function useBattery(){const[g,r]=o.useState(i),a=navigator["getBattery"];return l(()=>{if(!s(a)){r(n=>({...n,supported:!1,loading:!1}));return}let t=null;const e=()=>{r({...i,supported:!0,loading:!1,...t})};return a().then(n=>{t=n,e(),n?.addEventListener("levelchange",e),n?.addEventListener("chargingchange",e),n?.addEventListener("chargingtimechange",e),n?.addEventListener("dischargingtimechange",e)}),()=>{t&&(t.removeEventListener("levelchange",e),t.removeEventListener("chargingchange",e),t.removeEventListener("chargingtimechange",e),t.removeEventListener("dischargingtimechange",e))}},[a]),g}
1
+ import{isFunction as s}from"@stryke/type-checks/is-function";import o,{useEffect as l}from"react";const i={supported:!0,loading:!0,level:null,charging:null,chargingTime:null,dischargingTime:null};export function useBattery(){const[g,r]=o.useState(i),a=navigator["getBattery"];return l(()=>{if(!s(a)){r(n=>({...n,supported:!1,loading:!1}));return}let t=null;const e=()=>{r({...i,supported:!0,loading:!1,...t})};return a().then(n=>{t=n,e(),n?.addEventListener("levelchange",e),n?.addEventListener("chargingchange",e),n?.addEventListener("chargingtimechange",e),n?.addEventListener("dischargingtimechange",e)}),()=>{t&&(t.removeEventListener("levelchange",e),t.removeEventListener("chargingchange",e),t.removeEventListener("chargingtimechange",e),t.removeEventListener("dischargingtimechange",e))}},[a]),g}
@@ -5,6 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.useCallbackStable = useCallbackStable;
7
7
  var _useMemoStable = require("./use-memo-stable.cjs");
8
- function useCallbackStable(n, a) {
9
- return (0, _useMemoStable.useMemoStable)(() => n, a);
8
+ function useCallbackStable(n, t) {
9
+ return (0, _useMemoStable.useMemoStable)(() => n, t);
10
10
  }
@@ -1,4 +1,4 @@
1
- import { AnyFunction } from "@stryke/types/utility-types/base";
1
+ import type { AnyFunction } from "@stryke/types/base";
2
2
  /**
3
3
  * Forked from use-memo-one by Alex Reardon
4
4
  */
@@ -1 +1 @@
1
- import{useMemoStable as t}from"./use-memo-stable";export function useCallbackStable(n,a){return t(()=>n,a)}
1
+ import{useMemoStable as e}from"./use-memo-stable";export function useCallbackStable(n,t){return e(()=>n,t)}
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.composeRefs = composeRefs;
7
7
  exports.setRef = setRef;
8
8
  exports.useComposedRefs = useComposedRefs;
9
- var _isFunction = require("@stryke/types/type-checks/is-function");
9
+ var _isFunction = require("@stryke/type-checks/is-function");
10
10
  var _react = require("react");
11
11
  function setRef(e, o) {
12
12
  e && ((0, _isFunction.isFunction)(e) ? e(o) : e.current = o);
@@ -1,4 +1,4 @@
1
- import { type Ref } from "react";
1
+ import type { Ref } from "react";
2
2
  /**
3
3
  * Set a given ref to a given value
4
4
  * This utility takes care of different types of refs: callback refs and RefObject(s)
@@ -1 +1 @@
1
- import{isFunction as f}from"@stryke/types/type-checks/is-function";import{useCallback as n}from"react";export function setRef(e,o){e&&(f(e)?e(o):e.current=o)}export function composeRefs(...e){return o=>{for(const t of e)setRef(t,o)}}export function useComposedRefs(...e){return n(composeRefs(...e),e)}
1
+ import{isFunction as f}from"@stryke/type-checks/is-function";import{useCallback as n}from"react";export function setRef(e,o){e&&(f(e)?e(o):e.current=o)}export function composeRefs(...e){return o=>{for(const t of e)setRef(t,o)}}export function useComposedRefs(...e){return n(composeRefs(...e),e)}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.useCopyToClipboard = useCopyToClipboard;
7
- var _base = require("@stryke/types/utility-types/base");
7
+ var _base = require("@stryke/types/base");
8
8
  var _react = require("react");
9
9
  function i(r) {
10
10
  const t = document.createElement("textarea");
@@ -1 +1 @@
1
- import{EMPTY_STRING as o}from"@stryke/types/utility-types/base";import{useCallback as a,useState as c}from"react";function i(r){const t=document.createElement("textarea");t.value=r,document.body.append(t),t.select(),document.execCommand("copy"),t.remove()}export function useCopyToClipboard(){const[r,t]=c(null),n=a(e=>{(async()=>{try{if(navigator?.clipboard?.writeText)await navigator.clipboard.writeText(e??o),t(e??o);else throw new Error("writeText not supported")}catch{i(e??o),t(e??o)}})()},[]);return[r,n]}
1
+ import{EMPTY_STRING as o}from"@stryke/types/base";import{useCallback as a,useState as c}from"react";function i(r){const t=document.createElement("textarea");t.value=r,document.body.append(t),t.select(),document.execCommand("copy"),t.remove()}export function useCopyToClipboard(){const[r,t]=c(null),n=a(e=>{(async()=>{try{if(navigator?.clipboard?.writeText)await navigator.clipboard.writeText(e??o),t(e??o);else throw new Error("writeText not supported")}catch{i(e??o),t(e??o)}})()},[]);return[r,n]}
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.useClientValue = useClientValue;
7
7
  exports.useDidFinishSSR = useDidFinishSSR;
8
8
  exports.useDidFinishSSRSync = useDidFinishSSRSync;
9
- var _isFunction = require("@stryke/types/type-checks/is-function");
9
+ var _isFunction = require("@stryke/type-checks/is-function");
10
10
  var _react = require("react");
11
11
  const a = () => {},
12
12
  c = () => a;
@@ -1 +1 @@
1
- import{isFunction as u}from"@stryke/types/type-checks/is-function";import{useEffect as o,useState as s,useSyncExternalStore as i}from"react";const a=()=>{},c=()=>a;export function useDidFinishSSR(e,n){if(process.env.TAMAGUI_TARGET==="native")return e??!0;if(n?.sync)return i(c,()=>e??!0,()=>!1);const[t,r]=s(e);return o(()=>{r(e??!0)},[e]),t??!1}export function useDidFinishSSRSync(e){return useDidFinishSSR(e,{sync:!0})}export function useClientValue(e){return useDidFinishSSR()?u(e)?e():e:void 0}
1
+ import{isFunction as u}from"@stryke/type-checks/is-function";import{useEffect as o,useState as s,useSyncExternalStore as i}from"react";const a=()=>{},c=()=>a;export function useDidFinishSSR(e,n){if(process.env.TAMAGUI_TARGET==="native")return e??!0;if(n?.sync)return i(c,()=>e??!0,()=>!1);const[t,r]=s(e);return o(()=>{r(e??!0)},[e]),t??!1}export function useDidFinishSSRSync(e){return useDidFinishSSR(e,{sync:!0})}export function useClientValue(e){return useDidFinishSSR()?u(e)?e():e:void 0}
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.useNetworkState = useNetworkState;
7
7
  exports.useNetworkStateSubscribe = void 0;
8
- var _isEqual = require("@stryke/types/type-checks/is-equal");
8
+ var _isEqual = require("@stryke/type-checks/is-equal");
9
9
  var _react = require("react");
10
10
  const i = () => navigator["connection"] || navigator["mozConnection"] || navigator["webkitConnection"];
11
11
  const useNetworkStateSubscribe = e => {
@@ -22,7 +22,7 @@ const useNetworkStateSubscribe = e => {
22
22
  };
23
23
  };
24
24
  exports.useNetworkStateSubscribe = useNetworkStateSubscribe;
25
- const f = () => {
25
+ const v = () => {
26
26
  throw new Error("useNetworkState is a client-only hook");
27
27
  };
28
28
  function useNetworkState() {
@@ -40,5 +40,5 @@ function useNetworkState() {
40
40
  type: n?.type
41
41
  };
42
42
  return (0, _isEqual.isEqual)(e.current, o) ? e.current : (e.current = o, o);
43
- }, f);
43
+ }, v);
44
44
  }
@@ -1 +1 @@
1
- import{isEqual as a}from"@stryke/types/type-checks/is-equal";import{useRef as s,useSyncExternalStore as c}from"react";const i=()=>navigator["connection"]||navigator["mozConnection"]||navigator["webkitConnection"];export const useNetworkStateSubscribe=e=>{globalThis.addEventListener("online",e,{passive:!0}),globalThis.addEventListener("offline",e,{passive:!0});const t=i();return t&&t.addEventListener("change",e,{passive:!0}),()=>{globalThis.removeEventListener("online",e),globalThis.removeEventListener("offline",e),t&&t.removeEventListener("change",e)}};const f=()=>{throw new Error("useNetworkState is a client-only hook")};export function useNetworkState(){const e=s({});return c(useNetworkStateSubscribe,()=>{const r=navigator.onLine,n=i(),o={online:r,downlink:n?.downlink,downlinkMax:n?.downlinkMax,effectiveType:n?.effectiveType,rtt:n?.rtt,saveData:n?.saveData,type:n?.type};return a(e.current,o)?e.current:(e.current=o,o)},f)}
1
+ import{isEqual as a}from"@stryke/type-checks/is-equal";import{useRef as s,useSyncExternalStore as c}from"react";const i=()=>navigator["connection"]||navigator["mozConnection"]||navigator["webkitConnection"];export const useNetworkStateSubscribe=e=>{globalThis.addEventListener("online",e,{passive:!0}),globalThis.addEventListener("offline",e,{passive:!0});const t=i();return t&&t.addEventListener("change",e,{passive:!0}),()=>{globalThis.removeEventListener("online",e),globalThis.removeEventListener("offline",e),t&&t.removeEventListener("change",e)}};const v=()=>{throw new Error("useNetworkState is a client-only hook")};export function useNetworkState(){const e=s({});return c(useNetworkStateSubscribe,()=>{const r=navigator.onLine,n=i(),o={online:r,downlink:n?.downlink,downlinkMax:n?.downlinkMax,effectiveType:n?.effectiveType,rtt:n?.rtt,saveData:n?.saveData,type:n?.type};return a(e.current,o)?e.current:(e.current=o,o)},v)}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stryke/hooks",
3
- "version": "0.3.1",
3
+ "version": "0.4.0",
4
4
  "type": "module",
5
5
  "description": "A package containing shared hooks that can be used in any React UI project",
6
6
  "repository": {
@@ -22,10 +22,11 @@
22
22
  "dependencies": {
23
23
  "react": "^19.0.0",
24
24
  "react-dom": "^19.0.0",
25
- "react-native": "0.77.0",
26
- "@stryke/env": ">=0.4.1",
27
- "@stryke/helpers": ">=0.3.1",
28
- "@stryke/types": ">=0.5.1"
25
+ "react-native": "^0.77.0",
26
+ "@stryke/env": ">=0.5.0",
27
+ "@stryke/helpers": ">=0.4.0",
28
+ "@stryke/type-checks": ">=0.1.0",
29
+ "@stryke/types": ">=0.6.0"
29
30
  },
30
31
  "devDependencies": {
31
32
  "@types/react": "^19.0.8",
@@ -45,7 +46,6 @@
45
46
  "stryke",
46
47
  "typescript",
47
48
  "utilities",
48
- "storm-stack",
49
49
  "storm-software",
50
50
  "storm",
51
51
  "storm-ops",