@humjs/core 0.0.1 → 0.1.0

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.
@@ -0,0 +1,102 @@
1
+ /**
2
+ * Property stamped on every value a factory produced. It is what lets the
3
+ * server serialize a handler that would otherwise be an un-serializable
4
+ * closure, and what lets the client rebuild it: the marker carries the factory
5
+ * name plus the arguments it was called with.
6
+ */
7
+ export const FACTORY_MARKER = "__humFactory";
8
+ /**
9
+ * Factories available to the client runtime, keyed by the name used in the
10
+ * payload. The client rebuilds handlers by calling these again with the revived
11
+ * arguments, which is why a handler must be created by a factory instead of a
12
+ * closure.
13
+ */
14
+ export const hum_factories = Object.create(null);
15
+ /** Returns the factory marker of a value, if it was produced by a factory. */
16
+ export function factoryMarkerOf(value) {
17
+ if (value === null || typeof value !== "object" && typeof value !== "function") {
18
+ return undefined;
19
+ }
20
+ return value[FACTORY_MARKER];
21
+ }
22
+ /**
23
+ * Wraps a handler factory so its result carries a serializable marker, and
24
+ * registers it under `name` for the client runtime.
25
+ *
26
+ * `name` travels in the payload instead of the function, so it has to be unique
27
+ * in the app and stable across versions. The module a factory is defined in
28
+ * must also be evaluated in the browser—import it from the client entry, or
29
+ * from an island the page loads—otherwise the client has no implementation to
30
+ * rebuild the handler with. Arguments follow the same rules as any other page
31
+ * level prop: plain data, signals, or other factory results.
32
+ */
33
+ export function defineFactory(name, fn) {
34
+ if (hum_factories[name] !== undefined) {
35
+ console.warn(`Hum: the handler factory "${name}" was defined twice; the last ` +
36
+ `definition wins. Factory names travel in the payload, so they have to ` +
37
+ `stay unique.`);
38
+ }
39
+ const wrapper = (...args) => {
40
+ const value = fn(...args);
41
+ if (value !== null && (typeof value === "object" || typeof value === "function")) {
42
+ Object.defineProperty(value, FACTORY_MARKER, {
43
+ value: { factory: name, args },
44
+ configurable: true,
45
+ writable: true,
46
+ enumerable: false,
47
+ });
48
+ }
49
+ return value;
50
+ };
51
+ hum_factories[name] = wrapper;
52
+ return wrapper;
53
+ }
54
+ /**
55
+ * Coerces a value read off a DOM property to the type the signal currently
56
+ * holds, so `<input type="number">` (whose `value` is a string) round-trips
57
+ * through a `Signal<number>`. Unparseable input is passed through unchanged,
58
+ * which lets a partially typed value survive.
59
+ */
60
+ export function coerceToSignalType(value, previous) {
61
+ if (value === null || value === undefined)
62
+ return null;
63
+ if (typeof previous === "number" || typeof previous === "bigint") {
64
+ if (typeof value === "number")
65
+ return value;
66
+ if (typeof value === "string" && value.trim() === "")
67
+ return 0;
68
+ const num = Number(value);
69
+ return Number.isNaN(num) ? value : num;
70
+ }
71
+ return value;
72
+ }
73
+ /**
74
+ * Returns an event handler that adds `delta` to a numeric signal, clamped to
75
+ * `options.min` / `options.max`.
76
+ */
77
+ export const add = defineFactory("add", (signal, delta, options) => {
78
+ const max = options?.max ?? Infinity;
79
+ const min = options?.min ?? -Infinity;
80
+ return () => {
81
+ signal.value = Math.min(Math.max(signal.value + delta, min), max);
82
+ };
83
+ });
84
+ /** Returns an event handler that sets a signal to a fixed value. */
85
+ export const setValue = defineFactory("setValue", (signal, value) => () => {
86
+ signal.value = value;
87
+ });
88
+ /** Returns an event handler that flips a boolean signal. */
89
+ export const toggle = defineFactory("toggle", (signal) => () => {
90
+ signal.value = !signal.value;
91
+ });
92
+ /**
93
+ * Returns an event handler that copies a property off the event's
94
+ * `currentTarget` (e.g. `"value"`, `"checked"`, `"open"`) into a signal, so a
95
+ * native form control can drive a signal without a component in between.
96
+ */
97
+ export const setFromProp = defineFactory("setFromProp", (signal, key) => (event) => {
98
+ const target = event.currentTarget;
99
+ const raw = target === null ? undefined : target[key];
100
+ signal.value = coerceToSignalType(raw, signal.peek());
101
+ });
102
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/runtime/events.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,cAAc,CAAC;AAS7C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GACxB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAEtB,8EAA8E;AAC9E,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;QAC/E,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAQ,KAA8C,CAAC,cAAc,CAAC,CAAC;AACzE,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAY,EACZ,EAAqB;IAErB,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO,CAAC,IAAI,CACV,6BAA6B,IAAI,gCAAgC;YAC/D,wEAAwE;YACxE,cAAc,CACjB,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,GAAG,IAAO,EAAK,EAAE;QAChC,MAAM,KAAK,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;QAC1B,IACE,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU,CAAC,EAC5E,CAAC;YACD,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,cAAc,EAAE;gBAC3C,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAA0B;gBACtD,YAAY,EAAE,IAAI;gBAClB,QAAQ,EAAE,IAAI;gBACd,UAAU,EAAE,KAAK;aAClB,CAAC,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,aAAa,CAAC,IAAI,CAAC,GAAG,OAAsC,CAAC;IAC7D,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAc,EAAE,QAAiB;IAClE,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACvD,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjE,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE;YAAE,OAAO,CAAC,CAAC;QAC/D,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;IACzC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AASD;;;GAGG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,aAAa,CAC9B,KAAK,EACL,CACE,MAAsB,EACtB,KAAa,EACb,OAAoB,EACM,EAAE;IAC5B,MAAM,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,QAAQ,CAAC;IACrC,MAAM,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;IACtC,OAAO,GAAG,EAAE;QACV,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IACpE,CAAC,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,oEAAoE;AACpE,MAAM,CAAC,MAAM,QAAQ,GAAG,aAAa,CACnC,UAAU,EACV,CAAI,MAAiB,EAAE,KAAQ,EAA4B,EAAE,CAC3D,GAAG,EAAE;IACH,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;AACvB,CAAC,CACJ,CAAC;AAEF,4DAA4D;AAC5D,MAAM,CAAC,MAAM,MAAM,GAAG,aAAa,CACjC,QAAQ,EACR,CAAC,MAAuB,EAA4B,EAAE,CAAC,GAAG,EAAE;IAC1D,MAAM,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;AAC/B,CAAC,CACF,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CACtC,aAAa,EACb,CACE,MAAuB,EACvB,GAAW,EACe,EAAE,CAC5B,CAAC,KAAY,EAAE,EAAE;IACf,MAAM,MAAM,GAAG,KAAK,CAAC,aAEb,CAAC;IACT,MAAM,GAAG,GAAG,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACtD,MAAM,CAAC,KAAK,GAAG,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;AACxD,CAAC,CACJ,CAAC"}
@@ -2,7 +2,7 @@ import { Fragment, h, options } from "preact";
2
2
  import { renderToString } from "preact-render-to-string";
3
3
  import { renderToReadableStream } from "preact-render-to-string/stream";
4
4
  import { escapeScript } from "../shared_internal.js";
5
- import { getRenderState, HEAD_PLACEHOLDER_PREFIX, SCRIPTS_PLACEHOLDER_PREFIX, serializeIslandProps, withRenderState, } from "./preact_hooks.js";
5
+ import { getRenderState, HEAD_PLACEHOLDER_PREFIX, SCRIPTS_PLACEHOLDER_PREFIX, serializePayload, withRenderState, } from "./preact_hooks.js";
6
6
  // preact-render-to-string disables class error boundaries unless opted in.
7
7
  options.errorBoundaries = true;
8
8
  /** Minimal document shell used when the project has no `_app.tsx`. */
@@ -117,7 +117,7 @@ export function renderScripts(state) {
117
117
  url: withBase(state.basePath, island.clientUrl),
118
118
  exportName: island.exportName,
119
119
  })),
120
- props: serializeIslandProps(state),
120
+ props: serializePayload(state),
121
121
  };
122
122
  return renderToString(h("script", {
123
123
  id: "__HUM_STATE__",
@@ -137,7 +137,7 @@ export function renderScripts(state) {
137
137
  entries.push(`${JSON.stringify(islands[i].name)}:${local}`);
138
138
  }
139
139
  const clientEntry = withBase(state.basePath, state.buildCache.clientEntry);
140
- const props = escapeScript(JSON.stringify(serializeIslandProps(state)));
140
+ const props = escapeScript(JSON.stringify(serializePayload(state)));
141
141
  const content = `import { boot } from "${clientEntry}";${imports.join("")}boot({${entries.join(",")}},${props});`;
142
142
  return renderToString(h("script", {
143
143
  type: "module",
@@ -1 +1 @@
1
- {"version":3,"file":"document.js","sourceRoot":"","sources":["../../../src/runtime/server/document.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document.js","sourceRoot":"","sources":["../../../src/runtime/server/document.ts"],"names":[],"mappings":"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"}
@@ -20,9 +20,19 @@ interface SlotEntry {
20
20
  name: string;
21
21
  vnode: VNode;
22
22
  }
23
- interface IslandPropsEntry {
23
+ /**
24
+ * One entry of the client payload. Island props, page level signals and page
25
+ * level event handlers share a single array so that values referenced from
26
+ * several places (the same signal bound as a child and as a prop) are
27
+ * de-duplicated into one revived instance.
28
+ */
29
+ export type PayloadEntry = {
24
30
  props: Record<string, unknown>;
25
- }
31
+ } | {
32
+ signal: unknown;
33
+ } | {
34
+ handler: unknown;
35
+ };
26
36
  /**
27
37
  * Per request rendering state. The Preact `options` hooks installed by this
28
38
  * module read from async-local storage, which keeps concurrent renders isolated
@@ -32,7 +42,9 @@ export declare class RenderState {
32
42
  nonce: string;
33
43
  partialDepth: number;
34
44
  slots: Array<SlotEntry | null>;
35
- islandProps: IslandPropsEntry[];
45
+ payload: PayloadEntry[];
46
+ /** Number of page level facets that were recorded in `payload`. */
47
+ facetCount: number;
36
48
  islands: Set<Island>;
37
49
  islandAssets: Set<string>;
38
50
  /** Head tags merged from the `head` exports of the render chain. */
@@ -70,8 +82,10 @@ export declare function ScriptsPlaceholder(props: {
70
82
  id: string;
71
83
  }): AnyVNode;
72
84
  /**
73
- * Enables serialization of signals and JSX element props. Signals are revived
74
- * as reactive signals on the client, element props become slot references.
85
+ * Enables serialization of signals, JSX element props and factory produced
86
+ * handlers. Signals are revived as reactive signals on the client, element
87
+ * props become slot references, and a handler travels as the factory name plus
88
+ * the arguments it was called with so the client can rebuild it.
75
89
  */
76
90
  export declare const HUM_STRINGIFIERS: Stringifiers;
77
91
  /**
@@ -83,10 +97,11 @@ export declare const HUM_STRINGIFIERS: Stringifiers;
83
97
  */
84
98
  export declare function installHooks(): void;
85
99
  /**
86
- * Serializes the island props collected during the render into the compact
87
- * payload the client runtime revives. The result is plain JSON text; callers
88
- * embed it as a JS string literal so the client can parse it again.
100
+ * Serializes the island props, page level signals and page level handlers
101
+ * collected during the render into the compact payload the client runtime
102
+ * revives. The result is plain JSON text; callers embed it as a JS string
103
+ * literal so the client can parse it again.
89
104
  */
90
- export declare function serializeIslandProps(state: RenderState): string;
105
+ export declare function serializePayload(state: RenderState): string;
91
106
  export {};
92
107
  //# sourceMappingURL=preact_hooks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"preact_hooks.d.ts","sourceRoot":"","sources":["../../../src/runtime/server/preact_hooks.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,KAAK,EACX,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAGhD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAa,KAAK,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EACL,KAAK,QAAQ,EAUd,MAAM,uBAAuB,CAAC;AAE/B,sEAAsE;AACtE,eAAO,MAAM,oBAAoB,iBAAiB,CAAC;AAEnD,uEAAuE;AACvE,eAAO,MAAM,uBAAuB,0BAA0B,CAAC;AAE/D,gEAAgE;AAChE,eAAO,MAAM,0BAA0B,6BAA6B,CAAC;AAErE,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,GAAG,CAAC;IACT,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,SAAS;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;CACd;AAED,UAAU,gBAAgB;IACxB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED;;;;GAIG;AACH,qBAAa,WAAW;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,SAAK;IACjB,KAAK,EAAE,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,CAAM;IACpC,WAAW,EAAE,gBAAgB,EAAE,CAAM;IACrC,OAAO,cAAqB;IAC5B,YAAY,cAAqB;IACjC,oEAAoE;IACpE,SAAS,EAAE,iBAAiB,EAAE,CAAM;IACpC,MAAM,wCAAuC;IAC7C,UAAU,EAAE,KAAK,EAAE,CAAM;IACzB,mBAAmB,cAAqB;IACxC,eAAe,UAAS;IACxB,gBAAgB,UAAS;IACzB,gBAAgB,UAAS;IACzB,gBAAgB,UAAS;IACzB;;;OAGG;IACH,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IAEjC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,YAAY,OAAO,EAAE,kBAAkB,EAQtC;IAED,KAAK,IAAI,IAAI,CASZ;IAED,0DAA0D;IAC1D,IAAI,kBAAkB,IAAI,OAAO,CAIhC;CACF;AASD,wBAAgB,cAAc,IAAI,WAAW,GAAG,IAAI,CAEnD;AAED,wBAAgB,eAAe,CAAC,CAAC,EAC/B,KAAK,EAAE,WAAW,EAClB,EAAE,EAAE,MAAM,CAAC,GACV,CAAC,CAEH;AAmCD,qEAAqE;AACrE,wBAAgB,eAAe,CAAC,KAAK,EAAE;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,QAAQ,CAI/D;AAED,iEAAiE;AACjE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,QAAQ,CAIlE;AAqDD;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,YAW9B,CAAC;AAMF;;;;;;GAMG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAyKnC;AAiBD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAE/D"}
1
+ {"version":3,"file":"preact_hooks.d.ts","sourceRoot":"","sources":["../../../src/runtime/server/preact_hooks.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import { AsyncLocalStorage } from "node:async_hooks";
2
2
  import { Fragment, h, isValidElement, options as preactOptions, } from "preact";
3
3
  import { stringify } from "../../jsonify/stringify.js";
4
+ import { factoryMarkerOf } from "../events.js";
4
5
  import { isPartialType } from "../shared.js";
5
- import { CLIENT_NAV_ATTR, DATA_HUM_KEY, islandMarker, normalizeKey, OptionsType, partialMarker, PartialMode, setActiveUrl, slotMarker, } from "../shared_internal.js";
6
+ import { CLIENT_NAV_ATTR, DATA_HUM_KEY, FACET_HANDLER_ATTR, FACET_SIGNAL_ATTR, islandMarker, normalizeKey, OptionsType, partialMarker, PartialMode, setActiveUrl, signalMarker, slotMarker, } from "../shared_internal.js";
6
7
  /** Search param that switches a response into partial-update mode. */
7
8
  export const PARTIAL_SEARCH_PARAM = "_hum_partial";
8
9
  /** Comment emitted where the merged route `head` tags are injected. */
@@ -18,7 +19,9 @@ export class RenderState {
18
19
  nonce;
19
20
  partialDepth = 0;
20
21
  slots = [];
21
- islandProps = [];
22
+ payload = [];
23
+ /** Number of page level facets that were recorded in `payload`. */
24
+ facetCount = 0;
22
25
  islands = new Set();
23
26
  islandAssets = new Set();
24
27
  /** Head tags merged from the `head` exports of the render chain. */
@@ -56,13 +59,15 @@ export class RenderState {
56
59
  this.owners.clear();
57
60
  this.headNodes = [];
58
61
  this.slots = [];
59
- this.islandProps = [];
62
+ this.payload = [];
63
+ this.facetCount = 0;
60
64
  this.ownerStack = [];
61
65
  }
62
66
  /** True when the page needs the client runtime at all. */
63
67
  get needsClientRuntime() {
64
- if (this.islands.size > 0 || this.clientNavEnabled)
68
+ if (this.islands.size > 0 || this.clientNavEnabled || this.facetCount > 0) {
65
69
  return true;
70
+ }
66
71
  if (!this.partialRequest && this.encounteredPartials.size > 0)
67
72
  return true;
68
73
  return false;
@@ -146,12 +151,189 @@ function isVNode(x) {
146
151
  "__k" in x && isValidElement(x);
147
152
  }
148
153
  /**
149
- * Enables serialization of signals and JSX element props. Signals are revived
150
- * as reactive signals on the client, element props become slot references.
154
+ * Signal props captured while their vnode was created. Addons that patch Preact
155
+ * after Hum does (`@preact/signals`, `preact/compat`) install their hooks around
156
+ * Hum's, so their `diff` hook can run first and replace a signal prop with its
157
+ * current value before {@link bindFacetProps} ever sees the vnode. Remembering
158
+ * the signal while the props are still untouched keeps the binding working
159
+ * whatever the install order is.
160
+ */
161
+ const VNODE_SIGNAL_PROPS = new WeakMap();
162
+ function rememberSignalProps(vnode, props) {
163
+ let signals;
164
+ for (const name in props) {
165
+ const value = props[name];
166
+ if (isSignal(value))
167
+ (signals ??= {})[name] = value;
168
+ }
169
+ if (signals !== undefined)
170
+ VNODE_SIGNAL_PROPS.set(vnode, signals);
171
+ }
172
+ /**
173
+ * True when the component that is currently rendering is (nested) inside an
174
+ * island. Walks the owner chain from the vnode on top of the render stack, so
175
+ * it can run while a vnode is being created.
176
+ */
177
+ function isInsideIsland(state) {
178
+ let current = state.ownerStack.at(-1);
179
+ while (current !== undefined) {
180
+ if (typeof current.type === "function" &&
181
+ state.buildCache.islandRegistry.has(current.type)) {
182
+ return true;
183
+ }
184
+ current = state.owners.get(current);
185
+ }
186
+ return false;
187
+ }
188
+ /**
189
+ * Whether page level facets are part of the payload of this render. Inside a
190
+ * partial response only the regions are updated, so everything outside them is
191
+ * dropped: those nodes are already hydrated on the client.
192
+ */
193
+ function recordsFacets(state) {
194
+ return !state.partialRequest || state.partialDepth > 0;
195
+ }
196
+ /**
197
+ * True for props whose name looks like a DOM event handler: `onClick`, but also
198
+ * `oninput`, the shape `preact/compat` normalizes `onInput`—and the `onChange`
199
+ * of a text input—into before Hum sees the vnode.
200
+ *
201
+ * Preact attaches every `on*` prop holding a function as a listener and only
202
+ * lowercases the name when it starts with a capital, so accepting either case
203
+ * here is what the client will do with the prop anyway.
204
+ */
205
+ function isEventProp(name) {
206
+ if (name.length < 3 || name[0] !== "o" || name[1] !== "n")
207
+ return false;
208
+ const c = name.charCodeAt(2);
209
+ return (c >= 65 && c <= 90) || (c >= 97 && c <= 122);
210
+ }
211
+ /**
212
+ * Component that renders the current value of a page level signal and brackets
213
+ * it with `hum:signal` markers, so the client can hand the text node over to a
214
+ * `SignalText` component leaf.
215
+ */
216
+ function SignalFacet(props) {
217
+ const state = getRenderState();
218
+ if (state === null || props.insideIsland || !recordsFacets(state)) {
219
+ return props.signal.peek();
220
+ }
221
+ const idx = recordFacet(state, { signal: props.signal });
222
+ return wrapWithMarker(props.signal.peek(), "signal", signalMarker(idx));
223
+ }
224
+ function recordFacet(state, entry) {
225
+ state.facetCount++;
226
+ return state.payload.push(entry) - 1;
227
+ }
228
+ /**
229
+ * Replaces page level signal children with a `SignalFacet`. Signals inside an
230
+ * island are left alone: the island's own client render binds them, so markers
231
+ * there would be thrown away with the island's server rendered markup.
232
+ */
233
+ function wrapFacetChildren(vnode, props, state) {
234
+ const children = props.children;
235
+ if (children === undefined || children === null)
236
+ return;
237
+ if (isSignal(children)) {
238
+ if (isComputedSignal(children))
239
+ return;
240
+ props.children = h(SignalFacet, {
241
+ signal: children,
242
+ insideIsland: isInsideIsland(state),
243
+ });
244
+ return;
245
+ }
246
+ if (!Array.isArray(children))
247
+ return;
248
+ let replaced;
249
+ for (let i = 0; i < children.length; i++) {
250
+ const child = children[i];
251
+ if (!isSignal(child) || isComputedSignal(child))
252
+ continue;
253
+ replaced ??= children.slice();
254
+ replaced[i] = h(SignalFacet, {
255
+ signal: child,
256
+ insideIsland: isInsideIsland(state),
257
+ });
258
+ }
259
+ if (replaced !== undefined)
260
+ props.children = replaced;
261
+ }
262
+ /**
263
+ * Moves page level signal props and serializable handlers out of the vnode into
264
+ * the payload, leaving the `data-hum-signal` / `data-hum-handler` attributes
265
+ * behind for the client to
266
+ * rebind them from.
267
+ *
268
+ * Signal props are peeked everywhere, including inside islands: a signal is not
269
+ * a DOM attribute, and the island binds it again when it renders on the client.
270
+ */
271
+ function bindFacetProps(vnode, props, state, pageLevel) {
272
+ const record = pageLevel && recordsFacets(state);
273
+ /** Signals this vnode carried when it was created. */
274
+ const remembered = VNODE_SIGNAL_PROPS.get(vnode);
275
+ let signals;
276
+ let handlers;
277
+ for (const name in props) {
278
+ if (name === "children" || name === "key" || name === "ref" ||
279
+ name === FACET_SIGNAL_ATTR || name === FACET_HANDLER_ATTR) {
280
+ continue;
281
+ }
282
+ const value = props[name];
283
+ const signalProp = isSignal(value) ? value : remembered?.[name];
284
+ if (signalProp !== undefined) {
285
+ // Read through a structural type: the computed check below narrows
286
+ // `signalProp` to `never`, because every `Signal` also matches
287
+ // `ReadonlySignal`.
288
+ const peekable = signalProp;
289
+ if (isComputedSignal(signalProp))
290
+ continue;
291
+ props[name] = peekable.peek();
292
+ if (record) {
293
+ (signals ??= {})[name] = recordFacet(state, { signal: signalProp });
294
+ }
295
+ continue;
296
+ }
297
+ if (typeof value !== "function")
298
+ continue;
299
+ if (factoryMarkerOf(value) !== undefined) {
300
+ if (record) {
301
+ (handlers ??= {})[name] = recordFacet(state, { handler: value });
302
+ }
303
+ delete props[name];
304
+ }
305
+ else if (pageLevel && isEventProp(name)) {
306
+ // Addons normalize event names before Hum runs, so a name that does not
307
+ // match what the source wrote is expected rather than a mistake.
308
+ const normalized = name === name.toLowerCase()
309
+ ? " The name is lowercased because an addon such as `preact/compat` " +
310
+ "normalizes event names."
311
+ : "";
312
+ throw new Error(`Hum: the page level handler for \`${name}\` cannot be serialized. ` +
313
+ "Build it with a factory from `@humjs/core/events` (setFromProp, " +
314
+ "setValue, add, toggle), or move it into an island." + normalized);
315
+ }
316
+ }
317
+ if (signals !== undefined)
318
+ props[FACET_SIGNAL_ATTR] = JSON.stringify(signals);
319
+ if (handlers !== undefined)
320
+ props[FACET_HANDLER_ATTR] = JSON.stringify(handlers);
321
+ }
322
+ /**
323
+ * Enables serialization of signals, JSX element props and factory produced
324
+ * handlers. Signals are revived as reactive signals on the client, element
325
+ * props become slot references, and a handler travels as the factory name plus
326
+ * the arguments it was called with so the client can rebuild it.
151
327
  */
152
328
  export const HUM_STRINGIFIERS = {
153
329
  Computed: (value) => isComputedSignal(value) ? { value: value.peek() } : undefined,
154
330
  Signal: (value) => (isSignal(value) ? { value: value.peek() } : undefined),
331
+ Fn: (value) => {
332
+ const marker = factoryMarkerOf(value);
333
+ return marker === undefined
334
+ ? undefined
335
+ : { value: [marker.factory, marker.args] };
336
+ },
155
337
  Slot: (value) => {
156
338
  if (isVNode(value) && value.type === Slot) {
157
339
  const props = value.props;
@@ -197,6 +379,10 @@ export function installHooks() {
197
379
  if (CLIENT_NAV_ATTR in props) {
198
380
  props[CLIENT_NAV_ATTR] = String(props[CLIENT_NAV_ATTR]);
199
381
  }
382
+ if (typeof vnode.type === "string") {
383
+ rememberSignalProps(vnode, props);
384
+ wrapFacetChildren(vnode, props, state);
385
+ }
200
386
  }
201
387
  if (isPartialType(vnode.type)) {
202
388
  const props = vnode.props;
@@ -263,7 +449,7 @@ export function installHooks() {
263
449
  props[name] = h(Slot, { name, id: slotId }, value);
264
450
  }
265
451
  }
266
- const propsIdx = state.islandProps.push({ props }) - 1;
452
+ const propsIdx = state.payload.push({ props }) - 1;
267
453
  const child = h(originalType, props);
268
454
  PATCHED.add(child);
269
455
  return wrapWithMarker(child, "island", islandMarker(island.name, propsIdx, normalizeKey(vnode.key)));
@@ -287,10 +473,12 @@ export function installHooks() {
287
473
  props[CLIENT_NAV_ATTR] === "true") {
288
474
  state.clientNavEnabled = true;
289
475
  }
476
+ const insideIsland = hasIslandOwner(state, vnode);
290
477
  if (vnode.key !== undefined &&
291
- (state.partialDepth > 0 || hasIslandOwner(state, vnode))) {
478
+ (state.partialDepth > 0 || insideIsland)) {
292
479
  props[DATA_HUM_KEY] = String(vnode.key);
293
480
  }
481
+ bindFacetProps(vnode, props, state, !insideIsland);
294
482
  }
295
483
  });
296
484
  wrapHook(OptionsType.RENDER, (...args) => {
@@ -328,12 +516,13 @@ function appendChild(vnode, child) {
328
516
  }
329
517
  }
330
518
  /**
331
- * Serializes the island props collected during the render into the compact
332
- * payload the client runtime revives. The result is plain JSON text; callers
333
- * embed it as a JS string literal so the client can parse it again.
519
+ * Serializes the island props, page level signals and page level handlers
520
+ * collected during the render into the compact payload the client runtime
521
+ * revives. The result is plain JSON text; callers embed it as a JS string
522
+ * literal so the client can parse it again.
334
523
  */
335
- export function serializeIslandProps(state) {
336
- return stringify(state.islandProps, HUM_STRINGIFIERS);
524
+ export function serializePayload(state) {
525
+ return stringify(state.payload, HUM_STRINGIFIERS);
337
526
  }
338
527
  // The hooks have to be active before the first `renderToString` call, so they
339
528
  // are installed as a module side effect.
@@ -1 +1 @@
1
- {"version":3,"file":"preact_hooks.js","sourceRoot":"","sources":["../../../src/runtime/server/preact_hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preact_hooks.js","sourceRoot":"","sources":["../../../src/runtime/server/preact_hooks.ts"],"names":[],"mappings":"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"}