@faiwer/react 0.8.4 → 19.0.1
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 +43 -21
- package/dist/core/actions/applyAction.d.ts.map +1 -1
- package/dist/core/actions/applyAction.js +6 -0
- package/dist/core/actions/applyAction.js.map +1 -1
- package/dist/core/actions/catchError.action.d.ts +10 -0
- package/dist/core/actions/catchError.action.d.ts.map +1 -0
- package/dist/core/actions/catchError.action.js +51 -0
- package/dist/core/actions/catchError.action.js.map +1 -0
- package/dist/core/actions/createComment.action.d.ts +2 -2
- package/dist/core/actions/createComment.action.d.ts.map +1 -1
- package/dist/core/actions/createComment.action.js +1 -8
- package/dist/core/actions/createComment.action.js.map +1 -1
- package/dist/core/actions/createContainer.action.d.ts +7 -0
- package/dist/core/actions/createContainer.action.d.ts.map +1 -0
- package/dist/core/actions/createContainer.action.js +28 -0
- package/dist/core/actions/createContainer.action.js.map +1 -0
- package/dist/core/actions/createTag.action.d.ts +2 -1
- package/dist/core/actions/createTag.action.d.ts.map +1 -1
- package/dist/core/actions/createTag.action.js +22 -4
- package/dist/core/actions/createTag.action.js.map +1 -1
- package/dist/core/actions/createText.action.d.ts.map +1 -1
- package/dist/core/actions/createText.action.js +2 -5
- package/dist/core/actions/createText.action.js.map +1 -1
- package/dist/core/actions/dom/attributes.d.ts.map +1 -1
- package/dist/core/actions/dom/attributes.js +4 -1
- package/dist/core/actions/dom/attributes.js.map +1 -1
- package/dist/core/actions/dom/css.d.ts.map +1 -1
- package/dist/core/actions/dom/css.js +2 -1
- package/dist/core/actions/dom/css.js.map +1 -1
- package/dist/core/actions/dom/events.d.ts.map +1 -1
- package/dist/core/actions/dom/events.js +15 -3
- package/dist/core/actions/dom/events.js.map +1 -1
- package/dist/core/actions/dom/value.d.ts +18 -0
- package/dist/core/actions/dom/value.d.ts.map +1 -0
- package/dist/core/actions/dom/value.js +211 -0
- package/dist/core/actions/dom/value.js.map +1 -0
- package/dist/core/actions/helpers.d.ts +17 -10
- package/dist/core/actions/helpers.d.ts.map +1 -1
- package/dist/core/actions/helpers.js +64 -70
- package/dist/core/actions/helpers.js.map +1 -1
- package/dist/core/actions/relayout.action.d.ts +2 -1
- package/dist/core/actions/relayout.action.d.ts.map +1 -1
- package/dist/core/actions/relayout.action.js +119 -30
- package/dist/core/actions/relayout.action.js.map +1 -1
- package/dist/core/actions/remove.action.d.ts +2 -2
- package/dist/core/actions/remove.action.d.ts.map +1 -1
- package/dist/core/actions/remove.action.js +20 -17
- package/dist/core/actions/remove.action.js.map +1 -1
- package/dist/core/actions/replace.action.d.ts +1 -1
- package/dist/core/actions/replace.action.d.ts.map +1 -1
- package/dist/core/actions/replace.action.js +34 -23
- package/dist/core/actions/replace.action.js.map +1 -1
- package/dist/core/actions/scheduleEffect.action.d.ts +7 -0
- package/dist/core/actions/scheduleEffect.action.d.ts.map +1 -0
- package/dist/core/actions/scheduleEffect.action.js +8 -0
- package/dist/core/actions/scheduleEffect.action.js.map +1 -0
- package/dist/core/actions/setAttr.action.d.ts +1 -1
- package/dist/core/actions/setAttr.action.d.ts.map +1 -1
- package/dist/core/actions/setAttr.action.js +47 -6
- package/dist/core/actions/setAttr.action.js.map +1 -1
- package/dist/core/actions/setProps.action.d.ts.map +1 -1
- package/dist/core/actions/setProps.action.js +2 -1
- package/dist/core/actions/setProps.action.js.map +1 -1
- package/dist/core/actions/setRef.action.d.ts +1 -1
- package/dist/core/actions/setRef.action.d.ts.map +1 -1
- package/dist/core/actions/setRef.action.js +5 -6
- package/dist/core/actions/setRef.action.js.map +1 -1
- package/dist/core/actions/setText.action.d.ts.map +1 -1
- package/dist/core/actions/setText.action.js +3 -3
- package/dist/core/actions/setText.action.js.map +1 -1
- package/dist/core/classComponent.d.ts +2 -1
- package/dist/core/classComponent.d.ts.map +1 -1
- package/dist/core/classComponent.js +20 -12
- package/dist/core/classComponent.js.map +1 -1
- package/dist/core/compact.d.ts +10 -29
- package/dist/core/compact.d.ts.map +1 -1
- package/dist/core/compact.js +12 -100
- package/dist/core/compact.js.map +1 -1
- package/dist/core/components.d.ts +6 -4
- package/dist/core/components.d.ts.map +1 -1
- package/dist/core/components.js +26 -8
- package/dist/core/components.js.map +1 -1
- package/dist/core/createElement.d.ts +2 -8
- package/dist/core/createElement.d.ts.map +1 -1
- package/dist/core/createElement.js +3 -1
- package/dist/core/createElement.js.map +1 -1
- package/dist/core/reactNodeToFiberNode.d.ts +3 -1
- package/dist/core/reactNodeToFiberNode.d.ts.map +1 -1
- package/dist/core/reactNodeToFiberNode.js +80 -17
- package/dist/core/reactNodeToFiberNode.js.map +1 -1
- package/dist/core/reconciliation/app.js +3 -3
- package/dist/core/reconciliation/app.js.map +1 -1
- package/dist/core/reconciliation/collect/fromApp.d.ts +2 -1
- package/dist/core/reconciliation/collect/fromApp.d.ts.map +1 -1
- package/dist/core/reconciliation/collect/fromApp.js +7 -26
- package/dist/core/reconciliation/collect/fromApp.js.map +1 -1
- package/dist/core/reconciliation/collect/fromChildrenPair.d.ts +2 -1
- package/dist/core/reconciliation/collect/fromChildrenPair.d.ts.map +1 -1
- package/dist/core/reconciliation/collect/fromChildrenPair.js +37 -10
- package/dist/core/reconciliation/collect/fromChildrenPair.js.map +1 -1
- package/dist/core/reconciliation/collect/fromComponent.d.ts +3 -2
- package/dist/core/reconciliation/collect/fromComponent.d.ts.map +1 -1
- package/dist/core/reconciliation/collect/fromComponent.js +27 -9
- package/dist/core/reconciliation/collect/fromComponent.js.map +1 -1
- package/dist/core/reconciliation/collect/fromFiberPair.d.ts +2 -1
- package/dist/core/reconciliation/collect/fromFiberPair.d.ts.map +1 -1
- package/dist/core/reconciliation/collect/fromFiberPair.js +8 -5
- package/dist/core/reconciliation/collect/fromFiberPair.js.map +1 -1
- package/dist/core/reconciliation/collect/fromNewFiber.d.ts.map +1 -1
- package/dist/core/reconciliation/collect/fromNewFiber.js +7 -15
- package/dist/core/reconciliation/collect/fromNewFiber.js.map +1 -1
- package/dist/core/reconciliation/effects.d.ts +2 -2
- package/dist/core/reconciliation/effects.d.ts.map +1 -1
- package/dist/core/reconciliation/effects.js +52 -4
- package/dist/core/reconciliation/effects.js.map +1 -1
- package/dist/core/reconciliation/errors/ReactError.d.ts +15 -0
- package/dist/core/reconciliation/errors/ReactError.d.ts.map +1 -0
- package/dist/core/reconciliation/errors/ReactError.js +56 -0
- package/dist/core/reconciliation/errors/ReactError.js.map +1 -0
- package/dist/core/reconciliation/errors/stack.d.ts +8 -2
- package/dist/core/reconciliation/errors/stack.d.ts.map +1 -1
- package/dist/core/reconciliation/errors/stack.js +65 -8
- package/dist/core/reconciliation/errors/stack.js.map +1 -1
- package/dist/core/reconciliation/fibers.d.ts +1 -0
- package/dist/core/reconciliation/fibers.d.ts.map +1 -1
- package/dist/core/reconciliation/fibers.js +3 -2
- package/dist/core/reconciliation/fibers.js.map +1 -1
- package/dist/core/reconciliation/heap.d.ts +18 -0
- package/dist/core/reconciliation/heap.d.ts.map +1 -0
- package/dist/core/reconciliation/heap.js +81 -0
- package/dist/core/reconciliation/heap.js.map +1 -0
- package/dist/core/reconciliation/invalidateFiber.d.ts.map +1 -1
- package/dist/core/reconciliation/invalidateFiber.js +6 -5
- package/dist/core/reconciliation/invalidateFiber.js.map +1 -1
- package/dist/core/reconciliation/mount.d.ts.map +1 -1
- package/dist/core/reconciliation/mount.js +24 -6
- package/dist/core/reconciliation/mount.js.map +1 -1
- package/dist/core/reconciliation/postCommit.d.ts +1 -1
- package/dist/core/reconciliation/postCommit.d.ts.map +1 -1
- package/dist/core/reconciliation/postCommit.js +17 -4
- package/dist/core/reconciliation/postCommit.js.map +1 -1
- package/dist/core/reconciliation/queue.d.ts +21 -0
- package/dist/core/reconciliation/queue.d.ts.map +1 -0
- package/dist/core/reconciliation/queue.js +55 -0
- package/dist/core/reconciliation/queue.js.map +1 -0
- package/dist/core/reconciliation/render.d.ts.map +1 -1
- package/dist/core/reconciliation/render.js +9 -3
- package/dist/core/reconciliation/render.js.map +1 -1
- package/dist/core/reconciliation/runFiberComponents.d.ts +3 -1
- package/dist/core/reconciliation/runFiberComponents.d.ts.map +1 -1
- package/dist/core/reconciliation/runFiberComponents.js +33 -5
- package/dist/core/reconciliation/runFiberComponents.js.map +1 -1
- package/dist/core/reconciliation/typeGuards.d.ts +3 -0
- package/dist/core/reconciliation/typeGuards.d.ts.map +1 -1
- package/dist/core/reconciliation/typeGuards.js +13 -0
- package/dist/core/reconciliation/typeGuards.js.map +1 -1
- package/dist/core/reconciliation/validateApp.d.ts +1 -1
- package/dist/core/reconciliation/validateApp.d.ts.map +1 -1
- package/dist/core/reconciliation/validateApp.js +28 -21
- package/dist/core/reconciliation/validateApp.js.map +1 -1
- package/dist/hooks/helpers.d.ts +3 -3
- package/dist/hooks/helpers.d.ts.map +1 -1
- package/dist/hooks/helpers.js +3 -2
- package/dist/hooks/helpers.js.map +1 -1
- package/dist/hooks/index.d.ts +2 -1
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +2 -1
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/useContext.d.ts.map +1 -1
- package/dist/hooks/useContext.js +6 -6
- package/dist/hooks/useContext.js.map +1 -1
- package/dist/hooks/useEffect.d.ts +2 -1
- package/dist/hooks/useEffect.d.ts.map +1 -1
- package/dist/hooks/useEffect.js +21 -7
- package/dist/hooks/useEffect.js.map +1 -1
- package/dist/hooks/useError.d.ts +5 -0
- package/dist/hooks/useError.d.ts.map +1 -0
- package/dist/hooks/useError.js +19 -0
- package/dist/hooks/useError.js.map +1 -0
- package/dist/hooks/useReducer.d.ts +7 -0
- package/dist/hooks/useReducer.d.ts.map +1 -0
- package/dist/hooks/useReducer.js +10 -0
- package/dist/hooks/useReducer.js.map +1 -0
- package/dist/hooks/useRef.d.ts +8 -3
- package/dist/hooks/useRef.d.ts.map +1 -1
- package/dist/hooks/useRef.js +27 -0
- package/dist/hooks/useRef.js.map +1 -1
- package/dist/hooks/useState.d.ts +1 -1
- package/dist/hooks/useState.d.ts.map +1 -1
- package/dist/hooks/useState.js +3 -6
- package/dist/hooks/useState.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/jsx.d.ts +159 -44
- package/dist/mocks.d.ts +0 -7
- package/dist/mocks.d.ts.map +1 -1
- package/dist/mocks.js +0 -6
- package/dist/mocks.js.map +1 -1
- package/dist/react.d.ts +46 -0
- package/dist/types/actions.d.ts +23 -5
- package/dist/types/actions.d.ts.map +1 -1
- package/dist/types/app.d.ts +17 -3
- package/dist/types/app.d.ts.map +1 -1
- package/dist/types/attributes.d.ts +42 -0
- package/dist/types/attributes.d.ts.map +1 -0
- package/dist/types/attributes.js +2 -0
- package/dist/types/attributes.js.map +1 -0
- package/dist/types/common.d.ts +10 -1
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/component.d.ts +11 -2
- package/dist/types/component.d.ts.map +1 -1
- package/dist/types/context.d.ts +3 -2
- package/dist/types/context.d.ts.map +1 -1
- package/dist/types/core.d.ts +17 -13
- package/dist/types/core.d.ts.map +1 -1
- package/dist/types/dom.d.ts +23 -22
- package/dist/types/dom.d.ts.map +1 -1
- package/dist/types/events.d.ts +18 -11
- package/dist/types/events.d.ts.map +1 -1
- package/dist/types/fiber.d.ts +30 -12
- package/dist/types/fiber.d.ts.map +1 -1
- package/dist/types/fiber.js +5 -1
- package/dist/types/fiber.js.map +1 -1
- package/dist/types/hooks.d.ts +16 -6
- package/dist/types/hooks.d.ts.map +1 -1
- package/dist/types/react.d.ts +31 -0
- package/dist/types/react.d.ts.map +1 -0
- package/dist/types/react.js +2 -0
- package/dist/types/react.js.map +1 -0
- package/dist/types/refs.d.ts +5 -8
- package/dist/types/refs.d.ts.map +1 -1
- package/package.json +11 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/hooks/index.js
CHANGED
|
@@ -4,6 +4,7 @@ export { useEffect, useLayoutEffect } from './useEffect';
|
|
|
4
4
|
export { useStableCallback } from './useStableCallback';
|
|
5
5
|
export { useId } from './useId';
|
|
6
6
|
export { useMemo } from './useMemo';
|
|
7
|
-
export { useRef } from './useRef';
|
|
7
|
+
export { useRef, forwardRef } from './useRef';
|
|
8
8
|
export { useState } from './useState';
|
|
9
|
+
export { useError } from './useError';
|
|
9
10
|
//# sourceMappingURL=index.js.map
|
package/dist/hooks/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useContext.d.ts","sourceRoot":"","sources":["../../src/hooks/useContext.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,YAAY,EAIlB,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"useContext.d.ts","sourceRoot":"","sources":["../../src/hooks/useContext.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,YAAY,EAIlB,MAAM,UAAU,CAAC;AAKlB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,qCAmB9B,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,UAAU,GAAI,CAAC,4BA0D3B,CAAC"}
|
package/dist/hooks/useContext.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { getAppByFiber } from '../core/reconciliation/app';
|
|
2
2
|
import { getNextHookOrCreate } from './helpers';
|
|
3
3
|
import { isFiberDead } from '../core/reconciliation/fibers';
|
|
4
|
+
import { ReactError } from '../core/reconciliation/errors/ReactError';
|
|
4
5
|
/**
|
|
5
6
|
* Creates a React context object that can be used to pass data through the
|
|
6
7
|
* component tree without having to pass props down manually at every level.
|
|
@@ -67,10 +68,10 @@ ctx) => {
|
|
|
67
68
|
ctx,
|
|
68
69
|
providerFiber,
|
|
69
70
|
move(newFiber) {
|
|
71
|
+
if (newFiber.type !== 'component') {
|
|
72
|
+
throw new ReactError(newFiber, `useContext can be used only within coponents`);
|
|
73
|
+
}
|
|
70
74
|
if (providerFiber) {
|
|
71
|
-
if (providerFiber.id < 0) {
|
|
72
|
-
throw 'again';
|
|
73
|
-
}
|
|
74
75
|
providerFiber.data.consumers.delete(fiber);
|
|
75
76
|
providerFiber.data.consumers.add(newFiber);
|
|
76
77
|
}
|
|
@@ -78,17 +79,16 @@ ctx) => {
|
|
|
78
79
|
},
|
|
79
80
|
destructor: () => {
|
|
80
81
|
providerFiber?.data.consumers.delete(fiber);
|
|
81
|
-
//
|
|
82
|
+
// TODO: add a test ^.
|
|
82
83
|
},
|
|
83
84
|
};
|
|
84
85
|
});
|
|
85
86
|
if (item.providerFiber) {
|
|
86
87
|
if (isFiberDead(item.providerFiber)) {
|
|
87
|
-
throw new
|
|
88
|
+
throw new ReactError(item.providerFiber, `Cannot read from dead context provider`);
|
|
88
89
|
}
|
|
89
90
|
const { tempContext } = getAppByFiber(item.providerFiber);
|
|
90
91
|
const { id } = item.providerFiber;
|
|
91
|
-
// I change ID in displace. ^
|
|
92
92
|
if (tempContext.has(id)) {
|
|
93
93
|
// When we're here it means the provider's value was invalidated during
|
|
94
94
|
// the active render.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useContext.js","sourceRoot":"","sources":["../../src/hooks/useContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAQrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"useContext.js","sourceRoot":"","sources":["../../src/hooks/useContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { type EffectHandler } from '../types';
|
|
1
|
+
import { type EffectMode, type EffectHandler } from '../types';
|
|
2
|
+
export declare function useBaseEffect(mode: EffectMode, fn: EffectHandler, deps?: unknown[]): void;
|
|
2
3
|
/**
|
|
3
4
|
* A hook that performs side effects in functional components. This enhanced
|
|
4
5
|
* version supports async functions and provides an AbortSignal for cleanup.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEffect.d.ts","sourceRoot":"","sources":["../../src/hooks/useEffect.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useEffect.d.ts","sourceRoot":"","sources":["../../src/hooks/useEffect.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,UAAU,EACf,KAAK,aAAa,EAEnB,MAAM,UAAU,CAAC;AAGlB,wBAAgB,aAAa,CAC3B,IAAI,EAAE,UAAU,EAChB,EAAE,EAAE,aAAa,EACjB,IAAI,CAAC,EAAE,OAAO,EAAE,QA+BjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,SAAS,2DAWrB,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,eAAe,2DAW3B,CAAC"}
|
package/dist/hooks/useEffect.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getCurrentComponentFiber, isFirstFiberRender, } from '../core/components';
|
|
2
2
|
import { checkDeps, getNextHookOrCreate, saveDeps } from './helpers';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const item = getNextHookOrCreate('effect', () => {
|
|
3
|
+
export function useBaseEffect(mode, fn, deps) {
|
|
4
|
+
const item = getNextHookOrCreate('effect', (fiber) => {
|
|
6
5
|
const item = {
|
|
7
6
|
type: 'effect',
|
|
8
7
|
mode,
|
|
@@ -10,12 +9,23 @@ function useBaseEffect(mode, fn, deps) {
|
|
|
10
9
|
destructor: null,
|
|
11
10
|
deps: deps ? saveDeps(deps) : null,
|
|
12
11
|
};
|
|
13
|
-
|
|
12
|
+
fiber.data.actions.push({
|
|
13
|
+
type: 'ScheduleEffect',
|
|
14
|
+
fiber,
|
|
15
|
+
mode,
|
|
16
|
+
fn: () => runEffect(item),
|
|
17
|
+
});
|
|
14
18
|
return item;
|
|
15
19
|
});
|
|
16
20
|
item.fn = fn;
|
|
17
21
|
if (!isFirstFiberRender() && (!deps || !checkDeps(item.deps, deps))) {
|
|
18
|
-
|
|
22
|
+
const fiber = getCurrentComponentFiber();
|
|
23
|
+
fiber.data.actions.push({
|
|
24
|
+
type: 'ScheduleEffect',
|
|
25
|
+
fiber,
|
|
26
|
+
mode,
|
|
27
|
+
fn: () => runEffect(item),
|
|
28
|
+
});
|
|
19
29
|
item.deps = deps ? saveDeps(deps) : null;
|
|
20
30
|
}
|
|
21
31
|
}
|
|
@@ -86,8 +96,12 @@ deps) => {
|
|
|
86
96
|
useBaseEffect('layout', fn, deps);
|
|
87
97
|
};
|
|
88
98
|
const runEffect = (item) => {
|
|
89
|
-
item.destructor
|
|
99
|
+
const destructor = item.destructor;
|
|
100
|
+
// Clear it before running to avoid double-calling in the case of an error.
|
|
101
|
+
// "Remove" action would try to call it again, because it calls all fiber's
|
|
102
|
+
// hook destructors.
|
|
90
103
|
item.destructor = null;
|
|
104
|
+
destructor?.();
|
|
91
105
|
const controller = new AbortController();
|
|
92
106
|
const result = item.fn(controller.signal);
|
|
93
107
|
item.destructor = function effectDestructor() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEffect.js","sourceRoot":"","sources":["../../src/hooks/useEffect.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"useEffect.js","sourceRoot":"","sources":["../../src/hooks/useEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErE,MAAM,UAAU,aAAa,CAC3B,IAAgB,EAChB,EAAiB,EACjB,IAAgB,EAChB;IACA,MAAM,IAAI,GAAG,mBAAmB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAiB,EAAE,CAAC;QACnE,MAAM,IAAI,GAAkB;YAC1B,IAAI,EAAE,QAAQ;YACd,IAAI;YACJ,EAAE;YACF,UAAU,EAAE,IAAI;YAChB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;SACnC,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACtB,IAAI,EAAE,gBAAgB;YACtB,KAAK;YACL,IAAI;YACJ,EAAE,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC;SAC1B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IAAA,CACb,CAAC,CAAC;IAEH,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IAEb,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAK,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;QACrE,MAAM,KAAK,GAAG,wBAAwB,EAAE,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACtB,IAAI,EAAE,gBAAgB;YACtB,KAAK;YACL,IAAI;YACJ,EAAE,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC;SAC1B,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3C,CAAC;AAAA,CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;AACvB;;+BAE+B;AAC/B,EAAiB;AACjB;;aAEa;AACb,IAAgB,EAChB,EAAE,CAAC;IACH,aAAa,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;AAAA,CACnC,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;AAC7B;;+BAE+B;AAC/B,EAAiB;AACjB;;aAEa;AACb,IAAgB,EAChB,EAAE,CAAC;IACH,aAAa,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;AAAA,CACnC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,IAAmB,EAAQ,EAAE,CAAC;IAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACnC,2EAA2E;IAC3E,2EAA2E;IAC3E,oBAAoB;IACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,EAAE,CAAC;IAEf,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAE1C,IAAI,CAAC,UAAU,GAAG,SAAS,gBAAgB,GAAG;QAC5C,UAAU,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;YACjC,MAAM,EAAE,CAAC;QACX,CAAC;IAAA,CACF,CAAC;AAAA,CACH,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ComponentFiberNode, ErrorHandler, FiberNode } from '../types';
|
|
2
|
+
export declare function useError(handler: ErrorHandler): void;
|
|
3
|
+
export declare const isErrorBoundary: (fiber: FiberNode) => fiber is ComponentFiberNode;
|
|
4
|
+
export declare const findClosestErrorBoundary: (fiber: FiberNode) => FiberNode | null;
|
|
5
|
+
//# sourceMappingURL=useError.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useError.d.ts","sourceRoot":"","sources":["../../src/hooks/useError.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,YAAY,EACZ,SAAS,EAEV,MAAM,oBAAoB,CAAC;AAE5B,wBAAgB,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAUpD;AAED,eAAO,MAAM,eAAe,mDAG8B,CAAC;AAE3D,eAAO,MAAM,wBAAwB,wCAQpC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { getNextHookOrCreate } from './helpers';
|
|
2
|
+
export function useError(handler) {
|
|
3
|
+
const item = getNextHookOrCreate('error', (fiber) => {
|
|
4
|
+
fiber.data.isErrorBoundary = true;
|
|
5
|
+
return {
|
|
6
|
+
type: 'error',
|
|
7
|
+
fn: handler,
|
|
8
|
+
};
|
|
9
|
+
});
|
|
10
|
+
item.fn = handler;
|
|
11
|
+
}
|
|
12
|
+
export const isErrorBoundary = (fiber) => fiber.type === 'component' && fiber.data.isErrorBoundary;
|
|
13
|
+
export const findClosestErrorBoundary = (fiber) => {
|
|
14
|
+
while (fiber.parent && !isErrorBoundary(fiber.parent)) {
|
|
15
|
+
fiber = fiber.parent;
|
|
16
|
+
}
|
|
17
|
+
return fiber.parent ?? null;
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=useError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useError.js","sourceRoot":"","sources":["../../src/hooks/useError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAQhD,MAAM,UAAU,QAAQ,CAAC,OAAqB,EAAQ;IACpD,MAAM,IAAI,GAAG,mBAAmB,CAAC,OAAO,EAAE,CAAC,KAAK,EAAgB,EAAE,CAAC;QACjE,KAAK,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAClC,OAAO;YACL,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,OAAO;SACZ,CAAC;IAAA,CACH,CAAC,CAAC;IAEH,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC;AAAA,CACnB;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,KAAgB,EACa,EAAE,CAC/B,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;AAE3D,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,KAAgB,EACE,EAAE,CAAC;IACrB,OAAO,KAAK,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACtD,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC;AAAA,CAC7B,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type Dispatch } from '../types';
|
|
2
|
+
export declare function useReducer<S, I>(reducer: (st: S) => S, initialArg: I & S, initializer: (initialArg: I & S) => S): [S, () => void];
|
|
3
|
+
export declare function useReducer<S>(reducer: (st: S) => S, initialArg: S, initializer?: undefined): [S, () => void];
|
|
4
|
+
export declare function useReducer<S, A, I>(reducer: (st: S, action: A) => S, initialArg: I & S, initializer: (initialArg: I & S) => S): [S, Dispatch<A>];
|
|
5
|
+
export declare function useReducer<S, A, I>(reducer: (st: S, action: A) => S, initialArg: I, initializer: (initialArg: I) => S): [S, Dispatch<A>];
|
|
6
|
+
export declare function useReducer<S, A>(reducer: (st: S, action: A) => S, initialArg: S, initializer?: undefined): [S, Dispatch<A>];
|
|
7
|
+
//# sourceMappingURL=useReducer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useReducer.d.ts","sourceRoot":"","sources":["../../src/hooks/useReducer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAIzC,wBAAgB,UAAU,CAAC,CAAC,EAAE,CAAC,EAC7B,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EACrB,UAAU,EAAE,CAAC,GAAG,CAAC,EACjB,WAAW,EAAE,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GACpC,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC;AAGnB,wBAAgB,UAAU,CAAC,CAAC,EAC1B,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EACrB,UAAU,EAAE,CAAC,EACb,WAAW,CAAC,EAAE,SAAS,GACtB,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC;AAGnB,wBAAgB,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAChC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAChC,UAAU,EAAE,CAAC,GAAG,CAAC,EACjB,WAAW,EAAE,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GACpC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAGpB,wBAAgB,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAChC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAChC,UAAU,EAAE,CAAC,EACb,WAAW,EAAE,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,GAChC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAGpB,wBAAgB,UAAU,CAAC,CAAC,EAAE,CAAC,EAC7B,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAChC,UAAU,EAAE,CAAC,EACb,WAAW,CAAC,EAAE,SAAS,GACtB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { useState } from './useState';
|
|
2
|
+
// Implementation
|
|
3
|
+
export function useReducer(reducer, initialArg, initializer) {
|
|
4
|
+
const [state, setState] = useState(() => initializer ? initializer(initialArg) : initialArg);
|
|
5
|
+
const [dispatch] = useState(() => (action) => {
|
|
6
|
+
setState((prevSt) => reducer(prevSt, action));
|
|
7
|
+
});
|
|
8
|
+
return [state, dispatch];
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=useReducer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useReducer.js","sourceRoot":"","sources":["../../src/hooks/useReducer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAqCtC,iBAAiB;AACjB,MAAM,UAAU,UAAU,CACxB,OAAgC,EAChC,UAAa,EACb,WAAwC,EACtB;IAClB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAI,GAAG,EAAE,CACzC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CACnD,CAAC;IACF,MAAM,CAAC,QAAQ,CAAC,GAAG,QAAQ,CACzB,GAAgB,EAAE,CAChB,CAAC,MAAS,EAAQ,EAAE,CAAC;QACnB,QAAQ,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAAA,CAC/C,CACJ,CAAC;IAEF,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAAA,CAC1B"}
|
package/dist/hooks/useRef.d.ts
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
import { type Ref } from '../types';
|
|
2
|
-
export declare function useRef<T>():
|
|
3
|
-
export declare function useRef<T>(initialValue: T):
|
|
1
|
+
import { type RefObject, type UnknownProps, type Ref, type ReactComponent } from '../types';
|
|
2
|
+
export declare function useRef<T>(value: T): RefObject<T>;
|
|
3
|
+
export declare function useRef<T>(initialValue: T | null): RefObject<T | null>;
|
|
4
|
+
export declare function useRef<T>(initialValue: T | undefined): RefObject<T | undefined>;
|
|
5
|
+
export declare const forwardRef: <Props extends UnknownProps, R>(Component: (props: Props, ref?: Ref<R> | undefined) => import("../index.js").JsxElement) => ReactComponent<Props & {
|
|
6
|
+
ref?: Ref<R> | undefined;
|
|
7
|
+
}>;
|
|
8
|
+
export declare const useImperativeHandle: <T>(ref: Ref<T> | undefined, factory: () => T, deps?: unknown[] | undefined) => void;
|
|
4
9
|
//# sourceMappingURL=useRef.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRef.d.ts","sourceRoot":"","sources":["../../src/hooks/useRef.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"useRef.d.ts","sourceRoot":"","sources":["../../src/hooks/useRef.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,GAAG,EACR,KAAK,cAAc,EACpB,MAAM,UAAU,CAAC;AAIlB,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AAClD,wBAAgB,MAAM,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AACvE,wBAAgB,MAAM,CAAC,CAAC,EACtB,YAAY,EAAE,CAAC,GAAG,SAAS,GAC1B,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;AAa5B,eAAO,MAAM,UAAU,GAAI,KAAK,uBAAuB,CAAC;;EAMvD,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,CAAC,kFA2BpC,CAAC"}
|
package/dist/hooks/useRef.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { getNextHookOrCreate } from './helpers';
|
|
2
|
+
import { useBaseEffect } from './useEffect';
|
|
2
3
|
export function useRef(initialValue) {
|
|
3
4
|
const item = getNextHookOrCreate('ref', () => ({
|
|
4
5
|
type: 'ref',
|
|
@@ -6,4 +7,30 @@ export function useRef(initialValue) {
|
|
|
6
7
|
}));
|
|
7
8
|
return item.value;
|
|
8
9
|
}
|
|
10
|
+
export const forwardRef = (Component) => {
|
|
11
|
+
return function ForwardRef({ ref, ...props }) {
|
|
12
|
+
return Component(props, ref);
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
export const useImperativeHandle = (ref, factory, deps) => {
|
|
16
|
+
useBaseEffect('refsMount', () => {
|
|
17
|
+
if (!ref)
|
|
18
|
+
return;
|
|
19
|
+
const handle = factory();
|
|
20
|
+
if (typeof ref === 'function') {
|
|
21
|
+
ref(handle);
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
ref.current = handle;
|
|
25
|
+
}
|
|
26
|
+
return () => {
|
|
27
|
+
if (typeof ref === 'function') {
|
|
28
|
+
ref(null);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
ref.current = null;
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
}, deps ? [ref, ...deps] : undefined);
|
|
35
|
+
};
|
|
9
36
|
//# sourceMappingURL=useRef.js.map
|
package/dist/hooks/useRef.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRef.js","sourceRoot":"","sources":["../../src/hooks/useRef.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useRef.js","sourceRoot":"","sources":["../../src/hooks/useRef.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAO5C,MAAM,UAAU,MAAM,CAAI,YAAgB,EAAgB;IACxD,MAAM,IAAI,GAAG,mBAAmB,CAC9B,KAAK,EACL,GAAe,EAAE,CAAC,CAAC;QACjB,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,EAAE,OAAO,EAAE,YAAY,IAAI,SAAS,EAAE;KAC9C,CAAC,CACH,CAAC;IAEF,OAAO,IAAI,CAAC,KAAqB,CAAC;AAAA,CACnC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,SAAsD,EACZ,EAAE,CAAC;IAC7C,OAAO,SAAS,UAAU,CAAC,EAAE,GAAG,EAAE,GAAG,KAAK,EAA4B,EAAE;QACtE,OAAO,SAAS,CAAC,KAAyB,EAAE,GAAG,CAAC,CAAC;IAAA,CAClD,CAAC;AAAA,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,GAAuB,EACvB,OAAgB,EAChB,IAAgB,EACV,EAAE,CAAC;IACT,aAAa,CACX,WAAW,EACX,GAAG,EAAE,CAAC;QACJ,IAAI,CAAC,GAAG;YAAE,OAAO;QAEjB,MAAM,MAAM,GAAG,OAAO,EAAE,CAAC;QACzB,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE,CAAC;YAC9B,GAAG,CAAC,MAAM,CAAC,CAAC;QACd,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC;QACvB,CAAC;QAED,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE,CAAC;gBAC9B,GAAG,CAAC,IAAI,CAAC,CAAC;YACZ,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;YACrB,CAAC;QAAA,CACF,CAAC;IAAA,CACH,EACD,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAClC,CAAC;AAAA,CACH,CAAC"}
|
package/dist/hooks/useState.d.ts
CHANGED
|
@@ -11,5 +11,5 @@ import { type StateSetter } from '../types';
|
|
|
11
11
|
* // With lazy initialization
|
|
12
12
|
* const [data, setData] = useState(() => expensiveComputation());
|
|
13
13
|
*/
|
|
14
|
-
export declare const useState: <T>(initValue: (() => T) | (
|
|
14
|
+
export declare const useState: <T>(initValue: T | (() => T) | (() => T)) => [T, StateSetter<T>];
|
|
15
15
|
//# sourceMappingURL=useState.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useState.d.ts","sourceRoot":"","sources":["../../src/hooks/useState.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"useState.d.ts","sourceRoot":"","sources":["../../src/hooks/useState.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,KAAK,WAAW,EAAqB,MAAM,UAAU,CAAC;AAI/E;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,8DAiDzB,CAAC"}
|
package/dist/hooks/useState.js
CHANGED
|
@@ -17,7 +17,8 @@ export const useState = (
|
|
|
17
17
|
/** The initial state value or a function that returns the initial state. If a
|
|
18
18
|
* function is provided, it will only be called once during initialization. */
|
|
19
19
|
initValue) => {
|
|
20
|
-
const item = getNextHookOrCreate('state', (
|
|
20
|
+
const item = getNextHookOrCreate('state', (initFiber) => {
|
|
21
|
+
let fiber = initFiber;
|
|
21
22
|
const app = getAppByFiber(fiber);
|
|
22
23
|
const item = {
|
|
23
24
|
type: 'state',
|
|
@@ -28,8 +29,8 @@ initValue) => {
|
|
|
28
29
|
fiber = newFiber;
|
|
29
30
|
},
|
|
30
31
|
destructor: () => {
|
|
32
|
+
// Help GC.
|
|
31
33
|
item.state = null;
|
|
32
|
-
// @ts-expect-error
|
|
33
34
|
fiber = null;
|
|
34
35
|
},
|
|
35
36
|
setter: function setState(valueOrFn) {
|
|
@@ -41,13 +42,9 @@ initValue) => {
|
|
|
41
42
|
// warning since it's expected behavior.
|
|
42
43
|
if (app.state !== 'refEffects') {
|
|
43
44
|
console.warn(`Component has been removed. State cannot be updated`);
|
|
44
|
-
// a test
|
|
45
45
|
}
|
|
46
46
|
return;
|
|
47
47
|
}
|
|
48
|
-
if (fiber.id < 0) {
|
|
49
|
-
throw 'again2';
|
|
50
|
-
}
|
|
51
48
|
const v = (typeof valueOrFn === 'function'
|
|
52
49
|
? valueOrFn(item.state)
|
|
53
50
|
: valueOrFn);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useState.js","sourceRoot":"","sources":["../../src/hooks/useState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AAEnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAErE;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;AACtB;8EAC8E;AAC9E,
|
|
1
|
+
{"version":3,"file":"useState.js","sourceRoot":"","sources":["../../src/hooks/useState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AAEnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAErE;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;AACtB;8EAC8E;AAC9E,SAAsC,EACjB,EAAE,CAAC;IACxB,MAAM,IAAI,GAAG,mBAAmB,CAAC,OAAO,EAAE,CAAC,SAAS,EAAgB,EAAE,CAAC;QACrE,IAAI,KAAK,GAAqB,SAAS,CAAC;QACxC,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,GAAoB;YAC5B,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,CAAC,OAAO,SAAS,KAAK,UAAU;gBACrC,CAAC,CAAE,SAAqB,EAAE;gBAC1B,CAAC,CAAC,SAAS,CAAM;YACnB,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAClB,KAAK,GAAG,QAAQ,CAAC;YAAA,CAClB;YACD,UAAU,EAAE,GAAG,EAAE,CAAC;gBAChB,WAAW;gBACX,IAAI,CAAC,KAAK,GAAG,IAAS,CAAC;gBACvB,KAAK,GAAG,IAAI,CAAC;YAAA,CACd;YACD,MAAM,EAAE,SAAS,QAAQ,CAAC,SAAS,EAAE;gBACnC,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,mEAAmE;oBACnE,mEAAmE;oBACnE,oEAAoE;oBACpE,+DAA+D;oBAC/D,wCAAwC;oBACxC,IAAI,GAAG,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;wBAC/B,OAAO,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;oBACtE,CAAC;oBACD,OAAO;gBACT,CAAC;gBAED,MAAM,CAAC,GAAG,CACR,OAAO,SAAS,KAAK,UAAU;oBAC7B,CAAC,CAAE,SAA4B,CAAC,IAAI,CAAC,KAAK,CAAC;oBAC3C,CAAC,CAAC,SAAS,CACT,CAAC;gBAEP,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC;oBAAE,OAAO;gBAC7B,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;gBACf,eAAe,CAAC,KAAK,CAAC,CAAC;YAAA,CACxB;SACF,CAAC;QACF,OAAO,IAAoB,CAAC;IAAA,CAC7B,CAAC,CAAC;IAEH,OAAO,CAAC,IAAI,CAAC,KAAU,EAAE,IAAI,CAAC,MAAwB,CAAC,CAAC;AAAA,CACzD,CAAC"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC9E,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,wBAAgB,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,CAAC,CAMlD;AAED,kBAAkB;AAClB,OAAO,EAAE,YAAY,IAAI,QAAQ,EAAE,MAAM,8BAA8B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC9E,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,wBAAgB,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,CAAC,CAMlD;AAED,kBAAkB;AAClB,OAAO,EAAE,YAAY,IAAI,QAAQ,EAAE,MAAM,8BAA8B,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC9E,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,MAAM,UAAU,IAAI,CAAI,IAAO,EAAE,IAAc,EAAK;IAClD,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,IAAI,CAAC,CAAC,8CAA8C;AAA/C,CACb;AAED,kBAAkB;AAClB,OAAO,EAAE,YAAY,IAAI,QAAQ,EAAE,MAAM,8BAA8B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC9E,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,MAAM,UAAU,IAAI,CAAI,IAAO,EAAE,IAAc,EAAK;IAClD,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,IAAI,CAAC,CAAC,8CAA8C;AAA/C,CACb;AAED,kBAAkB;AAClB,OAAO,EAAE,YAAY,IAAI,QAAQ,EAAE,MAAM,8BAA8B,CAAC"}
|