@pyreon/core 0.13.1 → 0.14.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.
- package/README.md +10 -1
- package/lib/analysis/index.js.html +1 -1
- package/lib/index.js +40 -19
- package/lib/index.js.map +1 -1
- package/lib/types/index.d.ts +8 -6
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/jsx-dev-runtime.d.ts +3 -1
- package/lib/types/jsx-dev-runtime.d.ts.map +1 -1
- package/lib/types/jsx-runtime.d.ts +3 -1
- package/lib/types/jsx-runtime.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/component.ts +2 -1
- package/src/index.ts +1 -0
- package/src/lifecycle.ts +16 -4
- package/src/props.ts +19 -6
- package/src/tests/component.test.ts +5 -5
- package/src/tests/context.test.ts +3 -3
- package/src/tests/core.test.ts +11 -11
- package/src/tests/error-boundary.test.ts +1 -1
- package/src/tests/lifecycle.test.ts +18 -18
- package/src/tests/reactive-context.test.ts +3 -3
- package/src/tests/reactive-props.test.ts +87 -0
- package/src/types.ts +7 -5
package/README.md
CHANGED
|
@@ -44,6 +44,13 @@ function Counter() {
|
|
|
44
44
|
- **`onUpdate(fn)`** -- Runs after each reactive update.
|
|
45
45
|
- **`onErrorCaptured(fn)`** -- Captures errors thrown by descendant components.
|
|
46
46
|
|
|
47
|
+
Lifecycle hook arrays are lazy-allocated -- `LifecycleHooks.mount`/`.unmount`/`.update`/`.error` start as `null` and are only allocated on first hook registration. Components with no hooks (the majority) pay zero allocation cost.
|
|
48
|
+
|
|
49
|
+
### Props Reactivity
|
|
50
|
+
|
|
51
|
+
- **`makeReactiveProps(raw)`** -- Converts compiler-emitted `_rp()` wrappers into getter properties. Uses a scan-first strategy: checks for any branded reactive prop before allocating the result object. Static-only components return `raw` immediately with no allocation.
|
|
52
|
+
- **`_rp(fn)`** -- Brands a function as a reactive prop wrapper (compiler-emitted, not user-facing).
|
|
53
|
+
|
|
47
54
|
### Context
|
|
48
55
|
|
|
49
56
|
- **`createContext<T>(defaultValue?): Context<T>`** -- Creates a context with an optional default.
|
|
@@ -82,7 +89,9 @@ function Counter() {
|
|
|
82
89
|
|
|
83
90
|
### Types
|
|
84
91
|
|
|
85
|
-
`VNode`, `VNodeChild`, `VNodeChildAtom`, `Props`, `ComponentFn`, `ExtractProps`, `HigherOrderComponent`, `ComponentInstance`, `LifecycleHooks`, `CleanupFn`, `NativeItem`, `Ref`, `Context`, `LazyComponent`, `ShowProps`, `SwitchProps`, `MatchProps`, `ForProps`, `PortalProps`, `ErrorContext`, `ErrorHandler`, `ClassValue`, `TargetedEvent`, `PyreonHTMLAttributes`, `CSSProperties`, `StyleValue`, `CanvasAttributes`
|
|
92
|
+
`VNode`, `VNodeChild`, `VNodeChildAtom`, `VNodeChildAccessor`, `Props`, `ComponentFn`, `ExtractProps`, `HigherOrderComponent`, `ComponentInstance`, `LifecycleHooks`, `CleanupFn`, `NativeItem`, `Ref`, `Context`, `LazyComponent`, `ShowProps`, `SwitchProps`, `MatchProps`, `ForProps`, `PortalProps`, `ErrorContext`, `ErrorHandler`, `ClassValue`, `TargetedEvent`, `PyreonHTMLAttributes`, `CSSProperties`, `StyleValue`, `CanvasAttributes`
|
|
93
|
+
|
|
94
|
+
**VNodeChild union ordering**: `VNodeChild = VNodeChildAccessor | VNodeChildAtom | VNodeChildAtom[]` — the accessor type is FIRST so TypeScript matches `{() => cond && <X />}` against the function arm without falling through to `VNodeChildAtom` and erroring on `false | VNode`.
|
|
86
95
|
|
|
87
96
|
## License
|
|
88
97
|
|
|
@@ -5386,7 +5386,7 @@ var drawChart = (function (exports) {
|
|
|
5386
5386
|
</script>
|
|
5387
5387
|
<script>
|
|
5388
5388
|
/*<!--*/
|
|
5389
|
-
const data = {"version":2,"tree":{"name":"root","children":[{"name":"index.js","children":[{"name":"src","children":[{"uid":"
|
|
5389
|
+
const data = {"version":2,"tree":{"name":"root","children":[{"name":"index.js","children":[{"name":"src","children":[{"uid":"fe312da0-1","name":"lifecycle.ts"},{"uid":"fe312da0-3","name":"component.ts"},{"uid":"fe312da0-5","name":"context.ts"},{"uid":"fe312da0-7","name":"h.ts"},{"uid":"fe312da0-9","name":"dynamic.ts"},{"uid":"fe312da0-11","name":"telemetry.ts"},{"uid":"fe312da0-13","name":"error-boundary.ts"},{"uid":"fe312da0-15","name":"for.ts"},{"uid":"fe312da0-17","name":"lazy.ts"},{"uid":"fe312da0-19","name":"map-array.ts"},{"uid":"fe312da0-21","name":"portal.ts"},{"uid":"fe312da0-23","name":"props.ts"},{"uid":"fe312da0-25","name":"ref.ts"},{"uid":"fe312da0-27","name":"show.ts"},{"uid":"fe312da0-29","name":"style.ts"},{"uid":"fe312da0-31","name":"suspense.ts"},{"uid":"fe312da0-33","name":"index.ts"}]}]}],"isRoot":true},"nodeParts":{"fe312da0-1":{"renderedLength":3070,"gzipLength":1306,"brotliLength":0,"metaUid":"fe312da0-0"},"fe312da0-3":{"renderedLength":1471,"gzipLength":693,"brotliLength":0,"metaUid":"fe312da0-2"},"fe312da0-5":{"renderedLength":2925,"gzipLength":1260,"brotliLength":0,"metaUid":"fe312da0-4"},"fe312da0-7":{"renderedLength":1082,"gzipLength":597,"brotliLength":0,"metaUid":"fe312da0-6"},"fe312da0-9":{"renderedLength":339,"gzipLength":245,"brotliLength":0,"metaUid":"fe312da0-8"},"fe312da0-11":{"renderedLength":570,"gzipLength":346,"brotliLength":0,"metaUid":"fe312da0-10"},"fe312da0-13":{"renderedLength":1622,"gzipLength":822,"brotliLength":0,"metaUid":"fe312da0-12"},"fe312da0-15":{"renderedLength":700,"gzipLength":478,"brotliLength":0,"metaUid":"fe312da0-14"},"fe312da0-17":{"renderedLength":461,"gzipLength":273,"brotliLength":0,"metaUid":"fe312da0-16"},"fe312da0-19":{"renderedLength":1018,"gzipLength":571,"brotliLength":0,"metaUid":"fe312da0-18"},"fe312da0-21":{"renderedLength":818,"gzipLength":491,"brotliLength":0,"metaUid":"fe312da0-20"},"fe312da0-23":{"renderedLength":4339,"gzipLength":1641,"brotliLength":0,"metaUid":"fe312da0-22"},"fe312da0-25":{"renderedLength":86,"gzipLength":98,"brotliLength":0,"metaUid":"fe312da0-24"},"fe312da0-27":{"renderedLength":1892,"gzipLength":810,"brotliLength":0,"metaUid":"fe312da0-26"},"fe312da0-29":{"renderedLength":1858,"gzipLength":825,"brotliLength":0,"metaUid":"fe312da0-28"},"fe312da0-31":{"renderedLength":1096,"gzipLength":603,"brotliLength":0,"metaUid":"fe312da0-30"},"fe312da0-33":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"fe312da0-32"}},"nodeMetas":{"fe312da0-0":{"id":"/src/lifecycle.ts","moduleParts":{"index.js":"fe312da0-1"},"imported":[],"importedBy":[{"uid":"fe312da0-32"},{"uid":"fe312da0-2"},{"uid":"fe312da0-4"},{"uid":"fe312da0-12"}]},"fe312da0-2":{"id":"/src/component.ts","moduleParts":{"index.js":"fe312da0-3"},"imported":[{"uid":"fe312da0-0"}],"importedBy":[{"uid":"fe312da0-32"},{"uid":"fe312da0-12"}]},"fe312da0-4":{"id":"/src/context.ts","moduleParts":{"index.js":"fe312da0-5"},"imported":[{"uid":"fe312da0-0"}],"importedBy":[{"uid":"fe312da0-32"}]},"fe312da0-6":{"id":"/src/h.ts","moduleParts":{"index.js":"fe312da0-7"},"imported":[],"importedBy":[{"uid":"fe312da0-32"},{"uid":"fe312da0-8"},{"uid":"fe312da0-16"},{"uid":"fe312da0-30"}]},"fe312da0-8":{"id":"/src/dynamic.ts","moduleParts":{"index.js":"fe312da0-9"},"imported":[{"uid":"fe312da0-6"}],"importedBy":[{"uid":"fe312da0-32"}]},"fe312da0-10":{"id":"/src/telemetry.ts","moduleParts":{"index.js":"fe312da0-11"},"imported":[],"importedBy":[{"uid":"fe312da0-32"},{"uid":"fe312da0-12"}]},"fe312da0-12":{"id":"/src/error-boundary.ts","moduleParts":{"index.js":"fe312da0-13"},"imported":[{"uid":"fe312da0-34"},{"uid":"fe312da0-2"},{"uid":"fe312da0-0"},{"uid":"fe312da0-10"}],"importedBy":[{"uid":"fe312da0-32"}]},"fe312da0-14":{"id":"/src/for.ts","moduleParts":{"index.js":"fe312da0-15"},"imported":[],"importedBy":[{"uid":"fe312da0-32"}]},"fe312da0-16":{"id":"/src/lazy.ts","moduleParts":{"index.js":"fe312da0-17"},"imported":[{"uid":"fe312da0-34"},{"uid":"fe312da0-6"}],"importedBy":[{"uid":"fe312da0-32"}]},"fe312da0-18":{"id":"/src/map-array.ts","moduleParts":{"index.js":"fe312da0-19"},"imported":[],"importedBy":[{"uid":"fe312da0-32"}]},"fe312da0-20":{"id":"/src/portal.ts","moduleParts":{"index.js":"fe312da0-21"},"imported":[],"importedBy":[{"uid":"fe312da0-32"}]},"fe312da0-22":{"id":"/src/props.ts","moduleParts":{"index.js":"fe312da0-23"},"imported":[],"importedBy":[{"uid":"fe312da0-32"}]},"fe312da0-24":{"id":"/src/ref.ts","moduleParts":{"index.js":"fe312da0-25"},"imported":[],"importedBy":[{"uid":"fe312da0-32"}]},"fe312da0-26":{"id":"/src/show.ts","moduleParts":{"index.js":"fe312da0-27"},"imported":[],"importedBy":[{"uid":"fe312da0-32"}]},"fe312da0-28":{"id":"/src/style.ts","moduleParts":{"index.js":"fe312da0-29"},"imported":[],"importedBy":[{"uid":"fe312da0-32"}]},"fe312da0-30":{"id":"/src/suspense.ts","moduleParts":{"index.js":"fe312da0-31"},"imported":[{"uid":"fe312da0-6"}],"importedBy":[{"uid":"fe312da0-32"}]},"fe312da0-32":{"id":"/src/index.ts","moduleParts":{"index.js":"fe312da0-33"},"imported":[{"uid":"fe312da0-2"},{"uid":"fe312da0-4"},{"uid":"fe312da0-8"},{"uid":"fe312da0-12"},{"uid":"fe312da0-14"},{"uid":"fe312da0-6"},{"uid":"fe312da0-16"},{"uid":"fe312da0-0"},{"uid":"fe312da0-18"},{"uid":"fe312da0-20"},{"uid":"fe312da0-22"},{"uid":"fe312da0-24"},{"uid":"fe312da0-26"},{"uid":"fe312da0-28"},{"uid":"fe312da0-30"},{"uid":"fe312da0-10"}],"importedBy":[],"isEntry":true},"fe312da0-34":{"id":"@pyreon/reactivity","moduleParts":{},"imported":[],"importedBy":[{"uid":"fe312da0-12"},{"uid":"fe312da0-16"}]}},"env":{"rollup":"4.23.0"},"options":{"gzip":true,"brotli":false,"sourcemap":false}};
|
|
5390
5390
|
|
|
5391
5391
|
const run = () => {
|
|
5392
5392
|
const width = window.innerWidth;
|
package/lib/index.js
CHANGED
|
@@ -52,21 +52,30 @@ function warnOutsideSetup(hookName) {
|
|
|
52
52
|
*/
|
|
53
53
|
function onMount(fn) {
|
|
54
54
|
warnOutsideSetup("onMount");
|
|
55
|
-
_current
|
|
55
|
+
if (_current) {
|
|
56
|
+
if (_current.mount === null) _current.mount = [];
|
|
57
|
+
_current.mount.push(fn);
|
|
58
|
+
}
|
|
56
59
|
}
|
|
57
60
|
/**
|
|
58
61
|
* Register a callback to run when the component is removed from the DOM.
|
|
59
62
|
*/
|
|
60
63
|
function onUnmount(fn) {
|
|
61
64
|
warnOutsideSetup("onUnmount");
|
|
62
|
-
_current
|
|
65
|
+
if (_current) {
|
|
66
|
+
if (_current.unmount === null) _current.unmount = [];
|
|
67
|
+
_current.unmount.push(fn);
|
|
68
|
+
}
|
|
63
69
|
}
|
|
64
70
|
/**
|
|
65
71
|
* Register a callback to run after each reactive update.
|
|
66
72
|
*/
|
|
67
73
|
function onUpdate(fn) {
|
|
68
74
|
warnOutsideSetup("onUpdate");
|
|
69
|
-
_current
|
|
75
|
+
if (_current) {
|
|
76
|
+
if (_current.update === null) _current.update = [];
|
|
77
|
+
_current.update.push(fn);
|
|
78
|
+
}
|
|
70
79
|
}
|
|
71
80
|
/**
|
|
72
81
|
* Register an error handler for this component subtree.
|
|
@@ -83,7 +92,10 @@ function onUpdate(fn) {
|
|
|
83
92
|
*/
|
|
84
93
|
function onErrorCaptured(fn) {
|
|
85
94
|
warnOutsideSetup("onErrorCaptured");
|
|
86
|
-
_current
|
|
95
|
+
if (_current) {
|
|
96
|
+
if (_current.error === null) _current.error = [];
|
|
97
|
+
_current.error.push(fn);
|
|
98
|
+
}
|
|
87
99
|
}
|
|
88
100
|
|
|
89
101
|
//#endregion
|
|
@@ -103,10 +115,10 @@ function defineComponent(fn) {
|
|
|
103
115
|
*/
|
|
104
116
|
function runWithHooks(fn, props) {
|
|
105
117
|
const hooks = {
|
|
106
|
-
mount:
|
|
107
|
-
unmount:
|
|
108
|
-
update:
|
|
109
|
-
error:
|
|
118
|
+
mount: null,
|
|
119
|
+
unmount: null,
|
|
120
|
+
update: null,
|
|
121
|
+
error: null
|
|
110
122
|
};
|
|
111
123
|
setCurrentHooks(hooks);
|
|
112
124
|
let vnode = null;
|
|
@@ -125,6 +137,7 @@ function runWithHooks(fn, props) {
|
|
|
125
137
|
* Returns true if any handler marked the error as handled.
|
|
126
138
|
*/
|
|
127
139
|
function propagateError(err, hooks) {
|
|
140
|
+
if (!hooks.error) return false;
|
|
128
141
|
for (const handler of hooks.error) if (handler(err) === true) return true;
|
|
129
142
|
return false;
|
|
130
143
|
}
|
|
@@ -577,20 +590,28 @@ function _rp(fn) {
|
|
|
577
590
|
* Returns the same object if no reactive props found (fast path).
|
|
578
591
|
*/
|
|
579
592
|
function makeReactiveProps(raw) {
|
|
593
|
+
const keys = Object.keys(raw);
|
|
594
|
+
let hasAny = false;
|
|
595
|
+
for (let i = 0; i < keys.length; i++) {
|
|
596
|
+
const val = raw[keys[i]];
|
|
597
|
+
if (typeof val === "function" && val[REACTIVE_PROP]) {
|
|
598
|
+
hasAny = true;
|
|
599
|
+
break;
|
|
600
|
+
}
|
|
601
|
+
}
|
|
602
|
+
if (!hasAny) return raw;
|
|
580
603
|
const result = {};
|
|
581
|
-
let
|
|
582
|
-
|
|
604
|
+
for (let i = 0; i < keys.length; i++) {
|
|
605
|
+
const key = keys[i];
|
|
583
606
|
const val = raw[key];
|
|
584
|
-
if (typeof val === "function" && val[REACTIVE_PROP]) {
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
hasGetters = true;
|
|
591
|
-
} else result[key] = val;
|
|
607
|
+
if (typeof val === "function" && val[REACTIVE_PROP]) Object.defineProperty(result, key, {
|
|
608
|
+
get: val,
|
|
609
|
+
enumerable: true,
|
|
610
|
+
configurable: true
|
|
611
|
+
});
|
|
612
|
+
else result[key] = val;
|
|
592
613
|
}
|
|
593
|
-
return
|
|
614
|
+
return result;
|
|
594
615
|
}
|
|
595
616
|
let _idCounter = 0;
|
|
596
617
|
/**
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["__DEV__","__DEV__","__DEV__"],"sources":["../src/lifecycle.ts","../src/component.ts","../src/context.ts","../src/h.ts","../src/dynamic.ts","../src/telemetry.ts","../src/error-boundary.ts","../src/for.ts","../src/lazy.ts","../src/map-array.ts","../src/portal.ts","../src/props.ts","../src/ref.ts","../src/show.ts","../src/style.ts","../src/suspense.ts"],"sourcesContent":["import type { CleanupFn, LifecycleHooks } from './types'\n\n// Dev-mode gate: see `pyreon/no-process-dev-gate` lint rule for why this\n// uses `import.meta.env.DEV` instead of `typeof process !== 'undefined'`.\n// @ts-ignore — `import.meta.env.DEV` is provided by Vite/Rolldown at build time\nconst __DEV__ = import.meta.env?.DEV === true\n\n// The currently-executing component's hook storage, set by the renderer\n// before calling the component function, cleared immediately after.\nlet _current: LifecycleHooks | null = null\n\nexport function setCurrentHooks(hooks: LifecycleHooks | null) {\n _current = hooks\n}\n\nexport function getCurrentHooks(): LifecycleHooks | null {\n return _current\n}\n\n/**\n * Extract the first stack frame that's NOT inside the framework itself.\n * Walks the stack from top, skipping:\n * - V8/JSC internals (`at <anonymous>`, no filename)\n * - Framework files (packages/core/core/src/lifecycle.ts, etc.)\n * - The warning infra itself (warnOutsideSetup, the hook wrapper)\n *\n * Returns a string like \"at MyComponent (src/components/Foo.tsx:42:15)\"\n * — the call site a user needs to fix. Returns an empty string if no\n * user-code frame is found (unlikely in practice).\n */\nfunction captureCallSite(): string {\n const err = new Error()\n const stack = err.stack\n if (!stack) return ''\n const lines = stack.split('\\n')\n // Framework paths to skip — conservative, matches the packages that\n // contain lifecycle / provide / context internals and call these hooks.\n const skipPatterns = [\n /lifecycle\\.ts/,\n /\\/context\\.ts/,\n /\\/component\\.ts/,\n /\\/core\\/src\\//,\n /\\/runtime-dom\\/src\\//,\n /\\/runtime-server\\/src\\//,\n // node:internal frames\n /node:internal/,\n // chrome devtools source mappings\n /webpack-internal/,\n /<anonymous>/,\n ]\n for (const line of lines) {\n if (!line.includes('at ')) continue\n if (skipPatterns.some((p) => p.test(line))) continue\n // Strip leading \" at \" and return the rest\n return line.trim()\n }\n return ''\n}\n\nfunction warnOutsideSetup(hookName: string): void {\n if (__DEV__ && !_current) {\n const callSite = captureCallSite()\n const location = callSite ? `\\n Called from: ${callSite}` : ''\n // oxlint-disable-next-line no-console\n console.warn(\n `[Pyreon] ${hookName}() called outside component setup. ` +\n \"Lifecycle hooks must be called synchronously during a component's setup function.\" +\n location +\n (hookName === 'onUnmount'\n ? '\\n Hint: `provide()` internally calls onUnmount(). If you use provide(), ensure it runs during synchronous component setup — not inside effects, callbacks, or after awaits.'\n : ''),\n )\n }\n}\n\n/**\n * Register a callback to run after the component is mounted to the DOM.\n * Optionally return a cleanup function — it will run on unmount.\n */\nexport function onMount(fn: () => CleanupFn | void | undefined) {\n warnOutsideSetup('onMount')\n _current?.mount.push(fn)\n}\n\n/**\n * Register a callback to run when the component is removed from the DOM.\n */\nexport function onUnmount(fn: () => void) {\n warnOutsideSetup('onUnmount')\n _current?.unmount.push(fn)\n}\n\n/**\n * Register a callback to run after each reactive update.\n */\nexport function onUpdate(fn: () => void) {\n warnOutsideSetup('onUpdate')\n _current?.update.push(fn)\n}\n\n/**\n * Register an error handler for this component subtree.\n *\n * When an error is thrown during rendering or in a child component,\n * the nearest `onErrorCaptured` handler is called with the error.\n * Return `true` to mark the error as handled and stop propagation.\n *\n * @example\n * onErrorCaptured((err) => {\n * setError(String(err))\n * return true // handled — don't propagate\n * })\n */\nexport function onErrorCaptured(fn: (err: unknown) => boolean | undefined) {\n warnOutsideSetup('onErrorCaptured')\n _current?.error.push(fn)\n}\n","import { setCurrentHooks } from './lifecycle'\nimport type { ComponentFn, LifecycleHooks, Props, VNodeChild } from './types'\n\n/**\n * Identity wrapper — marks a function as a Pyreon component and preserves its type.\n * Useful for IDE tooling and future compiler optimisations.\n */\nexport function defineComponent<P extends Props>(fn: ComponentFn<P>): ComponentFn<P> {\n return fn\n}\n\n/**\n * Run a component function in a tracked context so that lifecycle hooks\n * registered inside it (onMount, onUnmount, onErrorCaptured, etc.) are captured.\n *\n * Called by the renderer — not intended for user code.\n */\nexport function runWithHooks<P extends Props>(\n fn: ComponentFn<P>,\n props: P,\n): { vnode: VNodeChild; hooks: LifecycleHooks } {\n const hooks: LifecycleHooks = { mount: [], unmount: [], update: [], error: [] }\n setCurrentHooks(hooks)\n let vnode: VNodeChild = null\n try {\n vnode = fn(props)\n } finally {\n setCurrentHooks(null)\n }\n return { vnode, hooks }\n}\n\n/**\n * Walk up error handlers collected during component rendering.\n * Returns true if any handler marked the error as handled.\n */\nexport function propagateError(err: unknown, hooks: LifecycleHooks): boolean {\n for (const handler of hooks.error) {\n if (handler(err) === true) return true\n }\n return false\n}\n\n// ─── Error boundary stack ────────────────────────────────────────────────────\n// Module-level stack of active ErrorBoundary handlers (innermost last).\n// ErrorBoundary pushes during its own setup (before children mount) so that\n// any child mountComponent error can dispatch up to the nearest boundary.\n\nconst _errorBoundaryStack: ((err: unknown) => boolean)[] = []\n\nexport function pushErrorBoundary(handler: (err: unknown) => boolean): void {\n _errorBoundaryStack.push(handler)\n}\n\nexport function popErrorBoundary(): void {\n _errorBoundaryStack.pop()\n}\n\n/**\n * Dispatch an error to the nearest active ErrorBoundary.\n * Returns true if the boundary handled it, false if none was registered.\n */\nexport function dispatchToErrorBoundary(err: unknown): boolean {\n const handler = _errorBoundaryStack[_errorBoundaryStack.length - 1]\n return handler ? handler(err) : false\n}\n","/**\n * Provide / inject — like React context or Vue provide/inject.\n *\n * Values flow down the component tree without prop-drilling.\n * The renderer maintains the context stack as it walks the VNode tree.\n */\n\nimport { onUnmount } from './lifecycle'\n\nexport interface Context<T> {\n readonly id: symbol\n readonly defaultValue: T\n}\n\n/** Branded marker for reactive contexts — distinguishes from regular Context at type level. */\ndeclare const REACTIVE_BRAND: unique symbol\n\n/**\n * A context whose value is a reactive accessor `() => T`.\n *\n * When you `useContext(reactiveCtx)`, TypeScript returns `() => T` —\n * you MUST call the accessor to read the value. This prevents the\n * destructuring trap that breaks reactivity with getter-based objects.\n *\n * @example\n * const ModeCtx = createReactiveContext<'light' | 'dark'>('light')\n * // Provider: provide(ModeCtx, () => modeSignal())\n * // Consumer: const getMode = useContext(ModeCtx); getMode() // 'light'\n */\nexport interface ReactiveContext<T> extends Context<() => T> {\n readonly [REACTIVE_BRAND]: T\n}\n\nexport function createContext<T>(defaultValue: T): Context<T> {\n return { id: Symbol('PyreonContext'), defaultValue }\n}\n\n/**\n * Create a reactive context. Consumers get `() => T` and must call it.\n * This is the safe pattern for values that change over time (mode, locale, etc.).\n */\nexport function createReactiveContext<T>(defaultValue: T): ReactiveContext<T> {\n return createContext<() => T>(() => defaultValue) as ReactiveContext<T>\n}\n\n// ─── Runtime context stack (managed by the renderer) ─────────────────────────\n\n// Default stack — used for CSR and single-threaded SSR.\n// On Node.js with concurrent requests, @pyreon/runtime-server replaces this with\n// an AsyncLocalStorage-backed provider via setContextStackProvider().\nconst _defaultStack: Map<symbol, unknown>[] = []\nlet _stackProvider: () => Map<symbol, unknown>[] = () => _defaultStack\n\n/**\n * Override the context stack provider. Called by @pyreon/runtime-server to\n * inject an AsyncLocalStorage-backed stack that isolates concurrent SSR requests.\n * Has no effect in the browser (CSR always uses the default module-level stack).\n */\nexport function setContextStackProvider(fn: () => Map<symbol, unknown>[]): void {\n _stackProvider = fn\n}\n\nfunction getStack(): Map<symbol, unknown>[] {\n return _stackProvider()\n}\n\n// Dev-mode gate: see `pyreon/no-process-dev-gate` lint rule for why this\n// uses `import.meta.env.DEV` instead of `typeof process !== 'undefined'`.\n// @ts-ignore — `import.meta.env.DEV` is provided by Vite/Rolldown at build time\nconst __DEV__ = import.meta.env?.DEV === true\n\nexport function pushContext(values: Map<symbol, unknown>) {\n getStack().push(values)\n}\n\nexport function popContext() {\n const stack = getStack()\n if (stack.length === 0) return\n stack.pop()\n}\n\n/**\n * Read the nearest provided value for a context.\n * Falls back to `context.defaultValue` if none found.\n *\n * For ReactiveContext<T>, returns `() => T` — you MUST call the accessor.\n * For regular Context<T>, returns `T` directly.\n */\nexport function useContext<T>(context: ReactiveContext<T>): () => T\nexport function useContext<T>(context: Context<T>): T\nexport function useContext<T>(context: Context<T>): T {\n const stack = getStack()\n for (let i = stack.length - 1; i >= 0; i--) {\n const frame = stack[i]\n if (frame?.has(context.id)) {\n return frame.get(context.id) as T\n }\n }\n return context.defaultValue\n}\n\n/**\n * Provide a context value for the current component's subtree.\n * Must be called during component setup (like onMount/onUnmount).\n * Automatically cleaned up when the component unmounts.\n *\n * @example\n * const ThemeProvider = ({ children }: { children: VNodeChild }) => {\n * provide(ThemeContext, { color: \"blue\" })\n * return children\n * }\n */\nexport function provide<T>(context: Context<T>, value: T): void {\n pushContext(new Map<symbol, unknown>([[context.id, value]]))\n onUnmount(() => popContext())\n}\n\n/**\n * Provide a value for `context` during `fn()`.\n * Used by the renderer when it encounters a `<Provider>` component.\n */\nexport function withContext<T>(context: Context<T>, value: T, fn: () => void) {\n const frame = new Map<symbol, unknown>([[context.id, value]])\n pushContext(frame)\n try {\n fn()\n } finally {\n popContext()\n }\n}\n\n// ─── Context snapshot for deferred mounting ─────────────────────────────────\n\nexport type ContextSnapshot = Map<symbol, unknown>[]\n\n/**\n * Capture a snapshot of the current context stack.\n *\n * Used by `mountReactive` to preserve the context that was active when a\n * reactive boundary (e.g. `<Show>`, `<For>`) was set up. When the boundary\n * later mounts new children inside an effect, the snapshot is restored so\n * those children can see ancestor providers via `useContext()`.\n */\nexport function captureContextStack(): ContextSnapshot {\n // Shallow copy — each frame (Map) is shared by reference, which is\n // correct because providers don't mutate frames after creation.\n return [...getStack()]\n}\n\n/**\n * Execute `fn()` with a previously captured context stack active.\n * Restores the original stack after `fn()` completes (even on throw).\n */\nexport function restoreContextStack<T>(snapshot: ContextSnapshot, fn: () => T): T {\n const stack = getStack()\n const savedLength = stack.length\n\n // Push all captured frames onto the current stack\n for (const frame of snapshot) {\n stack.push(frame)\n }\n\n try {\n return fn()\n } finally {\n // Remove only the frames we pushed (preserve anything added by fn)\n stack.length = savedLength\n }\n}\n","import type { ComponentFn, Props, VNode, VNodeChild } from './types'\n\n/** Marker for fragment nodes — renders children without a wrapper element */\nexport const Fragment: unique symbol = Symbol('Pyreon.Fragment')\n\n/**\n * Hyperscript function — the compiled output of JSX.\n * `<div class=\"x\">hello</div>` → `h(\"div\", { class: \"x\" }, \"hello\")`\n *\n * Generic on P so TypeScript validates props match the component's signature\n * at the call site, then stores the result in the loosely-typed VNode.\n */\n/** Shared empty props sentinel — identity-checked in mountElement to skip applyProps. */\nexport const EMPTY_PROPS: Props = {} as Props\n\n/** Makes `children` optional in P (if present) so it can be passed as rest args to h(). */\ntype PropsWithOptionalChildren<P extends Props> = Omit<P, 'children'> &\n ('children' extends keyof P ? { children?: P['children'] } : unknown)\n\n// Overload: component with typed props — children is optional in the props object\n// because it can be passed as rest args. Extra keys are allowed via `& Props`.\nexport function h<P extends Props>(\n type: ComponentFn<P>,\n props: (PropsWithOptionalChildren<P> & Props) | null,\n ...children: VNodeChild[]\n): VNode\n// Overload: intrinsic element, symbol, generic/dynamic component, or mixed union\nexport function h(\n type: string | ((p: any) => VNodeChild) | symbol,\n props: Props | null,\n ...children: VNodeChild[]\n): VNode\nexport function h<P extends Props>(\n type: string | ComponentFn<P> | symbol,\n props: P | null,\n ...children: VNodeChild[]\n): VNode {\n return {\n type: type as string | ComponentFn | symbol,\n props: (props ?? EMPTY_PROPS) as Props,\n children: normalizeChildren(children),\n key: (props?.key as string | number | null) ?? null,\n }\n}\n\nfunction normalizeChildren(children: VNodeChild[]): VNodeChild[] {\n // Fast path: no nested arrays — return as-is without allocating\n for (let i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return flattenChildren(children)\n }\n }\n return children\n}\n\nfunction flattenChildren(children: VNodeChild[]): VNodeChild[] {\n const result: VNodeChild[] = []\n for (const child of children) {\n if (Array.isArray(child)) {\n result.push(...flattenChildren(child as VNodeChild[]))\n } else {\n result.push(child)\n }\n }\n return result\n}\n","import { h } from './h'\nimport type { ComponentFn, Props, VNode } from './types'\n\n// Dev-mode gate: see `pyreon/no-process-dev-gate` lint rule for why this\n// uses `import.meta.env.DEV` instead of `typeof process !== 'undefined'`.\n// @ts-ignore — `import.meta.env.DEV` is provided by Vite/Rolldown at build time\nconst __DEV__ = import.meta.env?.DEV === true\n\nexport interface DynamicProps extends Props {\n component: ComponentFn | string\n}\n\nexport function Dynamic(props: DynamicProps): VNode | null {\n const { component, ...rest } = props\n if (__DEV__ && !component) {\n // oxlint-disable-next-line no-console\n console.warn('[Pyreon] <Dynamic> received a falsy `component` prop. Nothing will be rendered.')\n }\n if (!component) return null\n return h(component as string | ComponentFn, rest as Props)\n}\n","/**\n * Error telemetry — hook into Pyreon's error reporting for Sentry, Datadog, etc.\n *\n * @example\n * import { registerErrorHandler } from \"@pyreon/core\"\n * import * as Sentry from \"@sentry/browser\"\n *\n * registerErrorHandler(ctx => {\n * Sentry.captureException(ctx.error, {\n * extra: { component: ctx.component, phase: ctx.phase },\n * })\n * })\n */\n\nexport interface ErrorContext {\n /** Component function name, or \"Anonymous\" */\n component: string\n /** Lifecycle phase where the error occurred */\n phase: 'setup' | 'render' | 'mount' | 'unmount' | 'effect'\n /** The thrown value */\n error: unknown\n /** Unix timestamp (ms) */\n timestamp: number\n /** Component props at the time of the error */\n props?: Record<string, unknown>\n}\n\nexport type ErrorHandler = (ctx: ErrorContext) => void\n\nlet _handlers: ErrorHandler[] = []\n\n/**\n * Register a global error handler. Called whenever a component throws in any\n * lifecycle phase. Returns an unregister function.\n */\nexport function registerErrorHandler(handler: ErrorHandler): () => void {\n _handlers.push(handler)\n return () => {\n _handlers = _handlers.filter((h) => h !== handler)\n }\n}\n\n/**\n * Internal — called by the runtime whenever a component error is caught.\n * Existing console.error calls are preserved; this is additive.\n */\nexport function reportError(ctx: ErrorContext): void {\n for (const h of _handlers) {\n try {\n h(ctx)\n } catch {\n // handler errors must never propagate back into the framework\n }\n }\n}\n","import { signal } from '@pyreon/reactivity'\nimport { popErrorBoundary, pushErrorBoundary } from './component'\nimport { onUnmount } from './lifecycle'\nimport { reportError } from './telemetry'\nimport type { VNodeChild, VNodeChildAtom } from './types'\n\n// Dev-mode gate: see `pyreon/no-process-dev-gate` lint rule for why this\n// uses `import.meta.env.DEV` instead of `typeof process !== 'undefined'`.\n// @ts-ignore — `import.meta.env.DEV` is provided by Vite/Rolldown at build time\nconst __DEV__ = import.meta.env?.DEV === true\n\n/**\n * ErrorBoundary — catches errors thrown by child components and renders a\n * fallback UI instead of crashing the whole tree.\n *\n * Also reports caught errors to any registered telemetry handlers.\n *\n * How error propagation works:\n * ErrorBoundary pushes a handler onto the module-level boundary stack\n * synchronously during its own setup (before children are mounted).\n * When mountComponent catches a child error, it calls dispatchToErrorBoundary()\n * which invokes the innermost boundary's handler.\n *\n * Usage:\n * h(ErrorBoundary, {\n * fallback: (err) => h(\"p\", null, `Error: ${err}`),\n * children: h(MyComponent, null),\n * })\n *\n * // or with JSX:\n * <ErrorBoundary fallback={(err) => <p>Error: {String(err)}</p>}>\n * <MyComponent />\n * </ErrorBoundary>\n */\nexport function ErrorBoundary(props: {\n /**\n * Rendered when a child throws. Receives the caught error and a `reset`\n * function — calling `reset()` clears the error and re-renders children.\n */\n fallback: (err: unknown, reset: () => void) => VNodeChild\n children?: VNodeChild\n}): VNodeChild {\n if (__DEV__ && typeof props.fallback !== 'function') {\n // oxlint-disable-next-line no-console\n console.warn(\n '[Pyreon] <ErrorBoundary> expects `fallback` to be a function: (err, reset) => VNode. ' +\n `Received ${typeof props.fallback}.`,\n )\n }\n\n const error = signal<unknown>(null)\n const reset = () => error.set(null)\n\n const handler = (err: unknown): boolean => {\n if (error.peek() !== null) return false // already in error state — let outer boundary catch it\n error.set(err)\n reportError({ component: 'ErrorBoundary', phase: 'render', error: err, timestamp: Date.now() })\n return true\n }\n\n // Push synchronously — before children are mounted — so child errors see this boundary\n pushErrorBoundary(handler)\n onUnmount(() => popErrorBoundary())\n\n return (): VNodeChildAtom => {\n const err = error()\n if (err != null) return props.fallback(err, reset) as VNodeChildAtom\n const ch = props.children\n return (typeof ch === 'function' ? ch() : ch) as VNodeChildAtom\n }\n}\n","import type { NativeItem, Props, VNode } from './types'\n\n/**\n * Symbol used as the VNode type for a For list — runtime-dom handles it\n * via mountFor, bypassing the generic VNode reconciler.\n */\nexport const ForSymbol: unique symbol = Symbol('pyreon.For')\n\nexport interface ForProps<T> {\n each: () => T[]\n /** Keying function — use `by` not `key` (JSX extracts `key` for VNode reconciliation). */\n by: (item: T) => string | number\n children: (item: T) => VNode | NativeItem\n /**\n * @deprecated Use `by` instead of `key`. In Pyreon, `<For>` uses `by` for keying.\n * JSX reserves `key` for VNode reconciliation — it won't reach the component.\n */\n key?: never\n}\n\n/**\n * Efficient reactive list rendering.\n *\n * Unlike a plain `() => items().map(item => h(...))`, For never re-creates\n * VNodes for existing keys — only new keys invoke `children()`. Structural\n * mutations (swap, sort, filter) are O(n) key scan + O(k) DOM moves where k\n * is the number of actually displaced entries.\n *\n * Usage:\n * <For each={items} by={r => r.id}>{r => <li>...</li>}</For>\n */\nexport function For<T>(props: ForProps<T>): VNode {\n return {\n type: ForSymbol as unknown as string,\n props: props as unknown as Props,\n children: [],\n key: null,\n }\n}\n","import { signal } from '@pyreon/reactivity'\nimport { h } from './h'\nimport type { LazyComponent } from './suspense'\nimport type { ComponentFn, Props } from './types'\n\nexport function lazy<P extends Props>(\n load: () => Promise<{ default: ComponentFn<P> }>,\n): LazyComponent<P> {\n const loaded = signal<ComponentFn<P> | null>(null)\n const error = signal<Error | null>(null)\n\n load()\n .then((m) => loaded.set(m.default))\n .catch((e) => error.set(e instanceof Error ? e : new Error(String(e))))\n\n const wrapper = ((props: P) => {\n const err = error()\n if (err) throw err\n const comp = loaded()\n return comp ? h(comp as ComponentFn, props as Props) : null\n }) as LazyComponent<P>\n\n wrapper.__loading = () => loaded() === null && error() === null\n return wrapper\n}\n","/**\n * mapArray — keyed reactive list mapping.\n *\n * Creates each mapped item exactly once per key, then reuses it across\n * updates. When the source array is reordered or partially changed, only\n * new keys invoke `map()`; existing entries return the cached result.\n *\n * This makes structural list operations (swap, sort, filter) O(k) in\n * allocations where k is the number of new/removed keys, not O(n).\n *\n * The returned accessor reads `source()` reactively, so it can be passed\n * directly to the keyed-list reconciler.\n */\nexport function mapArray<T, U>(\n source: () => T[],\n getKey: (item: T) => string | number,\n map: (item: T) => U,\n): () => U[] {\n const cache = new Map<string | number, U>()\n\n return () => {\n const items = source()\n const result: U[] = []\n const newKeys = new Set<string | number>()\n\n for (const item of items) {\n const key = getKey(item)\n newKeys.add(key)\n if (!cache.has(key)) {\n cache.set(key, map(item))\n }\n result.push(cache.get(key) as U)\n }\n\n // Evict entries whose keys are no longer present\n for (const key of cache.keys()) {\n if (!newKeys.has(key)) cache.delete(key)\n }\n\n return result\n }\n}\n","import type { Props, VNode, VNodeChild } from './types'\n\n/**\n * Symbol used as the VNode type for a Portal — runtime-dom mounts the\n * children into `target` instead of the normal parent.\n */\nexport const PortalSymbol: unique symbol = Symbol('pyreon.Portal')\n\nexport interface PortalProps {\n /** DOM element to render children into (e.g. document.body). */\n target: Element\n children: VNodeChild\n}\n\n/**\n * Portal — renders `children` into a different DOM node than the\n * current parent tree.\n *\n * Useful for modals, tooltips, dropdowns, and any overlay that needs to\n * escape CSS overflow/stacking context restrictions.\n *\n * @example\n * // Render a modal at document.body level regardless of where in the\n * // component tree <Modal> is used:\n * Portal({ target: document.body, children: h(Modal, { onClose }) })\n *\n * // JSX:\n * <Portal target={document.body}>\n * <Modal onClose={close} />\n * </Portal>\n */\nexport function Portal(props: PortalProps): VNode {\n return {\n type: PortalSymbol as unknown as string,\n props: props as unknown as Props,\n children: [],\n key: null,\n }\n}\n","// Prop utilities for component authoring.\n\n/**\n * Split props into two groups: keys you want and the rest.\n * Unlike destructuring, this preserves reactivity (getters on the original object).\n *\n * @example\n * const [own, html] = splitProps(props, [\"label\", \"icon\"])\n * return <button {...html}><Icon name={own.icon} /> {own.label}</button>\n */\nexport function splitProps<T extends object, K extends (keyof T)[]>(\n props: T,\n keys: K,\n): [Pick<T, K[number]>, Omit<T, K[number]>] {\n const picked = {} as Pick<T, K[number]>\n const rest = {} as Omit<T, K[number]>\n const keySet = new Set<string | symbol>(keys as (string | symbol)[])\n\n // Reflect.ownKeys includes symbol-keyed properties; Object.keys drops them\n // silently. Without this, symbol-keyed props (e.g. branded reactive props\n // under Symbol.for('pyreon.reactiveProp')) would vanish from both picked\n // and rest.\n for (const key of Reflect.ownKeys(props)) {\n const desc = Object.getOwnPropertyDescriptor(props, key)\n if (!desc) continue\n // Force configurable: true when copying to a fresh object. Source descriptors\n // may be non-configurable (default when created with `Object.defineProperty`\n // and the caller omitted `configurable`). If we preserved that, any later\n // `Object.defineProperty` on the same key — including subsequent splitProps\n // post-processing or test mocks — would throw \"Cannot redefine property\".\n const safe = { ...desc, configurable: true }\n if (keySet.has(key)) {\n Object.defineProperty(picked, key, safe)\n } else {\n Object.defineProperty(rest, key, safe)\n }\n }\n\n return [picked, rest]\n}\n\n/** Merge a getter-backed source property with an existing getter or value. */\nfunction mergeGetterWithExisting(\n result: Record<string, unknown>,\n key: string,\n desc: PropertyDescriptor,\n existing: PropertyDescriptor,\n): void {\n const prevGet = existing.get ?? (() => existing.value)\n const nextGet = desc.get as () => unknown\n Object.defineProperty(result, key, {\n get: () => {\n const v = nextGet()\n return v !== undefined ? v : prevGet()\n },\n enumerable: true,\n configurable: true,\n })\n}\n\n/** Merge a static source property when the existing property has a getter. */\nfunction mergeStaticWithGetter(\n result: Record<string, unknown>,\n key: string,\n desc: PropertyDescriptor,\n existingGet: () => unknown,\n): void {\n if (desc.value !== undefined) {\n Object.defineProperty(result, key, { ...desc, configurable: true })\n } else {\n Object.defineProperty(result, key, {\n get: existingGet,\n enumerable: true,\n configurable: true,\n })\n }\n}\n\n/** Apply a single source property onto the result object, handling getter/static combos. */\nfunction mergeProperty(\n result: Record<string, unknown>,\n key: string,\n desc: PropertyDescriptor,\n): void {\n const existing = Object.getOwnPropertyDescriptor(result, key)\n if (desc.get && existing) {\n mergeGetterWithExisting(result, key, desc, existing)\n } else if (desc.get) {\n // Force configurable: true — source getters may have been defined via\n // `Object.defineProperty` without an explicit configurable flag (which\n // defaults to false). Without this, a later source in the same mergeProps\n // call that overrides the same key would crash with TypeError:\n // \"Cannot redefine property\".\n Object.defineProperty(result, key, { ...desc, configurable: true })\n } else if (existing?.get) {\n mergeStaticWithGetter(result, key, desc, existing.get)\n } else if (desc.value !== undefined || !existing) {\n // Both static — later value wins if defined\n Object.defineProperty(result, key, { ...desc, configurable: true })\n }\n}\n\n/**\n * Merge default values with component props. Defaults are used when\n * the prop is `undefined`. Preserves getter reactivity.\n *\n * @example\n * const merged = mergeProps({ size: \"md\", variant: \"primary\" }, props)\n * // merged.size is reactive — falls back to \"md\" when props.size is undefined\n */\nexport function mergeProps<T extends Record<string, unknown>>(...sources: T[]): T {\n const result = {} as T\n for (const source of sources) {\n // See splitProps for why this uses Reflect.ownKeys instead of Object.keys.\n for (const key of Reflect.ownKeys(source)) {\n const desc = Object.getOwnPropertyDescriptor(source, key)\n if (!desc) continue\n mergeProperty(result, key as string, desc)\n }\n }\n return result\n}\n\n/**\n * Brand symbol for compiler-emitted reactive prop wrappers.\n * Distinguishes `() => expr` wrappers from user-written accessor props\n * (like Show's `when={() => condition()}`).\n */\nexport const REACTIVE_PROP = Symbol.for('pyreon.reactiveProp')\n\n/** Symbol to access the underlying props signal for updates. */\nexport const PROPS_SIGNAL = Symbol.for('pyreon.propsSignal')\n\n/**\n * Create a branded reactive prop wrapper.\n * Called by the compiler for component prop expressions containing signal reads.\n */\nexport function _rp<T>(fn: () => T): () => T {\n ;(fn as any)[REACTIVE_PROP] = true\n return fn\n}\n\n/**\n * Convert compiler-emitted `_rp(() => expr)` prop values into getter properties.\n *\n * Only converts functions branded with REACTIVE_PROP — user-written accessor\n * props (like Show's when, For's each) are left as-is.\n *\n * Returns the same object if no reactive props found (fast path).\n */\nexport function makeReactiveProps(\n raw: Record<string, unknown>,\n): Record<string, unknown> {\n const result: Record<string, unknown> = {}\n let hasGetters = false\n\n for (const key of Object.keys(raw)) {\n const val = raw[key]\n\n if (typeof val === 'function' && (val as any)[REACTIVE_PROP]) {\n Object.defineProperty(result, key, {\n get: val as () => unknown,\n enumerable: true,\n configurable: true,\n })\n hasGetters = true\n } else {\n result[key] = val\n }\n }\n\n return hasGetters ? result : raw\n}\n\n// ─── Unique ID ───────────────────────────────────────────────────────────────\n\nlet _idCounter = 0\n\n/**\n * Generate a unique ID string for accessibility attributes (htmlFor, aria-describedby, etc.).\n * SSR-safe: uses a deterministic counter that resets per request context.\n *\n * @example\n * const id = createUniqueId()\n * return <>\n * <label for={id}>Name</label>\n * <input id={id} />\n * </>\n */\nexport function createUniqueId(): string {\n return `pyreon-${++_idCounter}`\n}\n\n/** Reset the ID counter (called by SSR per-request). */\nexport function _resetIdCounter(): void {\n _idCounter = 0\n}\n","/**\n * createRef — mutable container for a DOM element or component value.\n *\n * Usage:\n * const inputRef = createRef<HTMLInputElement>()\n * onMount(() => { inputRef.current?.focus() })\n * return <input ref={inputRef} />\n *\n * The runtime sets `ref.current` after the element is inserted into the DOM\n * and clears it to `null` when the element is removed.\n */\n\nexport interface Ref<T = unknown> {\n current: T | null\n}\n\n/** Callback ref — receives the element on mount and null on unmount. */\nexport type RefCallback<T = unknown> = (el: T | null) => void\n\n/**\n * Union of object ref and callback ref — accepted by the JSX ref prop.\n * Callback refs are called with the element on mount and with `null` on\n * unmount (matches React/Solid/Vue). Callback refs MUST accept `T | null`\n * — the previous `(el: T) => void` mount-only arm was removed in the\n * post-#233 cleanup because the runtime always invokes with null on\n * unmount and the narrower type silently lied to consumers.\n */\nexport type RefProp<T = unknown> = Ref<T> | RefCallback<T>\n\nexport function createRef<T = unknown>(): Ref<T> {\n return { current: null }\n}\n","import type { Props, VNode, VNodeChild, VNodeChildAtom } from './types'\n\n// ─── Show ─────────────────────────────────────────────────────────────────────\n\nexport interface ShowProps extends Props {\n /** Accessor — children render when truthy, fallback when falsy. */\n when: () => unknown\n fallback?: VNodeChild\n children?: VNodeChild\n}\n\n/**\n * Conditionally render children based on a reactive condition.\n *\n * @example\n * h(Show, { when: () => isLoggedIn() },\n * h(Dashboard, null)\n * )\n *\n * // With fallback:\n * h(Show, { when: () => user(), fallback: h(Login, null) },\n * h(Dashboard, null)\n * )\n */\nexport function Show(props: ShowProps): VNode | null {\n // Returns a reactive accessor; the renderer unwraps it at mount time.\n return ((): VNodeChildAtom =>\n (props.when()\n ? (props.children ?? null)\n : (props.fallback ?? null)) as VNodeChildAtom) as unknown as VNode\n}\n\n// ─── Switch / Match ───────────────────────────────────────────────────────────\n\nexport interface MatchProps extends Props {\n /** Accessor — this branch renders when truthy. */\n when: () => unknown\n children?: VNodeChild\n}\n\n/**\n * A branch inside `<Switch>`. Renders when `when()` is truthy.\n * Must be used as a direct child of `Switch`.\n *\n * `Match` acts as a pure type/identity marker — Switch identifies it by checking\n * `vnode.type === Match` rather than by the runtime return value.\n */\nexport function Match(_props: MatchProps): VNode | null {\n // Match is never mounted directly — Switch inspects Match VNodes by type identity.\n return null\n}\n\nexport interface SwitchProps extends Props {\n /** Rendered when no Match branch is truthy. */\n fallback?: VNodeChild\n children?: VNodeChild | VNodeChild[]\n}\n\n/**\n * Multi-branch conditional rendering. Evaluates each `Match` child in order,\n * renders the first whose `when()` is truthy, or `fallback` if none match.\n *\n * @example\n * h(Switch, { fallback: h(\"p\", null, \"404\") },\n * h(Match, { when: () => route() === \"/\" }, h(Home, null)),\n * h(Match, { when: () => route() === \"/about\" }, h(About, null)),\n * )\n */\nfunction isMatchVNode(branch: VNodeChild): branch is VNode {\n return (\n branch !== null &&\n typeof branch === 'object' &&\n !Array.isArray(branch) &&\n (branch as VNode).type === Match\n )\n}\n\nfunction resolveMatchChildren(matchVNode: VNode): VNodeChildAtom {\n if (matchVNode.children.length === 0) {\n return ((matchVNode.props as unknown as MatchProps).children ?? null) as VNodeChildAtom\n }\n if (matchVNode.children.length === 1) return matchVNode.children[0] as VNodeChildAtom\n return matchVNode.children as unknown as VNodeChildAtom\n}\n\nfunction normalizeBranches(children: SwitchProps['children']): VNodeChild[] {\n if (Array.isArray(children)) return children\n if (children != null) return [children]\n return []\n}\n\nexport function Switch(props: SwitchProps): VNode | null {\n // Returns a reactive accessor; the renderer unwraps it at mount time.\n return ((): VNodeChildAtom => {\n const branches = normalizeBranches(props.children)\n\n for (const branch of branches) {\n if (!isMatchVNode(branch)) continue\n const matchProps = branch.props as unknown as MatchProps\n if (matchProps.when()) return resolveMatchChildren(branch)\n }\n\n return (props.fallback ?? null) as VNodeChildAtom\n }) as unknown as VNode\n}\n\n// Keep MatchSymbol export for any code that was using it\nexport const MatchSymbol: unique symbol = Symbol('pyreon.Match')\n","// Shared style utilities used by both runtime-dom and runtime-server.\n\n// CSS properties where numeric values are unitless (e.g. `opacity: 0.5`, `zIndex: 10`).\n// All other numeric values get \"px\" appended automatically (e.g. `height: 100` → `\"100px\"`).\nexport const CSS_UNITLESS = new Set([\n 'animationIterationCount',\n 'aspectRatio',\n 'borderImageOutset',\n 'borderImageSlice',\n 'borderImageWidth',\n 'boxFlex',\n 'boxFlexGroup',\n 'boxOrdinalGroup',\n 'columnCount',\n 'columns',\n 'flex',\n 'flexGrow',\n 'flexPositive',\n 'flexShrink',\n 'flexNegative',\n 'flexOrder',\n 'gridArea',\n 'gridRow',\n 'gridRowEnd',\n 'gridRowSpan',\n 'gridRowStart',\n 'gridColumn',\n 'gridColumnEnd',\n 'gridColumnSpan',\n 'gridColumnStart',\n 'fontWeight',\n 'lineClamp',\n 'lineHeight',\n 'opacity',\n 'order',\n 'orphans',\n 'scale',\n 'tabSize',\n 'widows',\n 'zIndex',\n 'zoom',\n 'fillOpacity',\n 'floodOpacity',\n 'stopOpacity',\n 'strokeDasharray',\n 'strokeDashoffset',\n 'strokeMiterlimit',\n 'strokeOpacity',\n 'strokeWidth',\n])\n\n// ─── Class utilities ─────────────────────────────────────────────────────────\n\n/** Value accepted by the `class` prop — string, array, object, or nested mix. */\nexport type ClassValue =\n | string\n | number\n | boolean\n | null\n | undefined\n | ClassValue[]\n | Record<string, boolean | null | undefined | (() => boolean)>\n\nfunction cxObject(obj: Record<string, boolean | null | undefined | (() => boolean)>): string {\n let result = ''\n for (const key in obj) {\n const v = obj[key]\n const truthy = typeof v === 'function' ? v() : v\n if (truthy) result = result ? `${result} ${key}` : key\n }\n return result\n}\n\nfunction cxArray(arr: ClassValue[]): string {\n let result = ''\n for (const item of arr) {\n const resolved = cx(item)\n if (resolved) result = result ? `${result} ${resolved}` : resolved\n }\n return result\n}\n\n/** Resolve a ClassValue into a flat class string (like clsx/cx). */\nexport function cx(value: ClassValue): string {\n if (value == null || value === false || value === true) return ''\n if (typeof value === 'string') return value\n if (typeof value === 'number') return String(value)\n if (Array.isArray(value)) return cxArray(value)\n return cxObject(value)\n}\n\n// ─── Style utilities ─────────────────────────────────────────────────────────\n\n/** Convert a camelCase CSS property name to kebab-case. */\nexport function toKebabCase(str: string): string {\n return str.replace(/[A-Z]/g, (c) => `-${c.toLowerCase()}`)\n}\n\n/** Normalize a style value — appends \"px\" to numbers for non-unitless properties. */\nexport function normalizeStyleValue(key: string, value: unknown): string {\n return typeof value === 'number' && !CSS_UNITLESS.has(key) ? `${value}px` : String(value)\n}\n","import { Fragment, h } from './h'\nimport type { Props, VNode, VNodeChild } from './types'\n\n// Dev-mode gate: see `pyreon/no-process-dev-gate` lint rule for why this\n// uses `import.meta.env.DEV` instead of `typeof process !== 'undefined'`.\n// @ts-ignore — `import.meta.env.DEV` is provided by Vite/Rolldown at build time\nconst __DEV__ = import.meta.env?.DEV === true\n\n/** Internal marker attached to lazy()-wrapped components */\nexport type LazyComponent<P extends Props = Props> = ((props: P) => VNodeChild) & {\n __loading: () => boolean\n}\n\n/**\n * Suspense — shows `fallback` while a lazy child component is still loading.\n *\n * Works in tandem with `lazy()` from `@pyreon/react-compat` (or `@pyreon/core/lazy`).\n * The child VNode's `.type.__loading()` signal drives the switch.\n *\n * Usage:\n * const Page = lazy(() => import(\"./Page\"))\n *\n * h(Suspense, { fallback: h(Spinner, null) }, h(Page, null))\n * // or with JSX:\n * <Suspense fallback={<Spinner />}><Page /></Suspense>\n */\nexport function Suspense(props: { fallback: VNodeChild; children?: VNodeChild }): VNode {\n if (__DEV__ && props.fallback === undefined) {\n // oxlint-disable-next-line no-console\n console.warn(\n '[Pyreon] <Suspense> is missing a `fallback` prop. Provide fallback UI to show while loading.',\n )\n }\n\n return h(Fragment, null, () => {\n const ch = props.children\n const childNode = typeof ch === 'function' ? ch() : ch\n\n // Check if the child is a VNode whose type is a lazy component still loading\n const isLoading =\n childNode != null &&\n typeof childNode === 'object' &&\n !Array.isArray(childNode) &&\n typeof (childNode as VNode).type === 'function' &&\n ((childNode as VNode).type as unknown as LazyComponent).__loading?.()\n\n if (isLoading) {\n const fb = props.fallback\n return typeof fb === 'function' ? fb() : fb\n }\n return childNode\n })\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["__DEV__","__DEV__","__DEV__"],"sources":["../src/lifecycle.ts","../src/component.ts","../src/context.ts","../src/h.ts","../src/dynamic.ts","../src/telemetry.ts","../src/error-boundary.ts","../src/for.ts","../src/lazy.ts","../src/map-array.ts","../src/portal.ts","../src/props.ts","../src/ref.ts","../src/show.ts","../src/style.ts","../src/suspense.ts"],"sourcesContent":["import type { CleanupFn, LifecycleHooks } from './types'\n\n// Dev-mode gate: see `pyreon/no-process-dev-gate` lint rule for why this\n// uses `import.meta.env.DEV` instead of `typeof process !== 'undefined'`.\n// @ts-ignore — `import.meta.env.DEV` is provided by Vite/Rolldown at build time\nconst __DEV__ = import.meta.env?.DEV === true\n\n// The currently-executing component's hook storage, set by the renderer\n// before calling the component function, cleared immediately after.\nlet _current: LifecycleHooks | null = null\n\nexport function setCurrentHooks(hooks: LifecycleHooks | null) {\n _current = hooks\n}\n\nexport function getCurrentHooks(): LifecycleHooks | null {\n return _current\n}\n\n/**\n * Extract the first stack frame that's NOT inside the framework itself.\n * Walks the stack from top, skipping:\n * - V8/JSC internals (`at <anonymous>`, no filename)\n * - Framework files (packages/core/core/src/lifecycle.ts, etc.)\n * - The warning infra itself (warnOutsideSetup, the hook wrapper)\n *\n * Returns a string like \"at MyComponent (src/components/Foo.tsx:42:15)\"\n * — the call site a user needs to fix. Returns an empty string if no\n * user-code frame is found (unlikely in practice).\n */\nfunction captureCallSite(): string {\n const err = new Error()\n const stack = err.stack\n if (!stack) return ''\n const lines = stack.split('\\n')\n // Framework paths to skip — conservative, matches the packages that\n // contain lifecycle / provide / context internals and call these hooks.\n const skipPatterns = [\n /lifecycle\\.ts/,\n /\\/context\\.ts/,\n /\\/component\\.ts/,\n /\\/core\\/src\\//,\n /\\/runtime-dom\\/src\\//,\n /\\/runtime-server\\/src\\//,\n // node:internal frames\n /node:internal/,\n // chrome devtools source mappings\n /webpack-internal/,\n /<anonymous>/,\n ]\n for (const line of lines) {\n if (!line.includes('at ')) continue\n if (skipPatterns.some((p) => p.test(line))) continue\n // Strip leading \" at \" and return the rest\n return line.trim()\n }\n return ''\n}\n\nfunction warnOutsideSetup(hookName: string): void {\n if (__DEV__ && !_current) {\n const callSite = captureCallSite()\n const location = callSite ? `\\n Called from: ${callSite}` : ''\n // oxlint-disable-next-line no-console\n console.warn(\n `[Pyreon] ${hookName}() called outside component setup. ` +\n \"Lifecycle hooks must be called synchronously during a component's setup function.\" +\n location +\n (hookName === 'onUnmount'\n ? '\\n Hint: `provide()` internally calls onUnmount(). If you use provide(), ensure it runs during synchronous component setup — not inside effects, callbacks, or after awaits.'\n : ''),\n )\n }\n}\n\n/**\n * Register a callback to run after the component is mounted to the DOM.\n * Optionally return a cleanup function — it will run on unmount.\n */\nexport function onMount(fn: () => CleanupFn | void | undefined) {\n warnOutsideSetup('onMount')\n if (_current) {\n if (_current.mount === null) _current.mount = []\n _current.mount.push(fn)\n }\n}\n\n/**\n * Register a callback to run when the component is removed from the DOM.\n */\nexport function onUnmount(fn: () => void) {\n warnOutsideSetup('onUnmount')\n if (_current) {\n if (_current.unmount === null) _current.unmount = []\n _current.unmount.push(fn)\n }\n}\n\n/**\n * Register a callback to run after each reactive update.\n */\nexport function onUpdate(fn: () => void) {\n warnOutsideSetup('onUpdate')\n if (_current) {\n if (_current.update === null) _current.update = []\n _current.update.push(fn)\n }\n}\n\n/**\n * Register an error handler for this component subtree.\n *\n * When an error is thrown during rendering or in a child component,\n * the nearest `onErrorCaptured` handler is called with the error.\n * Return `true` to mark the error as handled and stop propagation.\n *\n * @example\n * onErrorCaptured((err) => {\n * setError(String(err))\n * return true // handled — don't propagate\n * })\n */\nexport function onErrorCaptured(fn: (err: unknown) => boolean | undefined) {\n warnOutsideSetup('onErrorCaptured')\n if (_current) {\n if (_current.error === null) _current.error = []\n _current.error.push(fn)\n }\n}\n","import { setCurrentHooks } from './lifecycle'\nimport type { ComponentFn, LifecycleHooks, Props, VNodeChild } from './types'\n\n/**\n * Identity wrapper — marks a function as a Pyreon component and preserves its type.\n * Useful for IDE tooling and future compiler optimisations.\n */\nexport function defineComponent<P extends Props>(fn: ComponentFn<P>): ComponentFn<P> {\n return fn\n}\n\n/**\n * Run a component function in a tracked context so that lifecycle hooks\n * registered inside it (onMount, onUnmount, onErrorCaptured, etc.) are captured.\n *\n * Called by the renderer — not intended for user code.\n */\nexport function runWithHooks<P extends Props>(\n fn: ComponentFn<P>,\n props: P,\n): { vnode: VNodeChild; hooks: LifecycleHooks } {\n const hooks: LifecycleHooks = { mount: null, unmount: null, update: null, error: null }\n setCurrentHooks(hooks)\n let vnode: VNodeChild = null\n try {\n vnode = fn(props)\n } finally {\n setCurrentHooks(null)\n }\n return { vnode, hooks }\n}\n\n/**\n * Walk up error handlers collected during component rendering.\n * Returns true if any handler marked the error as handled.\n */\nexport function propagateError(err: unknown, hooks: LifecycleHooks): boolean {\n if (!hooks.error) return false\n for (const handler of hooks.error) {\n if (handler(err) === true) return true\n }\n return false\n}\n\n// ─── Error boundary stack ────────────────────────────────────────────────────\n// Module-level stack of active ErrorBoundary handlers (innermost last).\n// ErrorBoundary pushes during its own setup (before children mount) so that\n// any child mountComponent error can dispatch up to the nearest boundary.\n\nconst _errorBoundaryStack: ((err: unknown) => boolean)[] = []\n\nexport function pushErrorBoundary(handler: (err: unknown) => boolean): void {\n _errorBoundaryStack.push(handler)\n}\n\nexport function popErrorBoundary(): void {\n _errorBoundaryStack.pop()\n}\n\n/**\n * Dispatch an error to the nearest active ErrorBoundary.\n * Returns true if the boundary handled it, false if none was registered.\n */\nexport function dispatchToErrorBoundary(err: unknown): boolean {\n const handler = _errorBoundaryStack[_errorBoundaryStack.length - 1]\n return handler ? handler(err) : false\n}\n","/**\n * Provide / inject — like React context or Vue provide/inject.\n *\n * Values flow down the component tree without prop-drilling.\n * The renderer maintains the context stack as it walks the VNode tree.\n */\n\nimport { onUnmount } from './lifecycle'\n\nexport interface Context<T> {\n readonly id: symbol\n readonly defaultValue: T\n}\n\n/** Branded marker for reactive contexts — distinguishes from regular Context at type level. */\ndeclare const REACTIVE_BRAND: unique symbol\n\n/**\n * A context whose value is a reactive accessor `() => T`.\n *\n * When you `useContext(reactiveCtx)`, TypeScript returns `() => T` —\n * you MUST call the accessor to read the value. This prevents the\n * destructuring trap that breaks reactivity with getter-based objects.\n *\n * @example\n * const ModeCtx = createReactiveContext<'light' | 'dark'>('light')\n * // Provider: provide(ModeCtx, () => modeSignal())\n * // Consumer: const getMode = useContext(ModeCtx); getMode() // 'light'\n */\nexport interface ReactiveContext<T> extends Context<() => T> {\n readonly [REACTIVE_BRAND]: T\n}\n\nexport function createContext<T>(defaultValue: T): Context<T> {\n return { id: Symbol('PyreonContext'), defaultValue }\n}\n\n/**\n * Create a reactive context. Consumers get `() => T` and must call it.\n * This is the safe pattern for values that change over time (mode, locale, etc.).\n */\nexport function createReactiveContext<T>(defaultValue: T): ReactiveContext<T> {\n return createContext<() => T>(() => defaultValue) as ReactiveContext<T>\n}\n\n// ─── Runtime context stack (managed by the renderer) ─────────────────────────\n\n// Default stack — used for CSR and single-threaded SSR.\n// On Node.js with concurrent requests, @pyreon/runtime-server replaces this with\n// an AsyncLocalStorage-backed provider via setContextStackProvider().\nconst _defaultStack: Map<symbol, unknown>[] = []\nlet _stackProvider: () => Map<symbol, unknown>[] = () => _defaultStack\n\n/**\n * Override the context stack provider. Called by @pyreon/runtime-server to\n * inject an AsyncLocalStorage-backed stack that isolates concurrent SSR requests.\n * Has no effect in the browser (CSR always uses the default module-level stack).\n */\nexport function setContextStackProvider(fn: () => Map<symbol, unknown>[]): void {\n _stackProvider = fn\n}\n\nfunction getStack(): Map<symbol, unknown>[] {\n return _stackProvider()\n}\n\n// Dev-mode gate: see `pyreon/no-process-dev-gate` lint rule for why this\n// uses `import.meta.env.DEV` instead of `typeof process !== 'undefined'`.\n// @ts-ignore — `import.meta.env.DEV` is provided by Vite/Rolldown at build time\nconst __DEV__ = import.meta.env?.DEV === true\n\nexport function pushContext(values: Map<symbol, unknown>) {\n getStack().push(values)\n}\n\nexport function popContext() {\n const stack = getStack()\n if (stack.length === 0) return\n stack.pop()\n}\n\n/**\n * Read the nearest provided value for a context.\n * Falls back to `context.defaultValue` if none found.\n *\n * For ReactiveContext<T>, returns `() => T` — you MUST call the accessor.\n * For regular Context<T>, returns `T` directly.\n */\nexport function useContext<T>(context: ReactiveContext<T>): () => T\nexport function useContext<T>(context: Context<T>): T\nexport function useContext<T>(context: Context<T>): T {\n const stack = getStack()\n for (let i = stack.length - 1; i >= 0; i--) {\n const frame = stack[i]\n if (frame?.has(context.id)) {\n return frame.get(context.id) as T\n }\n }\n return context.defaultValue\n}\n\n/**\n * Provide a context value for the current component's subtree.\n * Must be called during component setup (like onMount/onUnmount).\n * Automatically cleaned up when the component unmounts.\n *\n * @example\n * const ThemeProvider = ({ children }: { children: VNodeChild }) => {\n * provide(ThemeContext, { color: \"blue\" })\n * return children\n * }\n */\nexport function provide<T>(context: Context<T>, value: T): void {\n pushContext(new Map<symbol, unknown>([[context.id, value]]))\n onUnmount(() => popContext())\n}\n\n/**\n * Provide a value for `context` during `fn()`.\n * Used by the renderer when it encounters a `<Provider>` component.\n */\nexport function withContext<T>(context: Context<T>, value: T, fn: () => void) {\n const frame = new Map<symbol, unknown>([[context.id, value]])\n pushContext(frame)\n try {\n fn()\n } finally {\n popContext()\n }\n}\n\n// ─── Context snapshot for deferred mounting ─────────────────────────────────\n\nexport type ContextSnapshot = Map<symbol, unknown>[]\n\n/**\n * Capture a snapshot of the current context stack.\n *\n * Used by `mountReactive` to preserve the context that was active when a\n * reactive boundary (e.g. `<Show>`, `<For>`) was set up. When the boundary\n * later mounts new children inside an effect, the snapshot is restored so\n * those children can see ancestor providers via `useContext()`.\n */\nexport function captureContextStack(): ContextSnapshot {\n // Shallow copy — each frame (Map) is shared by reference, which is\n // correct because providers don't mutate frames after creation.\n return [...getStack()]\n}\n\n/**\n * Execute `fn()` with a previously captured context stack active.\n * Restores the original stack after `fn()` completes (even on throw).\n */\nexport function restoreContextStack<T>(snapshot: ContextSnapshot, fn: () => T): T {\n const stack = getStack()\n const savedLength = stack.length\n\n // Push all captured frames onto the current stack\n for (const frame of snapshot) {\n stack.push(frame)\n }\n\n try {\n return fn()\n } finally {\n // Remove only the frames we pushed (preserve anything added by fn)\n stack.length = savedLength\n }\n}\n","import type { ComponentFn, Props, VNode, VNodeChild } from './types'\n\n/** Marker for fragment nodes — renders children without a wrapper element */\nexport const Fragment: unique symbol = Symbol('Pyreon.Fragment')\n\n/**\n * Hyperscript function — the compiled output of JSX.\n * `<div class=\"x\">hello</div>` → `h(\"div\", { class: \"x\" }, \"hello\")`\n *\n * Generic on P so TypeScript validates props match the component's signature\n * at the call site, then stores the result in the loosely-typed VNode.\n */\n/** Shared empty props sentinel — identity-checked in mountElement to skip applyProps. */\nexport const EMPTY_PROPS: Props = {} as Props\n\n/** Makes `children` optional in P (if present) so it can be passed as rest args to h(). */\ntype PropsWithOptionalChildren<P extends Props> = Omit<P, 'children'> &\n ('children' extends keyof P ? { children?: P['children'] } : unknown)\n\n// Overload: component with typed props — children is optional in the props object\n// because it can be passed as rest args. Extra keys are allowed via `& Props`.\nexport function h<P extends Props>(\n type: ComponentFn<P>,\n props: (PropsWithOptionalChildren<P> & Props) | null,\n ...children: VNodeChild[]\n): VNode\n// Overload: intrinsic element, symbol, generic/dynamic component, or mixed union\nexport function h(\n type: string | ((p: any) => VNodeChild) | symbol,\n props: Props | null,\n ...children: VNodeChild[]\n): VNode\nexport function h<P extends Props>(\n type: string | ComponentFn<P> | symbol,\n props: P | null,\n ...children: VNodeChild[]\n): VNode {\n return {\n type: type as string | ComponentFn | symbol,\n props: (props ?? EMPTY_PROPS) as Props,\n children: normalizeChildren(children),\n key: (props?.key as string | number | null) ?? null,\n }\n}\n\nfunction normalizeChildren(children: VNodeChild[]): VNodeChild[] {\n // Fast path: no nested arrays — return as-is without allocating\n for (let i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return flattenChildren(children)\n }\n }\n return children\n}\n\nfunction flattenChildren(children: VNodeChild[]): VNodeChild[] {\n const result: VNodeChild[] = []\n for (const child of children) {\n if (Array.isArray(child)) {\n result.push(...flattenChildren(child as VNodeChild[]))\n } else {\n result.push(child)\n }\n }\n return result\n}\n","import { h } from './h'\nimport type { ComponentFn, Props, VNode } from './types'\n\n// Dev-mode gate: see `pyreon/no-process-dev-gate` lint rule for why this\n// uses `import.meta.env.DEV` instead of `typeof process !== 'undefined'`.\n// @ts-ignore — `import.meta.env.DEV` is provided by Vite/Rolldown at build time\nconst __DEV__ = import.meta.env?.DEV === true\n\nexport interface DynamicProps extends Props {\n component: ComponentFn | string\n}\n\nexport function Dynamic(props: DynamicProps): VNode | null {\n const { component, ...rest } = props\n if (__DEV__ && !component) {\n // oxlint-disable-next-line no-console\n console.warn('[Pyreon] <Dynamic> received a falsy `component` prop. Nothing will be rendered.')\n }\n if (!component) return null\n return h(component as string | ComponentFn, rest as Props)\n}\n","/**\n * Error telemetry — hook into Pyreon's error reporting for Sentry, Datadog, etc.\n *\n * @example\n * import { registerErrorHandler } from \"@pyreon/core\"\n * import * as Sentry from \"@sentry/browser\"\n *\n * registerErrorHandler(ctx => {\n * Sentry.captureException(ctx.error, {\n * extra: { component: ctx.component, phase: ctx.phase },\n * })\n * })\n */\n\nexport interface ErrorContext {\n /** Component function name, or \"Anonymous\" */\n component: string\n /** Lifecycle phase where the error occurred */\n phase: 'setup' | 'render' | 'mount' | 'unmount' | 'effect'\n /** The thrown value */\n error: unknown\n /** Unix timestamp (ms) */\n timestamp: number\n /** Component props at the time of the error */\n props?: Record<string, unknown>\n}\n\nexport type ErrorHandler = (ctx: ErrorContext) => void\n\nlet _handlers: ErrorHandler[] = []\n\n/**\n * Register a global error handler. Called whenever a component throws in any\n * lifecycle phase. Returns an unregister function.\n */\nexport function registerErrorHandler(handler: ErrorHandler): () => void {\n _handlers.push(handler)\n return () => {\n _handlers = _handlers.filter((h) => h !== handler)\n }\n}\n\n/**\n * Internal — called by the runtime whenever a component error is caught.\n * Existing console.error calls are preserved; this is additive.\n */\nexport function reportError(ctx: ErrorContext): void {\n for (const h of _handlers) {\n try {\n h(ctx)\n } catch {\n // handler errors must never propagate back into the framework\n }\n }\n}\n","import { signal } from '@pyreon/reactivity'\nimport { popErrorBoundary, pushErrorBoundary } from './component'\nimport { onUnmount } from './lifecycle'\nimport { reportError } from './telemetry'\nimport type { VNodeChild, VNodeChildAtom } from './types'\n\n// Dev-mode gate: see `pyreon/no-process-dev-gate` lint rule for why this\n// uses `import.meta.env.DEV` instead of `typeof process !== 'undefined'`.\n// @ts-ignore — `import.meta.env.DEV` is provided by Vite/Rolldown at build time\nconst __DEV__ = import.meta.env?.DEV === true\n\n/**\n * ErrorBoundary — catches errors thrown by child components and renders a\n * fallback UI instead of crashing the whole tree.\n *\n * Also reports caught errors to any registered telemetry handlers.\n *\n * How error propagation works:\n * ErrorBoundary pushes a handler onto the module-level boundary stack\n * synchronously during its own setup (before children are mounted).\n * When mountComponent catches a child error, it calls dispatchToErrorBoundary()\n * which invokes the innermost boundary's handler.\n *\n * Usage:\n * h(ErrorBoundary, {\n * fallback: (err) => h(\"p\", null, `Error: ${err}`),\n * children: h(MyComponent, null),\n * })\n *\n * // or with JSX:\n * <ErrorBoundary fallback={(err) => <p>Error: {String(err)}</p>}>\n * <MyComponent />\n * </ErrorBoundary>\n */\nexport function ErrorBoundary(props: {\n /**\n * Rendered when a child throws. Receives the caught error and a `reset`\n * function — calling `reset()` clears the error and re-renders children.\n */\n fallback: (err: unknown, reset: () => void) => VNodeChild\n children?: VNodeChild\n}): VNodeChild {\n if (__DEV__ && typeof props.fallback !== 'function') {\n // oxlint-disable-next-line no-console\n console.warn(\n '[Pyreon] <ErrorBoundary> expects `fallback` to be a function: (err, reset) => VNode. ' +\n `Received ${typeof props.fallback}.`,\n )\n }\n\n const error = signal<unknown>(null)\n const reset = () => error.set(null)\n\n const handler = (err: unknown): boolean => {\n if (error.peek() !== null) return false // already in error state — let outer boundary catch it\n error.set(err)\n reportError({ component: 'ErrorBoundary', phase: 'render', error: err, timestamp: Date.now() })\n return true\n }\n\n // Push synchronously — before children are mounted — so child errors see this boundary\n pushErrorBoundary(handler)\n onUnmount(() => popErrorBoundary())\n\n return (): VNodeChildAtom => {\n const err = error()\n if (err != null) return props.fallback(err, reset) as VNodeChildAtom\n const ch = props.children\n return (typeof ch === 'function' ? ch() : ch) as VNodeChildAtom\n }\n}\n","import type { NativeItem, Props, VNode } from './types'\n\n/**\n * Symbol used as the VNode type for a For list — runtime-dom handles it\n * via mountFor, bypassing the generic VNode reconciler.\n */\nexport const ForSymbol: unique symbol = Symbol('pyreon.For')\n\nexport interface ForProps<T> {\n each: () => T[]\n /** Keying function — use `by` not `key` (JSX extracts `key` for VNode reconciliation). */\n by: (item: T) => string | number\n children: (item: T) => VNode | NativeItem\n /**\n * @deprecated Use `by` instead of `key`. In Pyreon, `<For>` uses `by` for keying.\n * JSX reserves `key` for VNode reconciliation — it won't reach the component.\n */\n key?: never\n}\n\n/**\n * Efficient reactive list rendering.\n *\n * Unlike a plain `() => items().map(item => h(...))`, For never re-creates\n * VNodes for existing keys — only new keys invoke `children()`. Structural\n * mutations (swap, sort, filter) are O(n) key scan + O(k) DOM moves where k\n * is the number of actually displaced entries.\n *\n * Usage:\n * <For each={items} by={r => r.id}>{r => <li>...</li>}</For>\n */\nexport function For<T>(props: ForProps<T>): VNode {\n return {\n type: ForSymbol as unknown as string,\n props: props as unknown as Props,\n children: [],\n key: null,\n }\n}\n","import { signal } from '@pyreon/reactivity'\nimport { h } from './h'\nimport type { LazyComponent } from './suspense'\nimport type { ComponentFn, Props } from './types'\n\nexport function lazy<P extends Props>(\n load: () => Promise<{ default: ComponentFn<P> }>,\n): LazyComponent<P> {\n const loaded = signal<ComponentFn<P> | null>(null)\n const error = signal<Error | null>(null)\n\n load()\n .then((m) => loaded.set(m.default))\n .catch((e) => error.set(e instanceof Error ? e : new Error(String(e))))\n\n const wrapper = ((props: P) => {\n const err = error()\n if (err) throw err\n const comp = loaded()\n return comp ? h(comp as ComponentFn, props as Props) : null\n }) as LazyComponent<P>\n\n wrapper.__loading = () => loaded() === null && error() === null\n return wrapper\n}\n","/**\n * mapArray — keyed reactive list mapping.\n *\n * Creates each mapped item exactly once per key, then reuses it across\n * updates. When the source array is reordered or partially changed, only\n * new keys invoke `map()`; existing entries return the cached result.\n *\n * This makes structural list operations (swap, sort, filter) O(k) in\n * allocations where k is the number of new/removed keys, not O(n).\n *\n * The returned accessor reads `source()` reactively, so it can be passed\n * directly to the keyed-list reconciler.\n */\nexport function mapArray<T, U>(\n source: () => T[],\n getKey: (item: T) => string | number,\n map: (item: T) => U,\n): () => U[] {\n const cache = new Map<string | number, U>()\n\n return () => {\n const items = source()\n const result: U[] = []\n const newKeys = new Set<string | number>()\n\n for (const item of items) {\n const key = getKey(item)\n newKeys.add(key)\n if (!cache.has(key)) {\n cache.set(key, map(item))\n }\n result.push(cache.get(key) as U)\n }\n\n // Evict entries whose keys are no longer present\n for (const key of cache.keys()) {\n if (!newKeys.has(key)) cache.delete(key)\n }\n\n return result\n }\n}\n","import type { Props, VNode, VNodeChild } from './types'\n\n/**\n * Symbol used as the VNode type for a Portal — runtime-dom mounts the\n * children into `target` instead of the normal parent.\n */\nexport const PortalSymbol: unique symbol = Symbol('pyreon.Portal')\n\nexport interface PortalProps {\n /** DOM element to render children into (e.g. document.body). */\n target: Element\n children: VNodeChild\n}\n\n/**\n * Portal — renders `children` into a different DOM node than the\n * current parent tree.\n *\n * Useful for modals, tooltips, dropdowns, and any overlay that needs to\n * escape CSS overflow/stacking context restrictions.\n *\n * @example\n * // Render a modal at document.body level regardless of where in the\n * // component tree <Modal> is used:\n * Portal({ target: document.body, children: h(Modal, { onClose }) })\n *\n * // JSX:\n * <Portal target={document.body}>\n * <Modal onClose={close} />\n * </Portal>\n */\nexport function Portal(props: PortalProps): VNode {\n return {\n type: PortalSymbol as unknown as string,\n props: props as unknown as Props,\n children: [],\n key: null,\n }\n}\n","// Prop utilities for component authoring.\n\n/**\n * Split props into two groups: keys you want and the rest.\n * Unlike destructuring, this preserves reactivity (getters on the original object).\n *\n * @example\n * const [own, html] = splitProps(props, [\"label\", \"icon\"])\n * return <button {...html}><Icon name={own.icon} /> {own.label}</button>\n */\nexport function splitProps<T extends object, K extends (keyof T)[]>(\n props: T,\n keys: K,\n): [Pick<T, K[number]>, Omit<T, K[number]>] {\n const picked = {} as Pick<T, K[number]>\n const rest = {} as Omit<T, K[number]>\n const keySet = new Set<string | symbol>(keys as (string | symbol)[])\n\n // Reflect.ownKeys includes symbol-keyed properties; Object.keys drops them\n // silently. Without this, symbol-keyed props (e.g. branded reactive props\n // under Symbol.for('pyreon.reactiveProp')) would vanish from both picked\n // and rest.\n for (const key of Reflect.ownKeys(props)) {\n const desc = Object.getOwnPropertyDescriptor(props, key)\n if (!desc) continue\n // Force configurable: true when copying to a fresh object. Source descriptors\n // may be non-configurable (default when created with `Object.defineProperty`\n // and the caller omitted `configurable`). If we preserved that, any later\n // `Object.defineProperty` on the same key — including subsequent splitProps\n // post-processing or test mocks — would throw \"Cannot redefine property\".\n const safe = { ...desc, configurable: true }\n if (keySet.has(key)) {\n Object.defineProperty(picked, key, safe)\n } else {\n Object.defineProperty(rest, key, safe)\n }\n }\n\n return [picked, rest]\n}\n\n/** Merge a getter-backed source property with an existing getter or value. */\nfunction mergeGetterWithExisting(\n result: Record<string, unknown>,\n key: string,\n desc: PropertyDescriptor,\n existing: PropertyDescriptor,\n): void {\n const prevGet = existing.get ?? (() => existing.value)\n const nextGet = desc.get as () => unknown\n Object.defineProperty(result, key, {\n get: () => {\n const v = nextGet()\n return v !== undefined ? v : prevGet()\n },\n enumerable: true,\n configurable: true,\n })\n}\n\n/** Merge a static source property when the existing property has a getter. */\nfunction mergeStaticWithGetter(\n result: Record<string, unknown>,\n key: string,\n desc: PropertyDescriptor,\n existingGet: () => unknown,\n): void {\n if (desc.value !== undefined) {\n Object.defineProperty(result, key, { ...desc, configurable: true })\n } else {\n Object.defineProperty(result, key, {\n get: existingGet,\n enumerable: true,\n configurable: true,\n })\n }\n}\n\n/** Apply a single source property onto the result object, handling getter/static combos. */\nfunction mergeProperty(\n result: Record<string, unknown>,\n key: string,\n desc: PropertyDescriptor,\n): void {\n const existing = Object.getOwnPropertyDescriptor(result, key)\n if (desc.get && existing) {\n mergeGetterWithExisting(result, key, desc, existing)\n } else if (desc.get) {\n // Force configurable: true — source getters may have been defined via\n // `Object.defineProperty` without an explicit configurable flag (which\n // defaults to false). Without this, a later source in the same mergeProps\n // call that overrides the same key would crash with TypeError:\n // \"Cannot redefine property\".\n Object.defineProperty(result, key, { ...desc, configurable: true })\n } else if (existing?.get) {\n mergeStaticWithGetter(result, key, desc, existing.get)\n } else if (desc.value !== undefined || !existing) {\n // Both static — later value wins if defined\n Object.defineProperty(result, key, { ...desc, configurable: true })\n }\n}\n\n/**\n * Merge default values with component props. Defaults are used when\n * the prop is `undefined`. Preserves getter reactivity.\n *\n * @example\n * const merged = mergeProps({ size: \"md\", variant: \"primary\" }, props)\n * // merged.size is reactive — falls back to \"md\" when props.size is undefined\n */\nexport function mergeProps<T extends Record<string, unknown>>(...sources: T[]): T {\n const result = {} as T\n for (const source of sources) {\n // See splitProps for why this uses Reflect.ownKeys instead of Object.keys.\n for (const key of Reflect.ownKeys(source)) {\n const desc = Object.getOwnPropertyDescriptor(source, key)\n if (!desc) continue\n mergeProperty(result, key as string, desc)\n }\n }\n return result\n}\n\n/**\n * Brand symbol for compiler-emitted reactive prop wrappers.\n * Distinguishes `() => expr` wrappers from user-written accessor props\n * (like Show's `when={() => condition()}`).\n */\nexport const REACTIVE_PROP = Symbol.for('pyreon.reactiveProp')\n\n/** Symbol to access the underlying props signal for updates. */\nexport const PROPS_SIGNAL = Symbol.for('pyreon.propsSignal')\n\n/**\n * Create a branded reactive prop wrapper.\n * Called by the compiler for component prop expressions containing signal reads.\n */\nexport function _rp<T>(fn: () => T): () => T {\n ;(fn as any)[REACTIVE_PROP] = true\n return fn\n}\n\n/**\n * Convert compiler-emitted `_rp(() => expr)` prop values into getter properties.\n *\n * Only converts functions branded with REACTIVE_PROP — user-written accessor\n * props (like Show's when, For's each) are left as-is.\n *\n * Returns the same object if no reactive props found (fast path).\n */\nexport function makeReactiveProps(\n raw: Record<string, unknown>,\n): Record<string, unknown> {\n // Fast path: scan for any REACTIVE_PROP-branded function first.\n // If none found, return raw immediately — no object allocation, no property copying.\n // This saves ~90 object allocations + ~450 property copies per page load\n // for components with all-static props (buttons, icons, layout, etc.).\n const keys = Object.keys(raw)\n let hasAny = false\n for (let i = 0; i < keys.length; i++) {\n const val = raw[keys[i]!]\n if (typeof val === 'function' && (val as any)[REACTIVE_PROP]) {\n hasAny = true\n break\n }\n }\n if (!hasAny) return raw\n\n // At least one reactive prop exists — build the getter-backed object.\n const result: Record<string, unknown> = {}\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i]!\n const val = raw[key]\n if (typeof val === 'function' && (val as any)[REACTIVE_PROP]) {\n Object.defineProperty(result, key, {\n get: val as () => unknown,\n enumerable: true,\n configurable: true,\n })\n } else {\n result[key] = val\n }\n }\n\n return result\n}\n\n// ─── Unique ID ───────────────────────────────────────────────────────────────\n\nlet _idCounter = 0\n\n/**\n * Generate a unique ID string for accessibility attributes (htmlFor, aria-describedby, etc.).\n * SSR-safe: uses a deterministic counter that resets per request context.\n *\n * @example\n * const id = createUniqueId()\n * return <>\n * <label for={id}>Name</label>\n * <input id={id} />\n * </>\n */\nexport function createUniqueId(): string {\n return `pyreon-${++_idCounter}`\n}\n\n/** Reset the ID counter (called by SSR per-request). */\nexport function _resetIdCounter(): void {\n _idCounter = 0\n}\n","/**\n * createRef — mutable container for a DOM element or component value.\n *\n * Usage:\n * const inputRef = createRef<HTMLInputElement>()\n * onMount(() => { inputRef.current?.focus() })\n * return <input ref={inputRef} />\n *\n * The runtime sets `ref.current` after the element is inserted into the DOM\n * and clears it to `null` when the element is removed.\n */\n\nexport interface Ref<T = unknown> {\n current: T | null\n}\n\n/** Callback ref — receives the element on mount and null on unmount. */\nexport type RefCallback<T = unknown> = (el: T | null) => void\n\n/**\n * Union of object ref and callback ref — accepted by the JSX ref prop.\n * Callback refs are called with the element on mount and with `null` on\n * unmount (matches React/Solid/Vue). Callback refs MUST accept `T | null`\n * — the previous `(el: T) => void` mount-only arm was removed in the\n * post-#233 cleanup because the runtime always invokes with null on\n * unmount and the narrower type silently lied to consumers.\n */\nexport type RefProp<T = unknown> = Ref<T> | RefCallback<T>\n\nexport function createRef<T = unknown>(): Ref<T> {\n return { current: null }\n}\n","import type { Props, VNode, VNodeChild, VNodeChildAtom } from './types'\n\n// ─── Show ─────────────────────────────────────────────────────────────────────\n\nexport interface ShowProps extends Props {\n /** Accessor — children render when truthy, fallback when falsy. */\n when: () => unknown\n fallback?: VNodeChild\n children?: VNodeChild\n}\n\n/**\n * Conditionally render children based on a reactive condition.\n *\n * @example\n * h(Show, { when: () => isLoggedIn() },\n * h(Dashboard, null)\n * )\n *\n * // With fallback:\n * h(Show, { when: () => user(), fallback: h(Login, null) },\n * h(Dashboard, null)\n * )\n */\nexport function Show(props: ShowProps): VNode | null {\n // Returns a reactive accessor; the renderer unwraps it at mount time.\n return ((): VNodeChildAtom =>\n (props.when()\n ? (props.children ?? null)\n : (props.fallback ?? null)) as VNodeChildAtom) as unknown as VNode\n}\n\n// ─── Switch / Match ───────────────────────────────────────────────────────────\n\nexport interface MatchProps extends Props {\n /** Accessor — this branch renders when truthy. */\n when: () => unknown\n children?: VNodeChild\n}\n\n/**\n * A branch inside `<Switch>`. Renders when `when()` is truthy.\n * Must be used as a direct child of `Switch`.\n *\n * `Match` acts as a pure type/identity marker — Switch identifies it by checking\n * `vnode.type === Match` rather than by the runtime return value.\n */\nexport function Match(_props: MatchProps): VNode | null {\n // Match is never mounted directly — Switch inspects Match VNodes by type identity.\n return null\n}\n\nexport interface SwitchProps extends Props {\n /** Rendered when no Match branch is truthy. */\n fallback?: VNodeChild\n children?: VNodeChild | VNodeChild[]\n}\n\n/**\n * Multi-branch conditional rendering. Evaluates each `Match` child in order,\n * renders the first whose `when()` is truthy, or `fallback` if none match.\n *\n * @example\n * h(Switch, { fallback: h(\"p\", null, \"404\") },\n * h(Match, { when: () => route() === \"/\" }, h(Home, null)),\n * h(Match, { when: () => route() === \"/about\" }, h(About, null)),\n * )\n */\nfunction isMatchVNode(branch: VNodeChild): branch is VNode {\n return (\n branch !== null &&\n typeof branch === 'object' &&\n !Array.isArray(branch) &&\n (branch as VNode).type === Match\n )\n}\n\nfunction resolveMatchChildren(matchVNode: VNode): VNodeChildAtom {\n if (matchVNode.children.length === 0) {\n return ((matchVNode.props as unknown as MatchProps).children ?? null) as VNodeChildAtom\n }\n if (matchVNode.children.length === 1) return matchVNode.children[0] as VNodeChildAtom\n return matchVNode.children as unknown as VNodeChildAtom\n}\n\nfunction normalizeBranches(children: SwitchProps['children']): VNodeChild[] {\n if (Array.isArray(children)) return children\n if (children != null) return [children]\n return []\n}\n\nexport function Switch(props: SwitchProps): VNode | null {\n // Returns a reactive accessor; the renderer unwraps it at mount time.\n return ((): VNodeChildAtom => {\n const branches = normalizeBranches(props.children)\n\n for (const branch of branches) {\n if (!isMatchVNode(branch)) continue\n const matchProps = branch.props as unknown as MatchProps\n if (matchProps.when()) return resolveMatchChildren(branch)\n }\n\n return (props.fallback ?? null) as VNodeChildAtom\n }) as unknown as VNode\n}\n\n// Keep MatchSymbol export for any code that was using it\nexport const MatchSymbol: unique symbol = Symbol('pyreon.Match')\n","// Shared style utilities used by both runtime-dom and runtime-server.\n\n// CSS properties where numeric values are unitless (e.g. `opacity: 0.5`, `zIndex: 10`).\n// All other numeric values get \"px\" appended automatically (e.g. `height: 100` → `\"100px\"`).\nexport const CSS_UNITLESS = new Set([\n 'animationIterationCount',\n 'aspectRatio',\n 'borderImageOutset',\n 'borderImageSlice',\n 'borderImageWidth',\n 'boxFlex',\n 'boxFlexGroup',\n 'boxOrdinalGroup',\n 'columnCount',\n 'columns',\n 'flex',\n 'flexGrow',\n 'flexPositive',\n 'flexShrink',\n 'flexNegative',\n 'flexOrder',\n 'gridArea',\n 'gridRow',\n 'gridRowEnd',\n 'gridRowSpan',\n 'gridRowStart',\n 'gridColumn',\n 'gridColumnEnd',\n 'gridColumnSpan',\n 'gridColumnStart',\n 'fontWeight',\n 'lineClamp',\n 'lineHeight',\n 'opacity',\n 'order',\n 'orphans',\n 'scale',\n 'tabSize',\n 'widows',\n 'zIndex',\n 'zoom',\n 'fillOpacity',\n 'floodOpacity',\n 'stopOpacity',\n 'strokeDasharray',\n 'strokeDashoffset',\n 'strokeMiterlimit',\n 'strokeOpacity',\n 'strokeWidth',\n])\n\n// ─── Class utilities ─────────────────────────────────────────────────────────\n\n/** Value accepted by the `class` prop — string, array, object, or nested mix. */\nexport type ClassValue =\n | string\n | number\n | boolean\n | null\n | undefined\n | ClassValue[]\n | Record<string, boolean | null | undefined | (() => boolean)>\n\nfunction cxObject(obj: Record<string, boolean | null | undefined | (() => boolean)>): string {\n let result = ''\n for (const key in obj) {\n const v = obj[key]\n const truthy = typeof v === 'function' ? v() : v\n if (truthy) result = result ? `${result} ${key}` : key\n }\n return result\n}\n\nfunction cxArray(arr: ClassValue[]): string {\n let result = ''\n for (const item of arr) {\n const resolved = cx(item)\n if (resolved) result = result ? `${result} ${resolved}` : resolved\n }\n return result\n}\n\n/** Resolve a ClassValue into a flat class string (like clsx/cx). */\nexport function cx(value: ClassValue): string {\n if (value == null || value === false || value === true) return ''\n if (typeof value === 'string') return value\n if (typeof value === 'number') return String(value)\n if (Array.isArray(value)) return cxArray(value)\n return cxObject(value)\n}\n\n// ─── Style utilities ─────────────────────────────────────────────────────────\n\n/** Convert a camelCase CSS property name to kebab-case. */\nexport function toKebabCase(str: string): string {\n return str.replace(/[A-Z]/g, (c) => `-${c.toLowerCase()}`)\n}\n\n/** Normalize a style value — appends \"px\" to numbers for non-unitless properties. */\nexport function normalizeStyleValue(key: string, value: unknown): string {\n return typeof value === 'number' && !CSS_UNITLESS.has(key) ? `${value}px` : String(value)\n}\n","import { Fragment, h } from './h'\nimport type { Props, VNode, VNodeChild } from './types'\n\n// Dev-mode gate: see `pyreon/no-process-dev-gate` lint rule for why this\n// uses `import.meta.env.DEV` instead of `typeof process !== 'undefined'`.\n// @ts-ignore — `import.meta.env.DEV` is provided by Vite/Rolldown at build time\nconst __DEV__ = import.meta.env?.DEV === true\n\n/** Internal marker attached to lazy()-wrapped components */\nexport type LazyComponent<P extends Props = Props> = ((props: P) => VNodeChild) & {\n __loading: () => boolean\n}\n\n/**\n * Suspense — shows `fallback` while a lazy child component is still loading.\n *\n * Works in tandem with `lazy()` from `@pyreon/react-compat` (or `@pyreon/core/lazy`).\n * The child VNode's `.type.__loading()` signal drives the switch.\n *\n * Usage:\n * const Page = lazy(() => import(\"./Page\"))\n *\n * h(Suspense, { fallback: h(Spinner, null) }, h(Page, null))\n * // or with JSX:\n * <Suspense fallback={<Spinner />}><Page /></Suspense>\n */\nexport function Suspense(props: { fallback: VNodeChild; children?: VNodeChild }): VNode {\n if (__DEV__ && props.fallback === undefined) {\n // oxlint-disable-next-line no-console\n console.warn(\n '[Pyreon] <Suspense> is missing a `fallback` prop. Provide fallback UI to show while loading.',\n )\n }\n\n return h(Fragment, null, () => {\n const ch = props.children\n const childNode = typeof ch === 'function' ? ch() : ch\n\n // Check if the child is a VNode whose type is a lazy component still loading\n const isLoading =\n childNode != null &&\n typeof childNode === 'object' &&\n !Array.isArray(childNode) &&\n typeof (childNode as VNode).type === 'function' &&\n ((childNode as VNode).type as unknown as LazyComponent).__loading?.()\n\n if (isLoading) {\n const fb = props.fallback\n return typeof fb === 'function' ? fb() : fb\n }\n return childNode\n })\n}\n"],"mappings":"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"}
|
package/lib/types/index.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
//#region src/types.d.ts
|
|
2
2
|
type VNodeChildAtom = VNode | string | number | boolean | null | undefined;
|
|
3
|
-
|
|
3
|
+
/** Reactive accessor — TS checks this arm FIRST so `{() => cond && <X />}` resolves correctly */
|
|
4
|
+
type VNodeChildAccessor = () => VNodeChildAtom | VNodeChildAtom[];
|
|
5
|
+
type VNodeChild = VNodeChildAccessor | VNodeChildAtom | VNodeChildAtom[];
|
|
4
6
|
interface VNode {
|
|
5
7
|
/** Tag name, component function, or special symbol (Fragment) */
|
|
6
8
|
type: string | ComponentFn | symbol;
|
|
@@ -39,11 +41,11 @@ interface NativeItem {
|
|
|
39
41
|
cleanup: (() => void) | null;
|
|
40
42
|
}
|
|
41
43
|
interface LifecycleHooks {
|
|
42
|
-
mount: (() => CleanupFn | void | undefined)[];
|
|
43
|
-
unmount: (() => void)[];
|
|
44
|
-
update: (() => void)[];
|
|
44
|
+
mount: (() => CleanupFn | void | undefined)[] | null;
|
|
45
|
+
unmount: (() => void)[] | null;
|
|
46
|
+
update: (() => void)[] | null;
|
|
45
47
|
/** Error handlers — return true to mark the error as handled (stops propagation). */
|
|
46
|
-
error: ((err: unknown) => boolean | undefined)[];
|
|
48
|
+
error: ((err: unknown) => boolean | undefined)[] | null;
|
|
47
49
|
}
|
|
48
50
|
//#endregion
|
|
49
51
|
//#region src/component.d.ts
|
|
@@ -1107,5 +1109,5 @@ declare function registerErrorHandler(handler: ErrorHandler): () => void;
|
|
|
1107
1109
|
*/
|
|
1108
1110
|
declare function reportError(ctx: ErrorContext): void;
|
|
1109
1111
|
//#endregion
|
|
1110
|
-
export { type AnchorAttributes, type ButtonAttributes, type CSSProperties, CSS_UNITLESS, type ClassValue, type CleanupFn, type ComponentFn, type ComponentInstance, type Context, type ContextSnapshot, Dynamic, type DynamicProps, EMPTY_PROPS, ErrorBoundary, type ErrorContext, type ErrorHandler, type ExtractProps, For, type ForProps, ForSymbol, type FormAttributes, Fragment, type HigherOrderComponent, type ImgAttributes, type InputAttributes, type LazyComponent, type LifecycleHooks, Match, type MatchProps, MatchSymbol, type NativeItem, Portal, type PortalProps, PortalSymbol, type Props, type PyreonHTMLAttributes, REACTIVE_PROP, type ReactiveContext, type Ref, type RefCallback, type RefProp, type SelectAttributes, Show, type ShowProps, type StyleValue, Suspense, type SvgAttributes, Switch, type SwitchProps, type TargetedEvent, type TextareaAttributes, type VNode, type VNodeChild, type VNodeChildAtom, _rp, captureContextStack, createContext, createReactiveContext, createRef, createUniqueId, cx, defineComponent, dispatchToErrorBoundary, h, lazy, makeReactiveProps, mapArray, mergeProps, normalizeStyleValue, onErrorCaptured, onMount, onUnmount, onUpdate, popContext, propagateError, provide, pushContext, registerErrorHandler, reportError, restoreContextStack, runWithHooks, setContextStackProvider, splitProps, toKebabCase, useContext, withContext };
|
|
1112
|
+
export { type AnchorAttributes, type ButtonAttributes, type CSSProperties, CSS_UNITLESS, type ClassValue, type CleanupFn, type ComponentFn, type ComponentInstance, type Context, type ContextSnapshot, Dynamic, type DynamicProps, EMPTY_PROPS, ErrorBoundary, type ErrorContext, type ErrorHandler, type ExtractProps, For, type ForProps, ForSymbol, type FormAttributes, Fragment, type HigherOrderComponent, type ImgAttributes, type InputAttributes, type LazyComponent, type LifecycleHooks, Match, type MatchProps, MatchSymbol, type NativeItem, Portal, type PortalProps, PortalSymbol, type Props, type PyreonHTMLAttributes, REACTIVE_PROP, type ReactiveContext, type Ref, type RefCallback, type RefProp, type SelectAttributes, Show, type ShowProps, type StyleValue, Suspense, type SvgAttributes, Switch, type SwitchProps, type TargetedEvent, type TextareaAttributes, type VNode, type VNodeChild, type VNodeChildAccessor, type VNodeChildAtom, _rp, captureContextStack, createContext, createReactiveContext, createRef, createUniqueId, cx, defineComponent, dispatchToErrorBoundary, h, lazy, makeReactiveProps, mapArray, mergeProps, normalizeStyleValue, onErrorCaptured, onMount, onUnmount, onUpdate, popContext, propagateError, provide, pushContext, registerErrorHandler, reportError, restoreContextStack, runWithHooks, setContextStackProvider, splitProps, toKebabCase, useContext, withContext };
|
|
1111
1113
|
//# sourceMappingURL=index2.d.ts.map
|
package/lib/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index2.d.ts","names":[],"sources":["../../../src/types.ts","../../../src/component.ts","../../../src/context.ts","../../../src/dynamic.ts","../../../src/error-boundary.ts","../../../src/for.ts","../../../src/h.ts","../../../src/ref.ts","../../../src/style.ts","../../../src/jsx-runtime.ts","../../../src/suspense.ts","../../../src/lazy.ts","../../../src/lifecycle.ts","../../../src/map-array.ts","../../../src/portal.ts","../../../src/props.ts","../../../src/show.ts","../../../src/telemetry.ts"],"mappings":";KAGY,cAAA,GAAiB,KAAA;AAAA,KACjB,UAAA,GAAa,cAAA,GAAiB,cAAA,YAA0B,cAAA,GAAiB,cAAA;AAAA,UAEpE,KAAA;;EAEf,IAAA,WAAe,WAAA;EACf,KAAA,EAAO,KAAA;EACP,QAAA,EAAU,UAAA;EACV,GAAA;AAAA;AAAA,KAKU,KAAA,GAAQ,MAAA;;;;;KAQR,WAAA,WAAsB,KAAA,GAAQ,KAAA,KAAU,KAAA,EAAO,CAAA,KAAM,UAAA;;KAKrD,YAAA,MAAkB,CAAA,SAAU,WAAA,YAAuB,CAAA,GAAI,CAAA;;KAGvD,oBAAA,aAAiC,KAAA,YAAiB,KAAA,6BAC5D,SAAA,EAAW,WAAA,CAAY,GAAA,MACpB,WAAA,CAAY,CAAA,qBAAsB,GAAA,GAAM,CAAA;;;AA5B7C;UAiCiB,iBAAA;EACf,KAAA,EAAO,KAAA;EAhCQ;EAkCf,MAAA;EACA,OAAA;AAAA;AAAA,KAMU,SAAA;;;;;;UASK,UAAA;EAAA,SACN,UAAA;EACT,EAAA,EAAI,WAAA;EACJ,OAAA;AAAA;AAAA,UAGe,cAAA;EACf,KAAA,SAAc,SAAA;EACd,OAAA;EACA,MAAA;EA3CU;EA6CV,KAAA,IAAS,GAAA;AAAA;;;AAlEX;;;;AAAA,iBCIgB,eAAA,WAA0B,KAAA,CAAA,CAAO,EAAA,EAAI,WAAA,CAAY,CAAA,IAAK,WAAA,CAAY,CAAA;ADHlF;;;;;;AAAA,iBCagB,YAAA,WAAuB,KAAA,CAAA,CACrC,EAAA,EAAI,WAAA,CAAY,CAAA,GAChB,KAAA,EAAO,CAAA;EACJ,KAAA,EAAO,UAAA;EAAY,KAAA,EAAO,cAAA;AAAA;;;;;iBAgBf,cAAA,CAAe,GAAA,WAAc,KAAA,EAAO,cAAA;;;;;iBA0BpC,uBAAA,CAAwB,GAAA;;;;AD3DxC;;;;;UEMiB,OAAA;EAAA,SACN,EAAA;EAAA,SACA,YAAA,EAAc,CAAA;AAAA;;cAIX,cAAA;;;;;;;;;;AFTd;;;UEuBiB,eAAA,YAA2B,OAAA,OAAc,CAAA;EAAA,UAC9C,cAAA,GAAiB,CAAA;AAAA;AAAA,iBAGb,aAAA,GAAA,CAAiB,YAAA,EAAc,CAAA,GAAI,OAAA,CAAQ,CAAA;;;;;iBAQ3C,qBAAA,GAAA,CAAyB,YAAA,EAAc,CAAA,GAAI,eAAA,CAAgB,CAAA;;;;;;iBAiB3D,uBAAA,CAAwB,EAAA,QAAU,GAAA;AAAA,iBAalC,WAAA,CAAY,MAAA,EAAQ,GAAA;AAAA,iBAIpB,UAAA,CAAA;;;AFnDhB;;;;;iBEgEgB,UAAA,GAAA,CAAc,OAAA,EAAS,eAAA,CAAgB,CAAA,UAAW,CAAA;AAAA,iBAClD,UAAA,GAAA,CAAc,OAAA,EAAS,OAAA,CAAQ,CAAA,IAAK,CAAA;;;;;;;;;;;AF5DpD;iBEmFgB,OAAA,GAAA,CAAW,OAAA,EAAS,OAAA,CAAQ,CAAA,GAAI,KAAA,EAAO,CAAA;;;;;iBASvC,WAAA,GAAA,CAAe,OAAA,EAAS,OAAA,CAAQ,CAAA,GAAI,KAAA,EAAO,CAAA,EAAG,EAAA;AAAA,KAYlD,eAAA,GAAkB,GAAA;;;;;;;;;iBAUd,mBAAA,CAAA,GAAuB,eAAA;;;;;iBAUvB,mBAAA,GAAA,CAAuB,QAAA,EAAU,eAAA,EAAiB,EAAA,QAAU,CAAA,GAAI,CAAA;;;UCjJ/D,YAAA,SAAqB,KAAA;EACpC,SAAA,EAAW,WAAA;AAAA;AAAA,iBAGG,OAAA,CAAQ,KAAA,EAAO,YAAA,GAAe,KAAA;;;AHT9C;;;;;AACA;;;;;;;;;;;;;;;AAEA;;;AAHA,iBI+BgB,aAAA,CAAc,KAAA;EJzBrB;;;;EI8BP,QAAA,GAAW,GAAA,WAAc,KAAA,iBAAsB,UAAA;EAC/C,QAAA,GAAW,UAAA;AAAA,IACT,UAAA;;;AJtCJ;;;;AAAA,cKGa,SAAA;AAAA,UAEI,QAAA;EACf,IAAA,QAAY,CAAA;;EAEZ,EAAA,GAAK,IAAA,EAAM,CAAA;EACX,QAAA,GAAW,IAAA,EAAM,CAAA,KAAM,KAAA,GAAQ,UAAA;ELRmC;;;;EKalE,GAAA;AAAA;;;;;ALXF;;;;;;;iBKyBgB,GAAA,GAAA,CAAO,KAAA,EAAO,QAAA,CAAS,CAAA,IAAK,KAAA;;;AL5B5C;AAAA,cMAa,QAAA;;;;ANCb;;;;;cMSa,WAAA,EAAa,KAAA;;KAGrB,yBAAA,WAAoC,KAAA,IAAS,IAAA,CAAK,CAAA,0CAC3B,CAAA;EAAM,QAAA,GAAW,CAAA;AAAA;AAAA,iBAI7B,CAAA,WAAY,KAAA,CAAA,CAC1B,IAAA,EAAM,WAAA,CAAY,CAAA,GAClB,KAAA,GAAQ,yBAAA,CAA0B,CAAA,IAAK,KAAA,aACpC,QAAA,EAAU,UAAA,KACZ,KAAA;AAAA,iBAEa,CAAA,CACd,IAAA,aAAiB,CAAA,UAAW,UAAA,YAC5B,KAAA,EAAO,KAAA,YACJ,QAAA,EAAU,UAAA,KACZ,KAAA;;;;AN5BH;;;;;AACA;;;;;UOQiB,GAAA;EACf,OAAA,EAAS,CAAA;AAAA;;KAIC,WAAA,iBAA4B,EAAA,EAAI,CAAA;;;;;;APX5C;;;KOqBY,OAAA,gBAAuB,GAAA,CAAI,CAAA,IAAK,WAAA,CAAY,CAAA;AAAA,iBAExC,SAAA,aAAA,CAAA,GAA0B,GAAA,CAAI,CAAA;;;cCzBjC,YAAA,EAAY,GAAA;ARDzB;AAAA,KQmDY,UAAA,kDAMR,UAAA,KACA,MAAA;;iBAsBY,EAAA,CAAG,KAAA,EAAO,UAAA;;iBAWV,WAAA,CAAY,GAAA;;iBAKZ,mBAAA,CAAoB,GAAA,UAAa,KAAA;;;KC5D5C,UAAA;AAAA,KACO,aAAA,iBAA8B,mBAAA;AAAA,KAC9B,UAAA,YAAsB,aAAA;ATnClC;AAAA,KSsCY,aAAA,WAAwB,OAAA,YAAmB,KAAA,GAAQ,KAAA,IAAS,CAAA;EAAA,SAC7D,aAAA,EAAe,CAAA;AAAA;;UAIT,oBAAA,WAA+B,OAAA,GAAU,WAAA;EAExD,EAAA;EACA,KAAA,GAAQ,UAAA,UAAoB,UAAA;EAC5B,SAAA,GAAY,UAAA,UAAoB,UAAA;EAChC,KAAA,GAAQ,UAAA,UAAoB,UAAA;EAE5B,IAAA;EACA,QAAA;EACA,KAAA;EACA,IAAA;EACA,GAAA;EACA,MAAA;EACA,SAAA,GAAY,UAAA;EACZ,eAAA,GAAkB,UAAA;EAClB,UAAA,GAAa,UAAA;EACb,cAAA;EACA,SAAA;EACA,YAAA;EACA,SAAA;EAUA,EAAA;EACA,IAAA;EACA,IAAA;EACA,OAAA;EACA,aAAA;EACA,mBAAA;EACA,KAAA;EAEA,YAAA;EACA,aAAA,GAAgB,UAAA,UAAoB,UAAA;EACpC,eAAA,GAAkB,UAAA,UAAoB,UAAA;EACtC,eAAA,GAAkB,UAAA,UAAoB,UAAA;EACtC,eAAA,GAAkB,UAAA,UAAoB,UAAA;EACtC,cAAA,GAAiB,UAAA,oBAA8B,UAAA;EAC/C,cAAA,GAAiB,UAAA;EACjB,WAAA;EACA,aAAA,GAAgB,UAAA;EAChB,WAAA,GAAc,UAAA;EACd,eAAA;EACA,kBAAA;EACA,iBAAA;EACA,kBAAA;EACA,eAAA,GAAkB,UAAA,UAAoB,UAAA;EACtC,cAAA,GAAiB,UAAA;EACjB,eAAA;EACA,eAAA;EACA,eAAA;EACA,gBAAA;EACA,eAAA,GAAkB,UAAA;EAClB,eAAA;EACA,cAAA;EACA,YAAA;EACA,gBAAA,GAAmB,UAAA;EACnB,sBAAA,GAAyB,UAAA;EACzB,kBAAA;EACA,eAAA,GAAkB,UAAA,UAAoB,UAAA;EACtC,WAAA;EACA,mBAAA;EACA,eAAA;EACA,eAAA;EACA,cAAA;EACA,eAAA;EACA,eAAA;EACA,cAAA;EAEA,GAAA,GAAM,OAAA,CAAQ,CAAA;EAEd,GAAA;EAEA,QAAA,GAAW,UAAA,GAAa,UAAA;EAExB,SAAA;EACA,uBAAA;IAA4B,MAAA;EAAA;EAE5B,OAAA,KAAY,CAAA,EAAG,aAAA,CAAc,CAAA,EAAG,UAAA;EAChC,UAAA,KAAe,CAAA,EAAG,aAAA,CAAc,CAAA,EAAG,UAAA;EACnC,WAAA,KAAgB,CAAA,EAAG,aAAA,CAAc,CAAA,EAAG,UAAA;EACpC,SAAA,KAAc,CAAA,EAAG,aAAA,CAAc,CAAA,EAAG,UAAA;EAClC,YAAA,KAAiB,CAAA,EAAG,aAAA,CAAc,CAAA,EAAG,UAAA;EACrC,YAAA,KAAiB,CAAA,EAAG,aAAA,CAAc,CAAA,EAAG,UAAA;EACrC,WAAA,KAAgB,CAAA,EAAG,aAAA,CAAc,CAAA,EAAG,UAAA;EACpC,WAAA,KAAgB,CAAA,EAAG,aAAA,CAAc,CAAA,EAAG,UAAA;EACpC,UAAA,KAAe,CAAA,EAAG,aAAA,CAAc,CAAA,EAAG,UAAA;EACnC,aAAA,KAAkB,CAAA,EAAG,aAAA,CAAc,CAAA,EAAG,UAAA;EACtC,SAAA,KAAc,CAAA,EAAG,aAAA,CAAc,CAAA,EAAG,aAAA;EAClC,OAAA,KAAY,CAAA,EAAG,aAAA,CAAc,CAAA,EAAG,aAAA;EAChC,UAAA,KAAe,CAAA,EAAG,aAAA,CAAc,CAAA,EAAG,aAAA;EACnC,OAAA,KAAY,CAAA,EAAG,aAAA,CAAc,CAAA,EAAG,UAAA;EAChC,MAAA,KAAW,CAAA,EAAG,aAAA,CAAc,CAAA,EAAG,UAAA;EAC/B,QAAA,KAAa,CAAA,EAAG,aAAA,CAAc,CAAA;EAC9B,OAAA,KAAY,CAAA,EAAG,aAAA,CAAc,CAAA,EAAG,UAAA;EAChC,aAAA,KAAkB,CAAA,EAAG,aAAA,CAAc,CAAA,EAAG,UAAA;EACtC,QAAA,KAAa,CAAA,EAAG,aAAA,CAAc,CAAA,EAAG,WAAA;EACjC,OAAA,KAAY,CAAA,EAAG,aAAA,CAAc,CAAA;EAC7B,SAAA,KAAc,CAAA,EAAG,aAAA,CAAc,CAAA;EAC/B,QAAA,KAAa,CAAA,EAAG,aAAA,CAAc,CAAA;EAC9B,OAAA,KAAY,CAAA,EAAG,aAAA,CAAc,CAAA,EAAG,UAAA;EAChC,QAAA,KAAa,CAAA,EAAG,aAAA,CAAc,CAAA;EAC9B,WAAA,KAAgB,CAAA,EAAG,aAAA,CAAc,CAAA,EAAG,SAAA;EACpC,SAAA,KAAc,CAAA,EAAG,aAAA,CAAc,CAAA,EAAG,SAAA;EAClC,UAAA,KAAe,CAAA,EAAG,aAAA,CAAc,CAAA,EAAG,SAAA;EACnC,WAAA,KAAgB,CAAA,EAAG,aAAA,CAAc,CAAA,EAAG,SAAA;EACpC,WAAA,KAAgB,CAAA,EAAG,aAAA,CAAc,CAAA,EAAG,SAAA;EACpC,MAAA,KAAW,CAAA,EAAG,aAAA,CAAc,CAAA,EAAG,SAAA;EAC/B,YAAA,KAAiB,CAAA,EAAG,aAAA,CAAc,CAAA,EAAG,UAAA;EACrC,UAAA,KAAe,CAAA,EAAG,aAAA,CAAc,CAAA,EAAG,UAAA;EACnC,WAAA,KAAgB,CAAA,EAAG,aAAA,CAAc,CAAA,EAAG,UAAA;EACpC,aAAA,KAAkB,CAAA,EAAG,aAAA,CAAc,CAAA,EAAG,YAAA;EACtC,WAAA,KAAgB,CAAA,EAAG,aAAA,CAAc,CAAA,EAAG,YAAA;EACpC,aAAA,KAAkB,CAAA,EAAG,aAAA,CAAc,CAAA,EAAG,YAAA;EACtC,cAAA,KAAmB,CAAA,EAAG,aAAA,CAAc,CAAA,EAAG,YAAA;EACvC,cAAA,KAAmB,CAAA,EAAG,aAAA,CAAc,CAAA,EAAG,YAAA;EACvC,eAAA,KAAoB,CAAA,EAAG,aAAA,CAAc,CAAA,EAAG,YAAA;EACxC,aAAA,KAAkB,CAAA,EAAG,aAAA,CAAc,CAAA,EAAG,YAAA;EACtC,YAAA,KAAiB,CAAA,EAAG,aAAA,CAAc,CAAA,EAAG,YAAA;EACrC,eAAA,KAAoB,CAAA,EAAG,aAAA,CAAc,CAAA,EAAG,eAAA;EACxC,gBAAA,KAAqB,CAAA,EAAG,aAAA,CAAc,CAAA,EAAG,cAAA;EACzC,cAAA,KAAmB,CAAA,EAAG,aAAA,CAAc,CAAA,EAAG,cAAA;EACvC,oBAAA,KAAyB,CAAA,EAAG,aAAA,CAAc,CAAA,EAAG,cAAA;EAC7C,QAAA,KAAa,CAAA,EAAG,aAAA,CAAc,CAAA;EAC9B,MAAA,KAAW,CAAA,EAAG,aAAA,CAAc,CAAA;EAC5B,OAAA,KAAY,CAAA,EAAG,aAAA,CAAc,CAAA;EAC7B,OAAA,KAAY,CAAA,EAAG,aAAA,CAAc,CAAA;EAC7B,QAAA,KAAa,CAAA,EAAG,aAAA,CAAc,CAAA;EAC9B,MAAA,KAAW,CAAA,EAAG,aAAA,CAAc,CAAA,EAAG,cAAA;EAC/B,KAAA,KAAU,CAAA,EAAG,aAAA,CAAc,CAAA,EAAG,cAAA;EAC9B,OAAA,KAAY,CAAA,EAAG,aAAA,CAAc,CAAA,EAAG,cAAA;EAAA,CAE/B,GAAA;EAAA,CACA,GAAA;AAAA;;UAIc,eAAA,SAAwB,oBAAA,CAAqB,gBAAA;EAC5D,IAAA;EACA,KAAA;EACA,YAAA;EACA,OAAA;EACA,cAAA;EACA,WAAA;EACA,QAAA;EACA,QAAA;EACA,QAAA;EACA,GAAA;EACA,GAAA;EACA,IAAA;EACA,SAAA;EACA,SAAA;EACA,OAAA;EACA,QAAA;EACA,IAAA;EACA,MAAA;EACA,YAAA;EACA,SAAA;EACA,OAAA;EACA,IAAA;EACA,cAAA;EACA,IAAA;EACA,IAAA;EACA,GAAA;EACA,GAAA;EACA,KAAA;EACA,MAAA;AAAA;AAAA,UAGe,gBAAA,SAAyB,oBAAA,CAAqB,iBAAA;EAC7D,IAAA;EACA,QAAA;EACA,IAAA;EACA,cAAA;EACA,MAAA;EACA,GAAA;EACA,QAAA;AAAA;AAAA,UAGe,gBAAA,SAAyB,oBAAA,CAAqB,iBAAA;EAC7D,IAAA;EACA,QAAA;EACA,IAAA;EACA,KAAA;EACA,IAAA;EACA,UAAA;EACA,UAAA;EACA,WAAA;EACA,cAAA;EACA,UAAA;AAAA;AAAA,UAGe,kBAAA,SAA2B,oBAAA,CAAqB,mBAAA;EAC/D,KAAA;EACA,YAAA;EACA,WAAA;EACA,QAAA;EACA,QAAA;EACA,QAAA;EACA,IAAA;EACA,IAAA;EACA,SAAA;EACA,SAAA;EACA,IAAA;EACA,SAAA;EACA,IAAA;EACA,IAAA;AAAA;AAAA,UAGe,gBAAA,SAAyB,oBAAA,CAAqB,iBAAA;EAC7D,KAAA;EACA,YAAA;EACA,QAAA;EACA,QAAA;EACA,QAAA;EACA,IAAA;EACA,IAAA;EACA,IAAA;EACA,SAAA;AAAA;AAAA,UAGQ,gBAAA,SAAyB,oBAAA,CAAqB,iBAAA;EACtD,KAAA;EACA,QAAA;EACA,QAAA;EACA,KAAA;AAAA;AAAA,UAGe,cAAA,SAAuB,oBAAA,CAAqB,eAAA;EAC3D,MAAA;EACA,MAAA;EACA,OAAA;EACA,UAAA;EACA,MAAA;EACA,IAAA;EACA,YAAA;EACA,aAAA;EACA,GAAA;AAAA;AAAA,UAGe,aAAA,SAAsB,oBAAA,CAAqB,gBAAA;EAC1D,GAAA;EACA,GAAA;EACA,KAAA;EACA,MAAA;EACA,OAAA;EACA,QAAA;EACA,WAAA;EACA,cAAA;EACA,MAAA;EACA,KAAA;EACA,aAAA;AAAA;AAAA,UAGQ,eAAA,SAAwB,oBAAA,CAAqB,gBAAA;EACrD,GAAA;EACA,KAAA;EACA,MAAA;EACA,QAAA;EACA,QAAA;EACA,KAAA;EACA,IAAA;EACA,MAAA;EACA,OAAA;EACA,WAAA;EACA,WAAA;EACA,uBAAA;EACA,qBAAA;AAAA;AAAA,UAGQ,eAAA,SAAwB,oBAAA,CAAqB,gBAAA;EACrD,GAAA;EACA,QAAA;EACA,QAAA;EACA,KAAA;EACA,IAAA;EACA,OAAA;EACA,WAAA;AAAA;AAAA,UAGQ,eAAA,SAAwB,oBAAA,CAAqB,gBAAA;EACrD,OAAA;EACA,GAAA;EACA,IAAA;AAAA;AAAA,UAGQ,YAAA,SAAqB,oBAAA,CAAqB,oBAAA;EAClD,OAAA;EACA,OAAA;EACA,KAAA;EACA,IAAA;EACA,OAAA;AAAA;AAAA,UAGQ,YAAA,SAAqB,oBAAA,CAAqB,oBAAA;EAClD,OAAA;EACA,OAAA;EACA,OAAA;AAAA;AAAA,UAGQ,aAAA,SAAsB,oBAAA,CAAqB,mBAAA;EACnD,IAAA;AAAA;AAAA,UAGQ,gBAAA,SAAyB,oBAAA,CAAqB,iBAAA;EACtD,GAAA;EACA,KAAA;EACA,MAAA;EACA,KAAA;EACA,eAAA;EACA,OAAA;EACA,IAAA;EACA,OAAA;EACA,cAAA;EACA,KAAA;AAAA;AAAA,UAGQ,cAAA,SAAuB,oBAAA,CAAqB,eAAA;EACpD,IAAA;EACA,GAAA;EACA,IAAA;EACA,EAAA;EACA,KAAA;EACA,WAAA;EACA,SAAA;EACA,cAAA;AAAA;AAAA,UAGQ,cAAA,SAAuB,oBAAA,CAAqB,eAAA;EACpD,IAAA;EACA,OAAA;EACA,SAAA;EACA,OAAA;EACA,QAAA;AAAA;AAAA,UAGQ,gBAAA,SAAyB,oBAAA,CAAqB,iBAAA;EACtD,GAAA;EACA,IAAA;EACA,KAAA;EACA,KAAA;EACA,WAAA;EACA,SAAA;EACA,QAAA;EACA,cAAA;AAAA;AAAA,UAGQ,gBAAA,SAAyB,oBAAA,CAAqB,iBAAA;EACtD,GAAA;EACA,IAAA;EACA,MAAA;EACA,KAAA;EACA,KAAA;AAAA;AAAA,UAGQ,kBAAA,SAA2B,oBAAA,CAAqB,mBAAA;EACxD,KAAA;EACA,GAAA;AAAA;AAAA,UAGQ,eAAA,SAAwB,oBAAA,CAAqB,gBAAA;EACrD,KAAA;EACA,GAAA;EACA,GAAA;EACA,GAAA;EACA,IAAA;EACA,OAAA;AAAA;AAAA,UAGQ,iBAAA,SAA0B,oBAAA,CAAqB,kBAAA;EACvD,IAAA;AAAA;AAAA,UAGQ,gBAAA,SAAyB,oBAAA,CAAqB,iBAAA;EACtD,IAAA;AAAA;AAAA,UAGQ,YAAA,SAAqB,oBAAA,CAAqB,gBAAA;EAClD,KAAA;EACA,QAAA;EACA,IAAA;AAAA;AAAA,UAGQ,gBAAA,SAAyB,oBAAA,CAAqB,iBAAA;EACtD,KAAA;EACA,MAAA;AAAA;AAAA,UAGe,aAAA,SAAsB,oBAAA,CAAqB,UAAA;EAC1D,OAAA;EACA,KAAA;EACA,IAAA;EACA,MAAA;EACA,cAAA;EACA,gBAAA;EACA,iBAAA;EACA,WAAA;EACA,WAAA;EACA,WAAA;EACA,CAAA;EACA,EAAA;EACA,EAAA;EACA,CAAA;EACA,EAAA;EACA,EAAA;EACA,CAAA;EACA,CAAA;EACA,EAAA;EACA,EAAA;EACA,EAAA;EACA,EAAA;EACA,KAAA;EACA,MAAA;EACA,SAAA;EACA,OAAA;EACA,MAAA;EACA,WAAA;EACA,aAAA;EACA,mBAAA;EAEA,aAAA;EACA,iBAAA;EACA,YAAA;EACA,mBAAA;EACA,gBAAA;EACA,YAAA;EAEA,WAAA;EACA,YAAA;EACA,WAAA;EACA,MAAA;EACA,IAAA;EACA,IAAA;EAEA,SAAA;EACA,gBAAA;EACA,aAAA;EAEA,WAAA;EACA,cAAA;EAEA,mBAAA;EACA,qBAAA;EACA,6BAAA;EACA,iBAAA;EACA,iBAAA;EACA,gBAAA;EACA,gBAAA;EACA,UAAA;EACA,OAAA;EACA,QAAA;EACA,MAAA;EAEA,EAAA;EACA,EAAA;EACA,UAAA;EACA,YAAA;EACA,cAAA;EACA,gBAAA;EACA,cAAA;EAEA,UAAA;EAEA,IAAA;AAAA;AAAA,QAGM,MAAA;EAAA,UACI,GAAA;IJ1eqC;IAAA,KI4exC,OAAA,GALR,KAAA;IJve6B;;;;;IAAA,KImfrB,WAAA,SAAoB,iBAAA,KAAsB,KAAA,UAAL,UAAA;;cAGhC,mBAAA;MACR,GAAA;IAAA;IHnhB0D;IAAA,UGuhBlD,wBAAA;MACR,QAAA;IAAA;IAAA,UAGQ,iBAAA;MAER,IAAA,EAAM,oBAAA;MACN,IAAA,EAAM,oBAAA;MACN,IAAA,EAAM,oBAAA;MACN,KAAA,EAAO,oBAAA;MACP,IAAA,EAAM,oBAAA;MACN,IAAA,EAAM,cAAA;MACN,IAAA,EAAM,cAAA;MACN,MAAA,EAAQ,gBAAA;MACR,KAAA,EAAO,oBAAA;MACP,QAAA,EAAU,oBAAA;MAEV,IAAA,EAAM,oBAAA;MACN,MAAA,EAAQ,oBAAA;MACR,MAAA,EAAQ,oBAAA;MACR,GAAA,EAAK,oBAAA;MACL,KAAA,EAAO,oBAAA;MACP,OAAA,EAAS,oBAAA;MACT,OAAA,EAAS,oBAAA;MACT,OAAA,EAAS,oBAAA;MACT,EAAA,EAAI,oBAAA;MACJ,EAAA,EAAI,oBAAA;MACJ,EAAA,EAAI,oBAAA;MACJ,EAAA,EAAI,oBAAA;MACJ,EAAA,EAAI,oBAAA;MACJ,EAAA,EAAI,oBAAA;MACJ,MAAA,EAAQ,oBAAA;MAER,CAAA,EAAG,oBAAA;MACH,GAAA,EAAK,oBAAA;MACL,UAAA,EAAY,oBAAA;MACZ,MAAA,EAAQ,oBAAA;MACR,UAAA,EAAY,oBAAA;MACZ,GAAA,EAAK,oBAAA;MACL,EAAA,EAAI,oBAAA;MAEJ,IAAA,EAAM,oBAAA;MACN,CAAA,EAAG,gBAAA;MACH,EAAA,EAAI,oBAAA;MACJ,MAAA,EAAQ,oBAAA;MACR,KAAA,EAAO,oBAAA;MACP,CAAA,EAAG,oBAAA;MACH,IAAA,EAAM,oBAAA;MACN,CAAA,EAAG,oBAAA;MACH,IAAA,EAAM,oBAAA;MACN,IAAA,EAAM,oBAAA;MACN,IAAA,EAAM,oBAAA;MACN,GAAA,EAAK,oBAAA;MACL,IAAA,EAAM,oBAAA;MACN,GAAA,EAAK,oBAAA;MACL,IAAA,EAAM,oBAAA;MACN,GAAA,EAAK,oBAAA;MACL,GAAA,EAAK,oBAAA;MACL,CAAA,EAAG,oBAAA;MACH,CAAA,EAAG,oBAAA;MACH,CAAA,EAAG,oBAAA;MACH,GAAA,EAAK,oBAAA;MACL,GAAA,EAAK,oBAAA;MACL,EAAA,EAAI,oBAAA;MACJ,GAAA,EAAK,oBAAA;MACL,IAAA,EAAM,oBAAA;MACN,EAAA,EAAI,oBAAA;MACJ,EAAA,EAAI,oBAAA;MAEJ,EAAA,EAAI,oBAAA;MACJ,EAAA,EAAI,YAAA;MACJ,EAAA,EAAI,oBAAA;MACJ,EAAA,EAAI,oBAAA;MACJ,EAAA,EAAI,oBAAA;MACJ,EAAA,EAAI,oBAAA;MAEJ,IAAA,EAAM,cAAA;MACN,KAAA,EAAO,eAAA;MACP,KAAA,EAAO,eAAA;MACP,MAAA,EAAQ,gBAAA;MACR,MAAA,EAAQ,gBAAA;MACR,QAAA,EAAU,oBAAA;MACV,QAAA,EAAU,oBAAA;MACV,MAAA,EAAQ,gBAAA;MACR,QAAA,EAAU,kBAAA;MACV,MAAA,EAAQ,oBAAA;MACR,QAAA,EAAU,kBAAA;MACV,KAAA,EAAO,eAAA;MACP,QAAA,EAAU,oBAAA;MACV,MAAA,EAAQ,oBAAA;MAER,KAAA,EAAO,oBAAA;MACP,OAAA,EAAS,oBAAA;MACT,QAAA,EAAU,oBAAA;MACV,GAAA,EAAK,aAAA;MACL,KAAA,EAAO,oBAAA;MACP,KAAA,EAAO,oBAAA;MACP,KAAA,EAAO,oBAAA;MACP,EAAA,EAAI,oBAAA;MACJ,EAAA,EAAI,YAAA;MACJ,EAAA,EAAI,YAAA;MAEJ,GAAA,EAAK,aAAA;MACL,KAAA,EAAO,eAAA;MACP,KAAA,EAAO,eAAA;MACP,MAAA,EAAQ,gBAAA;MACR,KAAA,EAAO,oBAAA;MACP,OAAA,EAAS,oBAAA;MACT,MAAA,EAAQ,gBAAA;MACR,GAAA,EAAK,aAAA;MACL,IAAA,EAAM,aAAA;MACN,MAAA,EAAQ,aAAA;MACR,OAAA,EAAS,aAAA;MACT,IAAA,EAAM,aAAA;MACN,QAAA,EAAU,aAAA;MACV,OAAA,EAAS,aAAA;MACT,IAAA,EAAM,aAAA;MACN,IAAA,EAAM,aAAA;MACN,KAAA,EAAO,aAAA;MACP,CAAA,EAAG,aAAA;MACH,IAAA,EAAM,aAAA;MACN,GAAA,EAAK,aAAA;QAAkB,IAAA;MAAA;MACvB,MAAA,EAAQ,aAAA;MACR,QAAA,EAAU,aAAA;MACV,IAAA,EAAM,aAAA;MACN,MAAA,EAAQ,aAAA;MACR,OAAA,EAAS,aAAA;MACT,cAAA,EAAgB,aAAA;MAChB,cAAA,EAAgB,aAAA;MAChB,IAAA,EAAM,aAAA;QACJ,MAAA;QACA,YAAA;QACA,cAAA;MAAA;MAGF,OAAA,EAAS,iBAAA;MACT,OAAA,EAAS,oBAAA;MACT,MAAA,EAAQ,gBAAA;MACR,MAAA,EAAQ,gBAAA;MACR,KAAA,EAAO,oBAAA;MACP,MAAA,EAAQ,oBAAA;MACR,KAAA,EAAO,oBAAA;MAEP,IAAA,EAAM,oBAAA;MACN,QAAA,EAAU,oBAAA;MACV,QAAA,EAAU,oBAAA;MACV,IAAA,EAAM,oBAAA;MACN,MAAA,EAAQ,oBAAA;MAAA,CAEP,OAAA,WAAkB,oBAAA;IAAA;EAAA;AAAA;;;AT5qBzB;AAAA,KUMY,aAAA,WAAwB,KAAA,GAAQ,KAAA,MAAW,KAAA,EAAO,CAAA,KAAM,UAAA;EAClE,SAAA;AAAA;;AVNF;;;;;;;;;;;;iBUsBgB,QAAA,CAAS,KAAA;EAAS,QAAA,EAAU,UAAA;EAAY,QAAA,GAAW,UAAA;AAAA,IAAe,KAAA;;;iBCrBlE,IAAA,WAAe,KAAA,CAAA,CAC7B,IAAA,QAAY,OAAA;EAAU,OAAA,EAAS,WAAA,CAAY,CAAA;AAAA,KAC1C,aAAA,CAAc,CAAA;;;;;;AXHjB;iBY2EgB,OAAA,CAAQ,EAAA,QAAU,SAAA;;;;iBAQlB,SAAA,CAAU,EAAA;;;;iBAQV,QAAA,CAAS,EAAA;;;;;;AZzFzB;;;;;;;;iBY2GgB,eAAA,CAAgB,EAAA,GAAK,GAAA;;;;AZ9GrC;;;;;AACA;;;;;;;iBaSgB,QAAA,MAAA,CACd,MAAA,QAAc,CAAA,IACd,MAAA,GAAS,IAAA,EAAM,CAAA,sBACf,GAAA,GAAM,IAAA,EAAM,CAAA,KAAM,CAAA,SACX,CAAA;;;AbdT;;;;AAAA,ccGa,YAAA;AAAA,UAEI,WAAA;EdJK;EcMpB,MAAA,EAAQ,OAAA;EACR,QAAA,EAAU,UAAA;AAAA;;;;;;;;;;;AdLZ;;;;;;;iBcyBgB,MAAA,CAAO,KAAA,EAAO,WAAA,GAAc,KAAA;;;;Ad5B5C;;;;;AACA;;iBeMgB,UAAA,oCAA8C,CAAA,IAAA,CAC5D,KAAA,EAAO,CAAA,EACP,IAAA,EAAM,CAAA,IACJ,IAAA,CAAK,CAAA,EAAG,CAAA,WAAY,IAAA,CAAK,CAAA,EAAG,CAAA;;;;;;;;;iBAiGhB,UAAA,WAAqB,MAAA,kBAAA,CAAA,GAA4B,OAAA,EAAS,CAAA,KAAM,CAAA;;;;AfxGhF;;ce0Ha,aAAA;;;;;iBASG,GAAA,GAAA,CAAO,EAAA,QAAU,CAAA,SAAU,CAAA;;;;;;;;AfzH3C;iBesIgB,iBAAA,CACd,GAAA,EAAK,MAAA,oBACJ,MAAA;;;;AfhIH;;;;;;;;iBeqKgB,cAAA,CAAA;;;UCzLC,SAAA,SAAkB,KAAA;EhBDT;EgBGxB,IAAA;EACA,QAAA,GAAW,UAAA;EACX,QAAA,GAAW,UAAA;AAAA;;;;;;;;;;;;;;iBAgBG,IAAA,CAAK,KAAA,EAAO,SAAA,GAAY,KAAA;AAAA,UAUvB,UAAA,SAAmB,KAAA;EhB5Bd;EgB8BpB,IAAA;EACA,QAAA,GAAW,UAAA;AAAA;;;;;;;;iBAUG,KAAA,CAAM,MAAA,EAAQ,UAAA,GAAa,KAAA;AAAA,UAK1B,WAAA,SAAoB,KAAA;EhBzCnC;EgB2CA,QAAA,GAAW,UAAA;EACX,QAAA,GAAW,UAAA,GAAa,UAAA;AAAA;AAAA,iBAoCV,MAAA,CAAO,KAAA,EAAO,WAAA,GAAc,KAAA;AAAA,cAgB/B,WAAA;;;;AhBxGb;;;;;AACA;;;;;;;UiBUiB,YAAA;EjBVkF;EiBYjG,SAAA;EjBZwC;EiBcxC,KAAA;EjBdmF;EiBgBnF,KAAA;EjBhBiG;EiBkBjG,SAAA;EjBhBoB;EiBkBpB,KAAA,GAAQ,MAAA;AAAA;AAAA,KAGE,YAAA,IAAgB,GAAA,EAAK,YAAA;;;;;iBAQjB,oBAAA,CAAqB,OAAA,EAAS,YAAA;;;;;iBAW9B,WAAA,CAAY,GAAA,EAAK,YAAA"}
|
|
1
|
+
{"version":3,"file":"index2.d.ts","names":[],"sources":["../../../src/types.ts","../../../src/component.ts","../../../src/context.ts","../../../src/dynamic.ts","../../../src/error-boundary.ts","../../../src/for.ts","../../../src/h.ts","../../../src/ref.ts","../../../src/style.ts","../../../src/jsx-runtime.ts","../../../src/suspense.ts","../../../src/lazy.ts","../../../src/lifecycle.ts","../../../src/map-array.ts","../../../src/portal.ts","../../../src/props.ts","../../../src/show.ts","../../../src/telemetry.ts"],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
//#region src/types.d.ts
|
|
2
2
|
type VNodeChildAtom = VNode | string | number | boolean | null | undefined;
|
|
3
|
-
|
|
3
|
+
/** Reactive accessor — TS checks this arm FIRST so `{() => cond && <X />}` resolves correctly */
|
|
4
|
+
type VNodeChildAccessor = () => VNodeChildAtom | VNodeChildAtom[];
|
|
5
|
+
type VNodeChild = VNodeChildAccessor | VNodeChildAtom | VNodeChildAtom[];
|
|
4
6
|
interface VNode {
|
|
5
7
|
/** Tag name, component function, or special symbol (Fragment) */
|
|
6
8
|
type: string | ComponentFn | symbol;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsx-dev-runtime2.d.ts","names":[],"sources":["../../../src/types.ts","../../../src/h.ts","../../../src/ref.ts","../../../src/style.ts","../../../src/jsx-runtime.ts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"jsx-dev-runtime2.d.ts","names":[],"sources":["../../../src/types.ts","../../../src/h.ts","../../../src/ref.ts","../../../src/style.ts","../../../src/jsx-runtime.ts"],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
//#region src/types.d.ts
|
|
2
2
|
type VNodeChildAtom = VNode | string | number | boolean | null | undefined;
|
|
3
|
-
|
|
3
|
+
/** Reactive accessor — TS checks this arm FIRST so `{() => cond && <X />}` resolves correctly */
|
|
4
|
+
type VNodeChildAccessor = () => VNodeChildAtom | VNodeChildAtom[];
|
|
5
|
+
type VNodeChild = VNodeChildAccessor | VNodeChildAtom | VNodeChildAtom[];
|
|
4
6
|
interface VNode {
|
|
5
7
|
/** Tag name, component function, or special symbol (Fragment) */
|
|
6
8
|
type: string | ComponentFn | symbol;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsx-runtime2.d.ts","names":[],"sources":["../../../src/types.ts","../../../src/h.ts","../../../src/ref.ts","../../../src/style.ts","../../../src/jsx-runtime.ts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"jsx-runtime2.d.ts","names":[],"sources":["../../../src/types.ts","../../../src/h.ts","../../../src/ref.ts","../../../src/style.ts","../../../src/jsx-runtime.ts"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pyreon/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.0",
|
|
4
4
|
"description": "Core component model and lifecycle for Pyreon",
|
|
5
5
|
"homepage": "https://github.com/pyreon/pyreon/tree/main/packages/core#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"prepublishOnly": "bun run build"
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
|
-
"@pyreon/reactivity": "^0.
|
|
55
|
+
"@pyreon/reactivity": "^0.14.0"
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
58
|
"@pyreon/manifest": "0.13.1"
|
package/src/component.ts
CHANGED
|
@@ -19,7 +19,7 @@ export function runWithHooks<P extends Props>(
|
|
|
19
19
|
fn: ComponentFn<P>,
|
|
20
20
|
props: P,
|
|
21
21
|
): { vnode: VNodeChild; hooks: LifecycleHooks } {
|
|
22
|
-
const hooks: LifecycleHooks = { mount:
|
|
22
|
+
const hooks: LifecycleHooks = { mount: null, unmount: null, update: null, error: null }
|
|
23
23
|
setCurrentHooks(hooks)
|
|
24
24
|
let vnode: VNodeChild = null
|
|
25
25
|
try {
|
|
@@ -35,6 +35,7 @@ export function runWithHooks<P extends Props>(
|
|
|
35
35
|
* Returns true if any handler marked the error as handled.
|
|
36
36
|
*/
|
|
37
37
|
export function propagateError(err: unknown, hooks: LifecycleHooks): boolean {
|
|
38
|
+
if (!hooks.error) return false
|
|
38
39
|
for (const handler of hooks.error) {
|
|
39
40
|
if (handler(err) === true) return true
|
|
40
41
|
}
|
package/src/index.ts
CHANGED
package/src/lifecycle.ts
CHANGED
|
@@ -79,7 +79,10 @@ function warnOutsideSetup(hookName: string): void {
|
|
|
79
79
|
*/
|
|
80
80
|
export function onMount(fn: () => CleanupFn | void | undefined) {
|
|
81
81
|
warnOutsideSetup('onMount')
|
|
82
|
-
_current
|
|
82
|
+
if (_current) {
|
|
83
|
+
if (_current.mount === null) _current.mount = []
|
|
84
|
+
_current.mount.push(fn)
|
|
85
|
+
}
|
|
83
86
|
}
|
|
84
87
|
|
|
85
88
|
/**
|
|
@@ -87,7 +90,10 @@ export function onMount(fn: () => CleanupFn | void | undefined) {
|
|
|
87
90
|
*/
|
|
88
91
|
export function onUnmount(fn: () => void) {
|
|
89
92
|
warnOutsideSetup('onUnmount')
|
|
90
|
-
_current
|
|
93
|
+
if (_current) {
|
|
94
|
+
if (_current.unmount === null) _current.unmount = []
|
|
95
|
+
_current.unmount.push(fn)
|
|
96
|
+
}
|
|
91
97
|
}
|
|
92
98
|
|
|
93
99
|
/**
|
|
@@ -95,7 +101,10 @@ export function onUnmount(fn: () => void) {
|
|
|
95
101
|
*/
|
|
96
102
|
export function onUpdate(fn: () => void) {
|
|
97
103
|
warnOutsideSetup('onUpdate')
|
|
98
|
-
_current
|
|
104
|
+
if (_current) {
|
|
105
|
+
if (_current.update === null) _current.update = []
|
|
106
|
+
_current.update.push(fn)
|
|
107
|
+
}
|
|
99
108
|
}
|
|
100
109
|
|
|
101
110
|
/**
|
|
@@ -113,5 +122,8 @@ export function onUpdate(fn: () => void) {
|
|
|
113
122
|
*/
|
|
114
123
|
export function onErrorCaptured(fn: (err: unknown) => boolean | undefined) {
|
|
115
124
|
warnOutsideSetup('onErrorCaptured')
|
|
116
|
-
_current
|
|
125
|
+
if (_current) {
|
|
126
|
+
if (_current.error === null) _current.error = []
|
|
127
|
+
_current.error.push(fn)
|
|
128
|
+
}
|
|
117
129
|
}
|
package/src/props.ts
CHANGED
|
@@ -151,25 +151,38 @@ export function _rp<T>(fn: () => T): () => T {
|
|
|
151
151
|
export function makeReactiveProps(
|
|
152
152
|
raw: Record<string, unknown>,
|
|
153
153
|
): Record<string, unknown> {
|
|
154
|
-
|
|
155
|
-
|
|
154
|
+
// Fast path: scan for any REACTIVE_PROP-branded function first.
|
|
155
|
+
// If none found, return raw immediately — no object allocation, no property copying.
|
|
156
|
+
// This saves ~90 object allocations + ~450 property copies per page load
|
|
157
|
+
// for components with all-static props (buttons, icons, layout, etc.).
|
|
158
|
+
const keys = Object.keys(raw)
|
|
159
|
+
let hasAny = false
|
|
160
|
+
for (let i = 0; i < keys.length; i++) {
|
|
161
|
+
const val = raw[keys[i]!]
|
|
162
|
+
if (typeof val === 'function' && (val as any)[REACTIVE_PROP]) {
|
|
163
|
+
hasAny = true
|
|
164
|
+
break
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
if (!hasAny) return raw
|
|
156
168
|
|
|
157
|
-
|
|
169
|
+
// At least one reactive prop exists — build the getter-backed object.
|
|
170
|
+
const result: Record<string, unknown> = {}
|
|
171
|
+
for (let i = 0; i < keys.length; i++) {
|
|
172
|
+
const key = keys[i]!
|
|
158
173
|
const val = raw[key]
|
|
159
|
-
|
|
160
174
|
if (typeof val === 'function' && (val as any)[REACTIVE_PROP]) {
|
|
161
175
|
Object.defineProperty(result, key, {
|
|
162
176
|
get: val as () => unknown,
|
|
163
177
|
enumerable: true,
|
|
164
178
|
configurable: true,
|
|
165
179
|
})
|
|
166
|
-
hasGetters = true
|
|
167
180
|
} else {
|
|
168
181
|
result[key] = val
|
|
169
182
|
}
|
|
170
183
|
}
|
|
171
184
|
|
|
172
|
-
return
|
|
185
|
+
return result
|
|
173
186
|
}
|
|
174
187
|
|
|
175
188
|
// ─── Unique ID ───────────────────────────────────────────────────────────────
|
|
@@ -105,12 +105,12 @@ describe('runWithHooks', () => {
|
|
|
105
105
|
expect(hooks.unmount).toHaveLength(2)
|
|
106
106
|
})
|
|
107
107
|
|
|
108
|
-
test('
|
|
108
|
+
test('null hooks when component registers none (lazy allocation)', () => {
|
|
109
109
|
const { hooks } = runWithHooks(() => h('div', null), {})
|
|
110
|
-
expect(hooks.mount).
|
|
111
|
-
expect(hooks.unmount).
|
|
112
|
-
expect(hooks.update).
|
|
113
|
-
expect(hooks.error).
|
|
110
|
+
expect(hooks.mount).toBeNull()
|
|
111
|
+
expect(hooks.unmount).toBeNull()
|
|
112
|
+
expect(hooks.update).toBeNull()
|
|
113
|
+
expect(hooks.error).toBeNull()
|
|
114
114
|
})
|
|
115
115
|
})
|
|
116
116
|
|
|
@@ -196,9 +196,9 @@ describe('provide', () => {
|
|
|
196
196
|
// Context should still be available after runWithHooks
|
|
197
197
|
expect(useContext(ctx)).toBe('provided-value')
|
|
198
198
|
// unmount hooks should include the popContext cleanup
|
|
199
|
-
expect(hooks.unmount
|
|
199
|
+
expect(hooks.unmount!.length).toBeGreaterThanOrEqual(1)
|
|
200
200
|
// Running unmount cleans up
|
|
201
|
-
for (const fn of hooks.unmount) fn()
|
|
201
|
+
for (const fn of hooks.unmount!) fn()
|
|
202
202
|
expect(useContext(ctx)).toBe('default')
|
|
203
203
|
})
|
|
204
204
|
|
|
@@ -216,7 +216,7 @@ describe('provide', () => {
|
|
|
216
216
|
expect(useContext(ctxA)).toBe('A-value')
|
|
217
217
|
expect(useContext(ctxB)).toBe('B-value')
|
|
218
218
|
// Clean up
|
|
219
|
-
for (const fn of hooks.unmount) fn()
|
|
219
|
+
for (const fn of hooks.unmount!) fn()
|
|
220
220
|
expect(useContext(ctxA)).toBe('a')
|
|
221
221
|
expect(useContext(ctxB)).toBe('b')
|
|
222
222
|
})
|
package/src/tests/core.test.ts
CHANGED
|
@@ -172,14 +172,14 @@ describe('runWithHooks()', () => {
|
|
|
172
172
|
|
|
173
173
|
const { vnode, hooks } = runWithHooks(Comp, {})
|
|
174
174
|
expect(vnode).not.toBeNull()
|
|
175
|
-
expect(hooks.mount).toHaveLength(1)
|
|
176
|
-
expect(hooks.mount[0]).toBe(mountFn)
|
|
177
|
-
expect(hooks.unmount).toHaveLength(1)
|
|
178
|
-
expect(hooks.unmount[0]).toBe(unmountFn)
|
|
179
|
-
expect(hooks.update).toHaveLength(1)
|
|
180
|
-
expect(hooks.update[0]).toBe(updateFn)
|
|
181
|
-
expect(hooks.error).toHaveLength(1)
|
|
182
|
-
expect(hooks.error[0]).toBe(errorFn)
|
|
175
|
+
expect(hooks.mount!).toHaveLength(1)
|
|
176
|
+
expect(hooks.mount![0]).toBe(mountFn)
|
|
177
|
+
expect(hooks.unmount!).toHaveLength(1)
|
|
178
|
+
expect(hooks.unmount![0]).toBe(unmountFn)
|
|
179
|
+
expect(hooks.update!).toHaveLength(1)
|
|
180
|
+
expect(hooks.update![0]).toBe(updateFn)
|
|
181
|
+
expect(hooks.error!).toHaveLength(1)
|
|
182
|
+
expect(hooks.error![0]).toBe(errorFn)
|
|
183
183
|
})
|
|
184
184
|
|
|
185
185
|
test('returns null vnode when component returns null', () => {
|
|
@@ -208,7 +208,7 @@ describe('runWithHooks()', () => {
|
|
|
208
208
|
}
|
|
209
209
|
|
|
210
210
|
const { hooks } = runWithHooks(Comp, {})
|
|
211
|
-
expect(hooks.mount).toHaveLength(3)
|
|
211
|
+
expect(hooks.mount!).toHaveLength(3)
|
|
212
212
|
})
|
|
213
213
|
|
|
214
214
|
test('passes props to component function', () => {
|
|
@@ -350,7 +350,7 @@ describe('createContext / useContext', () => {
|
|
|
350
350
|
// Context is available after provide()
|
|
351
351
|
expect(useContext(ctx)).toBe('provided')
|
|
352
352
|
// Running unmount hooks should pop the context
|
|
353
|
-
for (const fn of hooks.unmount) fn()
|
|
353
|
+
for (const fn of hooks.unmount!) fn()
|
|
354
354
|
expect(useContext(ctx)).toBe('default')
|
|
355
355
|
})
|
|
356
356
|
})
|
|
@@ -663,7 +663,7 @@ describe('ErrorBoundary', () => {
|
|
|
663
663
|
}, {})
|
|
664
664
|
expect(vnode).not.toBeNull()
|
|
665
665
|
// Should have registered onUnmount for cleanup
|
|
666
|
-
expect(hooks.unmount
|
|
666
|
+
expect(hooks.unmount!.length).toBeGreaterThanOrEqual(1)
|
|
667
667
|
})
|
|
668
668
|
|
|
669
669
|
test('renders children when no error', () => {
|
|
@@ -42,8 +42,8 @@ describe('onMount', () => {
|
|
|
42
42
|
setCurrentHooks(hooks)
|
|
43
43
|
const fn = () => undefined
|
|
44
44
|
onMount(fn)
|
|
45
|
-
expect(hooks.mount).toHaveLength(1)
|
|
46
|
-
expect(hooks.mount[0]).toBe(fn)
|
|
45
|
+
expect(hooks.mount!).toHaveLength(1)
|
|
46
|
+
expect(hooks.mount![0]).toBe(fn)
|
|
47
47
|
})
|
|
48
48
|
|
|
49
49
|
test('multiple onMount calls accumulate', () => {
|
|
@@ -52,7 +52,7 @@ describe('onMount', () => {
|
|
|
52
52
|
onMount(() => undefined)
|
|
53
53
|
onMount(() => undefined)
|
|
54
54
|
onMount(() => undefined)
|
|
55
|
-
expect(hooks.mount).toHaveLength(3)
|
|
55
|
+
expect(hooks.mount!).toHaveLength(3)
|
|
56
56
|
})
|
|
57
57
|
|
|
58
58
|
test('warns when called outside component setup', () => {
|
|
@@ -73,16 +73,16 @@ describe('onMount', () => {
|
|
|
73
73
|
setCurrentHooks(hooks)
|
|
74
74
|
const cleanup = () => {}
|
|
75
75
|
onMount(() => cleanup)
|
|
76
|
-
expect(hooks.mount).toHaveLength(1)
|
|
77
|
-
expect(hooks.mount[0]!()).toBe(cleanup)
|
|
76
|
+
expect(hooks.mount!).toHaveLength(1)
|
|
77
|
+
expect(hooks.mount![0]!()).toBe(cleanup)
|
|
78
78
|
})
|
|
79
79
|
|
|
80
80
|
test('accepts callback returning void', () => {
|
|
81
81
|
const hooks: LifecycleHooks = { mount: [], unmount: [], update: [], error: [] }
|
|
82
82
|
setCurrentHooks(hooks)
|
|
83
83
|
onMount(() => {})
|
|
84
|
-
expect(hooks.mount).toHaveLength(1)
|
|
85
|
-
expect(hooks.mount[0]!()).toBeUndefined()
|
|
84
|
+
expect(hooks.mount!).toHaveLength(1)
|
|
85
|
+
expect(hooks.mount![0]!()).toBeUndefined()
|
|
86
86
|
})
|
|
87
87
|
})
|
|
88
88
|
|
|
@@ -96,8 +96,8 @@ describe('onUnmount', () => {
|
|
|
96
96
|
setCurrentHooks(hooks)
|
|
97
97
|
const fn = () => {}
|
|
98
98
|
onUnmount(fn)
|
|
99
|
-
expect(hooks.unmount).toHaveLength(1)
|
|
100
|
-
expect(hooks.unmount[0]).toBe(fn)
|
|
99
|
+
expect(hooks.unmount!).toHaveLength(1)
|
|
100
|
+
expect(hooks.unmount![0]).toBe(fn)
|
|
101
101
|
})
|
|
102
102
|
|
|
103
103
|
test('warns when called outside component setup', () => {
|
|
@@ -120,8 +120,8 @@ describe('onUpdate', () => {
|
|
|
120
120
|
setCurrentHooks(hooks)
|
|
121
121
|
const fn = () => {}
|
|
122
122
|
onUpdate(fn)
|
|
123
|
-
expect(hooks.update).toHaveLength(1)
|
|
124
|
-
expect(hooks.update[0]).toBe(fn)
|
|
123
|
+
expect(hooks.update!).toHaveLength(1)
|
|
124
|
+
expect(hooks.update![0]).toBe(fn)
|
|
125
125
|
})
|
|
126
126
|
|
|
127
127
|
test('warns when called outside component setup', () => {
|
|
@@ -144,8 +144,8 @@ describe('onErrorCaptured', () => {
|
|
|
144
144
|
setCurrentHooks(hooks)
|
|
145
145
|
const fn = () => true
|
|
146
146
|
onErrorCaptured(fn)
|
|
147
|
-
expect(hooks.error).toHaveLength(1)
|
|
148
|
-
expect(hooks.error[0]).toBe(fn)
|
|
147
|
+
expect(hooks.error!).toHaveLength(1)
|
|
148
|
+
expect(hooks.error![0]).toBe(fn)
|
|
149
149
|
})
|
|
150
150
|
|
|
151
151
|
test('warns when called outside component setup', () => {
|
|
@@ -167,7 +167,7 @@ describe('onErrorCaptured', () => {
|
|
|
167
167
|
})
|
|
168
168
|
// Simulate calling the handler
|
|
169
169
|
const testError = new Error('test')
|
|
170
|
-
hooks.error[0]!(testError)
|
|
170
|
+
hooks.error![0]!(testError)
|
|
171
171
|
expect(captured).toBe(testError)
|
|
172
172
|
})
|
|
173
173
|
})
|
|
@@ -186,10 +186,10 @@ describe('lifecycle hooks interaction', () => {
|
|
|
186
186
|
onUpdate(() => {})
|
|
187
187
|
onErrorCaptured(() => true)
|
|
188
188
|
|
|
189
|
-
expect(hooks.mount).toHaveLength(1)
|
|
190
|
-
expect(hooks.unmount).toHaveLength(1)
|
|
191
|
-
expect(hooks.update).toHaveLength(1)
|
|
192
|
-
expect(hooks.error).toHaveLength(1)
|
|
189
|
+
expect(hooks.mount!).toHaveLength(1)
|
|
190
|
+
expect(hooks.unmount!).toHaveLength(1)
|
|
191
|
+
expect(hooks.update!).toHaveLength(1)
|
|
192
|
+
expect(hooks.error!).toHaveLength(1)
|
|
193
193
|
})
|
|
194
194
|
|
|
195
195
|
test('hooks from different setCurrentHooks calls go to different stores', () => {
|
|
@@ -30,7 +30,7 @@ describe('createReactiveContext', () => {
|
|
|
30
30
|
expect(seen).toEqual(['light', 'dark'])
|
|
31
31
|
|
|
32
32
|
// Unmount the provider — outside the scope, useContext returns the default.
|
|
33
|
-
for (const fn of hooks.unmount) fn()
|
|
33
|
+
for (const fn of hooks.unmount!) fn()
|
|
34
34
|
const outerGetter = useContext(Ctx)
|
|
35
35
|
expect(outerGetter()).toBe('light')
|
|
36
36
|
})
|
|
@@ -50,7 +50,7 @@ describe('createReactiveContext', () => {
|
|
|
50
50
|
return null
|
|
51
51
|
}, {})
|
|
52
52
|
// Run the inner provider's unmount to pop its frame.
|
|
53
|
-
for (const fn of innerRun.hooks.unmount) fn()
|
|
53
|
+
for (const fn of innerRun.hooks.unmount!) fn()
|
|
54
54
|
|
|
55
55
|
// Outer provider is restored.
|
|
56
56
|
expect(outerGetter()).toBe('outer')
|
|
@@ -58,7 +58,7 @@ describe('createReactiveContext', () => {
|
|
|
58
58
|
}, {})
|
|
59
59
|
|
|
60
60
|
// Clean up outer frame.
|
|
61
|
-
for (const fn of outerRun.hooks.unmount) fn()
|
|
61
|
+
for (const fn of outerRun.hooks.unmount!) fn()
|
|
62
62
|
|
|
63
63
|
// After full teardown, useContext falls back to the default accessor.
|
|
64
64
|
expect(useContext(Ctx)()).toBe('default')
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest'
|
|
2
|
+
import { makeReactiveProps, REACTIVE_PROP, _rp } from '../props'
|
|
3
|
+
|
|
4
|
+
describe('makeReactiveProps', () => {
|
|
5
|
+
it('returns raw object when no reactive props exist (fast path)', () => {
|
|
6
|
+
const raw = { a: 1, b: 'hello', c: true }
|
|
7
|
+
const result = makeReactiveProps(raw)
|
|
8
|
+
// Must return the exact same object reference — no allocation
|
|
9
|
+
expect(result).toBe(raw)
|
|
10
|
+
})
|
|
11
|
+
|
|
12
|
+
it('returns raw when props contain non-branded functions', () => {
|
|
13
|
+
const fn = () => 42
|
|
14
|
+
const raw = { handler: fn, name: 'test' }
|
|
15
|
+
const result = makeReactiveProps(raw)
|
|
16
|
+
expect(result).toBe(raw)
|
|
17
|
+
// Non-branded function is preserved as-is
|
|
18
|
+
expect(result.handler).toBe(fn)
|
|
19
|
+
})
|
|
20
|
+
|
|
21
|
+
it('converts branded _rp() props to getter properties', () => {
|
|
22
|
+
let value = 10
|
|
23
|
+
const accessor = _rp(() => value)
|
|
24
|
+
const raw = { count: accessor, label: 'hello' }
|
|
25
|
+
const result = makeReactiveProps(raw)
|
|
26
|
+
|
|
27
|
+
// Must NOT be the same object (a new getter-backed object is created)
|
|
28
|
+
expect(result).not.toBe(raw)
|
|
29
|
+
// Getter reads the current value
|
|
30
|
+
expect(result.count).toBe(10)
|
|
31
|
+
value = 20
|
|
32
|
+
expect(result.count).toBe(20)
|
|
33
|
+
// Static props are copied as-is
|
|
34
|
+
expect(result.label).toBe('hello')
|
|
35
|
+
})
|
|
36
|
+
|
|
37
|
+
it('handles mixed reactive and static props', () => {
|
|
38
|
+
let x = 'a'
|
|
39
|
+
const raw = {
|
|
40
|
+
static1: 42,
|
|
41
|
+
reactive1: _rp(() => x),
|
|
42
|
+
static2: true,
|
|
43
|
+
nonBranded: () => 'plain function',
|
|
44
|
+
}
|
|
45
|
+
const result = makeReactiveProps(raw)
|
|
46
|
+
|
|
47
|
+
expect(result).not.toBe(raw)
|
|
48
|
+
expect(result.static1).toBe(42)
|
|
49
|
+
expect(result.static2).toBe(true)
|
|
50
|
+
expect(result.reactive1).toBe('a')
|
|
51
|
+
// Non-branded function is copied as a value, not converted to getter
|
|
52
|
+
expect(typeof result.nonBranded).toBe('function')
|
|
53
|
+
expect((result.nonBranded as () => string)()).toBe('plain function')
|
|
54
|
+
|
|
55
|
+
x = 'b'
|
|
56
|
+
expect(result.reactive1).toBe('b')
|
|
57
|
+
})
|
|
58
|
+
|
|
59
|
+
it('reactive prop getters are enumerable and configurable', () => {
|
|
60
|
+
const raw = { x: _rp(() => 1) }
|
|
61
|
+
const result = makeReactiveProps(raw)
|
|
62
|
+
const desc = Object.getOwnPropertyDescriptor(result, 'x')
|
|
63
|
+
expect(desc?.enumerable).toBe(true)
|
|
64
|
+
expect(desc?.configurable).toBe(true)
|
|
65
|
+
expect(typeof desc?.get).toBe('function')
|
|
66
|
+
})
|
|
67
|
+
|
|
68
|
+
it('handles empty props object', () => {
|
|
69
|
+
const raw = {}
|
|
70
|
+
const result = makeReactiveProps(raw)
|
|
71
|
+
expect(result).toBe(raw)
|
|
72
|
+
})
|
|
73
|
+
})
|
|
74
|
+
|
|
75
|
+
describe('_rp', () => {
|
|
76
|
+
it('brands a function with REACTIVE_PROP', () => {
|
|
77
|
+
const fn = () => 42
|
|
78
|
+
const branded = _rp(fn)
|
|
79
|
+
expect(branded).toBe(fn) // same function reference
|
|
80
|
+
expect((branded as any)[REACTIVE_PROP]).toBe(true)
|
|
81
|
+
})
|
|
82
|
+
|
|
83
|
+
it('branded function still callable', () => {
|
|
84
|
+
const branded = _rp(() => 'hello')
|
|
85
|
+
expect(branded()).toBe('hello')
|
|
86
|
+
})
|
|
87
|
+
})
|
package/src/types.ts
CHANGED
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
// Reactive getter returning a child — wraps dynamic expressions in `() =>`
|
|
4
4
|
export type VNodeChildAtom = VNode | string | number | boolean | null | undefined
|
|
5
|
-
|
|
5
|
+
/** Reactive accessor — TS checks this arm FIRST so `{() => cond && <X />}` resolves correctly */
|
|
6
|
+
export type VNodeChildAccessor = () => VNodeChildAtom | VNodeChildAtom[]
|
|
7
|
+
export type VNodeChild = VNodeChildAccessor | VNodeChildAtom | VNodeChildAtom[]
|
|
6
8
|
|
|
7
9
|
export interface VNode {
|
|
8
10
|
/** Tag name, component function, or special symbol (Fragment) */
|
|
@@ -63,9 +65,9 @@ export interface NativeItem {
|
|
|
63
65
|
}
|
|
64
66
|
|
|
65
67
|
export interface LifecycleHooks {
|
|
66
|
-
mount: (() => CleanupFn | void | undefined)[]
|
|
67
|
-
unmount: (() => void)[]
|
|
68
|
-
update: (() => void)[]
|
|
68
|
+
mount: (() => CleanupFn | void | undefined)[] | null
|
|
69
|
+
unmount: (() => void)[] | null
|
|
70
|
+
update: (() => void)[] | null
|
|
69
71
|
/** Error handlers — return true to mark the error as handled (stops propagation). */
|
|
70
|
-
error: ((err: unknown) => boolean | undefined)[]
|
|
72
|
+
error: ((err: unknown) => boolean | undefined)[] | null
|
|
71
73
|
}
|