@assistant-ui/tap 0.5.8 → 0.5.9
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/core/ResourceFiber.d.ts +1 -1
- package/dist/core/ResourceFiber.d.ts.map +1 -1
- package/dist/core/createResourceRoot.d.ts +1 -1
- package/dist/core/createResourceRoot.d.ts.map +1 -1
- package/dist/core/helpers/commit.d.ts +1 -1
- package/dist/core/helpers/commit.d.ts.map +1 -1
- package/dist/core/helpers/execution-context.d.ts +1 -1
- package/dist/core/helpers/execution-context.d.ts.map +1 -1
- package/dist/core/helpers/root.d.ts +1 -1
- package/dist/core/helpers/root.d.ts.map +1 -1
- package/dist/core/helpers/root.js +1 -0
- package/dist/core/helpers/root.js.map +1 -1
- package/dist/core/resource.d.ts +1 -1
- package/dist/core/resource.d.ts.map +1 -1
- package/dist/core/types.d.ts +1 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/withKey.d.ts +1 -1
- package/dist/core/withKey.d.ts.map +1 -1
- package/dist/hooks/tap-effect-event.d.ts.map +1 -1
- package/dist/hooks/tap-effect-event.js +6 -9
- package/dist/hooks/tap-effect-event.js.map +1 -1
- package/dist/hooks/tap-effect.d.ts +1 -1
- package/dist/hooks/tap-effect.d.ts.map +1 -1
- package/dist/hooks/tap-resource.d.ts +1 -1
- package/dist/hooks/tap-resource.d.ts.map +1 -1
- package/dist/hooks/tap-resources.d.ts +1 -1
- package/dist/hooks/tap-resources.d.ts.map +1 -1
- package/dist/hooks/utils/tapHook.d.ts +1 -1
- package/dist/hooks/utils/tapHook.d.ts.map +1 -1
- package/dist/react/use-resource.d.ts +1 -1
- package/dist/react/use-resource.d.ts.map +1 -1
- package/dist/react/use-resource.js +2 -0
- package/dist/react/use-resource.js.map +1 -1
- package/dist/tapResourceRoot.d.ts +1 -1
- package/dist/tapResourceRoot.d.ts.map +1 -1
- package/dist/tapResourceRoot.js +2 -0
- package/dist/tapResourceRoot.js.map +1 -1
- package/package.json +4 -4
- package/src/__tests__/basic/tapEffect.basic.test.ts +1 -0
- package/src/__tests__/basic/tapResources.basic.test.ts +0 -9
- package/src/__tests__/lifecycle/lifecycle.mount-unmount.test.ts +3 -0
- package/src/__tests__/react/concurrent-mode.test.tsx +19 -3
- package/src/__tests__/strictmode/react-strictmode-rerender-sources.test.tsx +8 -1
- package/src/__tests__/test-utils.ts +2 -21
- package/src/core/ResourceFiber.ts +1 -1
- package/src/core/createResourceRoot.ts +1 -1
- package/src/core/helpers/callResourceFn.ts +1 -1
- package/src/core/helpers/commit.ts +1 -1
- package/src/core/helpers/execution-context.ts +1 -1
- package/src/core/helpers/root.ts +2 -1
- package/src/core/resource.ts +1 -1
- package/src/core/types.ts +1 -1
- package/src/core/withKey.ts +1 -1
- package/src/hooks/tap-effect-event.ts +9 -13
- package/src/hooks/tap-effect.ts +2 -2
- package/src/hooks/tap-reducer.ts +1 -1
- package/src/hooks/tap-resource.ts +1 -1
- package/src/hooks/tap-resources.ts +1 -1
- package/src/hooks/utils/tapHook.ts +1 -1
- package/src/react/use-resource.ts +5 -3
- package/src/tapResourceRoot.ts +3 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ResourceFiber, RenderResult, Resource, ResourceFiberRoot } from "./types.js";
|
|
1
|
+
import type { ResourceFiber, RenderResult, Resource, ResourceFiberRoot } from "./types.js";
|
|
2
2
|
export declare function createResourceFiber<R, P>(type: Resource<R, P>, root: ResourceFiberRoot, markDirty?: (() => void) | undefined, strictMode?: "root" | "child" | null): ResourceFiber<R, P>;
|
|
3
3
|
export declare function unmountResourceFiber<R, P>(fiber: ResourceFiber<R, P>): void;
|
|
4
4
|
export declare function renderResourceFiber<R, P>(fiber: ResourceFiber<R, P>, props: P): RenderResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResourceFiber.d.ts","sourceRoot":"","sources":["../../src/core/ResourceFiber.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"ResourceFiber.d.ts","sourceRoot":"","sources":["../../src/core/ResourceFiber.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,iBAAiB,EAClB,mBAAgB;AASjB,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,CAAC,EACtC,IAAI,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,IAAI,EAAE,iBAAiB,EACvB,SAAS,GAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAqB,EAC/C,UAAU,GAAE,MAAM,GAAG,OAAO,GAAG,IAA8B,GAC5D,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAarB;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAM3E;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,CAAC,EACtC,KAAK,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EAC1B,KAAK,EAAE,CAAC,GACP,YAAY,CAiBd;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,CAAC,EACtC,KAAK,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EAC1B,MAAM,EAAE,YAAY,GACnB,IAAI,CAYN"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createResourceRoot.d.ts","sourceRoot":"","sources":["../../src/core/createResourceRoot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,mBAAgB;
|
|
1
|
+
{"version":3,"file":"createResourceRoot.d.ts","sourceRoot":"","sources":["../../src/core/createResourceRoot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAgB;AAe/C,eAAO,MAAM,kBAAkB;aAqBlB,CAAC,EAAE,CAAC,WAAW,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC;;CAgBhD,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ResourceFiber, RenderResult } from "../types.js";
|
|
1
|
+
import type { ResourceFiber, RenderResult } from "../types.js";
|
|
2
2
|
export declare function commitAllEffects(renderResult: RenderResult): void;
|
|
3
3
|
export declare function cleanupAllEffects<R, P>(executionContext: ResourceFiber<R, P>): void;
|
|
4
4
|
//# sourceMappingURL=commit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commit.d.ts","sourceRoot":"","sources":["../../../src/core/helpers/commit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,oBAAiB;
|
|
1
|
+
{"version":3,"file":"commit.d.ts","sourceRoot":"","sources":["../../../src/core/helpers/commit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,oBAAiB;AAE5D,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI,CAqBjE;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,QA2B5E"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ResourceFiber } from "../types.js";
|
|
1
|
+
import type { ResourceFiber } from "../types.js";
|
|
2
2
|
export declare function withResourceFiber<R, P>(fiber: ResourceFiber<R, P>, fn: () => void): void;
|
|
3
3
|
export declare function getCurrentResourceFiber(): ResourceFiber<unknown, unknown>;
|
|
4
4
|
export declare function getDevStrictMode(enable: boolean): "root" | "child" | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution-context.d.ts","sourceRoot":"","sources":["../../../src/core/helpers/execution-context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,oBAAiB;
|
|
1
|
+
{"version":3,"file":"execution-context.d.ts","sourceRoot":"","sources":["../../../src/core/helpers/execution-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAiB;AAI9C,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,CAAC,EACpC,KAAK,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EAC1B,EAAE,EAAE,MAAM,IAAI,GACb,IAAI,CAoBN;AACD,wBAAgB,uBAAuB,IAAI,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAKzE;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,2BAM/C"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Cell, ResourceFiber, ResourceFiberRoot } from "../types.js";
|
|
1
|
+
import type { Cell, ResourceFiber, ResourceFiberRoot } from "../types.js";
|
|
2
2
|
export declare const createResourceFiberRoot: (dispatchUpdate: (cb: () => boolean) => void) => ResourceFiberRoot;
|
|
3
3
|
export declare const commitRoot: (root: ResourceFiberRoot) => void;
|
|
4
4
|
export declare const setRootVersion: (root: ResourceFiberRoot, version: number) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../../../src/core/helpers/root.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,iBAAiB,EAAE,oBAAiB;
|
|
1
|
+
{"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../../../src/core/helpers/root.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,iBAAiB,EAAE,oBAAiB;AAEvE,eAAO,MAAM,uBAAuB,GAClC,gBAAgB,CAAC,EAAE,EAAE,MAAM,OAAO,KAAK,IAAI,KAC1C,iBAQF,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,MAAM,iBAAiB,KAAG,IASpD,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,MAAM,iBAAiB,EACvB,SAAS,MAAM,KACd,IA4BF,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,OAAO,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,EAC9B,MAAM,IAAI,GAAG;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,KAC/B,IAMF,CAAC"}
|
|
@@ -37,6 +37,7 @@ export const setRootVersion = (root, version) => {
|
|
|
37
37
|
while (root.committedVersion + root.changelog.length > version) {
|
|
38
38
|
root.changelog.pop();
|
|
39
39
|
}
|
|
40
|
+
// biome-ignore lint/suspicious/useIterableCallbackReturn: forEach callback intentionally has no return
|
|
40
41
|
root.changelog.forEach((apply) => apply());
|
|
41
42
|
commitRoot(root);
|
|
42
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"root.js","sourceRoot":"","sources":["../../../src/core/helpers/root.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,cAA2C,EACxB,EAAE;IACrB,OAAO;QACL,OAAO,EAAE,CAAC;QACV,gBAAgB,EAAE,CAAC;QACnB,cAAc;QACd,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,EAAE;KACf,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAuB,EAAQ,EAAE;IAC1D,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;IACrC,CAAC;IACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC;IACrC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,IAAuB,EACvB,OAAe,EACT,EAAE;IACR,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACvB,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACnC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACnB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;QAE3B,IAAI,OAAO,KAAK,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,6DAA6D;YAE7D,IAAI,IAAI,CAAC,gBAAgB,GAAG,OAAO;gBACjC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;YAE5D,OAAO,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,OAAO,EAAE,CAAC;gBAC/D,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;YACvB,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;YAC3C,UAAU,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,KAA8B,EAC9B,IAAgC,EAC1B,EAAE;IACR,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAChB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;AACH,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"root.js","sourceRoot":"","sources":["../../../src/core/helpers/root.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,cAA2C,EACxB,EAAE;IACrB,OAAO;QACL,OAAO,EAAE,CAAC;QACV,gBAAgB,EAAE,CAAC;QACnB,cAAc;QACd,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,EAAE;KACf,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAuB,EAAQ,EAAE;IAC1D,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;IACrC,CAAC;IACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC;IACrC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,IAAuB,EACvB,OAAe,EACT,EAAE;IACR,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACvB,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACnC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACnB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;QAE3B,IAAI,OAAO,KAAK,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,6DAA6D;YAE7D,IAAI,IAAI,CAAC,gBAAgB,GAAG,OAAO;gBACjC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;YAE5D,OAAO,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,OAAO,EAAE,CAAC;gBAC/D,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;YACvB,CAAC;YAED,uGAAuG;YACvG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;YAC3C,UAAU,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,KAA8B,EAC9B,IAAgC,EAC1B,EAAE;IACR,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAChB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;AACH,CAAC,CAAC"}
|
package/dist/core/resource.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ResourceElement } from "./types.js";
|
|
1
|
+
import type { ResourceElement } from "./types.js";
|
|
2
2
|
export declare function resource<R>(fn: () => R): () => ResourceElement<R, undefined>;
|
|
3
3
|
export declare function resource<R, P>(fn: (props: P) => R): (props: P) => ResourceElement<R, P>;
|
|
4
4
|
export declare function resource<R, P>(fn: (props?: P) => R): (props?: P) => ResourceElement<R, P | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/core/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,mBAAgB;
|
|
1
|
+
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/core/resource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAgB;AAG/C,wBAAgB,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,MAAM,eAAe,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAC9E,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAC3B,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAClB,CAAC,KAAK,EAAE,CAAC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACvC,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAC3B,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,GACnB,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC"}
|
package/dist/core/types.d.ts
CHANGED
|
@@ -25,7 +25,7 @@ export type Cell = {
|
|
|
25
25
|
reducer: (state: any, action: any) => any;
|
|
26
26
|
} | {
|
|
27
27
|
readonly type: "effect";
|
|
28
|
-
cleanup: tapEffect.Destructor |
|
|
28
|
+
cleanup: tapEffect.Destructor | undefined;
|
|
29
29
|
deps: readonly unknown[] | null | undefined;
|
|
30
30
|
};
|
|
31
31
|
export interface EffectTask {
|
package/dist/core/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,+BAA4B;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,oCAAiC;AAEzD,MAAM,MAAM,eAAe,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,IAAI;IACxC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAA;KAAE,CAAC;IAChE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACjE,MAAM,MAAM,qBAAqB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC;AAE3E,MAAM,MAAM,yBAAyB,CAAC,CAAC,IACrC,CAAC,SAAS,eAAe,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,GACnC,CAAC,GACD,CAAC,SAAS,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,GAC9B,CAAC,GACD,KAAK,CAAC;AAEd,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,GAAG,CAAC;CACjB;AAED,MAAM,MAAM,IAAI,GACZ;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IAEzC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACvC,KAAK,EAAE,OAAO,CAAC;IACf,cAAc,EAAE,GAAG,CAAC;IACpB,OAAO,EAAE,GAAG,CAAC;IACb,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC;CAC3C,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,OAAO,EAAE,SAAS,CAAC,UAAU,GAAG,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
|
package/dist/core/withKey.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withKey.d.ts","sourceRoot":"","sources":["../../src/core/withKey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,mBAAgB;
|
|
1
|
+
{"version":3,"file":"withKey.d.ts","sourceRoot":"","sources":["../../src/core/withKey.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAgB;AAE/C,wBAAgB,OAAO,CAAC,CAAC,SAAS,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,EACzD,GAAG,EAAE,MAAM,GAAG,MAAM,EACpB,OAAO,EAAE,CAAC,GACT,CAAC,CAEH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tap-effect-event.d.ts","sourceRoot":"","sources":["../../src/hooks/tap-effect-event.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAC9D,QAAQ,EAAE,CAAC,GACV,CAAC,
|
|
1
|
+
{"version":3,"file":"tap-effect-event.d.ts","sourceRoot":"","sources":["../../src/hooks/tap-effect-event.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAC9D,QAAQ,EAAE,CAAC,GACV,CAAC,CAiBH"}
|
|
@@ -24,14 +24,11 @@ export function tapEffectEvent(callback) {
|
|
|
24
24
|
tapEffect(() => {
|
|
25
25
|
callbackRef.current = callback;
|
|
26
26
|
});
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}), [fiber]);
|
|
34
|
-
}
|
|
35
|
-
return callbackRef.current;
|
|
27
|
+
const fiber = getCurrentResourceFiber();
|
|
28
|
+
return tapCallback(((...args) => {
|
|
29
|
+
if (isDevelopment && fiber.renderContext)
|
|
30
|
+
throw new Error("tapEffectEvent cannot be called during render");
|
|
31
|
+
return callbackRef.current(...args);
|
|
32
|
+
}), [fiber]);
|
|
36
33
|
}
|
|
37
34
|
//# sourceMappingURL=tap-effect-event.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tap-effect-event.js","sourceRoot":"","sources":["../../src/hooks/tap-effect-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,qBAAkB;AACnC,OAAO,EAAE,SAAS,EAAE,wBAAqB;AACzC,OAAO,EAAE,aAAa,EAAE,+BAA4B;AACpD,OAAO,EAAE,WAAW,EAAE,0BAAuB;AAC7C,OAAO,EAAE,uBAAuB,EAAE,6CAA0C;AAE5E;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,cAAc,CAC5B,QAAW;IAEX,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAErC,4DAA4D;IAC5D,SAAS,CAAC,GAAG,EAAE;QACb,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,
|
|
1
|
+
{"version":3,"file":"tap-effect-event.js","sourceRoot":"","sources":["../../src/hooks/tap-effect-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,qBAAkB;AACnC,OAAO,EAAE,SAAS,EAAE,wBAAqB;AACzC,OAAO,EAAE,aAAa,EAAE,+BAA4B;AACpD,OAAO,EAAE,WAAW,EAAE,0BAAuB;AAC7C,OAAO,EAAE,uBAAuB,EAAE,6CAA0C;AAE5E;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,cAAc,CAC5B,QAAW;IAEX,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAErC,4DAA4D;IAC5D,SAAS,CAAC,GAAG,EAAE;QACb,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,uBAAuB,EAAE,CAAC;IACxC,OAAO,WAAW,CAChB,CAAC,CAAC,GAAG,IAAmB,EAAE,EAAE;QAC1B,IAAI,aAAa,IAAI,KAAK,CAAC,aAAa;YACtC,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,OAAO,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IACtC,CAAC,CAAM,EACP,CAAC,KAAK,CAAC,CACR,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export declare namespace tapEffect {
|
|
2
2
|
type Destructor = () => void;
|
|
3
|
-
type EffectCallback = () =>
|
|
3
|
+
type EffectCallback = () => Destructor | undefined;
|
|
4
4
|
}
|
|
5
5
|
export declare function tapEffect(effect: tapEffect.EffectCallback): void;
|
|
6
6
|
export declare function tapEffect(effect: tapEffect.EffectCallback, deps: readonly unknown[]): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tap-effect.d.ts","sourceRoot":"","sources":["../../src/hooks/tap-effect.ts"],"names":[],"mappings":"AAUA,yBAAiB,SAAS,CAAC;IACzB,KAAY,UAAU,GAAG,MAAM,IAAI,CAAC;IACpC,KAAY,cAAc,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"tap-effect.d.ts","sourceRoot":"","sources":["../../src/hooks/tap-effect.ts"],"names":[],"mappings":"AAUA,yBAAiB,SAAS,CAAC;IACzB,KAAY,UAAU,GAAG,MAAM,IAAI,CAAC;IACpC,KAAY,cAAc,GAAG,MAAM,UAAU,GAAG,SAAS,CAAC;CAC3D;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC;AAClE,wBAAgB,SAAS,CACvB,MAAM,EAAE,SAAS,CAAC,cAAc,EAChC,IAAI,EAAE,SAAS,OAAO,EAAE,GACvB,IAAI,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ExtractResourceReturnType, ResourceElement } from "../core/types.js";
|
|
1
|
+
import type { ExtractResourceReturnType, ResourceElement } from "../core/types.js";
|
|
2
2
|
export declare function tapResource<E extends ResourceElement<any, any>>(element: E): ExtractResourceReturnType<E>;
|
|
3
3
|
export declare function tapResource<E extends ResourceElement<any, any>>(element: E, propsDeps: readonly unknown[]): ExtractResourceReturnType<E>;
|
|
4
4
|
//# sourceMappingURL=tap-resource.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tap-resource.d.ts","sourceRoot":"","sources":["../../src/hooks/tap-resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,eAAe,EAAE,yBAAsB;
|
|
1
|
+
{"version":3,"file":"tap-resource.d.ts","sourceRoot":"","sources":["../../src/hooks/tap-resource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,eAAe,EAAE,yBAAsB;AAYhF,wBAAgB,WAAW,CAAC,CAAC,SAAS,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,EAC7D,OAAO,EAAE,CAAC,GACT,yBAAyB,CAAC,CAAC,CAAC,CAAC;AAChC,wBAAgB,WAAW,CAAC,CAAC,SAAS,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,EAC7D,OAAO,EAAE,CAAC,EACV,SAAS,EAAE,SAAS,OAAO,EAAE,GAC5B,yBAAyB,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { ExtractResourceReturnType, ResourceElement } from "../core/types.js";
|
|
1
|
+
import type { ExtractResourceReturnType, ResourceElement } from "../core/types.js";
|
|
2
2
|
export declare function tapResources<E extends ResourceElement<any, any>>(getElements: () => readonly E[], getElementsDeps?: readonly unknown[]): ExtractResourceReturnType<E>[];
|
|
3
3
|
//# sourceMappingURL=tap-resources.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tap-resources.d.ts","sourceRoot":"","sources":["../../src/hooks/tap-resources.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"tap-resources.d.ts","sourceRoot":"","sources":["../../src/hooks/tap-resources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EAEzB,eAAe,EAEhB,yBAAsB;AAsBvB,wBAAgB,YAAY,CAAC,CAAC,SAAS,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,EAC9D,WAAW,EAAE,MAAM,SAAS,CAAC,EAAE,EAC/B,eAAe,CAAC,EAAE,SAAS,OAAO,EAAE,GACnC,yBAAyB,CAAC,CAAC,CAAC,EAAE,CAqHhC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tapHook.d.ts","sourceRoot":"","sources":["../../../src/hooks/utils/tapHook.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,4BAAyB;
|
|
1
|
+
{"version":3,"file":"tapHook.d.ts","sourceRoot":"","sources":["../../../src/hooks/utils/tapHook.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,4BAAyB;AAE7C,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,EAC5C,MAAM,CAAC,EACP,MAAM,MAAM,IAAI,KACf,IAAI,GAAG;IAAE,IAAI,EAAE,CAAC,CAAA;CAuBlB,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,MAAM,MAAM,IAAI,SAGvD,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { ExtractResourceReturnType, ResourceElement } from "../core/types.js";
|
|
2
2
|
export declare function useResource<E extends ResourceElement<any, any>>(element: E): ExtractResourceReturnType<E>;
|
|
3
3
|
//# sourceMappingURL=use-resource.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-resource.d.ts","sourceRoot":"","sources":["../../src/react/use-resource.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"use-resource.d.ts","sourceRoot":"","sources":["../../src/react/use-resource.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,yBAAyB,EACzB,eAAe,EAChB,yBAAsB;AA0BvB,wBAAgB,WAAW,CAAC,CAAC,SAAS,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,EAC7D,OAAO,EAAE,CAAC,GACT,yBAAyB,CAAC,CAAC,CAAC,CA2B9B"}
|
|
@@ -5,8 +5,10 @@ import { commitRoot, createResourceFiberRoot, setRootVersion, } from "../core/he
|
|
|
5
5
|
const useDevStrictMode = () => {
|
|
6
6
|
if (!isDevelopment)
|
|
7
7
|
return null;
|
|
8
|
+
// biome-ignore lint/correctness/useHookAtTopLevel: intentional conditional/nested hook usage
|
|
8
9
|
const count = useRef(0);
|
|
9
10
|
const isFirstRender = count.current === 0;
|
|
11
|
+
// biome-ignore lint/correctness/useHookAtTopLevel: intentional conditional/nested hook usage
|
|
10
12
|
useState(() => count.current++);
|
|
11
13
|
if (count.current !== 2)
|
|
12
14
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-resource.js","sourceRoot":"","sources":["../../src/react/use-resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAM/E,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,GACpB,iCAA8B;AAC/B,OAAO,EAAE,aAAa,EAAE,+BAA4B;AACpD,OAAO,EACL,UAAU,EACV,uBAAuB,EACvB,cAAc,GACf,gCAA6B;AAE9B,MAAM,gBAAgB,GAAG,GAAG,EAAE;IAC5B,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IAEhC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,KAAK,CAAC,CAAC;IAC1C,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAChC,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,OAAO,aAAa,CAAC,CAAC,CAAE,OAAiB,CAAC,CAAC,CAAE,MAAgB,CAAC;AAChE,CAAC,CAAC;AAEF,MAAM,UAAU,WAAW,CACzB,OAAU;IAEV,MAAM,IAAI,GAAG,OAAO,CAAoB,GAAG,EAAE;QAC3C,OAAO,uBAAuB,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,UAAU,CAAC,CAAC,CAAS,EAAE,EAAiB,EAAE,EAAE;QACtE,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC,EAAE,CAAC,CAAC,CAAC;IACN,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAE9B,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE;QACzB,KAAK,OAAO,CAAC,GAAG,CAAC;QACjB,OAAO,mBAAmB,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IAC3E,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;IAErD,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACzD,eAAe,CAAC,GAAG,EAAE;QACnB,OAAO,GAAG,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACZ,eAAe,CAAC,GAAG,EAAE;QACnB,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,MAAM,CAAC;AACvB,CAAC"}
|
|
1
|
+
{"version":3,"file":"use-resource.js","sourceRoot":"","sources":["../../src/react/use-resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAM/E,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,GACpB,iCAA8B;AAC/B,OAAO,EAAE,aAAa,EAAE,+BAA4B;AACpD,OAAO,EACL,UAAU,EACV,uBAAuB,EACvB,cAAc,GACf,gCAA6B;AAE9B,MAAM,gBAAgB,GAAG,GAAG,EAAE;IAC5B,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IAEhC,6FAA6F;IAC7F,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,KAAK,CAAC,CAAC;IAC1C,6FAA6F;IAC7F,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAChC,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,OAAO,aAAa,CAAC,CAAC,CAAE,OAAiB,CAAC,CAAC,CAAE,MAAgB,CAAC;AAChE,CAAC,CAAC;AAEF,MAAM,UAAU,WAAW,CACzB,OAAU;IAEV,MAAM,IAAI,GAAG,OAAO,CAAoB,GAAG,EAAE;QAC3C,OAAO,uBAAuB,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,UAAU,CAAC,CAAC,CAAS,EAAE,EAAiB,EAAE,EAAE;QACtE,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC,EAAE,CAAC,CAAC,CAAC;IACN,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAE9B,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE;QACzB,KAAK,OAAO,CAAC,GAAG,CAAC;QACjB,OAAO,mBAAmB,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IAC3E,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;IAErD,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACzD,eAAe,CAAC,GAAG,EAAE;QACnB,OAAO,GAAG,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACZ,eAAe,CAAC,GAAG,EAAE;QACnB,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,MAAM,CAAC;AACvB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tapResourceRoot.d.ts","sourceRoot":"","sources":["../src/tapResourceRoot.ts"],"names":[],"mappings":"AAYA,OAAO,EAAgB,eAAe,EAAE,wBAAqB;
|
|
1
|
+
{"version":3,"file":"tapResourceRoot.d.ts","sourceRoot":"","sources":["../src/tapResourceRoot.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAgB,eAAe,EAAE,wBAAqB;AAQlE,yBAAiB,eAAe,CAAC;IAC/B,KAAY,WAAW,GAAG,MAAM,IAAI,CAAC;IAErC,UAAiB,oBAAoB,CAAC,MAAM;QAC1C;;WAEG;QACH,QAAQ,IAAI,MAAM,CAAC;QAEnB;;WAEG;QACH,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,WAAW,CAAC;KAC9C;CACF;AAID,eAAO,MAAM,eAAe,GAAI,MAAM,EACpC,SAAS,eAAe,CAAC,MAAM,CAAC,KAC/B,eAAe,CAAC,oBAAoB,CAAC,MAAM,CA4F7C,CAAC"}
|
package/dist/tapResourceRoot.js
CHANGED
|
@@ -51,6 +51,7 @@ export const tapResourceRoot = (element) => {
|
|
|
51
51
|
if (scheduler.isDirty || valueRef.current === render.output)
|
|
52
52
|
return;
|
|
53
53
|
valueRef.current = render.output;
|
|
54
|
+
// biome-ignore lint/suspicious/useIterableCallbackReturn: forEach callback intentionally has no return
|
|
54
55
|
subscribers.forEach((callback) => callback());
|
|
55
56
|
});
|
|
56
57
|
tapEffect(() => {
|
|
@@ -67,6 +68,7 @@ export const tapResourceRoot = (element) => {
|
|
|
67
68
|
if (scheduler.isDirty || valueRef.current === render.output)
|
|
68
69
|
return;
|
|
69
70
|
valueRef.current = render.output;
|
|
71
|
+
// biome-ignore lint/suspicious/useIterableCallbackReturn: forEach callback intentionally has no return
|
|
70
72
|
subscribers.forEach((callback) => callback());
|
|
71
73
|
});
|
|
72
74
|
return tapMemo(() => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tapResourceRoot.js","sourceRoot":"","sources":["../src/tapResourceRoot.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tapResourceRoot.js","sourceRoot":"","sources":["../src/tapResourceRoot.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@assistant-ui/tap",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.9",
|
|
4
4
|
"description": "Zero-dependency reactive state management inspired by React hooks",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"state-management",
|
|
@@ -49,12 +49,12 @@
|
|
|
49
49
|
"@types/node": "^25.6.0",
|
|
50
50
|
"@types/react": "^19.2.14",
|
|
51
51
|
"@types/react-dom": "^19.2.3",
|
|
52
|
-
"@vitest/ui": "^4.1.
|
|
52
|
+
"@vitest/ui": "^4.1.5",
|
|
53
53
|
"jsdom": "^29.0.2",
|
|
54
54
|
"react": "^19.2.5",
|
|
55
55
|
"react-dom": "^19.2.5",
|
|
56
|
-
"vitest": "^4.1.
|
|
57
|
-
"@assistant-ui/x-buildutils": "0.0.
|
|
56
|
+
"vitest": "^4.1.5",
|
|
57
|
+
"@assistant-ui/x-buildutils": "0.0.6"
|
|
58
58
|
},
|
|
59
59
|
"publishConfig": {
|
|
60
60
|
"access": "public",
|
|
@@ -104,6 +104,7 @@ describe("tapEffect - Basic Functionality", () => {
|
|
|
104
104
|
];
|
|
105
105
|
|
|
106
106
|
const testFiber = createTestResource(() => {
|
|
107
|
+
// biome-ignore lint/suspicious/useIterableCallbackReturn: forEach callback intentionally has no return
|
|
107
108
|
effects.forEach((fn) => tapEffect(fn));
|
|
108
109
|
return null;
|
|
109
110
|
});
|
|
@@ -10,11 +10,6 @@ import {
|
|
|
10
10
|
createCounterResource,
|
|
11
11
|
} from "../test-utils";
|
|
12
12
|
|
|
13
|
-
// ============================================================================
|
|
14
|
-
// Test Resources
|
|
15
|
-
// ============================================================================
|
|
16
|
-
|
|
17
|
-
// Simple counter that just returns the value
|
|
18
13
|
const SimpleCounter = resource(createCounterResource());
|
|
19
14
|
|
|
20
15
|
// Stateful counter that tracks its own count
|
|
@@ -47,10 +42,6 @@ const TrackingCounter = resource((props: { value: number; id: string }) => {
|
|
|
47
42
|
};
|
|
48
43
|
});
|
|
49
44
|
|
|
50
|
-
// ============================================================================
|
|
51
|
-
// Tests
|
|
52
|
-
// ============================================================================
|
|
53
|
-
|
|
54
45
|
describe("tapResources - Basic Functionality", () => {
|
|
55
46
|
afterEach(() => {
|
|
56
47
|
cleanupAllResources();
|
|
@@ -13,6 +13,7 @@ describe("Lifecycle - Mount/Unmount", () => {
|
|
|
13
13
|
const effects = [vi.fn(), vi.fn(), vi.fn()];
|
|
14
14
|
|
|
15
15
|
const resource = createTestResource(() => {
|
|
16
|
+
// biome-ignore lint/suspicious/useIterableCallbackReturn: forEach callback intentionally has no return
|
|
16
17
|
effects.forEach((fn) => tapEffect(fn));
|
|
17
18
|
return null;
|
|
18
19
|
});
|
|
@@ -35,9 +36,11 @@ describe("Lifecycle - Mount/Unmount", () => {
|
|
|
35
36
|
});
|
|
36
37
|
|
|
37
38
|
renderTest(resource, undefined);
|
|
39
|
+
// biome-ignore lint/suspicious/useIterableCallbackReturn: forEach callback intentionally has no return
|
|
38
40
|
cleanups.forEach((fn) => expect(fn).not.toHaveBeenCalled());
|
|
39
41
|
|
|
40
42
|
unmountResource(resource);
|
|
43
|
+
// biome-ignore lint/suspicious/useIterableCallbackReturn: forEach callback intentionally has no return
|
|
41
44
|
cleanups.forEach((fn) => expect(fn).toHaveBeenCalledTimes(1));
|
|
42
45
|
});
|
|
43
46
|
|
|
@@ -32,11 +32,16 @@ describe("Concurrent Mode with useResource", () => {
|
|
|
32
32
|
|
|
33
33
|
return (
|
|
34
34
|
<>
|
|
35
|
-
<button
|
|
35
|
+
<button
|
|
36
|
+
type="button"
|
|
37
|
+
data-testid="hello-btn"
|
|
38
|
+
onClick={() => setMessage("hello")}
|
|
39
|
+
/>
|
|
36
40
|
<div data-testid="message">{message}</div>
|
|
37
41
|
<div data-testid="load">{load ? "true" : "false"}</div>
|
|
38
42
|
|
|
39
43
|
<button
|
|
44
|
+
type="button"
|
|
40
45
|
data-testid="suspend-btn"
|
|
41
46
|
onClick={() => {
|
|
42
47
|
startTransition(() => {
|
|
@@ -89,11 +94,16 @@ describe("Concurrent Mode with useResource", () => {
|
|
|
89
94
|
|
|
90
95
|
return (
|
|
91
96
|
<>
|
|
92
|
-
<button
|
|
97
|
+
<button
|
|
98
|
+
type="button"
|
|
99
|
+
data-testid="hello-btn"
|
|
100
|
+
onClick={() => setMessage("hello")}
|
|
101
|
+
/>
|
|
93
102
|
<div data-testid="message">{message}</div>
|
|
94
103
|
<div data-testid="load">{load ? "true" : "false"}</div>
|
|
95
104
|
|
|
96
105
|
<button
|
|
106
|
+
type="button"
|
|
97
107
|
data-testid="suspend-btn"
|
|
98
108
|
onClick={() => {
|
|
99
109
|
startTransition(() => {
|
|
@@ -151,6 +161,7 @@ describe("Concurrent Mode with useResource", () => {
|
|
|
151
161
|
return (
|
|
152
162
|
<div>
|
|
153
163
|
<button
|
|
164
|
+
type="button"
|
|
154
165
|
data-testid="btn"
|
|
155
166
|
onClick={() => {
|
|
156
167
|
shouldSuspend = true;
|
|
@@ -199,11 +210,16 @@ describe("Concurrent Mode with useResource", () => {
|
|
|
199
210
|
|
|
200
211
|
return (
|
|
201
212
|
<>
|
|
202
|
-
<button
|
|
213
|
+
<button
|
|
214
|
+
type="button"
|
|
215
|
+
data-testid="hello-btn"
|
|
216
|
+
onClick={() => setMessage("hello")}
|
|
217
|
+
/>
|
|
203
218
|
<div data-testid="message">{message}</div>
|
|
204
219
|
<div data-testid="load">{load ? "true" : "false"}</div>
|
|
205
220
|
|
|
206
221
|
<button
|
|
222
|
+
type="button"
|
|
207
223
|
data-testid="suspend-btn"
|
|
208
224
|
onClick={() => {
|
|
209
225
|
startTransition(() => {
|
|
@@ -111,6 +111,7 @@ describe("React Strict Mode - Rerender Sources", () => {
|
|
|
111
111
|
|
|
112
112
|
return (
|
|
113
113
|
<button
|
|
114
|
+
type="button"
|
|
114
115
|
onClick={() => {
|
|
115
116
|
events.push("click");
|
|
116
117
|
setCount(count + 1);
|
|
@@ -149,6 +150,7 @@ describe("React Strict Mode - Rerender Sources", () => {
|
|
|
149
150
|
|
|
150
151
|
return (
|
|
151
152
|
<button
|
|
153
|
+
type="button"
|
|
152
154
|
onClick={() => {
|
|
153
155
|
events.push("click");
|
|
154
156
|
setCount((c) => c + 1);
|
|
@@ -284,6 +286,7 @@ describe("React Strict Mode - Rerender Sources", () => {
|
|
|
284
286
|
|
|
285
287
|
return (
|
|
286
288
|
<button
|
|
289
|
+
type="button"
|
|
287
290
|
onClick={() => {
|
|
288
291
|
events.push("click");
|
|
289
292
|
setCount1(1);
|
|
@@ -442,7 +445,11 @@ describe("React Strict Mode - Rerender Sources", () => {
|
|
|
442
445
|
};
|
|
443
446
|
}, [count]);
|
|
444
447
|
|
|
445
|
-
return
|
|
448
|
+
return (
|
|
449
|
+
<button type="button" onClick={() => setCount((c) => c + 1)}>
|
|
450
|
+
Click
|
|
451
|
+
</button>
|
|
452
|
+
);
|
|
446
453
|
}
|
|
447
454
|
|
|
448
455
|
const { getByRole } = render(
|
|
@@ -6,13 +6,9 @@ import {
|
|
|
6
6
|
renderResourceFiber,
|
|
7
7
|
commitResourceFiber,
|
|
8
8
|
} from "../core/ResourceFiber";
|
|
9
|
-
import { ResourceFiber } from "../core/types";
|
|
9
|
+
import type { ResourceFiber } from "../core/types";
|
|
10
10
|
import { tapState } from "../hooks/tap-state";
|
|
11
11
|
|
|
12
|
-
// ============================================================================
|
|
13
|
-
// Resource Creation
|
|
14
|
-
// ============================================================================
|
|
15
|
-
|
|
16
12
|
/**
|
|
17
13
|
* Creates a test resource fiber for unit testing.
|
|
18
14
|
* This is a low-level utility that creates a ResourceFiber directly.
|
|
@@ -38,10 +34,6 @@ export function createTestResource<R, P>(fn: (props: P) => R) {
|
|
|
38
34
|
return fiber;
|
|
39
35
|
}
|
|
40
36
|
|
|
41
|
-
// ============================================================================
|
|
42
|
-
// Resource Lifecycle Management
|
|
43
|
-
// ============================================================================
|
|
44
|
-
|
|
45
37
|
// Track resources for cleanup
|
|
46
38
|
const activeResources = new Set<ResourceFiber<any, any>>();
|
|
47
39
|
const propsMap = new WeakMap<ResourceFiber<any, any>, any>();
|
|
@@ -82,6 +74,7 @@ export function unmountResource<R, P>(fiber: ResourceFiber<R, P>) {
|
|
|
82
74
|
* Cleans up all resources. Should be called after each test.
|
|
83
75
|
*/
|
|
84
76
|
export function cleanupAllResources() {
|
|
77
|
+
// biome-ignore lint/suspicious/useIterableCallbackReturn: forEach callback intentionally has no return
|
|
85
78
|
activeResources.forEach((fiber) => unmountResourceFiber(fiber));
|
|
86
79
|
activeResources.clear();
|
|
87
80
|
}
|
|
@@ -100,10 +93,6 @@ export function getCommittedOutput<R, P>(fiber: ResourceFiber<R, P>): R {
|
|
|
100
93
|
return lastResult.output;
|
|
101
94
|
}
|
|
102
95
|
|
|
103
|
-
// ============================================================================
|
|
104
|
-
// Test Helpers
|
|
105
|
-
// ============================================================================
|
|
106
|
-
|
|
107
96
|
/**
|
|
108
97
|
* Helper to subscribe to resource state changes for testing.
|
|
109
98
|
* Tracks call count and latest state value.
|
|
@@ -164,10 +153,6 @@ export class TestResourceManager<R, P> {
|
|
|
164
153
|
}
|
|
165
154
|
}
|
|
166
155
|
|
|
167
|
-
// ============================================================================
|
|
168
|
-
// Async Utilities
|
|
169
|
-
// ============================================================================
|
|
170
|
-
|
|
171
156
|
/**
|
|
172
157
|
* Waits for the next tick of the event loop.
|
|
173
158
|
* Useful for testing async state updates.
|
|
@@ -194,10 +179,6 @@ export async function waitFor(
|
|
|
194
179
|
}
|
|
195
180
|
}
|
|
196
181
|
|
|
197
|
-
// ============================================================================
|
|
198
|
-
// Test Data Factories
|
|
199
|
-
// ============================================================================
|
|
200
|
-
|
|
201
182
|
/**
|
|
202
183
|
* Creates a simple counter resource for testing.
|
|
203
184
|
* Commonly used across multiple test files.
|
package/src/core/helpers/root.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Cell, ResourceFiber, ResourceFiberRoot } from "../types";
|
|
1
|
+
import type { Cell, ResourceFiber, ResourceFiberRoot } from "../types";
|
|
2
2
|
|
|
3
3
|
export const createResourceFiberRoot = (
|
|
4
4
|
dispatchUpdate: (cb: () => boolean) => void,
|
|
@@ -49,6 +49,7 @@ export const setRootVersion = (
|
|
|
49
49
|
root.changelog.pop();
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
+
// biome-ignore lint/suspicious/useIterableCallbackReturn: forEach callback intentionally has no return
|
|
52
53
|
root.changelog.forEach((apply) => apply());
|
|
53
54
|
commitRoot(root);
|
|
54
55
|
}
|
package/src/core/resource.ts
CHANGED
package/src/core/types.ts
CHANGED
package/src/core/withKey.ts
CHANGED
|
@@ -29,17 +29,13 @@ export function tapEffectEvent<T extends (...args: any[]) => any>(
|
|
|
29
29
|
callbackRef.current = callback;
|
|
30
30
|
});
|
|
31
31
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
(
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
return callbackRef.current;
|
|
32
|
+
const fiber = getCurrentResourceFiber();
|
|
33
|
+
return tapCallback(
|
|
34
|
+
((...args: Parameters<T>) => {
|
|
35
|
+
if (isDevelopment && fiber.renderContext)
|
|
36
|
+
throw new Error("tapEffectEvent cannot be called during render");
|
|
37
|
+
return callbackRef.current(...args);
|
|
38
|
+
}) as T,
|
|
39
|
+
[fiber],
|
|
40
|
+
);
|
|
45
41
|
}
|
package/src/hooks/tap-effect.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Cell } from "../core/types";
|
|
1
|
+
import type { Cell } from "../core/types";
|
|
2
2
|
import { depsShallowEqual } from "./utils/depsShallowEqual";
|
|
3
3
|
import { tapHook, registerRenderMountTask } from "./utils/tapHook";
|
|
4
4
|
|
|
@@ -10,7 +10,7 @@ const newEffect = (): Cell & { type: "effect" } => ({
|
|
|
10
10
|
|
|
11
11
|
export namespace tapEffect {
|
|
12
12
|
export type Destructor = () => void;
|
|
13
|
-
export type EffectCallback = () =>
|
|
13
|
+
export type EffectCallback = () => Destructor | undefined;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
export function tapEffect(effect: tapEffect.EffectCallback): void;
|
package/src/hooks/tap-reducer.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { isDevelopment } from "../core/helpers/env";
|
|
2
2
|
import { getCurrentResourceFiber } from "../core/helpers/execution-context";
|
|
3
|
-
import { ReducerQueueEntry, ResourceFiber } from "../core/types";
|
|
3
|
+
import type { ReducerQueueEntry, ResourceFiber } from "../core/types";
|
|
4
4
|
import { markCellDirty } from "../core/helpers/root";
|
|
5
5
|
import { tapHook } from "./utils/tapHook";
|
|
6
6
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { useLayoutEffect, useMemo, useReducer, useRef, useState } from "react";
|
|
2
|
-
import {
|
|
2
|
+
import type {
|
|
3
3
|
ResourceFiberRoot,
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
ExtractResourceReturnType,
|
|
5
|
+
ResourceElement,
|
|
6
6
|
} from "../core/types";
|
|
7
7
|
import {
|
|
8
8
|
createResourceFiber,
|
|
@@ -20,8 +20,10 @@ import {
|
|
|
20
20
|
const useDevStrictMode = () => {
|
|
21
21
|
if (!isDevelopment) return null;
|
|
22
22
|
|
|
23
|
+
// biome-ignore lint/correctness/useHookAtTopLevel: intentional conditional/nested hook usage
|
|
23
24
|
const count = useRef(0);
|
|
24
25
|
const isFirstRender = count.current === 0;
|
|
26
|
+
// biome-ignore lint/correctness/useHookAtTopLevel: intentional conditional/nested hook usage
|
|
25
27
|
useState(() => count.current++);
|
|
26
28
|
if (count.current !== 2) return null;
|
|
27
29
|
return isFirstRender ? ("child" as const) : ("root" as const);
|
package/src/tapResourceRoot.ts
CHANGED
|
@@ -10,7 +10,7 @@ import { tapMemo } from "./hooks/tap-memo";
|
|
|
10
10
|
import { tapEffect } from "./hooks/tap-effect";
|
|
11
11
|
import { tapEffectEvent } from "./hooks/tap-effect-event";
|
|
12
12
|
import { tapRef } from "./hooks/tap-ref";
|
|
13
|
-
import { RenderResult, ResourceElement } from "./core/types";
|
|
13
|
+
import type { RenderResult, ResourceElement } from "./core/types";
|
|
14
14
|
import { isDevelopment } from "./core/helpers/env";
|
|
15
15
|
import {
|
|
16
16
|
commitRoot,
|
|
@@ -97,6 +97,7 @@ export const tapResourceRoot = <TState>(
|
|
|
97
97
|
|
|
98
98
|
if (scheduler.isDirty || valueRef.current === render.output) return;
|
|
99
99
|
valueRef.current = render.output;
|
|
100
|
+
// biome-ignore lint/suspicious/useIterableCallbackReturn: forEach callback intentionally has no return
|
|
100
101
|
subscribers.forEach((callback) => callback());
|
|
101
102
|
});
|
|
102
103
|
|
|
@@ -115,6 +116,7 @@ export const tapResourceRoot = <TState>(
|
|
|
115
116
|
|
|
116
117
|
if (scheduler.isDirty || valueRef.current === render.output) return;
|
|
117
118
|
valueRef.current = render.output;
|
|
119
|
+
// biome-ignore lint/suspicious/useIterableCallbackReturn: forEach callback intentionally has no return
|
|
118
120
|
subscribers.forEach((callback) => callback());
|
|
119
121
|
});
|
|
120
122
|
|