foxact 0.2.16 → 0.2.18

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.
@@ -0,0 +1 @@
1
+ "use strict";const r={};exports.createFixedArray=e=>(r[e]||(r[e]=r[e]||Array.from(Array(e).keys())),r[e]);
@@ -0,0 +1,3 @@
1
+ declare const createFixedArray: (length: number) => readonly unknown[];
2
+
3
+ export { createFixedArray };
@@ -0,0 +1 @@
1
+ "use strict";const r={};exports.createFixedArray=e=>(r[e]||(r[e]=r[e]||Array.from(Array(e).keys())),r[e]);
@@ -0,0 +1 @@
1
+ let r={},e=e=>(r[e]||(r[e]=r[e]||Array.from(Array(e).keys())),r[e]);export{e as createFixedArray};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "foxact",
3
- "version": "0.2.16",
3
+ "version": "0.2.18",
4
4
  "description": "React Hooks/Utils done right. For browser, SSR, and React Server Components.",
5
5
  "sideEffects": false,
6
6
  "files": [
@@ -65,6 +65,15 @@
65
65
  "require": "./create-context-state/index.cjs",
66
66
  "default": "./create-context-state/index.js"
67
67
  },
68
+ "./create-fixed-array": {
69
+ "types": "./create-fixed-array/index.d.ts",
70
+ "import": {
71
+ "types": "./create-fixed-array/index.d.ts",
72
+ "default": "./create-fixed-array/index.mjs"
73
+ },
74
+ "require": "./create-fixed-array/index.cjs",
75
+ "default": "./create-fixed-array/index.js"
76
+ },
68
77
  "./noop": {
69
78
  "types": "./noop/index.d.ts",
70
79
  "import": {
@@ -74,6 +83,15 @@
74
83
  "require": "./noop/index.cjs",
75
84
  "default": "./noop/index.js"
76
85
  },
86
+ "./request-idle-callback": {
87
+ "types": "./request-idle-callback/index.d.ts",
88
+ "import": {
89
+ "types": "./request-idle-callback/index.d.ts",
90
+ "default": "./request-idle-callback/index.mjs"
91
+ },
92
+ "require": "./request-idle-callback/index.cjs",
93
+ "default": "./request-idle-callback/index.js"
94
+ },
77
95
  "./typescript-happy-forward-ref": {
78
96
  "types": "./typescript-happy-forward-ref/index.d.ts",
79
97
  "import": {
@@ -101,24 +119,6 @@
101
119
  "require": "./use-array/index.cjs",
102
120
  "default": "./use-array/index.js"
103
121
  },
104
- "./use-clipboard": {
105
- "types": "./use-clipboard/index.d.ts",
106
- "import": {
107
- "types": "./use-clipboard/index.d.ts",
108
- "default": "./use-clipboard/index.mjs"
109
- },
110
- "require": "./use-clipboard/index.cjs",
111
- "default": "./use-clipboard/index.js"
112
- },
113
- "./request-idle-callback": {
114
- "types": "./request-idle-callback/index.d.ts",
115
- "import": {
116
- "types": "./request-idle-callback/index.d.ts",
117
- "default": "./request-idle-callback/index.mjs"
118
- },
119
- "require": "./request-idle-callback/index.cjs",
120
- "default": "./request-idle-callback/index.js"
121
- },
122
122
  "./use-composition-input": {
123
123
  "types": "./use-composition-input/index.d.ts",
124
124
  "import": {
@@ -164,6 +164,15 @@
164
164
  "require": "./use-intersection/index.cjs",
165
165
  "default": "./use-intersection/index.js"
166
166
  },
167
+ "./use-clipboard": {
168
+ "types": "./use-clipboard/index.d.ts",
169
+ "import": {
170
+ "types": "./use-clipboard/index.d.ts",
171
+ "default": "./use-clipboard/index.mjs"
172
+ },
173
+ "require": "./use-clipboard/index.cjs",
174
+ "default": "./use-clipboard/index.js"
175
+ },
167
176
  "./use-is-client": {
168
177
  "types": "./use-is-client/index.d.ts",
169
178
  "import": {
@@ -173,15 +182,6 @@
173
182
  "require": "./use-is-client/index.cjs",
174
183
  "default": "./use-is-client/index.js"
175
184
  },
176
- "./use-isomorphic-layout-effect": {
177
- "types": "./use-isomorphic-layout-effect/index.d.ts",
178
- "import": {
179
- "types": "./use-isomorphic-layout-effect/index.d.ts",
180
- "default": "./use-isomorphic-layout-effect/index.mjs"
181
- },
182
- "require": "./use-isomorphic-layout-effect/index.cjs",
183
- "default": "./use-isomorphic-layout-effect/index.js"
184
- },
185
185
  "./use-map": {
186
186
  "types": "./use-map/index.d.ts",
187
187
  "import": {
@@ -191,15 +191,6 @@
191
191
  "require": "./use-map/index.cjs",
192
192
  "default": "./use-map/index.js"
193
193
  },
194
- "./use-react-router-enable-concurrent-navigation": {
195
- "types": "./use-react-router-enable-concurrent-navigation/index.d.ts",
196
- "import": {
197
- "types": "./use-react-router-enable-concurrent-navigation/index.d.ts",
198
- "default": "./use-react-router-enable-concurrent-navigation/index.mjs"
199
- },
200
- "require": "./use-react-router-enable-concurrent-navigation/index.cjs",
201
- "default": "./use-react-router-enable-concurrent-navigation/index.js"
202
- },
203
194
  "./use-next-pathname": {
204
195
  "types": "./use-next-pathname/index.d.ts",
205
196
  "import": {
@@ -209,6 +200,15 @@
209
200
  "require": "./use-next-pathname/index.cjs",
210
201
  "default": "./use-next-pathname/index.js"
211
202
  },
203
+ "./use-react-router-enable-concurrent-navigation": {
204
+ "types": "./use-react-router-enable-concurrent-navigation/index.d.ts",
205
+ "import": {
206
+ "types": "./use-react-router-enable-concurrent-navigation/index.d.ts",
207
+ "default": "./use-react-router-enable-concurrent-navigation/index.mjs"
208
+ },
209
+ "require": "./use-react-router-enable-concurrent-navigation/index.cjs",
210
+ "default": "./use-react-router-enable-concurrent-navigation/index.js"
211
+ },
212
212
  "./use-react-router-is-match": {
213
213
  "types": "./use-react-router-is-match/index.d.ts",
214
214
  "import": {
@@ -236,6 +236,15 @@
236
236
  "require": "./use-set/index.cjs",
237
237
  "default": "./use-set/index.js"
238
238
  },
239
+ "./use-singleton": {
240
+ "types": "./use-singleton/index.d.ts",
241
+ "import": {
242
+ "types": "./use-singleton/index.d.ts",
243
+ "default": "./use-singleton/index.mjs"
244
+ },
245
+ "require": "./use-singleton/index.cjs",
246
+ "default": "./use-singleton/index.js"
247
+ },
239
248
  "./use-stable-handler-only-when-you-know-what-you-are-doing-or-you-will-be-fired": {
240
249
  "types": "./use-stable-handler-only-when-you-know-what-you-are-doing-or-you-will-be-fired/index.d.ts",
241
250
  "import": {
@@ -253,6 +262,15 @@
253
262
  },
254
263
  "require": "./use-uncontrolled/index.cjs",
255
264
  "default": "./use-uncontrolled/index.js"
265
+ },
266
+ "./use-isomorphic-layout-effect": {
267
+ "types": "./use-isomorphic-layout-effect/index.d.ts",
268
+ "import": {
269
+ "types": "./use-isomorphic-layout-effect/index.d.ts",
270
+ "default": "./use-isomorphic-layout-effect/index.mjs"
271
+ },
272
+ "require": "./use-isomorphic-layout-effect/index.cjs",
273
+ "default": "./use-isomorphic-layout-effect/index.js"
256
274
  }
257
275
  }
258
276
  }
package/sizes.json CHANGED
@@ -1 +1 @@
1
- {"total":{"raw":9181,"gzip":5971,"br":0},"exports":{"context-state":{"raw":371,"gzip":240,"br":204},"typescript-happy-forward-ref":{"raw":118,"gzip":102,"br":87},"create-context-state":{"raw":146,"gzip":116,"br":102},"noop":{"raw":32,"gzip":52,"br":36},"use":{"raw":279,"gzip":175,"br":151},"use-array":{"raw":329,"gzip":242,"br":201},"request-idle-callback":{"raw":407,"gzip":231,"br":180},"use-clipboard":{"raw":1071,"gzip":614,"br":527},"use-composition-input":{"raw":420,"gzip":262,"br":230},"use-debounced-value":{"raw":370,"gzip":263,"br":214},"use-debounced-state":{"raw":380,"gzip":275,"br":231},"use-error-boundary":{"raw":238,"gzip":194,"br":158},"use-is-client":{"raw":148,"gzip":143,"br":115},"use-isomorphic-layout-effect":{"raw":177,"gzip":143,"br":120},"use-intersection":{"raw":1214,"gzip":652,"br":592},"use-map":{"raw":348,"gzip":243,"br":210},"use-next-pathname":{"raw":310,"gzip":234,"br":195},"use-retimer":{"raw":197,"gzip":165,"br":125},"use-react-router-is-match":{"raw":562,"gzip":369,"br":309},"use-stable-handler-only-when-you-know-what-you-are-doing-or-you-will-be-fired":{"raw":461,"gzip":325,"br":256},"use-react-router-enable-concurrent-navigation":{"raw":950,"gzip":453,"br":373},"use-set":{"raw":349,"gzip":242,"br":203},"use-uncontrolled":{"raw":304,"gzip":236,"br":201}}}
1
+ {"total":{"raw":9461,"gzip":6227,"br":0},"exports":{"context-state":{"raw":371,"gzip":240,"br":204},"create-context-state":{"raw":146,"gzip":116,"br":102},"create-fixed-array":{"raw":99,"gzip":103,"br":93},"noop":{"raw":32,"gzip":52,"br":36},"request-idle-callback":{"raw":407,"gzip":231,"br":180},"typescript-happy-forward-ref":{"raw":118,"gzip":102,"br":87},"use":{"raw":279,"gzip":175,"br":151},"use-array":{"raw":329,"gzip":242,"br":201},"use-composition-input":{"raw":449,"gzip":280,"br":240},"use-debounced-state":{"raw":405,"gzip":287,"br":241},"use-debounced-value":{"raw":370,"gzip":263,"br":214},"use-error-boundary":{"raw":238,"gzip":194,"br":158},"use-intersection":{"raw":1214,"gzip":652,"br":592},"use-is-client":{"raw":148,"gzip":143,"br":115},"use-clipboard":{"raw":1071,"gzip":614,"br":527},"use-next-pathname":{"raw":313,"gzip":236,"br":196},"use-map":{"raw":348,"gzip":243,"br":210},"use-react-router-enable-concurrent-navigation":{"raw":950,"gzip":453,"br":373},"use-retimer":{"raw":197,"gzip":165,"br":125},"use-set":{"raw":349,"gzip":242,"br":203},"use-singleton":{"raw":135,"gzip":129,"br":111},"use-stable-handler-only-when-you-know-what-you-are-doing-or-you-will-be-fired":{"raw":461,"gzip":325,"br":256},"use-react-router-is-match":{"raw":562,"gzip":369,"br":309},"use-uncontrolled":{"raw":293,"gzip":228,"br":189},"use-isomorphic-layout-effect":{"raw":177,"gzip":143,"br":120}}}
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("react");exports.useCompositionInput=r=>{let t=e.useRef();t.current||(t.current={c:!1,e:!1});let u=e.useCallback(e=>{if("value"in e.target){let u=e.target.value;t.current.c?t.current.e=!1:(r(u),t.current.e=!0)}},[r]),c=e.useCallback(()=>{t.current.c=!0,t.current.e=!1},[]),n=e.useCallback(e=>{t.current.c=!1,t.current.e||u(e)},[u]);return{onChange:u,onCompositionStart:c,onCompositionEnd:n}};
1
+ "use strict";require("client-only");var e=require("react"),r=require("../use-singleton/index.cjs");exports.useCompositionInput=t=>{let u=r.useSingleton(()=>({c:!1,e:!1})),c=e.useCallback(e=>{if("value"in e.target){let r=e.target.value;u.current.c?u.current.e=!1:(t(r),u.current.e=!0)}},[t,u]),n=e.useCallback(()=>{u.current.c=!0,u.current.e=!1},[u]),l=e.useCallback(e=>{u.current.c=!1,u.current.e||c(e)},[u,c]);return{onChange:c,onCompositionStart:n,onCompositionEnd:l}};
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("react");exports.useCompositionInput=r=>{let t=e.useRef();t.current||(t.current={c:!1,e:!1});let u=e.useCallback(e=>{if("value"in e.target){let u=e.target.value;t.current.c?t.current.e=!1:(r(u),t.current.e=!0)}},[r]),c=e.useCallback(()=>{t.current.c=!0,t.current.e=!1},[]),n=e.useCallback(e=>{t.current.c=!1,t.current.e||u(e)},[u]);return{onChange:u,onCompositionStart:c,onCompositionEnd:n}};
1
+ "use strict";require("client-only");var e=require("react"),r=require("../use-singleton/index.js");exports.useCompositionInput=t=>{let u=r.useSingleton(()=>({c:!1,e:!1})),n=e.useCallback(e=>{if("value"in e.target){let r=e.target.value;u.current.c?u.current.e=!1:(t(r),u.current.e=!0)}},[t,u]),c=e.useCallback(()=>{u.current.c=!0,u.current.e=!1},[u]),l=e.useCallback(e=>{u.current.c=!1,u.current.e||n(e)},[u,n]);return{onChange:n,onCompositionStart:c,onCompositionEnd:l}};
@@ -1 +1 @@
1
- import"client-only";import{useRef as e,useCallback as r}from"react";let t=t=>{let c=e();c.current||(c.current={c:!1,e:!1});let n=r(e=>{if("value"in e.target){let r=e.target.value;c.current.c?c.current.e=!1:(t(r),c.current.e=!0)}},[t]),u=r(()=>{c.current.c=!0,c.current.e=!1},[]),l=r(e=>{c.current.c=!1,c.current.e||n(e)},[n]);return{onChange:n,onCompositionStart:u,onCompositionEnd:l}};export{t as useCompositionInput};
1
+ import"client-only";import{useCallback as e}from"react";import{useSingleton as r}from"../use-singleton/index.mjs";let t=t=>{let n=r(()=>({c:!1,e:!1})),c=e(e=>{if("value"in e.target){let r=e.target.value;n.current.c?n.current.e=!1:(t(r),n.current.e=!0)}},[t,n]),u=e(()=>{n.current.c=!0,n.current.e=!1},[n]),o=e(e=>{n.current.c=!1,n.current.e||c(e)},[n,c]);return{onChange:c,onCompositionStart:u,onCompositionEnd:o}};export{t as useCompositionInput};
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("react"),r=require("../use-retimer/index.cjs");exports.useDebouncedState=function(t,u){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],[n,s]=e.useState(t),c=e.useRef(!0),o=r.useRetimer(),a=e.useCallback(e=>{c.current&&i?s(e):o(window.setTimeout(()=>{c.current=!0,s(e)},u)),c.current=!1},[i,o,u]);return[n,a]};
1
+ "use strict";require("client-only");var e=require("react"),r=require("../use-retimer/index.cjs");exports.useDebouncedState=function(t,u){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],[n,s]=e.useState(t),c=e.useRef(!0),a=r.useRetimer(),l=e.useCallback(e=>{c.current&&i?s(e):a(window.setTimeout(()=>{c.current=!0,s(e)},u)),c.current=!1},[i,a,u]),o=e.useCallback(e=>{a(),s(e)},[a]);return[n,l,o]};
@@ -1,4 +1,4 @@
1
1
  /** @see https://foxact.skk.moe/use-debounced-state */
2
- declare function useDebouncedState<T>(defaultValue: T | (() => T), wait: number, leading?: boolean): readonly [T, (newValue: T) => void];
2
+ declare function useDebouncedState<T>(defaultValue: T | (() => T), wait: number, leading?: boolean): readonly [T, (newValue: T) => void, (newValue: T) => void];
3
3
 
4
4
  export { useDebouncedState };
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("react"),r=require("../use-retimer/index.js");exports.useDebouncedState=function(t,u){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],[n,s]=e.useState(t),c=e.useRef(!0),o=r.useRetimer(),a=e.useCallback(e=>{c.current&&i?s(e):o(window.setTimeout(()=>{c.current=!0,s(e)},u)),c.current=!1},[i,o,u]);return[n,a]};
1
+ "use strict";require("client-only");var e=require("react"),r=require("../use-retimer/index.js");exports.useDebouncedState=function(t,u){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],[n,s]=e.useState(t),c=e.useRef(!0),a=r.useRetimer(),l=e.useCallback(e=>{c.current&&i?s(e):a(window.setTimeout(()=>{c.current=!0,s(e)},u)),c.current=!1},[i,a,u]),o=e.useCallback(e=>{a(),s(e)},[a]);return[n,l,o]};
@@ -1 +1 @@
1
- import"client-only";import{useState as e,useRef as t,useCallback as r}from"react";import{useRetimer as n}from"../use-retimer/index.mjs";function o(o,i){let u=arguments.length>2&&void 0!==arguments[2]&&arguments[2],[m,c]=e(o),d=t(!0),l=n(),p=r(e=>{d.current&&u?c(e):l(window.setTimeout(()=>{d.current=!0,c(e)},i)),d.current=!1},[u,l,i]);return[m,p]}export{o as useDebouncedState};
1
+ import"client-only";import{useState as e,useRef as t,useCallback as r}from"react";import{useRetimer as n}from"../use-retimer/index.mjs";function o(o,i){let u=arguments.length>2&&void 0!==arguments[2]&&arguments[2],[m,c]=e(o),d=t(!0),l=n(),p=r(e=>{d.current&&u?c(e):l(window.setTimeout(()=>{d.current=!0,c(e)},i)),d.current=!1},[u,l,i]),s=r(e=>{l(),c(e)},[l]);return[m,p,s]}export{o as useDebouncedState};
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("next/router"),t=require("react");exports.useNextPathname=function(){let r=arguments.length>0&&void 0!==arguments[0]&&arguments[0],{asPath:u}=e.useRouter();return t.useMemo(()=>{let e=u.split(/[?#]/)[0];return r?e.endsWith("/")?e:"".concat(e,"/"):e},[r,u])};
1
+ "use strict";require("client-only");var e=require("next/router.js"),t=require("react");exports.useNextPathname=function(){let r=arguments.length>0&&void 0!==arguments[0]&&arguments[0],{asPath:u}=e.useRouter();return t.useMemo(()=>{let e=u.split(/[?#]/)[0];return r?e.endsWith("/")?e:"".concat(e,"/"):e},[r,u])};
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("next/router"),t=require("react");exports.useNextPathname=function(){let r=arguments.length>0&&void 0!==arguments[0]&&arguments[0],{asPath:u}=e.useRouter();return t.useMemo(()=>{let e=u.split(/[?#]/)[0];return r?e.endsWith("/")?e:"".concat(e,"/"):e},[r,u])};
1
+ "use strict";require("client-only");var e=require("next/router.js"),t=require("react");exports.useNextPathname=function(){let r=arguments.length>0&&void 0!==arguments[0]&&arguments[0],{asPath:u}=e.useRouter();return t.useMemo(()=>{let e=u.split(/[?#]/)[0];return r?e.endsWith("/")?e:"".concat(e,"/"):e},[r,u])};
@@ -1 +1 @@
1
- import"client-only";import{useRouter as t}from"next/router";import{useMemo as e}from"react";let r=function(){let r=arguments.length>0&&void 0!==arguments[0]&&arguments[0],{asPath:n}=t();return e(()=>{let t=n.split(/[?#]/)[0];return r?t.endsWith("/")?t:"".concat(t,"/"):t},[r,n])};export{r as useNextPathname};
1
+ import"client-only";import{useRouter as t}from"next/router.js";import{useMemo as e}from"react";let r=function(){let r=arguments.length>0&&void 0!==arguments[0]&&arguments[0],{asPath:n}=t();return e(()=>{let t=n.split(/[?#]/)[0];return r?t.endsWith("/")?t:"".concat(t,"/"):t},[r,n])};export{r as useNextPathname};
@@ -1,4 +1,4 @@
1
1
  /** @see https://foxact.skk.moe/use-retimer */
2
- declare const useRetimer: () => (timerId: number) => void;
2
+ declare const useRetimer: () => (timerId?: number) => void;
3
3
 
4
4
  export { useRetimer };
@@ -0,0 +1 @@
1
+ "use strict";require("client-only");var e=require("react");exports.useSingleton=r=>{let t=e.useRef();return t.current||(t.current=r()),t};
@@ -0,0 +1,7 @@
1
+ interface SingletonRefObject<T> {
2
+ readonly current: T;
3
+ }
4
+ /** @see https://foxact.skk.moe/use-singleton */
5
+ declare const useSingleton: <T>(initializor: () => T) => SingletonRefObject<T>;
6
+
7
+ export { SingletonRefObject, useSingleton };
@@ -0,0 +1 @@
1
+ "use strict";require("client-only");var e=require("react");exports.useSingleton=r=>{let t=e.useRef();return t.current||(t.current=r()),t};
@@ -0,0 +1 @@
1
+ import"client-only";import{useRef as r}from"react";let t=t=>{let e=r();return e.current||(e.current=t()),e};export{t as useSingleton};
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("react");const r=e=>e;exports.useUncontrolled=function(u){let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:r,t=e.useRef(null),n=e.useCallback((e,r)=>l(r),[l]),[c,s]=e.useReducer(n,u),a=e.useCallback(()=>{t.current&&s(t.current.value)},[]);return[c,a,t]};
1
+ "use strict";require("client-only");var e=require("react");const r=e=>e;exports.useUncontrolled=function(u){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:r,n=e.useRef(null),[l,c]=e.useReducer((e,r)=>t(r),u),s=e.useCallback(()=>{n.current&&c(n.current.value)},[]);return[l,s,n]};
@@ -1 +1 @@
1
- "use strict";require("client-only");var e=require("react");const r=e=>e;exports.useUncontrolled=function(u){let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:r,t=e.useRef(null),n=e.useCallback((e,r)=>l(r),[l]),[c,s]=e.useReducer(n,u),a=e.useCallback(()=>{t.current&&s(t.current.value)},[]);return[c,a,t]};
1
+ "use strict";require("client-only");var e=require("react");const r=e=>e;exports.useUncontrolled=function(u){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:r,n=e.useRef(null),[l,c]=e.useReducer((e,r)=>t(r),u),s=e.useCallback(()=>{n.current&&c(n.current.value)},[]);return[l,s,n]};
@@ -1 +1 @@
1
- import"client-only";import{useRef as t,useCallback as e,useReducer as r}from"react";let n=t=>t;function l(l){let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n,u=t(null),c=e((t,e)=>o(e),[o]),[i,m]=r(c,l),p=e(()=>{u.current&&m(u.current.value)},[]);return[i,p,u]}export{l as useUncontrolled};
1
+ import"client-only";import{useRef as t,useReducer as e,useCallback as r}from"react";let n=t=>t;function l(l){let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n,u=t(null),[c,i]=e((t,e)=>o(e),l),m=r(()=>{u.current&&i(u.current.value)},[]);return[c,m,u]}export{l as useUncontrolled};