extra-react-hooks 0.1.6 → 0.1.10
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 +25 -10
- package/dist/es2015/index.min.mjs +17 -3
- package/dist/es2015/index.min.mjs.map +1 -1
- package/dist/es2015/index.mjs +8546 -240
- package/dist/es2015/index.mjs.map +1 -1
- package/dist/es2015/index.umd.js +8548 -239
- package/dist/es2015/index.umd.js.map +1 -1
- package/dist/es2015/index.umd.min.js +17 -3
- package/dist/es2015/index.umd.min.js.map +1 -1
- package/dist/es2018/index.min.mjs +17 -3
- package/dist/es2018/index.min.mjs.map +1 -1
- package/dist/es2018/index.mjs +8546 -240
- package/dist/es2018/index.mjs.map +1 -1
- package/dist/es2018/index.umd.js +8548 -239
- package/dist/es2018/index.umd.js.map +1 -1
- package/dist/es2018/index.umd.min.js +17 -3
- package/dist/es2018/index.umd.min.js.map +1 -1
- package/lib/es2015/index.d.ts +3 -0
- package/lib/es2015/index.js +3 -0
- package/lib/es2015/index.js.map +1 -1
- package/lib/es2015/use-finite-state-machine.d.ts +3 -0
- package/lib/es2015/use-finite-state-machine.js +17 -0
- package/lib/es2015/use-finite-state-machine.js.map +1 -0
- package/lib/es2015/use-force-update.d.ts +1 -0
- package/lib/es2015/use-force-update.js +10 -0
- package/lib/es2015/use-force-update.js.map +1 -0
- package/lib/es2015/use-increment.js +6 -2
- package/lib/es2015/use-increment.js.map +1 -1
- package/lib/es2015/use-state-cycle.js +7 -4
- package/lib/es2015/use-state-cycle.js.map +1 -1
- package/lib/es2015/use-step.d.ts +1 -0
- package/lib/es2015/use-step.js +32 -0
- package/lib/es2015/use-step.js.map +1 -0
- package/lib/es2018/index.d.ts +3 -0
- package/lib/es2018/index.js +3 -0
- package/lib/es2018/index.js.map +1 -1
- package/lib/es2018/use-finite-state-machine.d.ts +3 -0
- package/lib/es2018/use-finite-state-machine.js +17 -0
- package/lib/es2018/use-finite-state-machine.js.map +1 -0
- package/lib/es2018/use-force-update.d.ts +1 -0
- package/lib/es2018/use-force-update.js +10 -0
- package/lib/es2018/use-force-update.js.map +1 -0
- package/lib/es2018/use-increment.js +6 -2
- package/lib/es2018/use-increment.js.map +1 -1
- package/lib/es2018/use-state-cycle.js +7 -4
- package/lib/es2018/use-state-cycle.js.map +1 -1
- package/lib/es2018/use-step.d.ts +1 -0
- package/lib/es2018/use-step.js +32 -0
- package/lib/es2018/use-step.js.map +1 -0
- package/package.json +21 -17
- package/CHANGELOG.md +0 -47
package/lib/es2015/index.d.ts
CHANGED
package/lib/es2015/index.js
CHANGED
|
@@ -17,4 +17,7 @@ __exportStar(require("./use-single-selection"), exports);
|
|
|
17
17
|
__exportStar(require("./use-state-cycle"), exports);
|
|
18
18
|
__exportStar(require("./use-toggle"), exports);
|
|
19
19
|
__exportStar(require("./use-resize-observer"), exports);
|
|
20
|
+
__exportStar(require("./use-step"), exports);
|
|
21
|
+
__exportStar(require("./use-force-update"), exports);
|
|
22
|
+
__exportStar(require("./use-finite-state-machine"), exports);
|
|
20
23
|
//# sourceMappingURL=index.js.map
|
package/lib/es2015/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAA+B;AAC/B,mDAAgC;AAChC,8CAA2B;AAC3B,yDAAsC;AACtC,oDAAiC;AACjC,+CAA4B;AAC5B,wDAAqC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAA+B;AAC/B,mDAAgC;AAChC,8CAA2B;AAC3B,yDAAsC;AACtC,oDAAiC;AACjC,+CAA4B;AAC5B,wDAAqC;AACrC,6CAA0B;AAC1B,qDAAkC;AAClC,6DAA0C"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { ObservableFiniteStateMachine, IFiniteStateMachineSchema } from '@blackglory/structures';
|
|
2
|
+
export { ObservableFiniteStateMachine, IFiniteStateMachineSchema } from '@blackglory/structures';
|
|
3
|
+
export declare function useFiniteStateMachine<State extends string, Event extends string>(schema: IFiniteStateMachineSchema<State, Event>, initialState: State): ObservableFiniteStateMachine<State, Event>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useFiniteStateMachine = exports.ObservableFiniteStateMachine = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const structures_1 = require("@blackglory/structures");
|
|
6
|
+
const observable_hooks_1 = require("observable-hooks");
|
|
7
|
+
const use_force_update_1 = require("./use-force-update");
|
|
8
|
+
var structures_2 = require("@blackglory/structures");
|
|
9
|
+
Object.defineProperty(exports, "ObservableFiniteStateMachine", { enumerable: true, get: function () { return structures_2.ObservableFiniteStateMachine; } });
|
|
10
|
+
function useFiniteStateMachine(schema, initialState) {
|
|
11
|
+
const forceUpdate = (0, use_force_update_1.useForceUpdate)();
|
|
12
|
+
const fsm = (0, react_1.useMemo)(() => new structures_1.ObservableFiniteStateMachine(schema, initialState), [schema]);
|
|
13
|
+
(0, observable_hooks_1.useSubscription)((0, observable_hooks_1.useObservable)(() => fsm.observeStateChanges(), [fsm]), forceUpdate);
|
|
14
|
+
return fsm;
|
|
15
|
+
}
|
|
16
|
+
exports.useFiniteStateMachine = useFiniteStateMachine;
|
|
17
|
+
//# sourceMappingURL=use-finite-state-machine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-finite-state-machine.js","sourceRoot":"","sources":["../../src/use-finite-state-machine.ts"],"names":[],"mappings":";;;AAAA,iCAA+B;AAC/B,uDAG+B;AAC/B,uDAAiE;AACjE,yDAAmD;AAEnD,qDAG+B;AAF7B,0HAAA,4BAA4B,OAAA;AAI9B,SAAgB,qBAAqB,CACnC,MAA+C,EAC/C,YAAmB;IAEnB,MAAM,WAAW,GAAG,IAAA,iCAAc,GAAE,CAAA;IACpC,MAAM,GAAG,GAAG,IAAA,eAAO,EACjB,GAAG,EAAE,CAAC,IAAI,yCAA4B,CAAC,MAAM,EAAE,YAAY,CAAC,EAC5D,CAAC,MAAM,CAAC,CACT,CAAA;IACD,IAAA,kCAAe,EACb,IAAA,gCAAa,EAAC,GAAG,EAAE,CAAC,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EACrD,WAAW,CACZ,CAAA;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAdD,sDAcC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function useForceUpdate(): () => void;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useForceUpdate = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
function useForceUpdate() {
|
|
6
|
+
const [, setState] = (0, react_1.useState)({});
|
|
7
|
+
return () => setState({});
|
|
8
|
+
}
|
|
9
|
+
exports.useForceUpdate = useForceUpdate;
|
|
10
|
+
//# sourceMappingURL=use-force-update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-force-update.js","sourceRoot":"","sources":["../../src/use-force-update.ts"],"names":[],"mappings":";;;AAAA,iCAAgC;AAEhC,SAAgB,cAAc;IAC5B,MAAM,CAAC,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAC,EAAE,CAAC,CAAA;IAEjC,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;AAC3B,CAAC;AAJD,wCAIC"}
|
|
@@ -4,8 +4,12 @@ exports.useIncrement = void 0;
|
|
|
4
4
|
const react_1 = require("react");
|
|
5
5
|
function useIncrement(initialValue) {
|
|
6
6
|
const [value, setValue] = (0, react_1.useState)(initialValue);
|
|
7
|
-
const increment = (0, react_1.useCallback)((step = 1) =>
|
|
8
|
-
|
|
7
|
+
const increment = (0, react_1.useCallback)((step = 1) => {
|
|
8
|
+
setValue(value => value + step);
|
|
9
|
+
}, []);
|
|
10
|
+
const reset = (0, react_1.useCallback)(() => {
|
|
11
|
+
setValue(initialValue);
|
|
12
|
+
}, []);
|
|
9
13
|
return [value, increment, reset];
|
|
10
14
|
}
|
|
11
15
|
exports.useIncrement = useIncrement;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-increment.js","sourceRoot":"","sources":["../../src/use-increment.ts"],"names":[],"mappings":";;;AAAA,iCAA6C;AAE7C,SAAgB,YAAY,CAC1B,YAAoB;IAEpB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAE,IAAA,gBAAQ,EAAC,YAAY,CAAC,CAAA;IAC/C,MAAM,SAAS,GAAG,IAAA,mBAAW,EAAC,CAAC,OAAe,CAAC,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"use-increment.js","sourceRoot":"","sources":["../../src/use-increment.ts"],"names":[],"mappings":";;;AAAA,iCAA6C;AAE7C,SAAgB,YAAY,CAC1B,YAAoB;IAEpB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAE,IAAA,gBAAQ,EAAC,YAAY,CAAC,CAAA;IAC/C,MAAM,SAAS,GAAG,IAAA,mBAAW,EAAC,CAAC,OAAe,CAAC,EAAE,EAAE;QACjD,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,CAAA;IACjC,CAAC,EAAE,EAAE,CAAC,CAAA;IACN,MAAM,KAAK,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QAC7B,QAAQ,CAAC,YAAY,CAAC,CAAA;IACxB,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;AAClC,CAAC;AAZD,oCAYC"}
|
|
@@ -4,14 +4,17 @@ exports.useStateCycle = void 0;
|
|
|
4
4
|
const react_1 = require("react");
|
|
5
5
|
function useStateCycle(stateList, initialStateIndex = 0) {
|
|
6
6
|
const [index, setIndex] = (0, react_1.useState)(initialStateIndex);
|
|
7
|
-
return [
|
|
7
|
+
return [
|
|
8
|
+
stateList[index],
|
|
9
|
+
() => setIndex(index => {
|
|
8
10
|
if (index + 1 < stateList.length) {
|
|
9
|
-
|
|
11
|
+
return index + 1;
|
|
10
12
|
}
|
|
11
13
|
else {
|
|
12
|
-
|
|
14
|
+
return 0;
|
|
13
15
|
}
|
|
14
|
-
}
|
|
16
|
+
})
|
|
17
|
+
];
|
|
15
18
|
}
|
|
16
19
|
exports.useStateCycle = useStateCycle;
|
|
17
20
|
//# sourceMappingURL=use-state-cycle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-state-cycle.js","sourceRoot":"","sources":["../../src/use-state-cycle.ts"],"names":[],"mappings":";;;AAAA,iCAAgC;AAEhC,SAAgB,aAAa,CAC3B,SAAsB,EACtB,oBAA4B,CAAC;IAE7B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAC,iBAAiB,CAAC,CAAA;IAErD,OAAO,
|
|
1
|
+
{"version":3,"file":"use-state-cycle.js","sourceRoot":"","sources":["../../src/use-state-cycle.ts"],"names":[],"mappings":";;;AAAA,iCAAgC;AAEhC,SAAgB,aAAa,CAC3B,SAAsB,EACtB,oBAA4B,CAAC;IAE7B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAC,iBAAiB,CAAC,CAAA;IAErD,OAAO;QACL,SAAS,CAAC,KAAK,CAAC;QAChB,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YACrB,IAAI,KAAK,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE;gBAChC,OAAO,KAAK,GAAG,CAAC,CAAA;aACjB;iBAAM;gBACL,OAAO,CAAC,CAAA;aACT;QACH,CAAC,CAAC;KACH,CAAA;AACH,CAAC;AAhBD,sCAgBC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function useStep<T>(steps: [T, ...T[]], initialStepIndex?: number): [currentStep: T, next: () => void, previous: () => void];
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useStep = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
function useStep(steps, initialStepIndex = 0) {
|
|
6
|
+
const [index, setIndex] = (0, react_1.useState)(initialStepIndex);
|
|
7
|
+
return [
|
|
8
|
+
steps[index],
|
|
9
|
+
() => {
|
|
10
|
+
setIndex(index => {
|
|
11
|
+
if (index === steps.length - 1) {
|
|
12
|
+
return index;
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
return index + 1;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
},
|
|
19
|
+
() => {
|
|
20
|
+
setIndex(index => {
|
|
21
|
+
if (index === 0) {
|
|
22
|
+
return index;
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
return index - 1;
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
];
|
|
30
|
+
}
|
|
31
|
+
exports.useStep = useStep;
|
|
32
|
+
//# sourceMappingURL=use-step.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-step.js","sourceRoot":"","sources":["../../src/use-step.ts"],"names":[],"mappings":";;;AAAA,iCAAgC;AAEhC,SAAgB,OAAO,CACrB,KAAkB,EAClB,mBAA2B,CAAC;IAE5B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAC,gBAAgB,CAAC,CAAA;IAEpD,OAAO;QACL,KAAK,CAAC,KAAK,CAAC;QACZ,GAAG,EAAE;YACH,QAAQ,CAAC,KAAK,CAAC,EAAE;gBACf,IAAI,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC9B,OAAO,KAAK,CAAA;iBACb;qBAAM;oBACL,OAAO,KAAK,GAAG,CAAC,CAAA;iBACjB;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,GAAG,EAAE;YACH,QAAQ,CAAC,KAAK,CAAC,EAAE;gBACf,IAAI,KAAK,KAAK,CAAC,EAAE;oBACf,OAAO,KAAK,CAAA;iBACb;qBAAM;oBACL,OAAO,KAAK,GAAG,CAAC,CAAA;iBACjB;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;KACF,CAAA;AACH,CAAC;AA3BD,0BA2BC"}
|
package/lib/es2018/index.d.ts
CHANGED
package/lib/es2018/index.js
CHANGED
|
@@ -17,4 +17,7 @@ __exportStar(require("./use-single-selection"), exports);
|
|
|
17
17
|
__exportStar(require("./use-state-cycle"), exports);
|
|
18
18
|
__exportStar(require("./use-toggle"), exports);
|
|
19
19
|
__exportStar(require("./use-resize-observer"), exports);
|
|
20
|
+
__exportStar(require("./use-step"), exports);
|
|
21
|
+
__exportStar(require("./use-force-update"), exports);
|
|
22
|
+
__exportStar(require("./use-finite-state-machine"), exports);
|
|
20
23
|
//# sourceMappingURL=index.js.map
|
package/lib/es2018/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAA+B;AAC/B,mDAAgC;AAChC,8CAA2B;AAC3B,yDAAsC;AACtC,oDAAiC;AACjC,+CAA4B;AAC5B,wDAAqC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAA+B;AAC/B,mDAAgC;AAChC,8CAA2B;AAC3B,yDAAsC;AACtC,oDAAiC;AACjC,+CAA4B;AAC5B,wDAAqC;AACrC,6CAA0B;AAC1B,qDAAkC;AAClC,6DAA0C"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { ObservableFiniteStateMachine, IFiniteStateMachineSchema } from '@blackglory/structures';
|
|
2
|
+
export { ObservableFiniteStateMachine, IFiniteStateMachineSchema } from '@blackglory/structures';
|
|
3
|
+
export declare function useFiniteStateMachine<State extends string, Event extends string>(schema: IFiniteStateMachineSchema<State, Event>, initialState: State): ObservableFiniteStateMachine<State, Event>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useFiniteStateMachine = exports.ObservableFiniteStateMachine = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const structures_1 = require("@blackglory/structures");
|
|
6
|
+
const observable_hooks_1 = require("observable-hooks");
|
|
7
|
+
const use_force_update_1 = require("./use-force-update");
|
|
8
|
+
var structures_2 = require("@blackglory/structures");
|
|
9
|
+
Object.defineProperty(exports, "ObservableFiniteStateMachine", { enumerable: true, get: function () { return structures_2.ObservableFiniteStateMachine; } });
|
|
10
|
+
function useFiniteStateMachine(schema, initialState) {
|
|
11
|
+
const forceUpdate = (0, use_force_update_1.useForceUpdate)();
|
|
12
|
+
const fsm = (0, react_1.useMemo)(() => new structures_1.ObservableFiniteStateMachine(schema, initialState), [schema]);
|
|
13
|
+
(0, observable_hooks_1.useSubscription)((0, observable_hooks_1.useObservable)(() => fsm.observeStateChanges(), [fsm]), forceUpdate);
|
|
14
|
+
return fsm;
|
|
15
|
+
}
|
|
16
|
+
exports.useFiniteStateMachine = useFiniteStateMachine;
|
|
17
|
+
//# sourceMappingURL=use-finite-state-machine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-finite-state-machine.js","sourceRoot":"","sources":["../../src/use-finite-state-machine.ts"],"names":[],"mappings":";;;AAAA,iCAA+B;AAC/B,uDAG+B;AAC/B,uDAAiE;AACjE,yDAAmD;AAEnD,qDAG+B;AAF7B,0HAAA,4BAA4B,OAAA;AAI9B,SAAgB,qBAAqB,CACnC,MAA+C,EAC/C,YAAmB;IAEnB,MAAM,WAAW,GAAG,IAAA,iCAAc,GAAE,CAAA;IACpC,MAAM,GAAG,GAAG,IAAA,eAAO,EACjB,GAAG,EAAE,CAAC,IAAI,yCAA4B,CAAC,MAAM,EAAE,YAAY,CAAC,EAC5D,CAAC,MAAM,CAAC,CACT,CAAA;IACD,IAAA,kCAAe,EACb,IAAA,gCAAa,EAAC,GAAG,EAAE,CAAC,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EACrD,WAAW,CACZ,CAAA;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAdD,sDAcC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function useForceUpdate(): () => void;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useForceUpdate = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
function useForceUpdate() {
|
|
6
|
+
const [, setState] = (0, react_1.useState)({});
|
|
7
|
+
return () => setState({});
|
|
8
|
+
}
|
|
9
|
+
exports.useForceUpdate = useForceUpdate;
|
|
10
|
+
//# sourceMappingURL=use-force-update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-force-update.js","sourceRoot":"","sources":["../../src/use-force-update.ts"],"names":[],"mappings":";;;AAAA,iCAAgC;AAEhC,SAAgB,cAAc;IAC5B,MAAM,CAAC,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAC,EAAE,CAAC,CAAA;IAEjC,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;AAC3B,CAAC;AAJD,wCAIC"}
|
|
@@ -4,8 +4,12 @@ exports.useIncrement = void 0;
|
|
|
4
4
|
const react_1 = require("react");
|
|
5
5
|
function useIncrement(initialValue) {
|
|
6
6
|
const [value, setValue] = (0, react_1.useState)(initialValue);
|
|
7
|
-
const increment = (0, react_1.useCallback)((step = 1) =>
|
|
8
|
-
|
|
7
|
+
const increment = (0, react_1.useCallback)((step = 1) => {
|
|
8
|
+
setValue(value => value + step);
|
|
9
|
+
}, []);
|
|
10
|
+
const reset = (0, react_1.useCallback)(() => {
|
|
11
|
+
setValue(initialValue);
|
|
12
|
+
}, []);
|
|
9
13
|
return [value, increment, reset];
|
|
10
14
|
}
|
|
11
15
|
exports.useIncrement = useIncrement;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-increment.js","sourceRoot":"","sources":["../../src/use-increment.ts"],"names":[],"mappings":";;;AAAA,iCAA6C;AAE7C,SAAgB,YAAY,CAC1B,YAAoB;IAEpB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAE,IAAA,gBAAQ,EAAC,YAAY,CAAC,CAAA;IAC/C,MAAM,SAAS,GAAG,IAAA,mBAAW,EAAC,CAAC,OAAe,CAAC,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"use-increment.js","sourceRoot":"","sources":["../../src/use-increment.ts"],"names":[],"mappings":";;;AAAA,iCAA6C;AAE7C,SAAgB,YAAY,CAC1B,YAAoB;IAEpB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAE,IAAA,gBAAQ,EAAC,YAAY,CAAC,CAAA;IAC/C,MAAM,SAAS,GAAG,IAAA,mBAAW,EAAC,CAAC,OAAe,CAAC,EAAE,EAAE;QACjD,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,CAAA;IACjC,CAAC,EAAE,EAAE,CAAC,CAAA;IACN,MAAM,KAAK,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QAC7B,QAAQ,CAAC,YAAY,CAAC,CAAA;IACxB,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;AAClC,CAAC;AAZD,oCAYC"}
|
|
@@ -4,14 +4,17 @@ exports.useStateCycle = void 0;
|
|
|
4
4
|
const react_1 = require("react");
|
|
5
5
|
function useStateCycle(stateList, initialStateIndex = 0) {
|
|
6
6
|
const [index, setIndex] = (0, react_1.useState)(initialStateIndex);
|
|
7
|
-
return [
|
|
7
|
+
return [
|
|
8
|
+
stateList[index],
|
|
9
|
+
() => setIndex(index => {
|
|
8
10
|
if (index + 1 < stateList.length) {
|
|
9
|
-
|
|
11
|
+
return index + 1;
|
|
10
12
|
}
|
|
11
13
|
else {
|
|
12
|
-
|
|
14
|
+
return 0;
|
|
13
15
|
}
|
|
14
|
-
}
|
|
16
|
+
})
|
|
17
|
+
];
|
|
15
18
|
}
|
|
16
19
|
exports.useStateCycle = useStateCycle;
|
|
17
20
|
//# sourceMappingURL=use-state-cycle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-state-cycle.js","sourceRoot":"","sources":["../../src/use-state-cycle.ts"],"names":[],"mappings":";;;AAAA,iCAAgC;AAEhC,SAAgB,aAAa,CAC3B,SAAsB,EACtB,oBAA4B,CAAC;IAE7B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAC,iBAAiB,CAAC,CAAA;IAErD,OAAO,
|
|
1
|
+
{"version":3,"file":"use-state-cycle.js","sourceRoot":"","sources":["../../src/use-state-cycle.ts"],"names":[],"mappings":";;;AAAA,iCAAgC;AAEhC,SAAgB,aAAa,CAC3B,SAAsB,EACtB,oBAA4B,CAAC;IAE7B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAC,iBAAiB,CAAC,CAAA;IAErD,OAAO;QACL,SAAS,CAAC,KAAK,CAAC;QAChB,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YACrB,IAAI,KAAK,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE;gBAChC,OAAO,KAAK,GAAG,CAAC,CAAA;aACjB;iBAAM;gBACL,OAAO,CAAC,CAAA;aACT;QACH,CAAC,CAAC;KACH,CAAA;AACH,CAAC;AAhBD,sCAgBC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function useStep<T>(steps: [T, ...T[]], initialStepIndex?: number): [currentStep: T, next: () => void, previous: () => void];
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useStep = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
function useStep(steps, initialStepIndex = 0) {
|
|
6
|
+
const [index, setIndex] = (0, react_1.useState)(initialStepIndex);
|
|
7
|
+
return [
|
|
8
|
+
steps[index],
|
|
9
|
+
() => {
|
|
10
|
+
setIndex(index => {
|
|
11
|
+
if (index === steps.length - 1) {
|
|
12
|
+
return index;
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
return index + 1;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
},
|
|
19
|
+
() => {
|
|
20
|
+
setIndex(index => {
|
|
21
|
+
if (index === 0) {
|
|
22
|
+
return index;
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
return index - 1;
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
];
|
|
30
|
+
}
|
|
31
|
+
exports.useStep = useStep;
|
|
32
|
+
//# sourceMappingURL=use-step.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-step.js","sourceRoot":"","sources":["../../src/use-step.ts"],"names":[],"mappings":";;;AAAA,iCAAgC;AAEhC,SAAgB,OAAO,CACrB,KAAkB,EAClB,mBAA2B,CAAC;IAE5B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAC,gBAAgB,CAAC,CAAA;IAEpD,OAAO;QACL,KAAK,CAAC,KAAK,CAAC;QACZ,GAAG,EAAE;YACH,QAAQ,CAAC,KAAK,CAAC,EAAE;gBACf,IAAI,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC9B,OAAO,KAAK,CAAA;iBACb;qBAAM;oBACL,OAAO,KAAK,GAAG,CAAC,CAAA;iBACjB;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,GAAG,EAAE;YACH,QAAQ,CAAC,KAAK,CAAC,EAAE;gBACf,IAAI,KAAK,KAAK,CAAC,EAAE;oBACf,OAAO,KAAK,CAAA;iBACb;qBAAM;oBACL,OAAO,KAAK,GAAG,CAAC,CAAA;iBACjB;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;KACF,CAAA;AACH,CAAC;AA3BD,0BA2BC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "extra-react-hooks",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.10",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"files": [
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
],
|
|
10
10
|
"main": "lib/es2018/index.js",
|
|
11
11
|
"types": "lib/es2018/index.d.ts",
|
|
12
|
+
"sideEffects": false,
|
|
12
13
|
"repository": "git@github.com:BlackGlory/extra-react-hooks.git",
|
|
13
14
|
"author": "BlackGlory <woshenmedoubuzhidao@blackglory.me>",
|
|
14
15
|
"license": "MIT",
|
|
@@ -37,23 +38,23 @@
|
|
|
37
38
|
}
|
|
38
39
|
},
|
|
39
40
|
"devDependencies": {
|
|
40
|
-
"@blackglory/wait-for": "^0.
|
|
41
|
-
"@commitlint/cli": "^
|
|
42
|
-
"@commitlint/config-conventional": "^
|
|
41
|
+
"@blackglory/wait-for": "^0.4.1",
|
|
42
|
+
"@commitlint/cli": "^16.0.1",
|
|
43
|
+
"@commitlint/config-conventional": "^16.0.0",
|
|
43
44
|
"@rollup/plugin-commonjs": "^21.0.1",
|
|
44
45
|
"@rollup/plugin-json": "^4.1.0",
|
|
45
|
-
"@rollup/plugin-node-resolve": "^13.
|
|
46
|
-
"@rollup/plugin-replace": "^3.0.
|
|
46
|
+
"@rollup/plugin-node-resolve": "^13.1.3",
|
|
47
|
+
"@rollup/plugin-replace": "^3.0.1",
|
|
47
48
|
"@rollup/plugin-typescript": "^8.3.0",
|
|
48
49
|
"@testing-library/react": "^12.1.2",
|
|
49
50
|
"@testing-library/react-hooks": "^7.0.2",
|
|
50
|
-
"@types/jasmine": "^3.10.
|
|
51
|
-
"@types/react": "^17.0.
|
|
52
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
|
53
|
-
"@typescript-eslint/parser": "^5.
|
|
54
|
-
"eslint": "^8.
|
|
55
|
-
"husky": "
|
|
56
|
-
"karma": "^6.3.
|
|
51
|
+
"@types/jasmine": "^3.10.3",
|
|
52
|
+
"@types/react": "^17.0.37",
|
|
53
|
+
"@typescript-eslint/eslint-plugin": "^5.9.0",
|
|
54
|
+
"@typescript-eslint/parser": "^5.9.0",
|
|
55
|
+
"eslint": "^8.6.0",
|
|
56
|
+
"husky": "4",
|
|
57
|
+
"karma": "^6.3.9",
|
|
57
58
|
"karma-chrome-launcher": "^3.1.0",
|
|
58
59
|
"karma-jasmine": "^4.0.1",
|
|
59
60
|
"karma-webpack": "^5.0.0",
|
|
@@ -62,7 +63,7 @@
|
|
|
62
63
|
"react-dom": "^17.0.2",
|
|
63
64
|
"react-test-renderer": "^17.0.2",
|
|
64
65
|
"rimraf": "^3.0.2",
|
|
65
|
-
"rollup": "^2.
|
|
66
|
+
"rollup": "^2.63.0",
|
|
66
67
|
"rollup-plugin-analyzer": "^4.0.0",
|
|
67
68
|
"rollup-plugin-terser": "^7.0.2",
|
|
68
69
|
"standard-version": "^9.3.2",
|
|
@@ -70,12 +71,15 @@
|
|
|
70
71
|
"tsconfig-paths-webpack-plugin": "^3.5.2",
|
|
71
72
|
"tscpaths": "^0.0.9",
|
|
72
73
|
"tslib": "^2.3.1",
|
|
73
|
-
"typescript": "^4.
|
|
74
|
-
"webpack": "^5.
|
|
74
|
+
"typescript": "^4.5.4",
|
|
75
|
+
"webpack": "^5.65.0"
|
|
75
76
|
},
|
|
76
77
|
"dependencies": {
|
|
77
78
|
"@blackglory/errors": "^1.1.2",
|
|
78
|
-
"@blackglory/
|
|
79
|
+
"@blackglory/structures": "^0.3.2",
|
|
80
|
+
"@blackglory/types": "^0.6.5",
|
|
81
|
+
"observable-hooks": "^4.2.0",
|
|
82
|
+
"rxjs": "^7.5.1"
|
|
79
83
|
},
|
|
80
84
|
"peerDependencies": {
|
|
81
85
|
"react": ">= 16.8"
|
package/CHANGELOG.md
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
|
-
|
|
5
|
-
### [0.1.6](https://github.com/BlackGlory/extra-react-hooks/compare/v0.1.5...v0.1.6) (2021-11-15)
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
### Features
|
|
9
|
-
|
|
10
|
-
* add useResizeObserver ([8a4e317](https://github.com/BlackGlory/extra-react-hooks/commit/8a4e317921387fa26e768796e52c8fe44e9b347e))
|
|
11
|
-
|
|
12
|
-
### [0.1.5](https://github.com/BlackGlory/extra-react-hooks/compare/v0.1.4...v0.1.5) (2021-10-04)
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
### Features
|
|
16
|
-
|
|
17
|
-
* add useIncrement ([e5f1fc4](https://github.com/BlackGlory/extra-react-hooks/commit/e5f1fc442a2c69aa490fed873cc21fe4ad9ff76b))
|
|
18
|
-
|
|
19
|
-
### [0.1.4](https://github.com/BlackGlory/extra-react-hooks/compare/v0.1.3...v0.1.4) (2021-08-18)
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
### Features
|
|
23
|
-
|
|
24
|
-
* add useIsMounted ([32a1295](https://github.com/BlackGlory/extra-react-hooks/commit/32a12951aab92ae5734f4caddf45021e2bbed793))
|
|
25
|
-
|
|
26
|
-
### [0.1.3](https://github.com/BlackGlory/extra-react-hooks/compare/v0.1.2...v0.1.3) (2021-08-18)
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
### Features
|
|
30
|
-
|
|
31
|
-
* add useStateCycle ([a48da21](https://github.com/BlackGlory/extra-react-hooks/commit/a48da211f364688daa63a0bd5406fa2f2c61eba7))
|
|
32
|
-
|
|
33
|
-
### [0.1.2](https://github.com/BlackGlory/extra-react-hooks/compare/v0.1.1...v0.1.2) (2021-07-03)
|
|
34
|
-
|
|
35
|
-
### [0.1.1](https://github.com/BlackGlory/extra-react-hooks/compare/v0.1.0...v0.1.1) (2021-06-29)
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
### Features
|
|
39
|
-
|
|
40
|
-
* add useMount ([070045a](https://github.com/BlackGlory/extra-react-hooks/commit/070045ac0f209712eadd0f4e79c1328d20745b04))
|
|
41
|
-
|
|
42
|
-
## 0.1.0 (2021-06-04)
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
### Features
|
|
46
|
-
|
|
47
|
-
* add useToggle, useSingleSelection ([0b9ee92](https://github.com/BlackGlory/extra-react-hooks/commit/0b9ee92597a230989b51b7242f529f0a36590d1f))
|