fibrae 0.1.1 → 0.1.3
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/components.d.ts +45 -11
- package/dist/components.js +75 -21
- package/dist/components.js.map +1 -1
- package/dist/dom.d.ts +4 -1
- package/dist/dom.js +15 -2
- package/dist/dom.js.map +1 -1
- package/dist/fiber-render.d.ts +5 -3
- package/dist/fiber-render.js +191 -105
- package/dist/fiber-render.js.map +1 -1
- package/dist/hydration.js +0 -21
- package/dist/hydration.js.map +1 -1
- package/dist/index.d.ts +1 -19
- package/dist/index.js +3 -14
- package/dist/index.js.map +1 -1
- package/dist/render.js +0 -46
- package/dist/render.js.map +1 -1
- package/dist/server.js +0 -19
- package/dist/server.js.map +1 -1
- package/dist/shared.d.ts +73 -7
- package/dist/shared.js +33 -0
- package/dist/shared.js.map +1 -1
- package/package.json +5 -1
package/dist/fiber-render.js
CHANGED
|
@@ -20,11 +20,10 @@ import * as Context from "effect/Context";
|
|
|
20
20
|
import * as FiberRef from "effect/FiberRef";
|
|
21
21
|
import * as Cause from "effect/Cause";
|
|
22
22
|
import { Atom, Registry as AtomRegistry } from "@effect-atom/atom";
|
|
23
|
-
import { isEvent, isProperty, isStream, } from "./shared.js";
|
|
23
|
+
import { RenderError, StreamError, EventHandlerError, isEvent, isProperty, isStream, } from "./shared.js";
|
|
24
24
|
import { FibraeRuntime, runForkWithRuntime } from "./runtime.js";
|
|
25
25
|
import { setDomProperty, attachEventListeners } from "./dom.js";
|
|
26
26
|
import { normalizeToStream, makeTrackingRegistry } from "./tracking.js";
|
|
27
|
-
import { h } from "./h.js";
|
|
28
27
|
// =============================================================================
|
|
29
28
|
// Stream Subscription Helper
|
|
30
29
|
// =============================================================================
|
|
@@ -56,11 +55,17 @@ const subscribeComponentStream = (stream, fiberRef, scope) => Effect.gen(functio
|
|
|
56
55
|
}
|
|
57
56
|
})).pipe(Effect.catchAllCause((cause) => Effect.gen(function* () {
|
|
58
57
|
const done = yield* Deferred.isDone(firstValueDeferred);
|
|
58
|
+
// Convert to StreamError with the correct phase
|
|
59
|
+
const streamError = new StreamError({
|
|
60
|
+
cause: Cause.squash(cause),
|
|
61
|
+
phase: done ? "after-first-emission" : "before-first-emission",
|
|
62
|
+
});
|
|
59
63
|
if (!done) {
|
|
60
|
-
|
|
64
|
+
// Fail the deferred with StreamError so awaiting code gets the typed error
|
|
65
|
+
yield* Deferred.fail(firstValueDeferred, streamError);
|
|
61
66
|
}
|
|
62
67
|
const currentFiber = fiberRef.current;
|
|
63
|
-
yield* handleFiberError(currentFiber,
|
|
68
|
+
yield* handleFiberError(currentFiber, streamError);
|
|
64
69
|
})));
|
|
65
70
|
yield* Effect.forkIn(subscription, scope);
|
|
66
71
|
return firstValueDeferred;
|
|
@@ -83,7 +88,7 @@ const createFiber = (type, props, parent, alternate, effectTag) => ({
|
|
|
83
88
|
childFirstCommitDeferred: Option.none(),
|
|
84
89
|
fiberRef: Option.none(),
|
|
85
90
|
isMultiEmissionStream: false,
|
|
86
|
-
|
|
91
|
+
boundary: Option.none(),
|
|
87
92
|
suspense: Option.none(),
|
|
88
93
|
renderContext: Option.none(),
|
|
89
94
|
isParked: false,
|
|
@@ -188,19 +193,6 @@ const processBatch = () => Effect.gen(function* () {
|
|
|
188
193
|
// =============================================================================
|
|
189
194
|
// Fiber Tree Walking Helpers
|
|
190
195
|
// =============================================================================
|
|
191
|
-
/**
|
|
192
|
-
* Walk up the fiber tree from the starting fiber, returning the first ancestor
|
|
193
|
-
* (including the starting fiber) that matches the predicate.
|
|
194
|
-
*/
|
|
195
|
-
const findAncestor = (fiber, predicate) => {
|
|
196
|
-
let current = Option.some(fiber);
|
|
197
|
-
while (Option.isSome(current)) {
|
|
198
|
-
if (predicate(current.value))
|
|
199
|
-
return current;
|
|
200
|
-
current = current.value.parent;
|
|
201
|
-
}
|
|
202
|
-
return Option.none();
|
|
203
|
-
};
|
|
204
196
|
/**
|
|
205
197
|
* Walk up the fiber tree from the starting fiber's parent, returning the first
|
|
206
198
|
* ancestor that matches the predicate (excludes the starting fiber itself).
|
|
@@ -238,40 +230,55 @@ const findDomParent = (fiber) => {
|
|
|
238
230
|
// =============================================================================
|
|
239
231
|
// Error Boundary Support
|
|
240
232
|
// =============================================================================
|
|
241
|
-
|
|
242
|
-
const
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
cfg.onError?.(cause);
|
|
255
|
-
cfg.hasError = true;
|
|
256
|
-
boundary.errorBoundary = Option.some(cfg);
|
|
257
|
-
// Check if we're in initial render (no currentRoot yet)
|
|
258
|
-
if (Option.isNone(state.currentRoot)) {
|
|
259
|
-
// During initial render: re-reconcile boundary with fallback immediately
|
|
260
|
-
// This replaces the errored child with the fallback element
|
|
261
|
-
yield* reconcileChildren(boundary, [cfg.fallback]);
|
|
262
|
-
// Return the boundary's new child (fallback) so work continues
|
|
263
|
-
return boundary.child;
|
|
264
|
-
}
|
|
265
|
-
else {
|
|
266
|
-
// After initial render: queue for re-render
|
|
267
|
-
yield* queueFiberForRerender(boundary);
|
|
268
|
-
return Option.none();
|
|
269
|
-
}
|
|
233
|
+
/** Find nearest BOUNDARY by walking up the fiber tree */
|
|
234
|
+
const findNearestBoundary = (fiber) => findAncestorExcludingSelf(fiber, (f) => Option.isSome(f.boundary));
|
|
235
|
+
/**
|
|
236
|
+
* Convert a raw cause/error to a ComponentError.
|
|
237
|
+
* If it's already a ComponentError, return as-is.
|
|
238
|
+
* Otherwise, wrap in RenderError as a fallback.
|
|
239
|
+
*/
|
|
240
|
+
const toComponentError = (cause) => {
|
|
241
|
+
// Check if it's already a ComponentError
|
|
242
|
+
if (cause instanceof RenderError ||
|
|
243
|
+
cause instanceof StreamError ||
|
|
244
|
+
cause instanceof EventHandlerError) {
|
|
245
|
+
return cause;
|
|
270
246
|
}
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
247
|
+
// Extract the actual error from Cause if needed
|
|
248
|
+
const actualError = Cause.isCause(cause) ? Cause.squash(cause) : cause;
|
|
249
|
+
if (actualError instanceof RenderError ||
|
|
250
|
+
actualError instanceof StreamError ||
|
|
251
|
+
actualError instanceof EventHandlerError) {
|
|
252
|
+
return actualError;
|
|
274
253
|
}
|
|
254
|
+
// Wrap unknown errors as RenderError
|
|
255
|
+
return new RenderError({ cause: actualError });
|
|
256
|
+
};
|
|
257
|
+
/**
|
|
258
|
+
* Handle an error by finding the nearest error boundary and invoking its handler.
|
|
259
|
+
*
|
|
260
|
+
* Finds the nearest BOUNDARY and calls its onError callback to fail the stream.
|
|
261
|
+
* The Stream.catchTags in user code will produce the fallback.
|
|
262
|
+
*/
|
|
263
|
+
const handleFiberError = (fiber, cause) => Effect.gen(function* () {
|
|
264
|
+
const componentError = toComponentError(cause);
|
|
265
|
+
// Find nearest boundary
|
|
266
|
+
const boundaryOpt = findNearestBoundary(fiber);
|
|
267
|
+
return yield* Option.match(boundaryOpt, {
|
|
268
|
+
onNone: () => Effect.gen(function* () {
|
|
269
|
+
yield* Effect.logError("Unhandled error without any error boundary", componentError);
|
|
270
|
+
return Option.none();
|
|
271
|
+
}),
|
|
272
|
+
onSome: (boundary) => Effect.sync(() => {
|
|
273
|
+
// Call onError to fail the stream
|
|
274
|
+
const cfg = Option.getOrThrow(boundary.boundary);
|
|
275
|
+
cfg.onError(componentError);
|
|
276
|
+
cfg.hasError = true;
|
|
277
|
+
// The stream will fail and catchTags will produce fallback
|
|
278
|
+
// which will trigger a re-render via the stream subscription
|
|
279
|
+
return Option.none();
|
|
280
|
+
}),
|
|
281
|
+
});
|
|
275
282
|
});
|
|
276
283
|
// =============================================================================
|
|
277
284
|
// Suspense Support
|
|
@@ -396,9 +403,7 @@ const updateFunctionComponent = (fiber, runtime) => Effect.gen(function* () {
|
|
|
396
403
|
const vElement = output;
|
|
397
404
|
if (typeof vElement === "object" && vElement !== null && "type" in vElement) {
|
|
398
405
|
const elementType = vElement.type;
|
|
399
|
-
if (elementType === "SUSPENSE" ||
|
|
400
|
-
elementType === "ERROR_BOUNDARY" ||
|
|
401
|
-
elementType === "FRAGMENT") {
|
|
406
|
+
if (elementType === "SUSPENSE" || elementType === "FRAGMENT") {
|
|
402
407
|
// Simple wrapper component - just reconcile with the VElement directly
|
|
403
408
|
yield* reconcileChildren(fiber, [vElement]);
|
|
404
409
|
return;
|
|
@@ -510,29 +515,31 @@ const updateHostComponent = (fiber, runtime) => Effect.gen(function* () {
|
|
|
510
515
|
if (Option.isNone(fiber.renderContext) && Option.isSome(fiber.parent)) {
|
|
511
516
|
fiber.renderContext = fiber.parent.value.renderContext;
|
|
512
517
|
}
|
|
513
|
-
// Handle
|
|
514
|
-
const
|
|
515
|
-
if (
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
518
|
+
// Handle BOUNDARY specially (Effect-native error boundary API)
|
|
519
|
+
const isBoundary = fiberTypeIs(fiber, "BOUNDARY");
|
|
520
|
+
if (isBoundary) {
|
|
521
|
+
const boundaryId = fiber.props.boundaryId;
|
|
522
|
+
const onError = fiber.props.onError;
|
|
523
|
+
// Inherit boundary state from alternate (previous render) if present
|
|
524
|
+
// This preserves hasError state across re-renders
|
|
525
|
+
if (Option.isNone(fiber.boundary) && Option.isSome(fiber.alternate)) {
|
|
526
|
+
const alt = fiber.alternate.value;
|
|
527
|
+
if (Option.isSome(alt.boundary)) {
|
|
528
|
+
fiber.boundary = alt.boundary;
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
// Initialize boundary config if not already set
|
|
532
|
+
if (Option.isNone(fiber.boundary)) {
|
|
533
|
+
fiber.boundary = Option.some({
|
|
534
|
+
boundaryId,
|
|
522
535
|
onError,
|
|
523
536
|
hasError: false,
|
|
524
537
|
});
|
|
525
538
|
}
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
}
|
|
531
|
-
else {
|
|
532
|
-
// Normal state - render children
|
|
533
|
-
const children = fiber.props.children;
|
|
534
|
-
yield* reconcileChildren(fiber, children || []);
|
|
535
|
-
}
|
|
539
|
+
// Render children (BOUNDARY doesn't have fallback state -
|
|
540
|
+
// the fallback is handled by Stream.catchTags in userland)
|
|
541
|
+
const children = fiber.props.children;
|
|
542
|
+
yield* reconcileChildren(fiber, children || []);
|
|
536
543
|
return;
|
|
537
544
|
}
|
|
538
545
|
// Handle SUSPENSE specially
|
|
@@ -682,7 +689,14 @@ const updateDom = (dom, prevProps, nextProps, ownerFiber, runtime) => Effect.gen
|
|
|
682
689
|
if (Effect.isEffect(result)) {
|
|
683
690
|
// Use runForkWithRuntime to get the full application context
|
|
684
691
|
// This provides Navigator, FibraeRuntime, AtomRegistry, etc.
|
|
685
|
-
const effectWithErrorHandling = result.pipe(Effect.catchAllCause((cause) =>
|
|
692
|
+
const effectWithErrorHandling = result.pipe(Effect.catchAllCause((cause) => {
|
|
693
|
+
// Convert to EventHandlerError with the event type
|
|
694
|
+
const error = new EventHandlerError({
|
|
695
|
+
cause: Cause.squash(cause),
|
|
696
|
+
eventType,
|
|
697
|
+
});
|
|
698
|
+
return ownerFiber ? handleFiberError(ownerFiber, error) : Effect.void;
|
|
699
|
+
}));
|
|
686
700
|
runForkWithRuntime(runtime)(effectWithErrorHandling);
|
|
687
701
|
}
|
|
688
702
|
};
|
|
@@ -760,7 +774,7 @@ const reconcileChildren = (wipFiber, elements) => Effect.gen(function* () {
|
|
|
760
774
|
// UPDATE - reuse DOM, update props
|
|
761
775
|
const fiber = createFiber(matched.type, element.props, Option.some(wipFiber), matchedOldOpt, Option.some("UPDATE"));
|
|
762
776
|
fiber.dom = matched.dom;
|
|
763
|
-
fiber.
|
|
777
|
+
fiber.boundary = matched.boundary;
|
|
764
778
|
fiber.suspense = matched.suspense;
|
|
765
779
|
return fiber;
|
|
766
780
|
}
|
|
@@ -957,11 +971,62 @@ export const renderFiber = (element, container) => Effect.gen(function* () {
|
|
|
957
971
|
// =============================================================================
|
|
958
972
|
// Hydration Support
|
|
959
973
|
// =============================================================================
|
|
974
|
+
// =============================================================================
|
|
975
|
+
// Hydration Helpers - Cursor-based DOM Walking (like React)
|
|
976
|
+
// =============================================================================
|
|
977
|
+
/**
|
|
978
|
+
* Get the next hydratable node, skipping whitespace-only text nodes
|
|
979
|
+
* and non-marker comments. Returns None if no more hydratable nodes.
|
|
980
|
+
*
|
|
981
|
+
* Hydratable nodes are:
|
|
982
|
+
* - Element nodes (always)
|
|
983
|
+
* - Text nodes with non-whitespace content
|
|
984
|
+
* - Comment nodes that are Fibrae markers (fibrae:...)
|
|
985
|
+
*/
|
|
986
|
+
const getNextHydratable = (node) => {
|
|
987
|
+
let current = node;
|
|
988
|
+
while (current) {
|
|
989
|
+
const nodeType = current.nodeType;
|
|
990
|
+
// Element nodes are always hydratable
|
|
991
|
+
if (nodeType === Node.ELEMENT_NODE) {
|
|
992
|
+
return Option.some(current);
|
|
993
|
+
}
|
|
994
|
+
// Text nodes are hydratable if they have non-whitespace content
|
|
995
|
+
if (nodeType === Node.TEXT_NODE) {
|
|
996
|
+
const textContent = current.textContent;
|
|
997
|
+
if (textContent !== null && textContent.trim() !== "") {
|
|
998
|
+
return Option.some(current);
|
|
999
|
+
}
|
|
1000
|
+
// Skip whitespace-only text nodes
|
|
1001
|
+
}
|
|
1002
|
+
// Comment nodes are hydratable if they're Fibrae markers
|
|
1003
|
+
if (nodeType === Node.COMMENT_NODE) {
|
|
1004
|
+
const data = current.data;
|
|
1005
|
+
if (data.startsWith("fibrae:")) {
|
|
1006
|
+
return Option.some(current);
|
|
1007
|
+
}
|
|
1008
|
+
// Skip non-marker comments
|
|
1009
|
+
}
|
|
1010
|
+
current = current.nextSibling;
|
|
1011
|
+
}
|
|
1012
|
+
return Option.none();
|
|
1013
|
+
};
|
|
1014
|
+
const getFirstHydratableChild = (parent) => {
|
|
1015
|
+
return getNextHydratable(parent.firstChild);
|
|
1016
|
+
};
|
|
1017
|
+
const getNextHydratableSibling = (node) => {
|
|
1018
|
+
return getNextHydratable(node.nextSibling);
|
|
1019
|
+
};
|
|
1020
|
+
// =============================================================================
|
|
1021
|
+
// Fiber Hydration - Cursor-based Implementation
|
|
1022
|
+
// =============================================================================
|
|
960
1023
|
/**
|
|
961
|
-
* Hydrate an existing DOM tree
|
|
1024
|
+
* Hydrate an existing DOM tree by building a fiber tree that references
|
|
1025
|
+
* the existing DOM nodes. This enables event handlers and reactivity
|
|
1026
|
+
* without replacing the DOM.
|
|
962
1027
|
*
|
|
963
|
-
*
|
|
964
|
-
*
|
|
1028
|
+
* Uses cursor-based DOM walking (like React) to match VElement tree
|
|
1029
|
+
* against existing DOM, skipping whitespace-only text nodes and comments.
|
|
965
1030
|
*/
|
|
966
1031
|
export const hydrateFiber = (element, container) => Effect.gen(function* () {
|
|
967
1032
|
const runtime = yield* FibraeRuntime;
|
|
@@ -970,8 +1035,9 @@ export const hydrateFiber = (element, container) => Effect.gen(function* () {
|
|
|
970
1035
|
const rootFiber = createFiber(Option.none(), { children: [element] }, Option.none(), Option.none(), Option.none());
|
|
971
1036
|
rootFiber.dom = Option.some(container);
|
|
972
1037
|
// Build fiber tree by walking DOM and VElement together
|
|
973
|
-
//
|
|
974
|
-
|
|
1038
|
+
// Start with first hydratable child (skipping whitespace)
|
|
1039
|
+
const firstChild = getFirstHydratableChild(container);
|
|
1040
|
+
yield* hydrateChildren(rootFiber, [element], firstChild, runtime);
|
|
975
1041
|
yield* Ref.update(stateRef, (s) => ({
|
|
976
1042
|
...s,
|
|
977
1043
|
currentRoot: Option.some(rootFiber),
|
|
@@ -981,58 +1047,76 @@ export const hydrateFiber = (element, container) => Effect.gen(function* () {
|
|
|
981
1047
|
// Keep runtime alive
|
|
982
1048
|
return yield* Effect.never;
|
|
983
1049
|
});
|
|
984
|
-
|
|
985
|
-
|
|
1050
|
+
/**
|
|
1051
|
+
* Hydrate multiple vElements against DOM nodes using cursor-based walking.
|
|
1052
|
+
* Returns the next DOM cursor position after all children are hydrated.
|
|
1053
|
+
*/
|
|
1054
|
+
const hydrateChildren = (parentFiber, vElements, startCursor, runtime) => Effect.gen(function* () {
|
|
1055
|
+
let cursor = startCursor;
|
|
986
1056
|
const fibers = [];
|
|
987
1057
|
for (const vElement of vElements) {
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
domIndex++;
|
|
1058
|
+
if (Option.isNone(cursor)) {
|
|
1059
|
+
// No more DOM nodes but we have more vElements - mismatch
|
|
1060
|
+
// For now, just skip (could throw HydrationMismatch in strict mode)
|
|
1061
|
+
break;
|
|
993
1062
|
}
|
|
994
|
-
|
|
1063
|
+
const { fiber, nextCursor } = yield* hydrateElement(parentFiber, vElement, cursor.value, runtime);
|
|
1064
|
+
fibers.push(fiber);
|
|
1065
|
+
cursor = nextCursor;
|
|
995
1066
|
}
|
|
996
1067
|
// Link fibers
|
|
997
1068
|
linkFibersAsSiblings(fibers, parentFiber);
|
|
1069
|
+
return cursor;
|
|
998
1070
|
});
|
|
999
|
-
|
|
1071
|
+
/**
|
|
1072
|
+
* Hydrate a single vElement against a DOM node.
|
|
1073
|
+
* Returns the created fiber and the next DOM cursor position.
|
|
1074
|
+
*/
|
|
1075
|
+
const hydrateElement = (parentFiber, vElement, domNode, runtime) => Effect.gen(function* () {
|
|
1000
1076
|
const fiber = createFiber(Option.some(vElement.type), vElement.props, Option.some(parentFiber), Option.none(), Option.none());
|
|
1077
|
+
let nextCursor;
|
|
1001
1078
|
if (typeof vElement.type === "function") {
|
|
1002
1079
|
// Function component - invoke to get children
|
|
1003
|
-
yield* hydrateFunctionComponent(fiber, vElement,
|
|
1080
|
+
nextCursor = yield* hydrateFunctionComponent(fiber, vElement, domNode, runtime);
|
|
1004
1081
|
}
|
|
1005
1082
|
else if (vElement.type === "TEXT_ELEMENT") {
|
|
1006
|
-
// Text node
|
|
1007
|
-
const domNode = domNodes[domIndex];
|
|
1083
|
+
// Text node - adopt the DOM text node
|
|
1008
1084
|
fiber.dom = Option.some(domNode);
|
|
1085
|
+
nextCursor = getNextHydratableSibling(domNode);
|
|
1009
1086
|
}
|
|
1010
1087
|
else if (vElement.type === "FRAGMENT") {
|
|
1011
|
-
// Fragment - children
|
|
1012
|
-
yield* hydrateChildren(fiber, vElement.props.children || [],
|
|
1088
|
+
// Fragment - children consume DOM nodes starting from current cursor
|
|
1089
|
+
nextCursor = yield* hydrateChildren(fiber, vElement.props.children || [], Option.some(domNode), runtime);
|
|
1013
1090
|
}
|
|
1014
1091
|
else {
|
|
1015
|
-
// Host element
|
|
1016
|
-
const
|
|
1017
|
-
fiber.dom = Option.some(
|
|
1092
|
+
// Host element - adopt DOM node and hydrate children
|
|
1093
|
+
const el = domNode;
|
|
1094
|
+
fiber.dom = Option.some(el);
|
|
1018
1095
|
// Inherit renderContext from parent fiber (function components capture it during render)
|
|
1019
1096
|
if (Option.isNone(fiber.renderContext) && Option.isSome(fiber.parent)) {
|
|
1020
1097
|
fiber.renderContext = fiber.parent.value.renderContext;
|
|
1021
1098
|
}
|
|
1022
1099
|
// Attach event listeners - uses runForkWithRuntime internally for full context
|
|
1023
|
-
|
|
1100
|
+
// Pass error callback to trigger ErrorBoundary on event handler failures
|
|
1101
|
+
attachEventListeners(el, vElement.props, runtime, (cause) => handleFiberError(fiber, cause));
|
|
1024
1102
|
// Handle ref
|
|
1025
1103
|
const ref = vElement.props.ref;
|
|
1026
1104
|
if (ref && typeof ref === "object" && "current" in ref) {
|
|
1027
|
-
ref.current =
|
|
1105
|
+
ref.current = el;
|
|
1028
1106
|
}
|
|
1029
|
-
// Hydrate children
|
|
1030
|
-
const
|
|
1031
|
-
yield* hydrateChildren(fiber, vElement.props.children || [],
|
|
1107
|
+
// Hydrate children using cursor-based walking
|
|
1108
|
+
const firstChildCursor = getFirstHydratableChild(el);
|
|
1109
|
+
yield* hydrateChildren(fiber, vElement.props.children || [], firstChildCursor, runtime);
|
|
1110
|
+
// Move to next sibling for the parent's cursor
|
|
1111
|
+
nextCursor = getNextHydratableSibling(domNode);
|
|
1032
1112
|
}
|
|
1033
|
-
return fiber;
|
|
1113
|
+
return { fiber, nextCursor };
|
|
1034
1114
|
});
|
|
1035
|
-
|
|
1115
|
+
/**
|
|
1116
|
+
* Hydrate a function component by invoking it and hydrating its output.
|
|
1117
|
+
* Returns the next DOM cursor position.
|
|
1118
|
+
*/
|
|
1119
|
+
const hydrateFunctionComponent = (fiber, vElement, domNode, runtime) => Effect.gen(function* () {
|
|
1036
1120
|
// Capture current context during render phase for event handlers in commit phase
|
|
1037
1121
|
const currentContext = (yield* FiberRef.get(FiberRef.currentContext));
|
|
1038
1122
|
fiber.renderContext = Option.some(currentContext);
|
|
@@ -1058,9 +1142,11 @@ const hydrateFunctionComponent = (fiber, vElement, domNodes, domIndex, runtime)
|
|
|
1058
1142
|
// Wait for first value
|
|
1059
1143
|
const childVElement = yield* Deferred.await(firstValueDeferred);
|
|
1060
1144
|
fiber.latestStreamValue = Option.some(childVElement);
|
|
1061
|
-
// Hydrate the child VElement against
|
|
1062
|
-
|
|
1145
|
+
// Hydrate the child VElement against DOM node
|
|
1146
|
+
// Function components render output directly to DOM (no wrapper)
|
|
1147
|
+
const nextCursor = yield* hydrateChildren(fiber, [childVElement], Option.some(domNode), runtime);
|
|
1063
1148
|
// Subscribe to atom changes
|
|
1064
1149
|
yield* subscribeFiberAtoms(fiber, accessedAtoms, runtime);
|
|
1150
|
+
return nextCursor;
|
|
1065
1151
|
});
|
|
1066
1152
|
//# sourceMappingURL=fiber-render.js.map
|
package/dist/fiber-render.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fiber-render.js","sourceRoot":"","sources":["../src/fiber-render.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fiber-render.js","sourceRoot":"","sources":["../src/fiber-render.ts"],"names":[],"mappings":"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"}
|