fibrae 0.1.3 → 0.2.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/dist/core.d.ts +7 -5
- package/dist/core.js +9 -8
- package/dist/core.js.map +1 -1
- package/dist/dom.js +42 -3
- package/dist/dom.js.map +1 -1
- package/dist/fiber-render.js +53 -15
- package/dist/fiber-render.js.map +1 -1
- package/dist/hydration-state.d.ts +28 -0
- package/dist/hydration-state.js +56 -0
- package/dist/hydration-state.js.map +1 -0
- package/dist/hydration.js +3 -9
- package/dist/hydration.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/render.js +3 -3
- package/dist/render.js.map +1 -1
- package/dist/router/Navigator.d.ts +3 -1
- package/dist/router/Navigator.js +33 -40
- package/dist/router/Navigator.js.map +1 -1
- package/dist/router/Route.d.ts +1 -1
- package/dist/router/Route.js +1 -1
- package/dist/router/Route.js.map +1 -1
- package/dist/router/Router.d.ts +72 -15
- package/dist/router/Router.js +99 -21
- package/dist/router/Router.js.map +1 -1
- package/dist/router/RouterBuilder.d.ts +56 -2
- package/dist/router/RouterBuilder.js +86 -7
- package/dist/router/RouterBuilder.js.map +1 -1
- package/dist/router/RouterOutlet.d.ts +29 -5
- package/dist/router/RouterOutlet.js +58 -7
- package/dist/router/RouterOutlet.js.map +1 -1
- package/dist/router/RouterState.d.ts +2 -2
- package/dist/router/RouterState.js +2 -2
- package/dist/router/index.d.ts +3 -3
- package/dist/router/index.js +1 -1
- package/dist/router/index.js.map +1 -1
- package/dist/runtime.d.ts +12 -5
- package/dist/runtime.js +6 -2
- package/dist/runtime.js.map +1 -1
- package/dist/server.d.ts +11 -13
- package/dist/server.js +25 -27
- package/dist/server.js.map +1 -1
- package/dist/shared.d.ts +61 -5
- package/dist/shared.js +51 -0
- package/dist/shared.js.map +1 -1
- package/package.json +1 -1
package/dist/shared.js
CHANGED
|
@@ -6,6 +6,57 @@ import * as Deferred from "effect/Deferred";
|
|
|
6
6
|
import * as Data from "effect/Data";
|
|
7
7
|
import * as Context from "effect/Context";
|
|
8
8
|
import { Atom as BaseAtom } from "@effect-atom/atom";
|
|
9
|
+
// =============================================================================
|
|
10
|
+
// Component Scope Service
|
|
11
|
+
// =============================================================================
|
|
12
|
+
/**
|
|
13
|
+
* Service tag for accessing the current component's scope and mount signal.
|
|
14
|
+
*
|
|
15
|
+
* Provides:
|
|
16
|
+
* - `scope`: Register cleanup logic that runs when the component unmounts
|
|
17
|
+
* - `mounted`: Deferred that resolves after the component's DOM subtree commits
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```tsx
|
|
21
|
+
* const JsonEditor = () =>
|
|
22
|
+
* Effect.gen(function* () {
|
|
23
|
+
* const { scope, mounted } = yield* ComponentScope;
|
|
24
|
+
* const containerRef = { current: null as HTMLDivElement | null };
|
|
25
|
+
*
|
|
26
|
+
* // Fork an effect that waits for mount, then initializes
|
|
27
|
+
* yield* pipe(
|
|
28
|
+
* Effect.gen(function* () {
|
|
29
|
+
* yield* Deferred.await(mounted); // Wait for DOM to be ready
|
|
30
|
+
* const editor = monaco.create(containerRef.current!);
|
|
31
|
+
* yield* Scope.addFinalizer(scope, Effect.sync(() => editor.dispose()));
|
|
32
|
+
* }),
|
|
33
|
+
* Effect.forkScoped,
|
|
34
|
+
* Scope.extend(scope)
|
|
35
|
+
* );
|
|
36
|
+
*
|
|
37
|
+
* return <div ref={el => containerRef.current = el} />;
|
|
38
|
+
* });
|
|
39
|
+
* ```
|
|
40
|
+
*
|
|
41
|
+
* For simple cleanup without waiting for mount:
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```tsx
|
|
45
|
+
* const JsonEditor = () =>
|
|
46
|
+
* Effect.gen(function* () {
|
|
47
|
+
* const { scope } = yield* ComponentScope;
|
|
48
|
+
*
|
|
49
|
+
* // Register cleanup that runs on unmount
|
|
50
|
+
* yield* Scope.addFinalizer(scope, Effect.sync(() => {
|
|
51
|
+
* console.log("Editor unmounted");
|
|
52
|
+
* }));
|
|
53
|
+
*
|
|
54
|
+
* return <div />;
|
|
55
|
+
* });
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
export class ComponentScope extends Context.Tag("fibrae/ComponentScope")() {
|
|
59
|
+
}
|
|
9
60
|
/**
|
|
10
61
|
* Helper to check if a key is an event handler
|
|
11
62
|
*/
|
package/dist/shared.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAI1C,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAKrD,gFAAgF;AAChF,0BAA0B;AAC1B,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,MAAM,OAAO,cAAe,SAAQ,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAGrE;CAAG;AA4HN;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAE7D;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE,CACxC,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAExE;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAiB,EAAqB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC;AAE9F;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAiB,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,UAAU,CAAC;AAE7E,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAyC,EAAE,CAChF,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,YAAY,IAAI,KAAK,CAAC;AAE9E,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,OAAO,iBAAkB,SAAQ,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAOzE;CAAG;AAEL,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,WAAY,SAAQ,IAAI,CAAC,WAAW,CAAC,aAAa,CAK7D;CAAG;AAEL;;;;;;GAMG;AACH,MAAM,OAAO,WAAY,SAAQ,IAAI,CAAC,WAAW,CAAC,aAAa,CAK7D;CAAG;AAEL;;;;GAIG;AACH,MAAM,OAAO,iBAAkB,SAAQ,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAKzE;CAAG"}
|