fibrae 0.2.0 → 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 +5 -3
- package/dist/core.js +7 -3
- package/dist/core.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/index.d.ts +2 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/router/Navigator.d.ts +1 -1
- package/dist/router/Navigator.js +8 -6
- package/dist/router/Navigator.js.map +1 -1
- package/dist/router/Route.js +1 -1
- package/dist/router/Route.js.map +1 -1
- package/dist/router/Router.d.ts +7 -7
- package/dist/router/Router.js +6 -6
- package/dist/router/RouterBuilder.d.ts +4 -4
- package/dist/router/RouterBuilder.js +7 -7
- package/dist/router/RouterBuilder.js.map +1 -1
- package/dist/router/RouterState.d.ts +2 -2
- package/dist/router/RouterState.js +2 -2
- package/dist/runtime.d.ts +7 -1
- package/dist/runtime.js +6 -1
- package/dist/runtime.js.map +1 -1
- package/dist/server.d.ts +8 -12
- package/dist/server.js +6 -10
- package/dist/server.js.map +1 -1
- package/package.json +1 -1
package/dist/core.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as Effect from "effect/Effect";
|
|
2
2
|
import * as Layer from "effect/Layer";
|
|
3
|
-
import { Registry as AtomRegistry
|
|
3
|
+
import { Registry as AtomRegistry } from "@effect-atom/atom";
|
|
4
4
|
import { type VElement } from "./shared.js";
|
|
5
5
|
/**
|
|
6
6
|
* Render a VElement tree to a container.
|
|
@@ -11,15 +11,17 @@ import { type VElement } from "./shared.js";
|
|
|
11
11
|
* - Event handlers are attached to existing elements
|
|
12
12
|
* - Throws HydrationMismatch if structure doesn't match
|
|
13
13
|
*
|
|
14
|
+
* Hydration state is auto-discovered from a
|
|
15
|
+
* <script type="application/json" id="__fibrae-state__"> tag in the DOM.
|
|
16
|
+
* Provide a custom HydrationState layer to override this behavior.
|
|
17
|
+
*
|
|
14
18
|
* @param element - The VElement tree to render
|
|
15
19
|
* @param container - The DOM container to render into
|
|
16
20
|
* @param options - Optional configuration
|
|
17
21
|
* @param options.layer - Additional layer to provide (will have access to AtomRegistry)
|
|
18
|
-
* @param options.initialState - Dehydrated atom state from SSR (enables atom hydration)
|
|
19
22
|
*/
|
|
20
23
|
export declare function render(element: VElement, container: HTMLElement): Effect.Effect<never, never, never>;
|
|
21
24
|
export declare function render<ROut, E>(element: VElement, container: HTMLElement, options: {
|
|
22
25
|
layer?: Layer.Layer<ROut, E, AtomRegistry.AtomRegistry>;
|
|
23
|
-
initialState?: ReadonlyArray<Hydration.DehydratedAtom>;
|
|
24
26
|
}): Effect.Effect<never, never, never>;
|
|
25
27
|
export declare function render(element: VElement): (container: HTMLElement) => Effect.Effect<never, never, never>;
|
package/dist/core.js
CHANGED
|
@@ -7,6 +7,7 @@ import { Registry as AtomRegistry, Hydration } from "@effect-atom/atom";
|
|
|
7
7
|
import {} from "./shared.js";
|
|
8
8
|
import { FibraeRuntime } from "./runtime.js";
|
|
9
9
|
import { renderFiber, hydrateFiber } from "./fiber-render.js";
|
|
10
|
+
import { HydrationState, HydrationStateLive } from "./hydration-state.js";
|
|
10
11
|
export function render(element, container, options) {
|
|
11
12
|
const program = (cont) => Effect.gen(function* () {
|
|
12
13
|
const runtime = yield* FibraeRuntime;
|
|
@@ -15,9 +16,10 @@ export function render(element, container, options) {
|
|
|
15
16
|
// This ensures user-provided services like Navigator are available for forked effects
|
|
16
17
|
const fullContext = (yield* FiberRef.get(FiberRef.currentContext));
|
|
17
18
|
yield* Ref.set(runtime.fullContextRef, fullContext);
|
|
18
|
-
//
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
// Auto-discover and hydrate atoms from the HydrationState service
|
|
20
|
+
const hydrationState = yield* HydrationState;
|
|
21
|
+
if (hydrationState.length > 0) {
|
|
22
|
+
Hydration.hydrate(registry, hydrationState);
|
|
21
23
|
}
|
|
22
24
|
// If container has element children, use hydration mode
|
|
23
25
|
// (skip whitespace-only text nodes that may exist in pre-rendered HTML)
|
|
@@ -30,6 +32,8 @@ export function render(element, container, options) {
|
|
|
30
32
|
return yield* renderFiber(element, cont);
|
|
31
33
|
}
|
|
32
34
|
}).pipe(
|
|
35
|
+
// Provide HydrationState (default auto-discover from DOM)
|
|
36
|
+
Effect.provide(HydrationStateLive),
|
|
33
37
|
// Always use LiveWithRegistry so the program has access to both FibraeRuntime AND AtomRegistry
|
|
34
38
|
// If user provided a layer, merge it in as well
|
|
35
39
|
Effect.provide(options?.layer
|
package/dist/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,GAAG,MAAM,YAAY,CAAC;AAClC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAiB,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,GAAG,MAAM,YAAY,CAAC;AAClC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAiB,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAsC1E,MAAM,UAAU,MAAM,CACpB,OAAiB,EACjB,SAAuB,EACvB,OAEC;IAED,MAAM,OAAO,GAAG,CAAC,IAAiB,EAAE,EAAE,CACpC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC;QACrC,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC;QAElD,oFAAoF;QACpF,sFAAsF;QACtF,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CACtC,QAAQ,CAAC,cAAc,CACxB,CAA6B,CAAC;QAC/B,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAEpD,kEAAkE;QAClE,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,cAAc,CAAC;QAC7C,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAC9C,CAAC;QAED,wDAAwD;QACxD,wEAAwE;QACxE,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACjD,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,iEAAiE;YACjE,OAAO,KAAK,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC,CAAC,CAAC,IAAI;IACL,0DAA0D;IAC1D,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC;IAClC,+FAA+F;IAC/F,gDAAgD;IAChD,MAAM,CAAC,OAAO,CACZ,OAAO,EAAE,KAAK;QACZ,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,aAAa,CAAC,gBAAgB,CAAC;QACnE,CAAC,CAAC,aAAa,CAAC,gBAAgB,CACnC,CACF,CAAC;IAEJ,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,CAAC,IAAiB,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC;AAC5B,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HydrationState service — provides dehydrated atom state for client-side hydration.
|
|
3
|
+
*
|
|
4
|
+
* The default layer auto-discovers state from a <script type="application/json" id="__fibrae-state__">
|
|
5
|
+
* tag in the DOM. This avoids polluting window with globals.
|
|
6
|
+
*
|
|
7
|
+
* For testing or custom transport, provide your own HydrationState layer.
|
|
8
|
+
*/
|
|
9
|
+
import * as Context from "effect/Context";
|
|
10
|
+
import * as Layer from "effect/Layer";
|
|
11
|
+
import { Hydration } from "@effect-atom/atom";
|
|
12
|
+
declare const HydrationState_base: Context.TagClass<HydrationState, "fibrae/HydrationState", readonly Hydration.DehydratedAtom[]>;
|
|
13
|
+
/**
|
|
14
|
+
* Service that provides the dehydrated atom state array.
|
|
15
|
+
* yield* HydrationState from any component or effect to access it.
|
|
16
|
+
*/
|
|
17
|
+
export declare class HydrationState extends HydrationState_base {
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Default layer: reads and parses <script type="application/json" id="__fibrae-state__">
|
|
21
|
+
* from the current document. Returns [] if the element is missing.
|
|
22
|
+
*/
|
|
23
|
+
export declare const HydrationStateLive: Layer.Layer<HydrationState, never, never>;
|
|
24
|
+
/**
|
|
25
|
+
* Empty layer for non-SSR renders or testing.
|
|
26
|
+
*/
|
|
27
|
+
export declare const HydrationStateEmpty: Layer.Layer<HydrationState, never, never>;
|
|
28
|
+
export {};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HydrationState service — provides dehydrated atom state for client-side hydration.
|
|
3
|
+
*
|
|
4
|
+
* The default layer auto-discovers state from a <script type="application/json" id="__fibrae-state__">
|
|
5
|
+
* tag in the DOM. This avoids polluting window with globals.
|
|
6
|
+
*
|
|
7
|
+
* For testing or custom transport, provide your own HydrationState layer.
|
|
8
|
+
*/
|
|
9
|
+
import * as Context from "effect/Context";
|
|
10
|
+
import * as Effect from "effect/Effect";
|
|
11
|
+
import * as Layer from "effect/Layer";
|
|
12
|
+
import * as S from "effect/Schema";
|
|
13
|
+
import { Hydration } from "@effect-atom/atom";
|
|
14
|
+
// =============================================================================
|
|
15
|
+
// Service
|
|
16
|
+
// =============================================================================
|
|
17
|
+
/**
|
|
18
|
+
* Service that provides the dehydrated atom state array.
|
|
19
|
+
* yield* HydrationState from any component or effect to access it.
|
|
20
|
+
*/
|
|
21
|
+
export class HydrationState extends Context.Tag("fibrae/HydrationState")() {
|
|
22
|
+
}
|
|
23
|
+
// =============================================================================
|
|
24
|
+
// Schema
|
|
25
|
+
// =============================================================================
|
|
26
|
+
const DehydratedAtomSchema = S.Struct({
|
|
27
|
+
"~@effect-atom/atom/DehydratedAtom": S.Literal(true),
|
|
28
|
+
key: S.String,
|
|
29
|
+
value: S.Unknown,
|
|
30
|
+
dehydratedAt: S.Number,
|
|
31
|
+
resultPromise: S.optional(S.Unknown),
|
|
32
|
+
});
|
|
33
|
+
const DehydratedStateSchema = S.Array(DehydratedAtomSchema);
|
|
34
|
+
const ParseDehydratedState = S.decodeUnknownSync(S.parseJson(DehydratedStateSchema));
|
|
35
|
+
// =============================================================================
|
|
36
|
+
// DOM element ID
|
|
37
|
+
// =============================================================================
|
|
38
|
+
const SCRIPT_ID = "__fibrae-state__";
|
|
39
|
+
// =============================================================================
|
|
40
|
+
// Layers
|
|
41
|
+
// =============================================================================
|
|
42
|
+
/**
|
|
43
|
+
* Default layer: reads and parses <script type="application/json" id="__fibrae-state__">
|
|
44
|
+
* from the current document. Returns [] if the element is missing.
|
|
45
|
+
*/
|
|
46
|
+
export const HydrationStateLive = Layer.effect(HydrationState, Effect.sync(() => {
|
|
47
|
+
const el = document.getElementById(SCRIPT_ID);
|
|
48
|
+
if (!el?.textContent)
|
|
49
|
+
return [];
|
|
50
|
+
return ParseDehydratedState(el.textContent);
|
|
51
|
+
}));
|
|
52
|
+
/**
|
|
53
|
+
* Empty layer for non-SSR renders or testing.
|
|
54
|
+
*/
|
|
55
|
+
export const HydrationStateEmpty = Layer.succeed(HydrationState, []);
|
|
56
|
+
//# sourceMappingURL=hydration-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hydration-state.js","sourceRoot":"","sources":["../src/hydration-state.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,CAAC,MAAM,eAAe,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,OAAO,cAAe,SAAQ,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAGrE;CAAG;AAEN,gFAAgF;AAChF,SAAS;AACT,gFAAgF;AAEhF,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,mCAAmC,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACpD,GAAG,EAAE,CAAC,CAAC,MAAM;IACb,KAAK,EAAE,CAAC,CAAC,OAAO;IAChB,YAAY,EAAE,CAAC,CAAC,MAAM;IACtB,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;CACrC,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;AAE5D,MAAM,oBAAoB,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC;AAErF,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF,MAAM,SAAS,GAAG,kBAAkB,CAAC;AAErC,gFAAgF;AAChF,SAAS;AACT,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC,MAAM,CAC5C,cAAc,EACd,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;IACf,MAAM,EAAE,GAAG,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAC9C,IAAI,CAAC,EAAE,EAAE,WAAW;QAAE,OAAO,EAA6C,CAAC;IAC3E,OAAO,oBAAoB,CAAC,EAAE,CAAC,WAAW,CAA4C,CAAC;AACzF,CAAC,CAAC,CACH,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,CAAC,OAAO,CAC9C,cAAc,EACd,EAA6C,CAC9C,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -6,4 +6,5 @@ export type { VElement, ElementType, Primitive } from "./shared.js";
|
|
|
6
6
|
export type { VElement as VNode } from "./shared.js";
|
|
7
7
|
export { RenderError, StreamError, EventHandlerError, type ComponentError, } from "./shared.js";
|
|
8
8
|
export { ComponentScope } from "./shared.js";
|
|
9
|
-
export {
|
|
9
|
+
export { HydrationState, HydrationStateLive, HydrationStateEmpty } from "./hydration-state.js";
|
|
10
|
+
export { Atom, Registry as AtomRegistry, Result } from "@effect-atom/atom";
|
package/dist/index.js
CHANGED
|
@@ -13,7 +13,9 @@ export { h, createTextElement } from "./h.js";
|
|
|
13
13
|
export { RenderError, StreamError, EventHandlerError, } from "./shared.js";
|
|
14
14
|
// Component lifecycle
|
|
15
15
|
export { ComponentScope } from "./shared.js";
|
|
16
|
+
// Hydration state service
|
|
17
|
+
export { HydrationState, HydrationStateLive, HydrationStateEmpty } from "./hydration-state.js";
|
|
16
18
|
// Re-export upstream Effect Atom APIs for consumers
|
|
17
|
-
export { Atom, Registry as AtomRegistry } from "@effect-atom/atom";
|
|
19
|
+
export { Atom, Registry as AtomRegistry, Result } from "@effect-atom/atom";
|
|
18
20
|
// Router available via "fibrae/router" import
|
|
19
21
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,aAAa;AACb,gFAAgF;AAEhF,uBAAuB;AACvB,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,UAAU;AACV,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAEtE,sBAAsB;AACtB,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE1D,iCAAiC;AACjC,OAAO,EAAE,CAAC,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAM9C,cAAc;AACd,OAAO,EACL,WAAW,EACX,WAAW,EACX,iBAAiB,GAElB,MAAM,aAAa,CAAC;AAErB,sBAAsB;AACtB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,oDAAoD;AACpD,OAAO,EAAE,IAAI,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,aAAa;AACb,gFAAgF;AAEhF,uBAAuB;AACvB,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,UAAU;AACV,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAEtE,sBAAsB;AACtB,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE1D,iCAAiC;AACjC,OAAO,EAAE,CAAC,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAM9C,cAAc;AACd,OAAO,EACL,WAAW,EACX,WAAW,EACX,iBAAiB,GAElB,MAAM,aAAa,CAAC;AAErB,sBAAsB;AACtB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,0BAA0B;AAC1B,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE/F,oDAAoD;AACpD,OAAO,EAAE,IAAI,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3E,8CAA8C"}
|
|
@@ -90,7 +90,7 @@ export interface NavigatorOptions {
|
|
|
90
90
|
* - Delegates to History for actual navigation
|
|
91
91
|
* - Supports basePath for apps mounted at non-root paths
|
|
92
92
|
*/
|
|
93
|
-
export declare function NavigatorLive(router: Router,
|
|
93
|
+
export declare function NavigatorLive(router: Router, navigatorOptions?: NavigatorOptions): Layer.Layer<Navigator, never, History | AtomRegistry.AtomRegistry>;
|
|
94
94
|
/**
|
|
95
95
|
* Navigate to a route by name.
|
|
96
96
|
*/
|
package/dist/router/Navigator.js
CHANGED
|
@@ -109,8 +109,8 @@ function findRouteByName(router, name) {
|
|
|
109
109
|
* - Delegates to History for actual navigation
|
|
110
110
|
* - Supports basePath for apps mounted at non-root paths
|
|
111
111
|
*/
|
|
112
|
-
export function NavigatorLive(router,
|
|
113
|
-
const basePath =
|
|
112
|
+
export function NavigatorLive(router, navigatorOptions = {}) {
|
|
113
|
+
const basePath = navigatorOptions.basePath ?? "";
|
|
114
114
|
return Layer.scoped(Navigator, Effect.gen(function* () {
|
|
115
115
|
const history = yield* History;
|
|
116
116
|
const registry = yield* AtomRegistry.AtomRegistry;
|
|
@@ -129,7 +129,7 @@ export function NavigatorLive(router, options = {}) {
|
|
|
129
129
|
const service = {
|
|
130
130
|
basePath,
|
|
131
131
|
currentRoute: currentRouteAtom,
|
|
132
|
-
go: (routeName,
|
|
132
|
+
go: (routeName, navigateOptions = {}) => Effect.gen(function* () {
|
|
133
133
|
const found = findRouteByName(router, routeName);
|
|
134
134
|
if (Option.isNone(found)) {
|
|
135
135
|
yield* Effect.logWarning(`Route not found: ${routeName}`);
|
|
@@ -137,14 +137,16 @@ export function NavigatorLive(router, options = {}) {
|
|
|
137
137
|
}
|
|
138
138
|
const { route, basePath: routeBasePath } = found.value;
|
|
139
139
|
// Build URL from route and params
|
|
140
|
-
const pathParams =
|
|
140
|
+
const pathParams = navigateOptions.path ?? {};
|
|
141
141
|
const routePathname = route.interpolate(pathParams);
|
|
142
142
|
// Prepend navigator basePath AND route's layout basePath
|
|
143
143
|
const pathname = basePath + routeBasePath + routePathname;
|
|
144
|
-
const search =
|
|
144
|
+
const search = navigateOptions.searchParams
|
|
145
|
+
? buildSearchString(navigateOptions.searchParams)
|
|
146
|
+
: "";
|
|
145
147
|
const url = `${pathname}${search}`;
|
|
146
148
|
// Navigate - currentRoute updates automatically via derived atom
|
|
147
|
-
if (
|
|
149
|
+
if (navigateOptions.replace) {
|
|
148
150
|
yield* history.replace(url);
|
|
149
151
|
}
|
|
150
152
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Navigator.js","sourceRoot":"","sources":["../../src/router/Navigator.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Navigator.js","sourceRoot":"","sources":["../../src/router/Navigator.ts"],"names":[],"mappings":"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"}
|
package/dist/router/Route.js
CHANGED
package/dist/router/Route.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Route.js","sourceRoot":"","sources":["../../src/router/Route.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAkB,MAAM,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;AAoCzF;;;;GAIG;AACH,SAAS,iBAAiB,CACxB,QAA8B,EAC9B,OAAyC;IAMzC,IAAI,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACvB,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,aAAa,GAAsC,EAAE,CAAC;IAE5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1B,mEAAmE;QACnE,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;QACpD,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3B,aAAa,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC;QAClC,IAAI,IAAI,IAAI,SAAS,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;IAC5C,CAAC;IAED,MAAM,UAAU,GACd,UAAU,CAAC,MAAM,GAAG,CAAC;QACnB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,aAAoB,CAAC,CAAC;QAClD,CAAC,CAAC,MAAM,CAAC,IAAI,EAAqB,CAAC;IAEvC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;AAC1C,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CAAC,MAAyB;IAC7C,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;IACvB,MAAM,WAAW,GAAqC,GAAG,CAAC,WAAW,CAAC;IACtE,MAAM,eAAe,GAAG,WAAW,CAAC,eAAe,CAAiC,CAAC;IACrF,OAAO,eAAe,EAAE,IAAI,CAAC;AAC/B,CAAC;AAED;;;;;GAKG;AACH,SAAS,SAAS,CAChB,OAAe,EACf,QAAgB,EAChB,UAA8B;IAE9B,wCAAwC;IACxC,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,YAAY,KAAK,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAEpC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;IAElC,6CAA6C;IAC7C,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAA4B,CAAC;YACvF,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;QAAC,
|
|
1
|
+
{"version":3,"file":"Route.js","sourceRoot":"","sources":["../../src/router/Route.ts"],"names":[],"mappings":"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"}
|
package/dist/router/Router.d.ts
CHANGED
|
@@ -134,7 +134,7 @@ export interface BrowserLayerOptions {
|
|
|
134
134
|
readonly router: Router;
|
|
135
135
|
/**
|
|
136
136
|
* @deprecated Use atom hydration instead. RouterStateAtom is automatically
|
|
137
|
-
* hydrated
|
|
137
|
+
* hydrated via the HydrationState service and used by RouterOutlet.
|
|
138
138
|
*/
|
|
139
139
|
readonly initialState?: DehydratedRouterState;
|
|
140
140
|
/** Base path prefix for the app (e.g., "/ssr/router") */
|
|
@@ -204,20 +204,20 @@ export declare function serverLayer(options: ServerLayerOptions): Layer.Layer<Cu
|
|
|
204
204
|
* 3. If hydrated, uses that for initial render (skips loader)
|
|
205
205
|
* 4. Provides Navigator for subsequent navigation
|
|
206
206
|
*
|
|
207
|
-
* SSR hydration works automatically via
|
|
208
|
-
* pass initialState manually. The RouterStateAtom is hydrated from
|
|
209
|
-
*
|
|
207
|
+
* SSR hydration works automatically via the HydrationState service - no need to
|
|
208
|
+
* pass initialState manually. The RouterStateAtom is hydrated from the
|
|
209
|
+
* <script type="application/json" id="__fibrae-state__"> tag before this layer is created.
|
|
210
210
|
*
|
|
211
211
|
* Usage in client:
|
|
212
212
|
* ```typescript
|
|
213
|
-
* // Hydrate atoms first (includes RouterStateAtom)
|
|
214
|
-
* hydrate(container, app, window.__FIBRAE_STATE__);
|
|
215
|
-
*
|
|
216
213
|
* // Browser layer reads from hydrated RouterStateAtom
|
|
217
214
|
* const browserLayer = Router.browserLayer({
|
|
218
215
|
* router: AppRouter,
|
|
219
216
|
* basePath: "/ssr/router"
|
|
220
217
|
* });
|
|
218
|
+
*
|
|
219
|
+
* // render() auto-discovers hydration state from the DOM
|
|
220
|
+
* render(app, container, { layer: browserLayer });
|
|
221
221
|
* ```
|
|
222
222
|
*/
|
|
223
223
|
export declare function browserLayer(options: BrowserLayerOptions): Layer.Layer<History | Navigator | CurrentRouteElement, unknown, AtomRegistry.AtomRegistry | RouterHandlers>;
|
package/dist/router/Router.js
CHANGED
|
@@ -254,20 +254,20 @@ export function serverLayer(options) {
|
|
|
254
254
|
* 3. If hydrated, uses that for initial render (skips loader)
|
|
255
255
|
* 4. Provides Navigator for subsequent navigation
|
|
256
256
|
*
|
|
257
|
-
* SSR hydration works automatically via
|
|
258
|
-
* pass initialState manually. The RouterStateAtom is hydrated from
|
|
259
|
-
*
|
|
257
|
+
* SSR hydration works automatically via the HydrationState service - no need to
|
|
258
|
+
* pass initialState manually. The RouterStateAtom is hydrated from the
|
|
259
|
+
* <script type="application/json" id="__fibrae-state__"> tag before this layer is created.
|
|
260
260
|
*
|
|
261
261
|
* Usage in client:
|
|
262
262
|
* ```typescript
|
|
263
|
-
* // Hydrate atoms first (includes RouterStateAtom)
|
|
264
|
-
* hydrate(container, app, window.__FIBRAE_STATE__);
|
|
265
|
-
*
|
|
266
263
|
* // Browser layer reads from hydrated RouterStateAtom
|
|
267
264
|
* const browserLayer = Router.browserLayer({
|
|
268
265
|
* router: AppRouter,
|
|
269
266
|
* basePath: "/ssr/router"
|
|
270
267
|
* });
|
|
268
|
+
*
|
|
269
|
+
* // render() auto-discovers hydration state from the DOM
|
|
270
|
+
* render(app, container, { layer: browserLayer });
|
|
271
271
|
* ```
|
|
272
272
|
*/
|
|
273
273
|
export function browserLayer(options) {
|
|
@@ -134,8 +134,8 @@ export declare class RouterHandlers extends RouterHandlers_base {
|
|
|
134
134
|
* )
|
|
135
135
|
* ```
|
|
136
136
|
*/
|
|
137
|
-
export declare function group<GroupName extends string>(
|
|
138
|
-
export declare function group<GroupName extends string, R>(
|
|
137
|
+
export declare function group<GroupName extends string>(appRouter: Router, groupName: GroupName, build: (handlers: GroupHandlers<GroupName>) => GroupHandlers<GroupName>): Layer.Layer<RouterHandlers, never, never>;
|
|
138
|
+
export declare function group<GroupName extends string, R>(appRouter: Router, groupName: GroupName, build: (handlers: GroupHandlers<GroupName>) => Effect.Effect<GroupHandlers<GroupName>, never, R>): Layer.Layer<RouterHandlers, never, R>;
|
|
139
139
|
/**
|
|
140
140
|
* Create a Layer that provides handlers for a layout group.
|
|
141
141
|
*
|
|
@@ -160,8 +160,8 @@ export declare function group<GroupName extends string, R>(router: Router, group
|
|
|
160
160
|
* )
|
|
161
161
|
* ```
|
|
162
162
|
*/
|
|
163
|
-
export declare function layoutGroup<GroupName extends string>(
|
|
164
|
-
export declare function layoutGroup<GroupName extends string, R>(
|
|
163
|
+
export declare function layoutGroup<GroupName extends string>(appRouter: Router, groupName: GroupName, build: (handlers: LayoutGroupHandlers<GroupName>) => LayoutGroupHandlers<GroupName>): Layer.Layer<RouterHandlers, never, never>;
|
|
164
|
+
export declare function layoutGroup<GroupName extends string, R>(appRouter: Router, groupName: GroupName, build: (handlers: LayoutGroupHandlers<GroupName>) => Effect.Effect<LayoutGroupHandlers<GroupName>, never, R>): Layer.Layer<RouterHandlers, never, R>;
|
|
165
165
|
/**
|
|
166
166
|
* Merge multiple group handler layers into a single RouterHandlers layer.
|
|
167
167
|
*
|
|
@@ -91,15 +91,15 @@ function makeLayoutGroupHandlers(groupName, layoutGroup) {
|
|
|
91
91
|
/**
|
|
92
92
|
* Find a route group by name in a router.
|
|
93
93
|
*/
|
|
94
|
-
function findGroup(
|
|
95
|
-
const maybeGroup = Option.fromNullable(
|
|
94
|
+
function findGroup(appRouter, groupName) {
|
|
95
|
+
const maybeGroup = Option.fromNullable(appRouter.groups.find((g) => g.name === groupName));
|
|
96
96
|
if (Option.isNone(maybeGroup)) {
|
|
97
|
-
throw new Error(`Group "${groupName}" not found in router "${
|
|
97
|
+
throw new Error(`Group "${groupName}" not found in router "${appRouter.name}"`);
|
|
98
98
|
}
|
|
99
99
|
return maybeGroup.value;
|
|
100
100
|
}
|
|
101
|
-
export function group(
|
|
102
|
-
const routeGroup = findGroup(
|
|
101
|
+
export function group(appRouter, groupName, build) {
|
|
102
|
+
const routeGroup = findGroup(appRouter, groupName);
|
|
103
103
|
// Check if it's a layout group - if so, throw helpful error
|
|
104
104
|
if (routeGroup._tag === "LayoutGroup") {
|
|
105
105
|
throw new Error(`Group "${groupName}" is a LayoutGroup. Use RouterBuilder.layoutGroup() instead of RouterBuilder.group().`);
|
|
@@ -122,8 +122,8 @@ export function group(router, groupName, build) {
|
|
|
122
122
|
};
|
|
123
123
|
}));
|
|
124
124
|
}
|
|
125
|
-
export function layoutGroup(
|
|
126
|
-
const routeGroup = findGroup(
|
|
125
|
+
export function layoutGroup(appRouter, groupName, build) {
|
|
126
|
+
const routeGroup = findGroup(appRouter, groupName);
|
|
127
127
|
if (routeGroup._tag !== "LayoutGroup") {
|
|
128
128
|
throw new Error(`Group "${groupName}" is not a LayoutGroup. Use RouterBuilder.group() instead.`);
|
|
129
129
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouterBuilder.js","sourceRoot":"","sources":["../../src/router/RouterBuilder.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"RouterBuilder.js","sourceRoot":"","sources":["../../src/router/RouterBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAoIxC;;;GAGG;AACH,MAAM,OAAO,cAAe,SAAQ,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAQrE;CAAG;AAEN;;GAEG;AACH,SAAS,iBAAiB,CACxB,SAAoB,EACpB,GAA0B;IAE1B,MAAM,YAAY,GAAG,IAAI,GAAG,CAAgB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhF,MAAM,aAAa,GAAG,CAAC,QAAiC,EAA4B,EAAE,CAAC,CAAC;QACtF,SAAS;QACT,QAAQ;QACR,MAAM,CAQJ,SAAoB,EACpB,MAAiE;YAEjE,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;YACpE,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,UAAU,SAAS,yBAAyB,SAAS,GAAG,CAAC,CAAC;YAC5E,CAAC;YACD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;YAE/B,2EAA2E;YAC3E,MAAM,gBAAgB,GAAG,CAAC,GAAkB,EAA0B,EAAE;gBACtE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;oBACnB,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC9B,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAA8C,CAAC,CAAC;gBAC7E,OAAO,CACL,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAChC,CAAC;YAC9B,CAAC,CAAC;YAEF,MAAM,OAAO,GAAiB;gBAC5B,SAAS;gBACT,KAAK;gBACL,MAAM,EAAE,gBAAgB;gBACxB,SAAS,EAAE,MAAM,CAAC,SAAgD;aACnE,CAAC;YAEF,OAAO,aAAa,CAAC,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;QAC/C,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,aAAa,CAAC,EAAE,CAAC,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB,CAC9B,SAAoB,EACpB,WAAmC;IAEnC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAgB,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAExF,MAAM,aAAa,GAAG,CACpB,QAAiC,EACjC,aAAmC,EACH,EAAE,CAAC,CAAC;QACpC,SAAS;QACT,QAAQ;QACR,aAAa;QAEb,MAAM,CAAC,SAAyB;YAC9B,OAAO,aAAa,CAAC,QAAQ,EAAE;gBAC7B,UAAU,EAAE,SAAS;gBACrB,SAAS;aACV,CAAC,CAAC;QACL,CAAC;QAED,MAAM,CAQJ,SAAoB,EACpB,MAAiE;YAEjE,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;YACpE,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,UAAU,SAAS,gCAAgC,SAAS,GAAG,CAAC,CAAC;YACnF,CAAC;YACD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;YAE/B,MAAM,gBAAgB,GAAG,CAAC,GAAkB,EAA0B,EAAE;gBACtE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;oBACnB,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC9B,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAA8C,CAAC,CAAC;gBAC7E,OAAO,CACL,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAChC,CAAC;YAC9B,CAAC,CAAC;YAEF,MAAM,OAAO,GAAiB;gBAC5B,SAAS;gBACT,KAAK;gBACL,MAAM,EAAE,gBAAgB;gBACxB,SAAS,EAAE,MAAM,CAAC,SAAgD;aACnE,CAAC;YAEF,OAAO,aAAa,CAAC,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,EAAE,aAAa,CAAC,CAAC;QAC9D,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAChB,SAAiB,EACjB,SAAoB;IAEpB,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC;IAC3F,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,UAAU,SAAS,0BAA0B,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC;IAClF,CAAC;IACD,OAAO,UAAU,CAAC,KAA4B,CAAC;AACjD,CAAC;AAyCD,MAAM,UAAU,KAAK,CACnB,SAAiB,EACjB,SAAoB,EACpB,KAEiF;IAEjF,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAEnD,4DAA4D;IAC5D,IAAI,UAAU,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CACb,UAAU,SAAS,uFAAuF,CAC3G,CAAC;IACJ,CAAC;IAED,MAAM,eAAe,GAAG,iBAAiB,CAAC,SAAS,EAAE,UAAmC,CAAC,CAAC;IAE1F,OAAO,KAAK,CAAC,MAAM,CACjB,cAAc,EACd,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,MAAM,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;QACtC,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QAEvE,MAAM,WAAW,GAAG,IAAI,GAAG,CACzB,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CACpD,CAAC;QAEF,OAAO;YACL,QAAQ,EAAE,WAAW;YACrB,cAAc,EAAE,IAAI,GAAG,EAAE;YACzB,UAAU,CAAC,SAAiB;gBAC1B,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC3C,OAAO,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACxD,CAAC;YACD,gBAAgB,CAAC,WAAmB;gBAClC,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;YACvB,CAAC;SACF,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAsCD,MAAM,UAAU,WAAW,CACzB,SAAiB,EACjB,SAAoB,EACpB,KAE6F;IAE7F,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAEnD,IAAI,UAAU,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CACb,UAAU,SAAS,4DAA4D,CAChF,CAAC;IACJ,CAAC;IAED,MAAM,eAAe,GAAG,uBAAuB,CAAC,SAAS,EAAE,UAAoC,CAAC,CAAC;IAEjG,OAAO,KAAK,CAAC,MAAM,CACjB,cAAc,EACd,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,MAAM,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;QACtC,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QAEvE,MAAM,WAAW,GAAG,IAAI,GAAG,CACzB,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CACpD,CAAC;QAEF,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAyB,CAAC;QAC3D,IAAI,aAAa,CAAC,aAAa,EAAE,CAAC;YAChC,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;QAC7F,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,WAAW;YACrB,cAAc,EAAE,iBAAiB;YACjC,UAAU,CAAC,SAAiB;gBAC1B,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC3C,OAAO,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACxD,CAAC;YACD,gBAAgB,CAAC,UAAkB;gBACjC,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAClD,OAAO,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACxD,CAAC;SACF,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,MAAM,CAAC,OAAe;IACpC,qCAAqC;IACrC,OAAO,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE;QACnC,QAAQ,EAAE,IAAI,GAAG,EAAE;QACnB,cAAc,EAAE,IAAI,GAAG,EAAE;QACzB,UAAU,CAAC,UAAkB;YAC3B,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;QACvB,CAAC;QACD,gBAAgB,CAAC,WAAmB;YAClC,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;QACvB,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,OAAqB,EAAE,GAAkB;IACpE,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACzB,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9C,OAAO,OAAO,CAAC,SAAS,CAAC;YACvB,UAAU;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,YAAY,EAAE,GAAG,CAAC,YAAY;SAC/B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -46,8 +46,8 @@ export declare const RouterStateSchema: Schema.Struct<{
|
|
|
46
46
|
* When Some, contains the matched route info and loader data.
|
|
47
47
|
*
|
|
48
48
|
* This atom is automatically:
|
|
49
|
-
* - Dehydrated during SSR (
|
|
50
|
-
* - Hydrated on client (
|
|
49
|
+
* - Dehydrated during SSR (embedded in <script type="application/json" id="__fibrae-state__">)
|
|
50
|
+
* - Hydrated on client (auto-discovered via the HydrationState service)
|
|
51
51
|
*/
|
|
52
52
|
export declare const RouterStateAtom: Atom.Writable<Option.Option<RouterState>, Option.Option<RouterState>> & Atom.Serializable<Schema.Option<Schema.Struct<{
|
|
53
53
|
routeName: typeof Schema.String;
|
|
@@ -39,8 +39,8 @@ export const RouterStateSchema = Schema.Struct({
|
|
|
39
39
|
* When Some, contains the matched route info and loader data.
|
|
40
40
|
*
|
|
41
41
|
* This atom is automatically:
|
|
42
|
-
* - Dehydrated during SSR (
|
|
43
|
-
* - Hydrated on client (
|
|
42
|
+
* - Dehydrated during SSR (embedded in <script type="application/json" id="__fibrae-state__">)
|
|
43
|
+
* - Hydrated on client (auto-discovered via the HydrationState service)
|
|
44
44
|
*/
|
|
45
45
|
export const RouterStateAtom = Atom.make(Option.none()).pipe(Atom.serializable({
|
|
46
46
|
key: "@fibrae/router/state",
|
package/dist/runtime.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as Effect from "effect/Effect";
|
|
2
|
+
import * as Stream from "effect/Stream";
|
|
2
3
|
import * as Scope from "effect/Scope";
|
|
3
4
|
import * as Layer from "effect/Layer";
|
|
4
5
|
import * as Ref from "effect/Ref";
|
|
@@ -6,7 +7,7 @@ import * as Option from "effect/Option";
|
|
|
6
7
|
import * as Context from "effect/Context";
|
|
7
8
|
import type * as EffectFiber from "effect/Fiber";
|
|
8
9
|
import type * as Runtime from "effect/Runtime";
|
|
9
|
-
import { Atom, Registry as AtomRegistry } from "@effect-atom/atom";
|
|
10
|
+
import { Atom, Registry as AtomRegistry, Result } from "@effect-atom/atom";
|
|
10
11
|
import type { Fiber } from "./shared.js";
|
|
11
12
|
export type { EffectFiber, Runtime };
|
|
12
13
|
export interface FiberState {
|
|
@@ -31,6 +32,11 @@ declare const FibraeRuntime_base: Effect.Service.Class<FibraeRuntime, "FibraeRun
|
|
|
31
32
|
set: <R, W>(atom: Atom.Writable<R, W>, value: W) => void;
|
|
32
33
|
update: <R, W>(atom: Atom.Writable<R, W>, f: (_: R) => W) => void;
|
|
33
34
|
modify: <R, W, A>(atom: Atom.Writable<R, W>, f: (_: R) => [returnValue: A, nextValue: W]) => A;
|
|
35
|
+
getResult: <A, E>(atom: Atom.Atom<Result.Result<A, E>>, options?: {
|
|
36
|
+
readonly suspendOnWaiting?: boolean;
|
|
37
|
+
}) => Effect.Effect<A, E>;
|
|
38
|
+
toStreamResult: <A, E>(atom: Atom.Atom<Result.Result<A, E>>) => Stream.Stream<A, E>;
|
|
39
|
+
refresh: <A>(atom: Atom.Atom<A>) => void;
|
|
34
40
|
};
|
|
35
41
|
fiberState: Ref.Ref<FiberState>;
|
|
36
42
|
fullContextRef: Ref.Ref<Context.Context<unknown>>;
|
package/dist/runtime.js
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import * as Effect from "effect/Effect";
|
|
2
|
+
import * as Stream from "effect/Stream";
|
|
2
3
|
import * as Scope from "effect/Scope";
|
|
3
4
|
import * as FiberSet from "effect/FiberSet";
|
|
4
5
|
import * as Layer from "effect/Layer";
|
|
5
6
|
import * as Ref from "effect/Ref";
|
|
6
7
|
import * as Option from "effect/Option";
|
|
7
8
|
import * as Context from "effect/Context";
|
|
8
|
-
import { Atom, Registry as AtomRegistry } from "@effect-atom/atom";
|
|
9
|
+
import { Atom, Registry as AtomRegistry, Result } from "@effect-atom/atom";
|
|
10
|
+
import * as RegistryModule from "@effect-atom/atom/Registry";
|
|
9
11
|
export const makeFiberState = () => ({
|
|
10
12
|
currentRoot: Option.none(),
|
|
11
13
|
wipRoot: Option.none(),
|
|
@@ -37,6 +39,9 @@ export class FibraeRuntime extends Effect.Service()("FibraeRuntime", {
|
|
|
37
39
|
set: (atom, value) => registry.set(atom, value),
|
|
38
40
|
update: (atom, f) => registry.update(atom, f),
|
|
39
41
|
modify: (atom, f) => registry.modify(atom, f),
|
|
42
|
+
getResult: (atom, options) => RegistryModule.getResult(registry, atom, options),
|
|
43
|
+
toStreamResult: (atom) => RegistryModule.toStreamResult(registry, atom),
|
|
44
|
+
refresh: (atom) => registry.refresh(atom),
|
|
40
45
|
};
|
|
41
46
|
return {
|
|
42
47
|
registry,
|
package/dist/runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,GAAG,MAAM,YAAY,CAAC;AAClC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAK1C,OAAO,EAAE,IAAI,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts
CHANGED
|
@@ -17,9 +17,9 @@ export type { Layer };
|
|
|
17
17
|
/**
|
|
18
18
|
* Result of renderToString - HTML plus serialized state
|
|
19
19
|
*
|
|
20
|
-
* The dehydratedState
|
|
21
|
-
*
|
|
22
|
-
*
|
|
20
|
+
* The dehydratedState should be embedded as a JSON script tag:
|
|
21
|
+
* <script type="application/json" id="__fibrae-state__">${JSON.stringify(dehydratedState)}</script>
|
|
22
|
+
* The HydrationState service auto-discovers this tag during render().
|
|
23
23
|
*/
|
|
24
24
|
export interface RenderResult {
|
|
25
25
|
readonly html: string;
|
|
@@ -49,12 +49,10 @@ export { SSRAtomRegistryLayer };
|
|
|
49
49
|
/**
|
|
50
50
|
* Render a VElement tree to an HTML string with serialized state.
|
|
51
51
|
*
|
|
52
|
-
* Returns the HTML and the dehydrated atom state array.
|
|
53
|
-
*
|
|
54
|
-
* attribute, separate endpoint, etc.).
|
|
52
|
+
* Returns the HTML and the dehydrated atom state array. Embed the state as:
|
|
53
|
+
* <script type="application/json" id="__fibrae-state__">${JSON.stringify(dehydratedState)}</script>
|
|
55
54
|
*
|
|
56
|
-
*
|
|
57
|
-
* to hydrate atom values before DOM hydration.
|
|
55
|
+
* The HydrationState service auto-discovers this tag during client-side render().
|
|
58
56
|
*
|
|
59
57
|
* Note: Atoms must use `Atom.serializable({ key, schema })` to be included
|
|
60
58
|
* in the dehydrated state.
|
|
@@ -65,14 +63,12 @@ export { SSRAtomRegistryLayer };
|
|
|
65
63
|
*
|
|
66
64
|
* const program = Effect.gen(function* () {
|
|
67
65
|
* const { html, dehydratedState } = yield* renderToString(<App />);
|
|
68
|
-
*
|
|
69
|
-
* // Embed state however you prefer
|
|
70
66
|
* const page = `
|
|
71
67
|
* <!DOCTYPE html>
|
|
72
68
|
* <html>
|
|
73
69
|
* <body>
|
|
74
70
|
* <div id="root">${html}</div>
|
|
75
|
-
* <script
|
|
71
|
+
* <script type="application/json" id="__fibrae-state__">${JSON.stringify(dehydratedState)}</script>
|
|
76
72
|
* <script src="/client.js"></script>
|
|
77
73
|
* </body>
|
|
78
74
|
* </html>
|
|
@@ -111,4 +107,4 @@ export declare const renderToString: (element: VElement, _options?: RenderOption
|
|
|
111
107
|
* ```
|
|
112
108
|
*/
|
|
113
109
|
export declare const renderToStringWith: <R>(element: VElement, _options?: RenderOptions) => Effect.Effect<RenderResult, unknown, AtomRegistry.AtomRegistry | R>;
|
|
114
|
-
export { Hydration };
|
|
110
|
+
export { Hydration, Result } from "@effect-atom/atom";
|
package/dist/server.js
CHANGED
|
@@ -227,12 +227,10 @@ const renderVElementToString = (vElement) => Effect.gen(function* () {
|
|
|
227
227
|
/**
|
|
228
228
|
* Render a VElement tree to an HTML string with serialized state.
|
|
229
229
|
*
|
|
230
|
-
* Returns the HTML and the dehydrated atom state array.
|
|
231
|
-
*
|
|
232
|
-
* attribute, separate endpoint, etc.).
|
|
230
|
+
* Returns the HTML and the dehydrated atom state array. Embed the state as:
|
|
231
|
+
* <script type="application/json" id="__fibrae-state__">${JSON.stringify(dehydratedState)}</script>
|
|
233
232
|
*
|
|
234
|
-
*
|
|
235
|
-
* to hydrate atom values before DOM hydration.
|
|
233
|
+
* The HydrationState service auto-discovers this tag during client-side render().
|
|
236
234
|
*
|
|
237
235
|
* Note: Atoms must use `Atom.serializable({ key, schema })` to be included
|
|
238
236
|
* in the dehydrated state.
|
|
@@ -243,14 +241,12 @@ const renderVElementToString = (vElement) => Effect.gen(function* () {
|
|
|
243
241
|
*
|
|
244
242
|
* const program = Effect.gen(function* () {
|
|
245
243
|
* const { html, dehydratedState } = yield* renderToString(<App />);
|
|
246
|
-
*
|
|
247
|
-
* // Embed state however you prefer
|
|
248
244
|
* const page = `
|
|
249
245
|
* <!DOCTYPE html>
|
|
250
246
|
* <html>
|
|
251
247
|
* <body>
|
|
252
248
|
* <div id="root">${html}</div>
|
|
253
|
-
* <script
|
|
249
|
+
* <script type="application/json" id="__fibrae-state__">${JSON.stringify(dehydratedState)}</script>
|
|
254
250
|
* <script src="/client.js"></script>
|
|
255
251
|
* </body>
|
|
256
252
|
* </html>
|
|
@@ -303,6 +299,6 @@ export const renderToStringWith = (element, _options) => Effect.gen(function* ()
|
|
|
303
299
|
const dehydratedState = Hydration.dehydrate(registry);
|
|
304
300
|
return { html, dehydratedState };
|
|
305
301
|
});
|
|
306
|
-
// Re-export Hydration for convenience
|
|
307
|
-
export { Hydration };
|
|
302
|
+
// Re-export Hydration and Result for convenience
|
|
303
|
+
export { Hydration, Result } from "@effect-atom/atom";
|
|
308
304
|
//# sourceMappingURL=server.js.map
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|