@thisisagile/easy-react 17.30.4 → 17.30.6
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.js +23 -4
- package/dist/index.js.map +1 -1
- package/dist/utils/Hooks.d.ts +0 -1
- package/dist/utils/Hooks.mjs +1 -6
- package/dist/utils/Hooks.mjs.map +1 -1
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.mjs +2 -0
- package/dist/utils/index.mjs.map +1 -1
- package/dist/utils/useRev.d.ts +5 -0
- package/dist/utils/useRev.mjs +12 -0
- package/dist/utils/useRev.mjs.map +1 -0
- package/dist/utils/useToggle.d.ts +1 -0
- package/dist/utils/useToggle.mjs +15 -0
- package/dist/utils/useToggle.mjs.map +1 -0
- package/package.json +2 -2
- package/src/utils/Hooks.ts +4 -4
- package/src/utils/index.ts +2 -0
- package/src/utils/useRev.ts +8 -0
- package/src/utils/useToggle.ts +11 -0
package/dist/index.js
CHANGED
|
@@ -42,6 +42,7 @@ __export(src_exports, {
|
|
|
42
42
|
useOptional: () => useOptional,
|
|
43
43
|
usePageList: () => usePageList,
|
|
44
44
|
usePaging: () => usePaging,
|
|
45
|
+
useRev: () => useRev,
|
|
45
46
|
useSwitch: () => useSwitch,
|
|
46
47
|
useToggle: () => useToggle
|
|
47
48
|
});
|
|
@@ -59,10 +60,6 @@ var toChildren = (children) => (0, import_easy.toList)(import_react.default.Chil
|
|
|
59
60
|
// src/utils/Hooks.ts
|
|
60
61
|
var import_easy2 = require("@thisisagile/easy");
|
|
61
62
|
var import_react2 = require("react");
|
|
62
|
-
var useToggle = (initialState = false) => {
|
|
63
|
-
const [state, setState] = (0, import_react2.useState)(initialState);
|
|
64
|
-
return [state, () => setState((s) => !s)];
|
|
65
|
-
};
|
|
66
63
|
function useSwitch(...states) {
|
|
67
64
|
const [state, setState] = (0, import_react2.useState)(states[0]);
|
|
68
65
|
const next = () => setState((s) => states[(states.indexOf(s) + 1) % states.length]);
|
|
@@ -143,6 +140,27 @@ function useOnce(f, options) {
|
|
|
143
140
|
(0, import_react3.useEffect)(() => void f().then((i) => setItem(i)), options?.deps ?? []);
|
|
144
141
|
return [item];
|
|
145
142
|
}
|
|
143
|
+
|
|
144
|
+
// src/utils/useRev.ts
|
|
145
|
+
var import_react4 = require("react");
|
|
146
|
+
var useRev = (initial = 0) => {
|
|
147
|
+
const [rev, setRev] = (0, import_react4.useState)(initial);
|
|
148
|
+
const revalidate = () => setRev((r) => r + 1);
|
|
149
|
+
const reset = () => setRev(initial);
|
|
150
|
+
return { rev, revalidate, reset };
|
|
151
|
+
};
|
|
152
|
+
|
|
153
|
+
// src/utils/useToggle.ts
|
|
154
|
+
var import_react5 = require("react");
|
|
155
|
+
function useToggle(initial = false) {
|
|
156
|
+
const [state, setState] = (0, import_react5.useState)(initial);
|
|
157
|
+
const toggle = () => setState((s) => !s);
|
|
158
|
+
const flip = (fn) => {
|
|
159
|
+
setState((s) => !s);
|
|
160
|
+
return fn().finally(() => setState((s) => !s));
|
|
161
|
+
};
|
|
162
|
+
return [state, toggle, flip];
|
|
163
|
+
}
|
|
146
164
|
// Annotate the CommonJS export names for ESM import in node:
|
|
147
165
|
0 && (module.exports = {
|
|
148
166
|
If,
|
|
@@ -157,6 +175,7 @@ function useOnce(f, options) {
|
|
|
157
175
|
useOptional,
|
|
158
176
|
usePageList,
|
|
159
177
|
usePaging,
|
|
178
|
+
useRev,
|
|
160
179
|
useSwitch,
|
|
161
180
|
useToggle
|
|
162
181
|
});
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/layout/If.tsx","../src/utils/Children.ts","../src/utils/Hooks.ts","../src/utils/useOnce.ts"],"sourcesContent":["export * from './layout';\nexport * from './utils';\n","import * as React from 'react';\nimport { FunctionComponent, ReactElement, ReactNode } from 'react';\n\nexport interface IfProps {\n condition: any | undefined;\n children?: ReactNode;\n}\n\nexport const If: FunctionComponent<IfProps> = ({ condition, children }): ReactElement | null => (condition ? <>{children}</> : null);\n","import { isDefined, List, toList } from '@thisisagile/easy';\nimport React, { ReactNode } from 'react';\n\nexport const toChildren = (children: ReactNode): List<ReactNode> => toList(React.Children.toArray(children).filter(isDefined));\n","import { Get, isPageList, List, ofGet, Optional, PageList, PageOptions, Predicate, toList, toPageList, Validatable } from '@thisisagile/easy';\nimport { useState } from 'react';\n\
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/layout/If.tsx","../src/utils/Children.ts","../src/utils/Hooks.ts","../src/utils/useOnce.ts","../src/utils/useRev.ts","../src/utils/useToggle.ts"],"sourcesContent":["export * from './layout';\nexport * from './utils';\n","import * as React from 'react';\nimport { FunctionComponent, ReactElement, ReactNode } from 'react';\n\nexport interface IfProps {\n condition: any | undefined;\n children?: ReactNode;\n}\n\nexport const If: FunctionComponent<IfProps> = ({ condition, children }): ReactElement | null => (condition ? <>{children}</> : null);\n","import { isDefined, List, toList } from '@thisisagile/easy';\nimport React, { ReactNode } from 'react';\n\nexport const toChildren = (children: ReactNode): List<ReactNode> => toList(React.Children.toArray(children).filter(isDefined));\n","import { Get, isPageList, List, ofGet, Optional, PageList, PageOptions, Predicate, toList, toPageList, Validatable } from '@thisisagile/easy';\nimport { useState } from 'react';\n\n// export const useToggle = (initialState = false): [boolean, () => void] => {\n// const [state, setState] = useState<boolean>(initialState);\n// return [state, () => setState(s => !s)];\n// };\n\nexport function useSwitch<T>(...states: T[]): {\n state: T;\n next: () => void;\n states: T[];\n isState: Predicate<T>;\n ifState: <U>(t: T, yes: Get<U, T>, no: Get<U, T>) => U;\n} {\n const [state, setState] = useState(states[0]);\n const next = () => setState(s => states[(states.indexOf(s) + 1) % states.length]);\n const isState = (t: T) => state === t;\n\n function ifState<U>(t: T, yes: Get<U, T>, no: Get<U, T>): U {\n return ofGet(state === t ? yes : no, t);\n }\n\n return { state, next, states, isState, ifState };\n}\n\nexport const useA = <E extends Validatable>(item: Partial<E> = {} as Partial<E>): [E, (e: E) => E] => {\n const [state, setState] = useState<E>({ isValid: false, ...item } as E);\n return [\n state,\n (e: E): E => {\n setState(e);\n return e;\n },\n ];\n};\n\nexport const useAn = useA;\n\nexport const useOptional = <E>(item?: Partial<E>): [E, (e: Optional<E>) => Optional<E>, () => Optional<E>] => {\n const [state, setState] = useState<E>(item as E);\n const set = (e?: Optional<E>): Optional<E> => {\n setState(e as E);\n return e;\n };\n return [state, set, (): Optional<E> => set()];\n};\n\nexport const useEntity = useA;\n\nexport const useList = <E>(...items: E[]): [List<E>, (e: List<E>) => List<E>] => {\n const [state, setState] = useState<List<E>>(toList<E>(...items));\n return [\n state,\n (e: List<E>): List<E> => {\n setState(e);\n return e;\n },\n ];\n};\n\nexport const usePageList = <E>(...items: E[]): [PageList<E>, (e: PageList<E>) => PageList<E>] => {\n const [pages, setPages] = useState<PageList<E>>(toPageList<E>(items));\n return [\n pages,\n (e: PageList<E>): PageList<E> => {\n setPages(e);\n return e;\n },\n ];\n};\n\nexport const usePaging = <E>(\n f: (options?: PageOptions) => Promise<PageList<E>>,\n options?: PageOptions\n): [PageList<E>, (options?: PageOptions) => Promise<PageList<E>>, boolean, number, number] => {\n const [list, setList] = usePageList<E>();\n const [skip, setSkip] = useState(options?.skip ?? 0);\n const [take] = useState(options?.take ?? 5);\n const next = (options: PageOptions = { skip, take }) =>\n f(options).then(items => {\n setSkip(skip + take);\n return setList(toPageList(list.add(items), items));\n });\n return [list, next, list.length < (list?.total ?? 0), skip, take];\n};\n\nexport const useGet = <E>(f: () => Promise<E>, initial?: Partial<E>): [E, () => Promise<E>] => {\n const [item, setItem] = useState((initial ?? {}) as E);\n const getter = () =>\n f().then(i => {\n setItem(i);\n return i;\n });\n return [item, getter];\n};\n\nexport const useGetList = <E>(f: () => Promise<List<E>>): [List<E>, () => Promise<PageList<E>>] => {\n const [list, setList] = usePageList<E>();\n const getter = () => f().then(l => setList(isPageList<E>(l) ? l : toPageList(l, { total: l.length })));\n return [list, getter];\n};\n","import { DependencyList, useEffect, useState } from 'react';\n\nexport type UseOnceOptions<E> = {\n deps?: DependencyList;\n initial?: Partial<E>;\n};\n\nexport function useOnce<E>(f: () => Promise<E>, options?: UseOnceOptions<E>): [E] {\n const [item, setItem] = useState(options?.initial as E);\n useEffect(() => void f().then(i => setItem(i)), options?.deps ?? []);\n return [item];\n}\n","import { useState } from 'react';\n\nexport const useRev = (initial = 0) => {\n const [rev, setRev] = useState(initial);\n const revalidate = () => setRev(r => r + 1);\n const reset = () => setRev(initial);\n return { rev, revalidate, reset };\n};\n","import { useState } from 'react';\n\nexport function useToggle(initial = false): [boolean, () => void, <T>(fn: () => Promise<T>) => Promise<T>] {\n const [state, setState] = useState(initial);\n const toggle = () => setState(s => !s);\n const flip = <T>(fn: () => Promise<T>) => {\n setState(s => !s);\n return fn().finally(() => setState(s => !s));\n };\n return [state, toggle, flip];\n}\n"],"mappings":"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","names":["React","import_easy","import_react","options","import_react","import_react","import_react"]}
|
package/dist/utils/Hooks.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Get, List, Optional, PageList, PageOptions, Predicate, Validatable } from '@thisisagile/easy';
|
|
2
|
-
export declare const useToggle: (initialState?: boolean) => [boolean, () => void];
|
|
3
2
|
export declare function useSwitch<T>(...states: T[]): {
|
|
4
3
|
state: T;
|
|
5
4
|
next: () => void;
|
package/dist/utils/Hooks.mjs
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
// src/utils/Hooks.ts
|
|
2
2
|
import { isPageList, ofGet, toList, toPageList } from "@thisisagile/easy";
|
|
3
3
|
import { useState } from "react";
|
|
4
|
-
var useToggle = (initialState = false) => {
|
|
5
|
-
const [state, setState] = useState(initialState);
|
|
6
|
-
return [state, () => setState((s) => !s)];
|
|
7
|
-
};
|
|
8
4
|
function useSwitch(...states) {
|
|
9
5
|
const [state, setState] = useState(states[0]);
|
|
10
6
|
const next = () => setState((s) => states[(states.indexOf(s) + 1) % states.length]);
|
|
@@ -87,7 +83,6 @@ export {
|
|
|
87
83
|
useOptional,
|
|
88
84
|
usePageList,
|
|
89
85
|
usePaging,
|
|
90
|
-
useSwitch
|
|
91
|
-
useToggle
|
|
86
|
+
useSwitch
|
|
92
87
|
};
|
|
93
88
|
//# sourceMappingURL=Hooks.mjs.map
|
package/dist/utils/Hooks.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/Hooks.ts"],"sourcesContent":["import { Get, isPageList, List, ofGet, Optional, PageList, PageOptions, Predicate, toList, toPageList, Validatable } from '@thisisagile/easy';\nimport { useState } from 'react';\n\
|
|
1
|
+
{"version":3,"sources":["../../src/utils/Hooks.ts"],"sourcesContent":["import { Get, isPageList, List, ofGet, Optional, PageList, PageOptions, Predicate, toList, toPageList, Validatable } from '@thisisagile/easy';\nimport { useState } from 'react';\n\n// export const useToggle = (initialState = false): [boolean, () => void] => {\n// const [state, setState] = useState<boolean>(initialState);\n// return [state, () => setState(s => !s)];\n// };\n\nexport function useSwitch<T>(...states: T[]): {\n state: T;\n next: () => void;\n states: T[];\n isState: Predicate<T>;\n ifState: <U>(t: T, yes: Get<U, T>, no: Get<U, T>) => U;\n} {\n const [state, setState] = useState(states[0]);\n const next = () => setState(s => states[(states.indexOf(s) + 1) % states.length]);\n const isState = (t: T) => state === t;\n\n function ifState<U>(t: T, yes: Get<U, T>, no: Get<U, T>): U {\n return ofGet(state === t ? yes : no, t);\n }\n\n return { state, next, states, isState, ifState };\n}\n\nexport const useA = <E extends Validatable>(item: Partial<E> = {} as Partial<E>): [E, (e: E) => E] => {\n const [state, setState] = useState<E>({ isValid: false, ...item } as E);\n return [\n state,\n (e: E): E => {\n setState(e);\n return e;\n },\n ];\n};\n\nexport const useAn = useA;\n\nexport const useOptional = <E>(item?: Partial<E>): [E, (e: Optional<E>) => Optional<E>, () => Optional<E>] => {\n const [state, setState] = useState<E>(item as E);\n const set = (e?: Optional<E>): Optional<E> => {\n setState(e as E);\n return e;\n };\n return [state, set, (): Optional<E> => set()];\n};\n\nexport const useEntity = useA;\n\nexport const useList = <E>(...items: E[]): [List<E>, (e: List<E>) => List<E>] => {\n const [state, setState] = useState<List<E>>(toList<E>(...items));\n return [\n state,\n (e: List<E>): List<E> => {\n setState(e);\n return e;\n },\n ];\n};\n\nexport const usePageList = <E>(...items: E[]): [PageList<E>, (e: PageList<E>) => PageList<E>] => {\n const [pages, setPages] = useState<PageList<E>>(toPageList<E>(items));\n return [\n pages,\n (e: PageList<E>): PageList<E> => {\n setPages(e);\n return e;\n },\n ];\n};\n\nexport const usePaging = <E>(\n f: (options?: PageOptions) => Promise<PageList<E>>,\n options?: PageOptions\n): [PageList<E>, (options?: PageOptions) => Promise<PageList<E>>, boolean, number, number] => {\n const [list, setList] = usePageList<E>();\n const [skip, setSkip] = useState(options?.skip ?? 0);\n const [take] = useState(options?.take ?? 5);\n const next = (options: PageOptions = { skip, take }) =>\n f(options).then(items => {\n setSkip(skip + take);\n return setList(toPageList(list.add(items), items));\n });\n return [list, next, list.length < (list?.total ?? 0), skip, take];\n};\n\nexport const useGet = <E>(f: () => Promise<E>, initial?: Partial<E>): [E, () => Promise<E>] => {\n const [item, setItem] = useState((initial ?? {}) as E);\n const getter = () =>\n f().then(i => {\n setItem(i);\n return i;\n });\n return [item, getter];\n};\n\nexport const useGetList = <E>(f: () => Promise<List<E>>): [List<E>, () => Promise<PageList<E>>] => {\n const [list, setList] = usePageList<E>();\n const getter = () => f().then(l => setList(isPageList<E>(l) ? l : toPageList(l, { total: l.length })));\n return [list, getter];\n};\n"],"mappings":";AAAA,SAAc,YAAkB,OAAmD,QAAQ,kBAA+B;AAC1H,SAAS,gBAAgB;AAOlB,SAAS,aAAgB,QAM9B;AACA,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAS,OAAO,CAAC,CAAC;AAC5C,QAAM,OAAO,MAAM,SAAS,OAAK,QAAQ,OAAO,QAAQ,CAAC,IAAI,KAAK,OAAO,MAAM,CAAC;AAChF,QAAM,UAAU,CAAC,MAAS,UAAU;AAEpC,WAAS,QAAW,GAAM,KAAgB,IAAkB;AAC1D,WAAO,MAAM,UAAU,IAAI,MAAM,IAAI,CAAC;AAAA,EACxC;AAEA,SAAO,EAAE,OAAO,MAAM,QAAQ,SAAS,QAAQ;AACjD;AAEO,IAAM,OAAO,CAAwB,OAAmB,CAAC,MAAsC;AACpG,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAY,EAAE,SAAS,OAAO,GAAG,KAAK,CAAM;AACtE,SAAO;AAAA,IACL;AAAA,IACA,CAAC,MAAY;AACX,eAAS,CAAC;AACV,aAAO;AAAA,IACT;AAAA,EACF;AACF;AAEO,IAAM,QAAQ;AAEd,IAAM,cAAc,CAAI,SAA+E;AAC5G,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAY,IAAS;AAC/C,QAAM,MAAM,CAAC,MAAiC;AAC5C,aAAS,CAAM;AACf,WAAO;AAAA,EACT;AACA,SAAO,CAAC,OAAO,KAAK,MAAmB,IAAI,CAAC;AAC9C;AAEO,IAAM,YAAY;AAElB,IAAM,UAAU,IAAO,UAAmD;AAC/E,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAkB,OAAU,GAAG,KAAK,CAAC;AAC/D,SAAO;AAAA,IACL;AAAA,IACA,CAAC,MAAwB;AACvB,eAAS,CAAC;AACV,aAAO;AAAA,IACT;AAAA,EACF;AACF;AAEO,IAAM,cAAc,IAAO,UAA+D;AAC/F,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAsB,WAAc,KAAK,CAAC;AACpE,SAAO;AAAA,IACL;AAAA,IACA,CAAC,MAAgC;AAC/B,eAAS,CAAC;AACV,aAAO;AAAA,IACT;AAAA,EACF;AACF;AAEO,IAAM,YAAY,CACvB,GACA,YAC4F;AAC5F,QAAM,CAAC,MAAM,OAAO,IAAI,YAAe;AACvC,QAAM,CAAC,MAAM,OAAO,IAAI,SAAS,SAAS,QAAQ,CAAC;AACnD,QAAM,CAAC,IAAI,IAAI,SAAS,SAAS,QAAQ,CAAC;AAC1C,QAAM,OAAO,CAACA,WAAuB,EAAE,MAAM,KAAK,MAChD,EAAEA,QAAO,EAAE,KAAK,WAAS;AACvB,YAAQ,OAAO,IAAI;AACnB,WAAO,QAAQ,WAAW,KAAK,IAAI,KAAK,GAAG,KAAK,CAAC;AAAA,EACnD,CAAC;AACH,SAAO,CAAC,MAAM,MAAM,KAAK,UAAU,MAAM,SAAS,IAAI,MAAM,IAAI;AAClE;AAEO,IAAM,SAAS,CAAI,GAAqB,YAAgD;AAC7F,QAAM,CAAC,MAAM,OAAO,IAAI,SAAU,WAAW,CAAC,CAAO;AACrD,QAAM,SAAS,MACb,EAAE,EAAE,KAAK,OAAK;AACZ,YAAQ,CAAC;AACT,WAAO;AAAA,EACT,CAAC;AACH,SAAO,CAAC,MAAM,MAAM;AACtB;AAEO,IAAM,aAAa,CAAI,MAAqE;AACjG,QAAM,CAAC,MAAM,OAAO,IAAI,YAAe;AACvC,QAAM,SAAS,MAAM,EAAE,EAAE,KAAK,OAAK,QAAQ,WAAc,CAAC,IAAI,IAAI,WAAW,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AACrG,SAAO,CAAC,MAAM,MAAM;AACtB;","names":["options"]}
|
package/dist/utils/index.d.ts
CHANGED
package/dist/utils/index.mjs
CHANGED
package/dist/utils/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/index.ts"],"sourcesContent":["export * from './Children';\nexport * from './Hooks';\nexport * from './useOnce';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/utils/index.ts"],"sourcesContent":["export * from './Children';\nexport * from './Hooks';\nexport * from './useOnce';\nexport * from './useRev';\nexport * from './useToggle';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// src/utils/useRev.ts
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
var useRev = (initial = 0) => {
|
|
4
|
+
const [rev, setRev] = useState(initial);
|
|
5
|
+
const revalidate = () => setRev((r) => r + 1);
|
|
6
|
+
const reset = () => setRev(initial);
|
|
7
|
+
return { rev, revalidate, reset };
|
|
8
|
+
};
|
|
9
|
+
export {
|
|
10
|
+
useRev
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=useRev.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/useRev.ts"],"sourcesContent":["import { useState } from 'react';\n\nexport const useRev = (initial = 0) => {\n const [rev, setRev] = useState(initial);\n const revalidate = () => setRev(r => r + 1);\n const reset = () => setRev(initial);\n return { rev, revalidate, reset };\n};\n"],"mappings":";AAAA,SAAS,gBAAgB;AAElB,IAAM,SAAS,CAAC,UAAU,MAAM;AACrC,QAAM,CAAC,KAAK,MAAM,IAAI,SAAS,OAAO;AACtC,QAAM,aAAa,MAAM,OAAO,OAAK,IAAI,CAAC;AAC1C,QAAM,QAAQ,MAAM,OAAO,OAAO;AAClC,SAAO,EAAE,KAAK,YAAY,MAAM;AAClC;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function useToggle(initial?: boolean): [boolean, () => void, <T>(fn: () => Promise<T>) => Promise<T>];
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// src/utils/useToggle.ts
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
function useToggle(initial = false) {
|
|
4
|
+
const [state, setState] = useState(initial);
|
|
5
|
+
const toggle = () => setState((s) => !s);
|
|
6
|
+
const flip = (fn) => {
|
|
7
|
+
setState((s) => !s);
|
|
8
|
+
return fn().finally(() => setState((s) => !s));
|
|
9
|
+
};
|
|
10
|
+
return [state, toggle, flip];
|
|
11
|
+
}
|
|
12
|
+
export {
|
|
13
|
+
useToggle
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=useToggle.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/useToggle.ts"],"sourcesContent":["import { useState } from 'react';\n\nexport function useToggle(initial = false): [boolean, () => void, <T>(fn: () => Promise<T>) => Promise<T>] {\n const [state, setState] = useState(initial);\n const toggle = () => setState(s => !s);\n const flip = <T>(fn: () => Promise<T>) => {\n setState(s => !s);\n return fn().finally(() => setState(s => !s));\n };\n return [state, toggle, flip];\n}\n"],"mappings":";AAAA,SAAS,gBAAgB;AAElB,SAAS,UAAU,UAAU,OAAuE;AACzG,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAS,OAAO;AAC1C,QAAM,SAAS,MAAM,SAAS,OAAK,CAAC,CAAC;AACrC,QAAM,OAAO,CAAI,OAAyB;AACxC,aAAS,OAAK,CAAC,CAAC;AAChB,WAAO,GAAG,EAAE,QAAQ,MAAM,SAAS,OAAK,CAAC,CAAC,CAAC;AAAA,EAC7C;AACA,SAAO,CAAC,OAAO,QAAQ,IAAI;AAC7B;","names":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thisisagile/easy-react",
|
|
3
|
-
"version": "17.30.
|
|
3
|
+
"version": "17.30.6",
|
|
4
4
|
"description": "Straightforward library building micro applications in react",
|
|
5
5
|
"author": "Sander Hoogendoorn",
|
|
6
6
|
"license": "MIT",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"next-transpile-modules": "^10.0.0"
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
50
|
-
"@thisisagile/easy": "^17.30.
|
|
50
|
+
"@thisisagile/easy": "^17.30.6",
|
|
51
51
|
"react": "^18.3.1",
|
|
52
52
|
"react-dom": "^18.3.1",
|
|
53
53
|
"sass": "^1.80.3"
|
package/src/utils/Hooks.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Get, isPageList, List, ofGet, Optional, PageList, PageOptions, Predicate, toList, toPageList, Validatable } from '@thisisagile/easy';
|
|
2
2
|
import { useState } from 'react';
|
|
3
3
|
|
|
4
|
-
export const useToggle = (initialState = false): [boolean, () => void] => {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
};
|
|
4
|
+
// export const useToggle = (initialState = false): [boolean, () => void] => {
|
|
5
|
+
// const [state, setState] = useState<boolean>(initialState);
|
|
6
|
+
// return [state, () => setState(s => !s)];
|
|
7
|
+
// };
|
|
8
8
|
|
|
9
9
|
export function useSwitch<T>(...states: T[]): {
|
|
10
10
|
state: T;
|
package/src/utils/index.ts
CHANGED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { useState } from 'react';
|
|
2
|
+
|
|
3
|
+
export function useToggle(initial = false): [boolean, () => void, <T>(fn: () => Promise<T>) => Promise<T>] {
|
|
4
|
+
const [state, setState] = useState(initial);
|
|
5
|
+
const toggle = () => setState(s => !s);
|
|
6
|
+
const flip = <T>(fn: () => Promise<T>) => {
|
|
7
|
+
setState(s => !s);
|
|
8
|
+
return fn().finally(() => setState(s => !s));
|
|
9
|
+
};
|
|
10
|
+
return [state, toggle, flip];
|
|
11
|
+
}
|