@exactjs/core 0.6.2 → 0.6.4
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/AGENTS.md +12 -14
- package/README.md +6 -8
- package/dist/client/component/resumption.js +5 -1
- package/dist/client/component/resumption.js.map +1 -1
- package/dist/client/component-contract/continuation-validation.d.ts +5 -0
- package/dist/client/component-contract/continuation-validation.d.ts.map +1 -1
- package/dist/client/component-contract/continuation-validation.js +7 -0
- package/dist/client/component-contract/continuation-validation.js.map +1 -1
- package/dist/client/component-contract/contract-validation.d.ts.map +1 -1
- package/dist/client/component-contract/contract-validation.js +4 -1
- package/dist/client/component-contract/contract-validation.js.map +1 -1
- package/dist/client/component-contracts.d.ts +5 -0
- package/dist/client/component-contracts.d.ts.map +1 -1
- package/dist/client/component-contracts.js.map +1 -1
- package/dist/client/framework/component-contract-validation.d.ts +1 -1
- package/dist/client/framework/component-contract-validation.d.ts.map +1 -1
- package/dist/client/framework/component-contract-validation.js +1 -1
- package/dist/client/framework/component-contract-validation.js.map +1 -1
- package/dist/client/framework/fragment-target-projection-plan.d.ts +9 -0
- package/dist/client/framework/fragment-target-projection-plan.d.ts.map +1 -0
- package/dist/client/framework/fragment-target-projection-plan.js +99 -0
- package/dist/client/framework/fragment-target-projection-plan.js.map +1 -0
- package/dist/client/framework/fragment-target-projection.d.ts +1 -5
- package/dist/client/framework/fragment-target-projection.d.ts.map +1 -1
- package/dist/client/framework/fragment-target-projection.js +5 -95
- package/dist/client/framework/fragment-target-projection.js.map +1 -1
- package/dist/client/framework/operation-protocol.d.ts +9 -0
- package/dist/client/framework/operation-protocol.d.ts.map +1 -1
- package/dist/client/framework/operation-protocol.js.map +1 -1
- package/dist/client/framework/server-fragment-target-projection.d.ts +4 -0
- package/dist/client/framework/server-fragment-target-projection.d.ts.map +1 -0
- package/dist/client/framework/server-fragment-target-projection.js +7 -0
- package/dist/client/framework/server-fragment-target-projection.js.map +1 -0
- package/dist/client/framework/server-render-structure.d.ts +1 -0
- package/dist/client/framework/server-render-structure.d.ts.map +1 -1
- package/dist/client/framework/server-render-structure.js +1 -0
- package/dist/client/framework/server-render-structure.js.map +1 -1
- package/dist/client/framework/server-task-helpers.d.ts +1 -0
- package/dist/client/framework/server-task-helpers.d.ts.map +1 -1
- package/dist/client/framework/server-task-helpers.js +1 -0
- package/dist/client/framework/server-task-helpers.js.map +1 -1
- package/dist/client/framework/task-frames.d.ts +2 -1
- package/dist/client/framework/task-frames.d.ts.map +1 -1
- package/dist/client/framework/task-frames.js +1 -0
- package/dist/client/framework/task-frames.js.map +1 -1
- package/dist/client/runtime/tasks.d.ts +1 -0
- package/dist/client/runtime/tasks.d.ts.map +1 -1
- package/dist/client/runtime/tasks.js +1 -0
- package/dist/client/runtime/tasks.js.map +1 -1
- package/dist/client/tasks/contracts.d.ts +2 -0
- package/dist/client/tasks/contracts.d.ts.map +1 -1
- package/dist/client/tasks/contracts.js.map +1 -1
- package/dist/client/tasks/progress-bindings.d.ts +20 -0
- package/dist/client/tasks/progress-bindings.d.ts.map +1 -0
- package/dist/client/tasks/progress-bindings.js +51 -0
- package/dist/client/tasks/progress-bindings.js.map +1 -0
- package/dist/client/tasks/progress-receiver.d.ts +24 -0
- package/dist/client/tasks/progress-receiver.d.ts.map +1 -0
- package/dist/client/tasks/progress-receiver.js +71 -0
- package/dist/client/tasks/progress-receiver.js.map +1 -0
- package/dist/component/resumption.js +5 -1
- package/dist/component/resumption.js.map +1 -1
- package/dist/component-contract/continuation-validation.d.ts +5 -0
- package/dist/component-contract/continuation-validation.d.ts.map +1 -1
- package/dist/component-contract/continuation-validation.js +7 -0
- package/dist/component-contract/continuation-validation.js.map +1 -1
- package/dist/component-contract/contract-validation.d.ts.map +1 -1
- package/dist/component-contract/contract-validation.js +4 -1
- package/dist/component-contract/contract-validation.js.map +1 -1
- package/dist/component-contracts.d.ts +5 -0
- package/dist/component-contracts.d.ts.map +1 -1
- package/dist/component-contracts.js.map +1 -1
- package/dist/framework/component-contract-validation.d.ts +1 -1
- package/dist/framework/component-contract-validation.d.ts.map +1 -1
- package/dist/framework/component-contract-validation.js +1 -1
- package/dist/framework/component-contract-validation.js.map +1 -1
- package/dist/framework/fragment-target-projection-plan.d.ts +9 -0
- package/dist/framework/fragment-target-projection-plan.d.ts.map +1 -0
- package/dist/framework/fragment-target-projection-plan.js +99 -0
- package/dist/framework/fragment-target-projection-plan.js.map +1 -0
- package/dist/framework/fragment-target-projection.d.ts +1 -5
- package/dist/framework/fragment-target-projection.d.ts.map +1 -1
- package/dist/framework/fragment-target-projection.js +5 -95
- package/dist/framework/fragment-target-projection.js.map +1 -1
- package/dist/framework/operation-protocol.d.ts +9 -0
- package/dist/framework/operation-protocol.d.ts.map +1 -1
- package/dist/framework/operation-protocol.js.map +1 -1
- package/dist/framework/server-fragment-target-projection.d.ts +4 -0
- package/dist/framework/server-fragment-target-projection.d.ts.map +1 -0
- package/dist/framework/server-fragment-target-projection.js +7 -0
- package/dist/framework/server-fragment-target-projection.js.map +1 -0
- package/dist/framework/server-render-structure.d.ts +1 -0
- package/dist/framework/server-render-structure.d.ts.map +1 -1
- package/dist/framework/server-render-structure.js +1 -0
- package/dist/framework/server-render-structure.js.map +1 -1
- package/dist/framework/server-task-helpers.d.ts +1 -0
- package/dist/framework/server-task-helpers.d.ts.map +1 -1
- package/dist/framework/server-task-helpers.js +1 -0
- package/dist/framework/server-task-helpers.js.map +1 -1
- package/dist/framework/task-frames.d.ts +2 -1
- package/dist/framework/task-frames.d.ts.map +1 -1
- package/dist/framework/task-frames.js +1 -0
- package/dist/framework/task-frames.js.map +1 -1
- package/dist/runtime/tasks.d.ts +1 -0
- package/dist/runtime/tasks.d.ts.map +1 -1
- package/dist/runtime/tasks.js +1 -0
- package/dist/runtime/tasks.js.map +1 -1
- package/dist/server/component/resumption.js +5 -1
- package/dist/server/component/resumption.js.map +1 -1
- package/dist/server/component-contract/continuation-validation.d.ts +5 -0
- package/dist/server/component-contract/continuation-validation.d.ts.map +1 -1
- package/dist/server/component-contract/continuation-validation.js +7 -0
- package/dist/server/component-contract/continuation-validation.js.map +1 -1
- package/dist/server/component-contract/contract-validation.d.ts.map +1 -1
- package/dist/server/component-contract/contract-validation.js +4 -1
- package/dist/server/component-contract/contract-validation.js.map +1 -1
- package/dist/server/component-contracts.d.ts +5 -0
- package/dist/server/component-contracts.d.ts.map +1 -1
- package/dist/server/component-contracts.js.map +1 -1
- package/dist/server/framework/component-contract-validation.d.ts +1 -1
- package/dist/server/framework/component-contract-validation.d.ts.map +1 -1
- package/dist/server/framework/component-contract-validation.js +1 -1
- package/dist/server/framework/component-contract-validation.js.map +1 -1
- package/dist/server/framework/fragment-target-projection-plan.d.ts +9 -0
- package/dist/server/framework/fragment-target-projection-plan.d.ts.map +1 -0
- package/dist/server/framework/fragment-target-projection-plan.js +99 -0
- package/dist/server/framework/fragment-target-projection-plan.js.map +1 -0
- package/dist/server/framework/fragment-target-projection.d.ts +1 -5
- package/dist/server/framework/fragment-target-projection.d.ts.map +1 -1
- package/dist/server/framework/fragment-target-projection.js +5 -95
- package/dist/server/framework/fragment-target-projection.js.map +1 -1
- package/dist/server/framework/operation-protocol.d.ts +9 -0
- package/dist/server/framework/operation-protocol.d.ts.map +1 -1
- package/dist/server/framework/operation-protocol.js.map +1 -1
- package/dist/server/framework/server-fragment-target-projection.d.ts +4 -0
- package/dist/server/framework/server-fragment-target-projection.d.ts.map +1 -0
- package/dist/server/framework/server-fragment-target-projection.js +7 -0
- package/dist/server/framework/server-fragment-target-projection.js.map +1 -0
- package/dist/server/framework/server-render-structure.d.ts +1 -0
- package/dist/server/framework/server-render-structure.d.ts.map +1 -1
- package/dist/server/framework/server-render-structure.js +1 -0
- package/dist/server/framework/server-render-structure.js.map +1 -1
- package/dist/server/framework/server-task-helpers.d.ts +1 -0
- package/dist/server/framework/server-task-helpers.d.ts.map +1 -1
- package/dist/server/framework/server-task-helpers.js +1 -0
- package/dist/server/framework/server-task-helpers.js.map +1 -1
- package/dist/server/framework/task-frames.d.ts +2 -1
- package/dist/server/framework/task-frames.d.ts.map +1 -1
- package/dist/server/framework/task-frames.js +1 -0
- package/dist/server/framework/task-frames.js.map +1 -1
- package/dist/server/runtime/tasks.d.ts +1 -0
- package/dist/server/runtime/tasks.d.ts.map +1 -1
- package/dist/server/runtime/tasks.js +1 -0
- package/dist/server/runtime/tasks.js.map +1 -1
- package/dist/server/tasks/contracts.d.ts +2 -0
- package/dist/server/tasks/contracts.d.ts.map +1 -1
- package/dist/server/tasks/contracts.js.map +1 -1
- package/dist/server/tasks/progress-bindings.d.ts +20 -0
- package/dist/server/tasks/progress-bindings.d.ts.map +1 -0
- package/dist/server/tasks/progress-bindings.js +51 -0
- package/dist/server/tasks/progress-bindings.js.map +1 -0
- package/dist/server/tasks/progress-receiver.d.ts +24 -0
- package/dist/server/tasks/progress-receiver.d.ts.map +1 -0
- package/dist/server/tasks/progress-receiver.js +71 -0
- package/dist/server/tasks/progress-receiver.js.map +1 -0
- package/dist/tasks/contracts.d.ts +2 -0
- package/dist/tasks/contracts.d.ts.map +1 -1
- package/dist/tasks/contracts.js.map +1 -1
- package/dist/tasks/progress-bindings.d.ts +20 -0
- package/dist/tasks/progress-bindings.d.ts.map +1 -0
- package/dist/tasks/progress-bindings.js +51 -0
- package/dist/tasks/progress-bindings.js.map +1 -0
- package/dist/tasks/progress-receiver.d.ts +24 -0
- package/dist/tasks/progress-receiver.d.ts.map +1 -0
- package/dist/tasks/progress-receiver.js +71 -0
- package/dist/tasks/progress-receiver.js.map +1 -0
- package/package.json +1 -1
- package/dist/client/component/error-boundary.js.map +0 -1
- package/dist/server/component/error-boundary.js.map +0 -1
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { unwrap } from '@exactjs/reactive/framework/values';
|
|
2
|
+
import { readCompiledTargetReceipt, createCompiledTargetReceipt } from '../component-abi/target-receipt.js';
|
|
3
|
+
import { readCompiledIntrinsicReceipt, withIntrinsicReceiptChildren } from '../component-abi/intrinsic-receipt.js';
|
|
4
|
+
import { readCompiledFragmentReceipt, createCompiledFragmentReceipt, createCompiledFragmentPresentation } from '../component-abi/fragment-receipt.js';
|
|
5
|
+
import { readChildRangeReceipt } from '../component-abi/child-range-receipt.js';
|
|
6
|
+
import { readPreparedServerChildRange, createPreparedServerChildRange } from '../component-abi/server-child-range.js';
|
|
7
|
+
import { readPreparedServerRenderProgram } from '../server-render-program.js';
|
|
8
|
+
import { readRenderProgramReceipt, createPreparedRenderProgram, readRenderProgramSlot } from '../render-program.js';
|
|
9
|
+
import { readPreparedTargetOutput } from './prepared-target-output.js';
|
|
10
|
+
import { FragmentPresentationHosts } from './fragment-hosts.js';
|
|
11
|
+
/**
|
|
12
|
+
* Projects only one enhancement owner's supplied placement, preserving its authored structure.
|
|
13
|
+
* Nested component implementations stay opaque. Each owner is a host-coalescing barrier; transparent
|
|
14
|
+
* consecutive owners are grouped before this path. The caller supplies range evaluation: clients
|
|
15
|
+
* retain invalidation, while servers resolve the current render attempt without subscriptions.
|
|
16
|
+
*/
|
|
17
|
+
export function createFragmentTargetProjectionWithRanges(supplied, tag, owner, projectRange) {
|
|
18
|
+
const identity = Symbol('fragment contribution');
|
|
19
|
+
const hosts = new FragmentPresentationHosts();
|
|
20
|
+
const cache = new WeakMap();
|
|
21
|
+
const map = (raw) => {
|
|
22
|
+
const selected = typeof supplied === 'function' ? supplied() : supplied;
|
|
23
|
+
if (raw === selected)
|
|
24
|
+
return raw;
|
|
25
|
+
const value = unwrap(raw);
|
|
26
|
+
if (value === selected)
|
|
27
|
+
return value;
|
|
28
|
+
if (Array.isArray(value))
|
|
29
|
+
return value.map(map);
|
|
30
|
+
if (typeof value !== 'object' || value === null)
|
|
31
|
+
return value;
|
|
32
|
+
const retained = cache.get(value);
|
|
33
|
+
if (retained !== undefined)
|
|
34
|
+
return retained;
|
|
35
|
+
const target = readCompiledTargetReceipt(value);
|
|
36
|
+
let result = value;
|
|
37
|
+
if (target) {
|
|
38
|
+
const contribution = readPreparedTargetOutput([value], selected);
|
|
39
|
+
const presentation = createCompiledFragmentPresentation(selected, hosts
|
|
40
|
+
.reconcile([
|
|
41
|
+
{
|
|
42
|
+
owner: identity,
|
|
43
|
+
tag,
|
|
44
|
+
props: contribution.props,
|
|
45
|
+
declaredHostProps: contribution.declaredHostProps
|
|
46
|
+
}
|
|
47
|
+
])
|
|
48
|
+
.map((host) => ({
|
|
49
|
+
identity: host.identity,
|
|
50
|
+
tag: host.tag,
|
|
51
|
+
contributions: [{ identity, props: contribution.props, owner }]
|
|
52
|
+
})));
|
|
53
|
+
result = createCompiledTargetReceipt(null, presentation);
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
const intrinsic = readCompiledIntrinsicReceipt(value);
|
|
57
|
+
const fragment = readCompiledFragmentReceipt(value);
|
|
58
|
+
const range = readChildRangeReceipt(value);
|
|
59
|
+
const serverRange = readPreparedServerChildRange(value);
|
|
60
|
+
const program = readRenderProgramReceipt(value);
|
|
61
|
+
const serverProgram = readPreparedServerRenderProgram(value);
|
|
62
|
+
if (intrinsic)
|
|
63
|
+
result = withIntrinsicReceiptChildren(value, intrinsic.children.map((child) => map(child)));
|
|
64
|
+
else if (fragment)
|
|
65
|
+
result = createCompiledFragmentReceipt({ ...fragment.props, key: fragment.key, __exactEnhancements: fragment.enhancement }, ...fragment.children.map(map));
|
|
66
|
+
else if (range && !range.dynamicComponent)
|
|
67
|
+
result = projectRange(() => map(range.value), range.markerId, range.mayReplaceSubtree);
|
|
68
|
+
else if (serverRange)
|
|
69
|
+
result = createPreparedServerChildRange(map(serverRange.value), serverRange.markerId, serverRange.mayReplaceSubtree);
|
|
70
|
+
else if (program) {
|
|
71
|
+
const invocation = program.invocation;
|
|
72
|
+
const slots = new Set(invocation.program.targetSlots ?? []);
|
|
73
|
+
result = createPreparedRenderProgram(invocation.program, (index) => slots.has(index)
|
|
74
|
+
? map(readRenderProgramSlot(invocation, index))
|
|
75
|
+
: readRenderProgramSlot(invocation, index), invocation.owner, invocation.propertyWriter, program.enhancement);
|
|
76
|
+
}
|
|
77
|
+
else if (serverProgram) {
|
|
78
|
+
const slots = new Set(serverProgram.program.targetSlots ?? []);
|
|
79
|
+
const values = (input) => input.map((entry, index) => (slots.has(index) ? map(entry) : entry));
|
|
80
|
+
result = {
|
|
81
|
+
...serverProgram,
|
|
82
|
+
eagerValues: values(serverProgram.eagerValues),
|
|
83
|
+
...(serverProgram.deferredValues
|
|
84
|
+
? {
|
|
85
|
+
deferredValues: {
|
|
86
|
+
...serverProgram.deferredValues,
|
|
87
|
+
read: () => values(serverProgram.deferredValues.read())
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
: {})
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
cache.set(value, result);
|
|
95
|
+
return result;
|
|
96
|
+
};
|
|
97
|
+
return (children) => children.map((child) => map(child));
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=fragment-target-projection-plan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fragment-target-projection-plan.js","sourceRoot":"","sources":["../../../src/framework/fragment-target-projection-plan.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AnyComponentInstance, Child } from '../component/contracts.js';\nimport { unwrap } from '@exactjs/reactive/framework/values';\nimport {\n\treadCompiledTargetReceipt,\n\tcreateCompiledTargetReceipt\n} from '../component-abi/target-receipt.js';\nimport {\n\treadCompiledIntrinsicReceipt,\n\twithIntrinsicReceiptChildren\n} from '../component-abi/intrinsic-receipt.js';\nimport {\n\treadCompiledFragmentReceipt,\n\tcreateCompiledFragmentReceipt,\n\tcreateCompiledFragmentPresentation\n} from '../component-abi/fragment-receipt.js';\nimport { readChildRangeReceipt } from '../component-abi/child-range-receipt.js';\nimport {\n\treadPreparedServerChildRange,\n\tcreatePreparedServerChildRange\n} from '../component-abi/server-child-range.js';\nimport { readPreparedServerRenderProgram } from '../server-render-program.js';\nimport {\n\treadRenderProgramReceipt,\n\tcreatePreparedRenderProgram,\n\treadRenderProgramSlot\n} from '../render-program.js';\nimport { readPreparedTargetOutput } from './prepared-target-output.js';\nimport { FragmentPresentationHosts } from './fragment-hosts.js';\n\n/**\n * Projects only one enhancement owner's supplied placement, preserving its authored structure.\n * Nested component implementations stay opaque. Each owner is a host-coalescing barrier; transparent\n * consecutive owners are grouped before this path. The caller supplies range evaluation: clients\n * retain invalidation, while servers resolve the current render attempt without subscriptions.\n */\nexport function createFragmentTargetProjectionWithRanges(\n\tsupplied: Child | (() => Child),\n\ttag: string,\n\towner: AnyComponentInstance | undefined,\n\tprojectRange: (read: () => Child, markerId?: string, mayReplaceSubtree?: boolean) => Child\n): (children: readonly Child[]) => Child[] {\n\tconst identity = Symbol('fragment contribution');\n\tconst hosts = new FragmentPresentationHosts();\n\tconst cache = new WeakMap<object, Child>();\n\tconst map = (raw: unknown): unknown => {\n\t\tconst selected = typeof supplied === 'function' ? supplied() : supplied;\n\t\tif (raw === selected) return raw;\n\t\tconst value = unwrap(raw);\n\t\tif (value === selected) return value;\n\t\tif (Array.isArray(value)) return value.map(map);\n\t\tif (typeof value !== 'object' || value === null) return value;\n\t\tconst retained = cache.get(value);\n\t\tif (retained !== undefined) return retained;\n\t\tconst target = readCompiledTargetReceipt(value);\n\t\tlet result: unknown = value;\n\t\tif (target) {\n\t\t\tconst contribution = readPreparedTargetOutput([value as Child], selected)!;\n\t\t\tconst presentation = createCompiledFragmentPresentation(\n\t\t\t\tselected,\n\t\t\t\thosts\n\t\t\t\t\t.reconcile([\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\towner: identity,\n\t\t\t\t\t\t\ttag,\n\t\t\t\t\t\t\tprops: contribution.props,\n\t\t\t\t\t\t\tdeclaredHostProps: contribution.declaredHostProps\n\t\t\t\t\t\t}\n\t\t\t\t\t])\n\t\t\t\t\t.map((host) => ({\n\t\t\t\t\t\tidentity: host.identity,\n\t\t\t\t\t\ttag: host.tag,\n\t\t\t\t\t\tcontributions: [{ identity, props: contribution.props, owner }]\n\t\t\t\t\t}))\n\t\t\t);\n\t\t\tresult = createCompiledTargetReceipt(null, presentation);\n\t\t} else {\n\t\t\tconst intrinsic = readCompiledIntrinsicReceipt(value);\n\t\t\tconst fragment = readCompiledFragmentReceipt(value);\n\t\t\tconst range = readChildRangeReceipt(value);\n\t\t\tconst serverRange = readPreparedServerChildRange(value);\n\t\t\tconst program = readRenderProgramReceipt(value);\n\t\t\tconst serverProgram = readPreparedServerRenderProgram(value);\n\t\t\tif (intrinsic)\n\t\t\t\tresult = withIntrinsicReceiptChildren(\n\t\t\t\t\tvalue,\n\t\t\t\t\tintrinsic.children.map((child) => map(child) as Child)\n\t\t\t\t);\n\t\t\telse if (fragment)\n\t\t\t\tresult = createCompiledFragmentReceipt(\n\t\t\t\t\t{ ...fragment.props, key: fragment.key, __exactEnhancements: fragment.enhancement },\n\t\t\t\t\t...fragment.children.map(map)\n\t\t\t\t);\n\t\t\telse if (range && !range.dynamicComponent)\n\t\t\t\tresult = projectRange(\n\t\t\t\t\t() => map(range.value) as Child,\n\t\t\t\t\trange.markerId,\n\t\t\t\t\trange.mayReplaceSubtree\n\t\t\t\t);\n\t\t\telse if (serverRange)\n\t\t\t\tresult = createPreparedServerChildRange(\n\t\t\t\t\tmap(serverRange.value) as Child,\n\t\t\t\t\tserverRange.markerId,\n\t\t\t\t\tserverRange.mayReplaceSubtree\n\t\t\t\t);\n\t\t\telse if (program) {\n\t\t\t\tconst invocation = program.invocation;\n\t\t\t\tconst slots = new Set(invocation.program.targetSlots ?? []);\n\t\t\t\tresult = createPreparedRenderProgram(\n\t\t\t\t\tinvocation.program,\n\t\t\t\t\t(index) =>\n\t\t\t\t\t\tslots.has(index)\n\t\t\t\t\t\t\t? map(readRenderProgramSlot(invocation, index))\n\t\t\t\t\t\t\t: readRenderProgramSlot(invocation, index),\n\t\t\t\t\tinvocation.owner,\n\t\t\t\t\tinvocation.propertyWriter,\n\t\t\t\t\tprogram.enhancement\n\t\t\t\t);\n\t\t\t} else if (serverProgram) {\n\t\t\t\tconst slots = new Set(serverProgram.program.targetSlots ?? []);\n\t\t\t\tconst values = (input: readonly unknown[]) =>\n\t\t\t\t\tinput.map((entry, index) => (slots.has(index) ? map(entry) : entry));\n\t\t\t\tresult = {\n\t\t\t\t\t...serverProgram,\n\t\t\t\t\teagerValues: values(serverProgram.eagerValues),\n\t\t\t\t\t...(serverProgram.deferredValues\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tdeferredValues: {\n\t\t\t\t\t\t\t\t\t...serverProgram.deferredValues,\n\t\t\t\t\t\t\t\t\tread: () => values(serverProgram.deferredValues!.read())\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t: {})\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t\tcache.set(value, result as Child);\n\t\treturn result;\n\t};\n\treturn (children) => children.map((child) => map(child) as Child);\n}\n"]}
|
|
@@ -1,8 +1,4 @@
|
|
|
1
1
|
import type { AnyComponentInstance, Child } from '../component/contracts.js';
|
|
2
|
-
/**
|
|
3
|
-
* Projects only one enhancement owner's supplied placement, preserving its authored structure.
|
|
4
|
-
* Nested component implementations stay opaque. Each owner is a host-coalescing barrier; transparent
|
|
5
|
-
* consecutive owners are grouped before this path. Reactive ranges retain their existing invalidation.
|
|
6
|
-
*/
|
|
2
|
+
/** Projects fragment targets while retaining client range subscriptions and ownership. */
|
|
7
3
|
export declare function createFragmentTargetProjection(supplied: Child | (() => Child), tag: string, owner?: AnyComponentInstance): (children: readonly Child[]) => Child[];
|
|
8
4
|
//# sourceMappingURL=fragment-target-projection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fragment-target-projection.d.ts","sourceRoot":"","sources":["../../../src/framework/fragment-target-projection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"fragment-target-projection.d.ts","sourceRoot":"","sources":["../../../src/framework/fragment-target-projection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAK7E,0FAA0F;AAC1F,wBAAgB,8BAA8B,CAC7C,QAAQ,EAAE,KAAK,GAAG,CAAC,MAAM,KAAK,CAAC,EAC/B,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,oBAAoB,GAC1B,CAAC,QAAQ,EAAE,SAAS,KAAK,EAAE,KAAK,KAAK,EAAE,CAQzC"}
|
|
@@ -1,98 +1,8 @@
|
|
|
1
|
-
import { computed
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
import { readChildRangeReceipt, createChildRangeReceipt } from '../component-abi/child-range-receipt.js';
|
|
6
|
-
import { readPreparedServerChildRange, createPreparedServerChildRange } from '../component-abi/server-child-range.js';
|
|
7
|
-
import { readPreparedServerRenderProgram } from '../server-render-program.js';
|
|
8
|
-
import { readRenderProgramReceipt, createPreparedRenderProgram, readRenderProgramSlot } from '../render-program.js';
|
|
9
|
-
import { readPreparedTargetOutput } from './prepared-target-output.js';
|
|
10
|
-
import { FragmentPresentationHosts } from './fragment-hosts.js';
|
|
11
|
-
/**
|
|
12
|
-
* Projects only one enhancement owner's supplied placement, preserving its authored structure.
|
|
13
|
-
* Nested component implementations stay opaque. Each owner is a host-coalescing barrier; transparent
|
|
14
|
-
* consecutive owners are grouped before this path. Reactive ranges retain their existing invalidation.
|
|
15
|
-
*/
|
|
1
|
+
import { computed } from '@exactjs/reactive/framework/runtime';
|
|
2
|
+
import { createChildRangeReceipt } from '../component-abi/child-range-receipt.js';
|
|
3
|
+
import { createFragmentTargetProjectionWithRanges } from './fragment-target-projection-plan.js';
|
|
4
|
+
/** Projects fragment targets while retaining client range subscriptions and ownership. */
|
|
16
5
|
export function createFragmentTargetProjection(supplied, tag, owner) {
|
|
17
|
-
|
|
18
|
-
const hosts = new FragmentPresentationHosts();
|
|
19
|
-
const cache = new WeakMap();
|
|
20
|
-
const map = (raw) => {
|
|
21
|
-
const selected = typeof supplied === 'function' ? supplied() : supplied;
|
|
22
|
-
if (raw === selected)
|
|
23
|
-
return raw;
|
|
24
|
-
const value = unwrap(raw);
|
|
25
|
-
if (value === selected)
|
|
26
|
-
return value;
|
|
27
|
-
if (Array.isArray(value))
|
|
28
|
-
return value.map(map);
|
|
29
|
-
if (typeof value !== 'object' || value === null)
|
|
30
|
-
return value;
|
|
31
|
-
const retained = cache.get(value);
|
|
32
|
-
if (retained !== undefined)
|
|
33
|
-
return retained;
|
|
34
|
-
const target = readCompiledTargetReceipt(value);
|
|
35
|
-
let result = value;
|
|
36
|
-
if (target) {
|
|
37
|
-
const contribution = readPreparedTargetOutput([value], selected);
|
|
38
|
-
const presentation = createCompiledFragmentPresentation(selected, hosts
|
|
39
|
-
.reconcile([
|
|
40
|
-
{
|
|
41
|
-
owner: identity,
|
|
42
|
-
tag,
|
|
43
|
-
props: contribution.props,
|
|
44
|
-
declaredHostProps: contribution.declaredHostProps
|
|
45
|
-
}
|
|
46
|
-
])
|
|
47
|
-
.map((host) => ({
|
|
48
|
-
identity: host.identity,
|
|
49
|
-
tag: host.tag,
|
|
50
|
-
contributions: [{ identity, props: contribution.props, owner }]
|
|
51
|
-
})));
|
|
52
|
-
result = createCompiledTargetReceipt(null, presentation);
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
const intrinsic = readCompiledIntrinsicReceipt(value);
|
|
56
|
-
const fragment = readCompiledFragmentReceipt(value);
|
|
57
|
-
const range = readChildRangeReceipt(value);
|
|
58
|
-
const serverRange = readPreparedServerChildRange(value);
|
|
59
|
-
const program = readRenderProgramReceipt(value);
|
|
60
|
-
const serverProgram = readPreparedServerRenderProgram(value);
|
|
61
|
-
if (intrinsic)
|
|
62
|
-
result = withIntrinsicReceiptChildren(value, intrinsic.children.map((child) => map(child)));
|
|
63
|
-
else if (fragment)
|
|
64
|
-
result = createCompiledFragmentReceipt({ ...fragment.props, key: fragment.key, __exactEnhancements: fragment.enhancement }, ...fragment.children.map(map));
|
|
65
|
-
else if (range && !range.dynamicComponent)
|
|
66
|
-
result = createChildRangeReceipt(computed(() => map(range.value)), range.markerId, range.mayReplaceSubtree);
|
|
67
|
-
else if (serverRange)
|
|
68
|
-
result = createPreparedServerChildRange(map(serverRange.value), serverRange.markerId, serverRange.mayReplaceSubtree);
|
|
69
|
-
else if (program) {
|
|
70
|
-
const invocation = program.invocation;
|
|
71
|
-
const slots = new Set(invocation.program.targetSlots ?? []);
|
|
72
|
-
result = createPreparedRenderProgram(invocation.program, (index) => slots.has(index)
|
|
73
|
-
? map(readRenderProgramSlot(invocation, index))
|
|
74
|
-
: readRenderProgramSlot(invocation, index), invocation.owner, invocation.propertyWriter, program.enhancement);
|
|
75
|
-
}
|
|
76
|
-
else if (serverProgram) {
|
|
77
|
-
const slots = new Set(serverProgram.program.targetSlots ?? []);
|
|
78
|
-
const values = (input) => input.map((entry, index) => (slots.has(index) ? map(entry) : entry));
|
|
79
|
-
result = {
|
|
80
|
-
...serverProgram,
|
|
81
|
-
eagerValues: values(serverProgram.eagerValues),
|
|
82
|
-
...(serverProgram.deferredValues
|
|
83
|
-
? {
|
|
84
|
-
deferredValues: {
|
|
85
|
-
...serverProgram.deferredValues,
|
|
86
|
-
read: () => values(serverProgram.deferredValues.read())
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
: {})
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
cache.set(value, result);
|
|
94
|
-
return result;
|
|
95
|
-
};
|
|
96
|
-
return (children) => children.map((child) => map(child));
|
|
6
|
+
return createFragmentTargetProjectionWithRanges(supplied, tag, owner, (read, markerId, mayReplaceSubtree) => createChildRangeReceipt(computed(read), markerId, mayReplaceSubtree));
|
|
97
7
|
}
|
|
98
8
|
//# sourceMappingURL=fragment-target-projection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fragment-target-projection.js","sourceRoot":"","sources":["../../../src/framework/fragment-target-projection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"fragment-target-projection.js","sourceRoot":"","sources":["../../../src/framework/fragment-target-projection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,EAAE,wCAAwC,EAAE,MAAM,sCAAsC,CAAC;AAEhG,0FAA0F;AAC1F,MAAM,UAAU,8BAA8B,CAC7C,QAA+B,EAC/B,GAAW,EACX,KAA4B;IAE5B,OAAO,wCAAwC,CAC9C,QAAQ,EACR,GAAG,EACH,KAAK,EACL,CAAC,IAAI,EAAE,QAAQ,EAAE,iBAAiB,EAAE,EAAE,CACrC,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CACrE,CAAC;AACH,CAAC","sourcesContent":["import type { AnyComponentInstance, Child } from '../component/contracts.js';\nimport { computed } from '@exactjs/reactive/framework/runtime';\nimport { createChildRangeReceipt } from '../component-abi/child-range-receipt.js';\nimport { createFragmentTargetProjectionWithRanges } from './fragment-target-projection-plan.js';\n\n/** Projects fragment targets while retaining client range subscriptions and ownership. */\nexport function createFragmentTargetProjection(\n\tsupplied: Child | (() => Child),\n\ttag: string,\n\towner?: AnyComponentInstance\n): (children: readonly Child[]) => Child[] {\n\treturn createFragmentTargetProjectionWithRanges(\n\t\tsupplied,\n\t\ttag,\n\t\towner,\n\t\t(read, markerId, mayReplaceSubtree) =>\n\t\t\tcreateChildRangeReceipt(computed(read), markerId, mayReplaceSubtree)\n\t);\n}\n"]}
|
|
@@ -83,6 +83,15 @@ export type ExactBatchResult = {
|
|
|
83
83
|
};
|
|
84
84
|
/** Reports one event in an incremental operation response. */
|
|
85
85
|
export type ExactStreamEvent = {
|
|
86
|
+
event: 'progress';
|
|
87
|
+
version: 1;
|
|
88
|
+
index: number;
|
|
89
|
+
type: ExactInvocationKind;
|
|
90
|
+
id: string;
|
|
91
|
+
opId?: string;
|
|
92
|
+
receiver: string;
|
|
93
|
+
snapshot: unknown;
|
|
94
|
+
} | {
|
|
86
95
|
event: 'start';
|
|
87
96
|
version: 1;
|
|
88
97
|
operations: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operation-protocol.d.ts","sourceRoot":"","sources":["../../../src/framework/operation-protocol.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"operation-protocol.d.ts","sourceRoot":"","sources":["../../../src/framework/operation-protocol.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAE9E,4EAA4E;AAC5E,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEvD,gEAAgE;AAChE,MAAM,MAAM,2BAA2B,GACpC,QAAQ,CAAC;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,GAC5B,QAAQ,CAAC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,GAC5C,QAAQ,CAAC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE/D,4EAA4E;AAC5E,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC;IAC9C,OAAO,EAAE,CAAC,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,2BAA2B,CAAC;IAC3C,UAAU,EAAE,MAAM,CAAC;CACnB,CAAC,CAAC;AAEH,8EAA8E;AAC9E,MAAM,MAAM,mBAAmB,GAAG;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC,CAAC;AAEF,kFAAkF;AAClF,MAAM,MAAM,sBAAsB,GAAG;IACpC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,uBAAuB,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC,CAAC;AAEF,mEAAmE;AACnE,MAAM,MAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,CAAC,CAAC;IACZ,UAAU,EAAE,sBAAsB,EAAE,CAAC;CACrC,CAAC;AAEF,6DAA6D;AAC7D,MAAM,MAAM,qBAAqB,GAAG;IACnC,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,uBAAuB,EAAE,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,iDAAiD;AACjD,MAAM,MAAM,qBAAqB,GAAG;IACnC,EAAE,EAAE,IAAI,CAAC;IACT,IAAI,EAAE,mBAAmB,CAAC;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;CACd,GAAG,qBAAqB,CAAC;AAE1B,yDAAyD;AACzD,MAAM,MAAM,mBAAmB,GAAG;IACjC,EAAE,EAAE,KAAK,CAAC;IACV,IAAI,EAAE,mBAAmB,CAAC;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,aAAa,GAAG,WAAW,GAAG,WAAW,GAAG,gBAAgB,GAAG,mBAAmB,CAAC;CAC1F,CAAC;AAEF,6CAA6C;AAC7C,MAAM,MAAM,oBAAoB,GAAG,qBAAqB,GAAG,mBAAmB,CAAC;AAE/E,4CAA4C;AAC5C,MAAM,MAAM,gBAAgB,GAAG;IAC9B,EAAE,EAAE,IAAI,CAAC;IACT,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,EAAE,oBAAoB,EAAE,CAAC;CAChC,CAAC;AAEF,8DAA8D;AAC9D,MAAM,MAAM,gBAAgB,GACzB;IACA,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,EAAE,CAAC,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,mBAAmB,CAAC;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACjB,GACD;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,CAAC,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAClD;IACA,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,CAAC,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,mBAAmB,CAAC;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,UAAU,CAAC;CACjB,GACD;IACA,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,CAAC,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,mBAAmB,CAAC;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;CACd,GACD;IACA,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,CAAC,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,mBAAmB,CAAC;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,uBAAuB,EAAE,CAAC;CACpC,GACD;IACA,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,CAAC,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,mBAAmB,CAAC;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACZ,GACD;IAAE,KAAK,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,oBAAoB,CAAA;CAAE,GAC5E;IAAE,KAAK,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,CAAC,CAAC;IAAC,YAAY,EAAE,SAAS,2BAA2B,EAAE,CAAA;CAAE,GAC3F;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,CAAC,CAAA;CAAE,CAAC;AAErC,oDAAoD;AACpD,MAAM,MAAM,UAAU,GACnB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAC1D;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GACjE;IACA,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACb,GACD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAejD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAK5D;AAED,YAAY,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operation-protocol.js","sourceRoot":"","sources":["../../../src/framework/operation-protocol.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"operation-protocol.js","sourceRoot":"","sources":["../../../src/framework/operation-protocol.ts"],"names":[],"mappings":"AA8JA,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAC;IAC3C,WAAW;IACX,aAAa;IACb,yBAAyB;IACzB,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,QAAQ;IACR,aAAa;CACb,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAY;IAClD,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACtC,OAAO,CACN,CAAC,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,UAAU,CAAC,CAC5F,CAAC;AACH,CAAC","sourcesContent":["import type { ExactCollectionMutation } from '../component-contracts.js';\nimport type { ExactRuntimeInspectionEvent } from '@exactjs/devtools-protocol';\n\n/** Identifies the operation represented by a framework protocol request. */\nexport type ExactInvocationKind = 'invoke' | 'refresh';\n\n/** Selects one concrete compiler-planned partition instance. */\nexport type ExactPartitionDiscriminator =\n\t| Readonly<{ kind: 'single' }>\n\t| Readonly<{ kind: 'branch'; branch: string }>\n\t| Readonly<{ kind: 'keyed'; list: string; keyToken: string }>;\n\n/** Carries generation-fenced authority for a compiler-planned partition. */\nexport type ExactPartitionAuthority = Readonly<{\n\tversion: 1;\n\tbuildKey: string;\n\texecutionRoot: string;\n\tplanEdgeId: string;\n\townerComponentId: string;\n\tdiscriminator: ExactPartitionDiscriminator;\n\tgeneration: number;\n}>;\n\n/** Maps compiler-owned operation identities to configured endpoint routes. */\nexport type ExactEndpointRoutes = {\n\tinvocations?: Record<string, string>;\n\tboundaries?: Record<string, string>;\n};\n\n/** Describes one invocation or refresh request on the framework wire protocol. */\nexport type ExactInvocationRequest = {\n\ttype: ExactInvocationKind;\n\troot?: string;\n\tid: string;\n\tpartition?: ExactPartitionAuthority;\n\topId?: string;\n\tdependsOn?: string[];\n\tpayload?: unknown;\n\tstate?: unknown;\n\tpublicContext?: Record<string, unknown>;\n\tboundaryHtml?: string;\n\tboundaryHtmls?: Record<string, string>;\n};\n\n/** Groups invocation requests for bounded concurrent execution. */\nexport type ExactBatchRequest = {\n\ttype: 'batch';\n\tversion?: 1;\n\toperations: ExactInvocationRequest[];\n};\n\n/** Describes the transport-safe result of one invocation. */\nexport type ExactInvocationResult = {\n\tpatches?: ExactPatch[];\n\tstate?: unknown;\n\tmutations?: ExactCollectionMutation[];\n\tcontexts?: Record<string, unknown>;\n\tvalue?: unknown;\n\thtml?: string;\n};\n\n/** Describes a successful operation response. */\nexport type ExactOperationSuccess = {\n\tok: true;\n\ttype: ExactInvocationKind;\n\tid: string;\n\topId?: string;\n} & ExactInvocationResult;\n\n/** Describes a rejected or failed operation response. */\nexport type ExactOperationError = {\n\tok: false;\n\ttype: ExactInvocationKind;\n\tid: string;\n\topId?: string;\n\tstatus: number;\n\terror: 'bad_request' | 'not_found' | 'forbidden' | 'internal_error' | 'dependency_failed';\n};\n\n/** Describes the result of one operation. */\nexport type ExactOperationResult = ExactOperationSuccess | ExactOperationError;\n\n/** Describes a completed batch response. */\nexport type ExactBatchResult = {\n\tok: true;\n\tversion: 1;\n\tresults: ExactOperationResult[];\n};\n\n/** Reports one event in an incremental operation response. */\nexport type ExactStreamEvent =\n\t| {\n\t\t\tevent: 'progress';\n\t\t\tversion: 1;\n\t\t\tindex: number;\n\t\t\ttype: ExactInvocationKind;\n\t\t\tid: string;\n\t\t\topId?: string;\n\t\t\treceiver: string;\n\t\t\tsnapshot: unknown;\n\t }\n\t| { event: 'start'; version: 1; operations: number }\n\t| {\n\t\t\tevent: 'patch';\n\t\t\tversion: 1;\n\t\t\tindex: number;\n\t\t\ttype: ExactInvocationKind;\n\t\t\tid: string;\n\t\t\topId?: string;\n\t\t\tpatch: ExactPatch;\n\t }\n\t| {\n\t\t\tevent: 'state';\n\t\t\tversion: 1;\n\t\t\tindex: number;\n\t\t\ttype: ExactInvocationKind;\n\t\t\tid: string;\n\t\t\topId?: string;\n\t\t\tvalue: unknown;\n\t }\n\t| {\n\t\t\tevent: 'mutations';\n\t\t\tversion: 1;\n\t\t\tindex: number;\n\t\t\ttype: ExactInvocationKind;\n\t\t\tid: string;\n\t\t\topId?: string;\n\t\t\tmutations: ExactCollectionMutation[];\n\t }\n\t| {\n\t\t\tevent: 'html';\n\t\t\tversion: 1;\n\t\t\tindex: number;\n\t\t\ttype: ExactInvocationKind;\n\t\t\tid: string;\n\t\t\topId?: string;\n\t\t\thtml: string;\n\t }\n\t| { event: 'result'; version: 1; index: number; result: ExactOperationResult }\n\t| { event: 'observations'; version: 1; observations: readonly ExactRuntimeInspectionEvent[] }\n\t| { event: 'complete'; version: 1 };\n\n/** Describes one client-applied operation patch. */\nexport type ExactPatch =\n\t| { type: 'text'; id: string; value: string }\n\t| { type: 'prop'; id: string; name: string; value: unknown }\n\t| { type: 'style'; id: string; name: string; value: string | null }\n\t| {\n\t\t\ttype: 'list';\n\t\t\tid: string;\n\t\t\top: 'insert' | 'move' | 'remove';\n\t\t\tkey: string;\n\t\t\tbefore?: string;\n\t\t\thtml?: string;\n\t }\n\t| { type: 'state'; id: string; value: unknown }\n\t| { type: 'replace'; id: string; html: string };\n\nconst forbiddenDomPatchProperties = new Set([\n\t'__proto__',\n\t'constructor',\n\t'dangerouslysetinnerhtml',\n\t'innerhtml',\n\t'innertext',\n\t'outerhtml',\n\t'outertext',\n\t'prototype',\n\t'srcdoc',\n\t'textcontent'\n]);\n\n/**\n * Reports whether a server property patch may cross the operation boundary.\n * Structural HTML/text setters, inline event handlers, iframe documents, and\n * JavaScript prototype controls require dedicated framework-owned operations.\n */\nexport function isSafeDomPatchProperty(name: string): boolean {\n\tconst normalized = name.toLowerCase();\n\treturn (\n\t\t!!normalized && !normalized.startsWith('on') && !forbiddenDomPatchProperties.has(normalized)\n\t);\n}\n\nexport type { ExactCollectionMutation } from '../component-contracts.js';\n"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { AnyComponentInstance, Child } from '../component/contracts.js';
|
|
2
|
+
/** Projects one server render attempt without creating client subscriptions or effect scopes. */
|
|
3
|
+
export declare function createServerFragmentTargetProjection(supplied: Child | (() => Child), tag: string, owner?: AnyComponentInstance): (children: readonly Child[]) => Child[];
|
|
4
|
+
//# sourceMappingURL=server-fragment-target-projection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server-fragment-target-projection.d.ts","sourceRoot":"","sources":["../../../src/framework/server-fragment-target-projection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAI7E,iGAAiG;AACjG,wBAAgB,oCAAoC,CACnD,QAAQ,EAAE,KAAK,GAAG,CAAC,MAAM,KAAK,CAAC,EAC/B,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,oBAAoB,GAC1B,CAAC,QAAQ,EAAE,SAAS,KAAK,EAAE,KAAK,KAAK,EAAE,CAQzC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createPreparedServerChildRange } from '../component-abi/server-child-range.js';
|
|
2
|
+
import { createFragmentTargetProjectionWithRanges } from './fragment-target-projection-plan.js';
|
|
3
|
+
/** Projects one server render attempt without creating client subscriptions or effect scopes. */
|
|
4
|
+
export function createServerFragmentTargetProjection(supplied, tag, owner) {
|
|
5
|
+
return createFragmentTargetProjectionWithRanges(supplied, tag, owner, (read, markerId, mayReplaceSubtree) => createPreparedServerChildRange(read(), markerId, mayReplaceSubtree));
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=server-fragment-target-projection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server-fragment-target-projection.js","sourceRoot":"","sources":["../../../src/framework/server-fragment-target-projection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AACxF,OAAO,EAAE,wCAAwC,EAAE,MAAM,sCAAsC,CAAC;AAEhG,iGAAiG;AACjG,MAAM,UAAU,oCAAoC,CACnD,QAA+B,EAC/B,GAAW,EACX,KAA4B;IAE5B,OAAO,wCAAwC,CAC9C,QAAQ,EACR,GAAG,EACH,KAAK,EACL,CAAC,IAAI,EAAE,QAAQ,EAAE,iBAAiB,EAAE,EAAE,CACrC,8BAA8B,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CACpE,CAAC;AACH,CAAC","sourcesContent":["import type { AnyComponentInstance, Child } from '../component/contracts.js';\nimport { createPreparedServerChildRange } from '../component-abi/server-child-range.js';\nimport { createFragmentTargetProjectionWithRanges } from './fragment-target-projection-plan.js';\n\n/** Projects one server render attempt without creating client subscriptions or effect scopes. */\nexport function createServerFragmentTargetProjection(\n\tsupplied: Child | (() => Child),\n\ttag: string,\n\towner?: AnyComponentInstance\n): (children: readonly Child[]) => Child[] {\n\treturn createFragmentTargetProjectionWithRanges(\n\t\tsupplied,\n\t\ttag,\n\t\towner,\n\t\t(read, markerId, mayReplaceSubtree) =>\n\t\t\tcreatePreparedServerChildRange(read(), markerId, mayReplaceSubtree)\n\t);\n}\n"]}
|
|
@@ -16,4 +16,5 @@ export declare function createForwardedExpression<T>(compute: () => T): T;
|
|
|
16
16
|
export declare function createDynamicChild(compute: () => RenderResult, markerId?: string, mayReplaceSubtree?: boolean): ExactPreparedServerChildRange;
|
|
17
17
|
/** Creates the eager server operation for one compiler-owned dynamic child range. */
|
|
18
18
|
export declare function createCompiledChildRangeReceipt(compute: () => RenderResult, markerId?: string, mayReplaceSubtree?: boolean): ExactPreparedServerChildRange;
|
|
19
|
+
export { createServerFragmentTargetProjection } from './server-fragment-target-projection.js';
|
|
19
20
|
//# sourceMappingURL=server-render-structure.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-render-structure.d.ts","sourceRoot":"","sources":["../../../src/framework/server-render-structure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAEN,KAAK,6BAA6B,EAClC,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAC5F,OAAO,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AACnG,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EACN,2BAA2B,EAC3B,iCAAiC,EACjC,4BAA4B,EAC5B,+BAA+B,EAC/B,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACrB,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,+BAA+B,EACpC,KAAK,4BAA4B,EACjC,KAAK,yBAAyB,EAC9B,KAAK,6BAA6B,EAClC,KAAK,gCAAgC,EACrC,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,+BAA+B,EACpC,KAAK,2BAA2B,EAChC,KAAK,+BAA+B,EACpC,KAAK,2BAA2B,EAChC,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACN,sCAAsC,EACtC,oDAAoD,EACpD,oCAAoC,EACpC,KAAK,qCAAqC,EAC1C,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACN,4BAA4B,EAC5B,KAAK,6BAA6B,EAClC,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACN,8BAA8B,EAC9B,4BAA4B,EAC5B,KAAK,6BAA6B,EAClC,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACN,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,MAAM,+CAA+C,CAAC;AAEvD,4FAA4F;AAC5F,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAEvD;AAED,2FAA2F;AAC3F,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAEhE;AAED,6FAA6F;AAC7F,wBAAgB,kBAAkB,CACjC,OAAO,EAAE,MAAM,YAAY,EAC3B,QAAQ,CAAC,EAAE,MAAM,EACjB,iBAAiB,UAAO,GACtB,6BAA6B,CAE/B;AAED,qFAAqF;AACrF,wBAAgB,+BAA+B,CAC9C,OAAO,EAAE,MAAM,YAAY,EAC3B,QAAQ,CAAC,EAAE,MAAM,EACjB,iBAAiB,UAAO,GACtB,6BAA6B,CAE/B"}
|
|
1
|
+
{"version":3,"file":"server-render-structure.d.ts","sourceRoot":"","sources":["../../../src/framework/server-render-structure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAEN,KAAK,6BAA6B,EAClC,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAC5F,OAAO,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AACnG,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EACN,2BAA2B,EAC3B,iCAAiC,EACjC,4BAA4B,EAC5B,+BAA+B,EAC/B,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACrB,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,+BAA+B,EACpC,KAAK,4BAA4B,EACjC,KAAK,yBAAyB,EAC9B,KAAK,6BAA6B,EAClC,KAAK,gCAAgC,EACrC,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,+BAA+B,EACpC,KAAK,2BAA2B,EAChC,KAAK,+BAA+B,EACpC,KAAK,2BAA2B,EAChC,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACN,sCAAsC,EACtC,oDAAoD,EACpD,oCAAoC,EACpC,KAAK,qCAAqC,EAC1C,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACN,4BAA4B,EAC5B,KAAK,6BAA6B,EAClC,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACN,8BAA8B,EAC9B,4BAA4B,EAC5B,KAAK,6BAA6B,EAClC,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACN,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,MAAM,+CAA+C,CAAC;AAEvD,4FAA4F;AAC5F,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAEvD;AAED,2FAA2F;AAC3F,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAEhE;AAED,6FAA6F;AAC7F,wBAAgB,kBAAkB,CACjC,OAAO,EAAE,MAAM,YAAY,EAC3B,QAAQ,CAAC,EAAE,MAAM,EACjB,iBAAiB,UAAO,GACtB,6BAA6B,CAE/B;AAED,qFAAqF;AACrF,wBAAgB,+BAA+B,CAC9C,OAAO,EAAE,MAAM,YAAY,EAC3B,QAAQ,CAAC,EAAE,MAAM,EACjB,iBAAiB,UAAO,GACtB,6BAA6B,CAE/B;AAED,OAAO,EAAE,oCAAoC,EAAE,MAAM,wCAAwC,CAAC"}
|
|
@@ -23,4 +23,5 @@ export function createDynamicChild(compute, markerId, mayReplaceSubtree = true)
|
|
|
23
23
|
export function createCompiledChildRangeReceipt(compute, markerId, mayReplaceSubtree = true) {
|
|
24
24
|
return createPreparedServerChildRange(compute(), markerId, mayReplaceSubtree);
|
|
25
25
|
}
|
|
26
|
+
export { createServerFragmentTargetProjection } from './server-fragment-target-projection.js';
|
|
26
27
|
//# sourceMappingURL=server-render-structure.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-render-structure.js","sourceRoot":"","sources":["../../../src/framework/server-render-structure.ts"],"names":[],"mappings":"AACA,OAAO,EACN,8BAA8B,EAE9B,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAC5F,OAAO,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AACnG,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EACN,2BAA2B,EAC3B,iCAAiC,EACjC,4BAA4B,EAC5B,+BAA+B,EAC/B,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EAmBrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACN,sCAAsC,EACtC,oDAAoD,EACpD,oCAAoC,EAEpC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACN,4BAA4B,EAE5B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACN,8BAA8B,EAC9B,4BAA4B,EAE5B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACN,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,MAAM,+CAA+C,CAAC;AAEvD,4FAA4F;AAC5F,MAAM,UAAU,gBAAgB,CAAI,OAAgB;IACnD,OAAO,OAAO,EAAE,CAAC;AAClB,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,yBAAyB,CAAI,OAAgB;IAC5D,OAAO,OAAO,EAAE,CAAC;AAClB,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,kBAAkB,CACjC,OAA2B,EAC3B,QAAiB,EACjB,iBAAiB,GAAG,IAAI;IAExB,OAAO,8BAA8B,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;AAC/E,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,+BAA+B,CAC9C,OAA2B,EAC3B,QAAiB,EACjB,iBAAiB,GAAG,IAAI;IAExB,OAAO,8BAA8B,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;AAC/E,CAAC","sourcesContent":["import type { RenderResult } from '../component/contracts.js';\nimport {\n\tcreatePreparedServerChildRange,\n\ttype ExactPreparedServerChildRange\n} from '../component-abi/server-child-range.js';\n\nexport { isFiniteClientBoundary, markFiniteClientBoundary } from '../hydration-boundary.js';\nexport { hasIndependentAsyncSiblings, markIndependentAsyncSiblings } from '../ssr-independence.js';\nexport { RenderProgram, ServerBoundary, ServerSlot } from '../symbols.js';\nexport {\n\tcreatePreparedRenderProgram,\n\tcreatePreparedServerRenderProgram,\n\tprepareCompiledRenderProgram,\n\treadPreparedServerRenderProgram,\n\treadRenderProgram,\n\treadRenderProgramReceipt,\n\treadRenderProgramSlot,\n\ttype ExactRenderProgram,\n\ttype ExactDirectRenderProgram,\n\ttype ExactDomRenderProgram,\n\ttype ExactRenderProgramBinding,\n\ttype ExactRenderProgramBinder,\n\ttype ExactRenderProgramBindingTarget,\n\ttype ExactRenderProgramInvocation,\n\ttype ExactRenderProgramReceipt,\n\ttype ExactRenderProgramReceiptData,\n\ttype ExactPreparedServerRenderProgram,\n\ttype ExactRenderProgramNode,\n\ttype ExactRenderProgramSlot,\n\ttype ExactRenderProgramSsrOperations,\n\ttype ExactRenderProgramSsrOutput,\n\ttype ExactRenderProgramSsrInvocation,\n\ttype ExactRenderProgramSsrWriter,\n\ttype ExactSsrRenderProgram,\n\ttype ExactTableRenderProgram\n} from '../render-program.js';\nexport {\n\tcreatePreparedServerComponentReference,\n\tcreatePreparedServerComponentReferenceFromPlainProps,\n\treadPreparedServerComponentReference,\n\ttype ExactPreparedServerComponentReference\n} from '../component-abi/receipt.js';\nexport {\n\treadPreparedServerChildRange,\n\ttype ExactPreparedServerChildRange\n} from '../component-abi/server-child-range.js';\nexport {\n\tcreatePreparedServerKeyedChild,\n\treadPreparedServerKeyedChild,\n\ttype ExactPreparedServerKeyedChild\n} from '../component-abi/server-keyed-child.js';\nexport {\n\tcreateKeyedServerSlot,\n\tcreateServerBoundary,\n\tcreateServerSlot\n} from '../component-abi/server-structure-receipts.js';\n\n/** Evaluates a compiler-known expression directly in a compiler-closed server component. */\nexport function createExpression<T>(compute: () => T): T {\n\treturn compute();\n}\n\n/** Evaluates a compiler-forwarded input directly in a compiler-closed server component. */\nexport function createForwardedExpression<T>(compute: () => T): T {\n\treturn compute();\n}\n\n/** Creates an eager focused child range for a direct server render or its local fallback. */\nexport function createDynamicChild(\n\tcompute: () => RenderResult,\n\tmarkerId?: string,\n\tmayReplaceSubtree = true\n): ExactPreparedServerChildRange {\n\treturn createPreparedServerChildRange(compute(), markerId, mayReplaceSubtree);\n}\n\n/** Creates the eager server operation for one compiler-owned dynamic child range. */\nexport function createCompiledChildRangeReceipt(\n\tcompute: () => RenderResult,\n\tmarkerId?: string,\n\tmayReplaceSubtree = true\n): ExactPreparedServerChildRange {\n\treturn createPreparedServerChildRange(compute(), markerId, mayReplaceSubtree);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"server-render-structure.js","sourceRoot":"","sources":["../../../src/framework/server-render-structure.ts"],"names":[],"mappings":"AACA,OAAO,EACN,8BAA8B,EAE9B,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAC5F,OAAO,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AACnG,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EACN,2BAA2B,EAC3B,iCAAiC,EACjC,4BAA4B,EAC5B,+BAA+B,EAC/B,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EAmBrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACN,sCAAsC,EACtC,oDAAoD,EACpD,oCAAoC,EAEpC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACN,4BAA4B,EAE5B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACN,8BAA8B,EAC9B,4BAA4B,EAE5B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACN,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,MAAM,+CAA+C,CAAC;AAEvD,4FAA4F;AAC5F,MAAM,UAAU,gBAAgB,CAAI,OAAgB;IACnD,OAAO,OAAO,EAAE,CAAC;AAClB,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,yBAAyB,CAAI,OAAgB;IAC5D,OAAO,OAAO,EAAE,CAAC;AAClB,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,kBAAkB,CACjC,OAA2B,EAC3B,QAAiB,EACjB,iBAAiB,GAAG,IAAI;IAExB,OAAO,8BAA8B,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;AAC/E,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,+BAA+B,CAC9C,OAA2B,EAC3B,QAAiB,EACjB,iBAAiB,GAAG,IAAI;IAExB,OAAO,8BAA8B,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;AAC/E,CAAC;AAED,OAAO,EAAE,oCAAoC,EAAE,MAAM,wCAAwC,CAAC","sourcesContent":["import type { RenderResult } from '../component/contracts.js';\nimport {\n\tcreatePreparedServerChildRange,\n\ttype ExactPreparedServerChildRange\n} from '../component-abi/server-child-range.js';\n\nexport { isFiniteClientBoundary, markFiniteClientBoundary } from '../hydration-boundary.js';\nexport { hasIndependentAsyncSiblings, markIndependentAsyncSiblings } from '../ssr-independence.js';\nexport { RenderProgram, ServerBoundary, ServerSlot } from '../symbols.js';\nexport {\n\tcreatePreparedRenderProgram,\n\tcreatePreparedServerRenderProgram,\n\tprepareCompiledRenderProgram,\n\treadPreparedServerRenderProgram,\n\treadRenderProgram,\n\treadRenderProgramReceipt,\n\treadRenderProgramSlot,\n\ttype ExactRenderProgram,\n\ttype ExactDirectRenderProgram,\n\ttype ExactDomRenderProgram,\n\ttype ExactRenderProgramBinding,\n\ttype ExactRenderProgramBinder,\n\ttype ExactRenderProgramBindingTarget,\n\ttype ExactRenderProgramInvocation,\n\ttype ExactRenderProgramReceipt,\n\ttype ExactRenderProgramReceiptData,\n\ttype ExactPreparedServerRenderProgram,\n\ttype ExactRenderProgramNode,\n\ttype ExactRenderProgramSlot,\n\ttype ExactRenderProgramSsrOperations,\n\ttype ExactRenderProgramSsrOutput,\n\ttype ExactRenderProgramSsrInvocation,\n\ttype ExactRenderProgramSsrWriter,\n\ttype ExactSsrRenderProgram,\n\ttype ExactTableRenderProgram\n} from '../render-program.js';\nexport {\n\tcreatePreparedServerComponentReference,\n\tcreatePreparedServerComponentReferenceFromPlainProps,\n\treadPreparedServerComponentReference,\n\ttype ExactPreparedServerComponentReference\n} from '../component-abi/receipt.js';\nexport {\n\treadPreparedServerChildRange,\n\ttype ExactPreparedServerChildRange\n} from '../component-abi/server-child-range.js';\nexport {\n\tcreatePreparedServerKeyedChild,\n\treadPreparedServerKeyedChild,\n\ttype ExactPreparedServerKeyedChild\n} from '../component-abi/server-keyed-child.js';\nexport {\n\tcreateKeyedServerSlot,\n\tcreateServerBoundary,\n\tcreateServerSlot\n} from '../component-abi/server-structure-receipts.js';\n\n/** Evaluates a compiler-known expression directly in a compiler-closed server component. */\nexport function createExpression<T>(compute: () => T): T {\n\treturn compute();\n}\n\n/** Evaluates a compiler-forwarded input directly in a compiler-closed server component. */\nexport function createForwardedExpression<T>(compute: () => T): T {\n\treturn compute();\n}\n\n/** Creates an eager focused child range for a direct server render or its local fallback. */\nexport function createDynamicChild(\n\tcompute: () => RenderResult,\n\tmarkerId?: string,\n\tmayReplaceSubtree = true\n): ExactPreparedServerChildRange {\n\treturn createPreparedServerChildRange(compute(), markerId, mayReplaceSubtree);\n}\n\n/** Creates the eager server operation for one compiler-owned dynamic child range. */\nexport function createCompiledChildRangeReceipt(\n\tcompute: () => RenderResult,\n\tmarkerId?: string,\n\tmayReplaceSubtree = true\n): ExactPreparedServerChildRange {\n\treturn createPreparedServerChildRange(compute(), markerId, mayReplaceSubtree);\n}\n\nexport { createServerFragmentTargetProjection } from './server-fragment-target-projection.js';\n"]}
|
|
@@ -10,4 +10,5 @@ export { bindTaskForHost, defineTask, invokeTask } from '../tasks/runtime.js';
|
|
|
10
10
|
export { activateServerComponentTaskTreeForHost } from '../tasks/server-component-task-tree.js';
|
|
11
11
|
export { mutateTaskCollection, ownTaskResource, stageTaskMutation, taskAnimationFrame, taskAwait, taskFetch, taskIdleCallback, taskInterval, taskObserver, taskTimeout } from '../tasks/resources.js';
|
|
12
12
|
export { combineTaskSignal, withAbortSignal, withTaskSignal } from '../tasks/signals.js';
|
|
13
|
+
export { createTaskProgressReporter, registerTaskProgressReceiver } from '../tasks/progress-bindings.js';
|
|
13
14
|
//# sourceMappingURL=server-task-helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-task-helpers.d.ts","sourceRoot":"","sources":["../../../src/framework/server-task-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qCAAqC,EAAE,MAAM,oCAAoC,CAAC;AAC3F,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EACN,mCAAmC,EACnC,mCAAmC,EACnC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACN,uCAAuC,EACvC,mCAAmC,EACnC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,sCAAsC,EAAE,MAAM,wCAAwC,CAAC;AAChG,OAAO,EACN,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"server-task-helpers.d.ts","sourceRoot":"","sources":["../../../src/framework/server-task-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qCAAqC,EAAE,MAAM,oCAAoC,CAAC;AAC3F,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EACN,mCAAmC,EACnC,mCAAmC,EACnC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACN,uCAAuC,EACvC,mCAAmC,EACnC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,sCAAsC,EAAE,MAAM,wCAAwC,CAAC;AAChG,OAAO,EACN,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEzF,OAAO,EACN,0BAA0B,EAC1B,4BAA4B,EAC5B,MAAM,+BAA+B,CAAC"}
|
|
@@ -10,4 +10,5 @@ export { bindTaskForHost, defineTask, invokeTask } from '../tasks/runtime.js';
|
|
|
10
10
|
export { activateServerComponentTaskTreeForHost } from '../tasks/server-component-task-tree.js';
|
|
11
11
|
export { mutateTaskCollection, ownTaskResource, stageTaskMutation, taskAnimationFrame, taskAwait, taskFetch, taskIdleCallback, taskInterval, taskObserver, taskTimeout } from '../tasks/resources.js';
|
|
12
12
|
export { combineTaskSignal, withAbortSignal, withTaskSignal } from '../tasks/signals.js';
|
|
13
|
+
export { createTaskProgressReporter, registerTaskProgressReceiver } from '../tasks/progress-bindings.js';
|
|
13
14
|
//# sourceMappingURL=server-task-helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-task-helpers.js","sourceRoot":"","sources":["../../../src/framework/server-task-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qCAAqC,EAAE,MAAM,oCAAoC,CAAC;AAC3F,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EACN,mCAAmC,EACnC,mCAAmC,EACnC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACN,uCAAuC,EACvC,mCAAmC,EACnC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,sCAAsC,EAAE,MAAM,wCAAwC,CAAC;AAChG,OAAO,EACN,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC","sourcesContent":["export { registerComponentContinuationContexts } from '../component/context-resumption.js';\nexport { dispatchComponentContinuation } from '../component/domain.js';\nexport { activateTaskForHost } from '../tasks/activation.js';\nexport { activateComputationForHost } from '../tasks/computation-activation.js';\nexport {\n\tcreateIndexedContinuationDependency,\n\tcreateTrackedContinuationDependency\n} from '../tasks/dependency-source.js';\nexport {\n\tactivateCompiledClientLatestTaskForHost,\n\tbindCompiledClientLatestTaskForHost\n} from '../tasks/compiled-latest.js';\nexport { markComponentContinuationTask } from '../tasks/component-continuation.js';\nexport { taskMutation } from '../tasks/frame-runtime.js';\nexport { bindTaskForHost, defineTask, invokeTask } from '../tasks/runtime.js';\nexport { activateServerComponentTaskTreeForHost } from '../tasks/server-component-task-tree.js';\nexport {\n\tmutateTaskCollection,\n\townTaskResource,\n\tstageTaskMutation,\n\ttaskAnimationFrame,\n\ttaskAwait,\n\ttaskFetch,\n\ttaskIdleCallback,\n\ttaskInterval,\n\ttaskObserver,\n\ttaskTimeout\n} from '../tasks/resources.js';\nexport { combineTaskSignal, withAbortSignal, withTaskSignal } from '../tasks/signals.js';\n"]}
|
|
1
|
+
{"version":3,"file":"server-task-helpers.js","sourceRoot":"","sources":["../../../src/framework/server-task-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qCAAqC,EAAE,MAAM,oCAAoC,CAAC;AAC3F,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EACN,mCAAmC,EACnC,mCAAmC,EACnC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACN,uCAAuC,EACvC,mCAAmC,EACnC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,sCAAsC,EAAE,MAAM,wCAAwC,CAAC;AAChG,OAAO,EACN,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEzF,OAAO,EACN,0BAA0B,EAC1B,4BAA4B,EAC5B,MAAM,+BAA+B,CAAC","sourcesContent":["export { registerComponentContinuationContexts } from '../component/context-resumption.js';\nexport { dispatchComponentContinuation } from '../component/domain.js';\nexport { activateTaskForHost } from '../tasks/activation.js';\nexport { activateComputationForHost } from '../tasks/computation-activation.js';\nexport {\n\tcreateIndexedContinuationDependency,\n\tcreateTrackedContinuationDependency\n} from '../tasks/dependency-source.js';\nexport {\n\tactivateCompiledClientLatestTaskForHost,\n\tbindCompiledClientLatestTaskForHost\n} from '../tasks/compiled-latest.js';\nexport { markComponentContinuationTask } from '../tasks/component-continuation.js';\nexport { taskMutation } from '../tasks/frame-runtime.js';\nexport { bindTaskForHost, defineTask, invokeTask } from '../tasks/runtime.js';\nexport { activateServerComponentTaskTreeForHost } from '../tasks/server-component-task-tree.js';\nexport {\n\tmutateTaskCollection,\n\townTaskResource,\n\tstageTaskMutation,\n\ttaskAnimationFrame,\n\ttaskAwait,\n\ttaskFetch,\n\ttaskIdleCallback,\n\ttaskInterval,\n\ttaskObserver,\n\ttaskTimeout\n} from '../tasks/resources.js';\nexport { combineTaskSignal, withAbortSignal, withTaskSignal } from '../tasks/signals.js';\n\nexport {\n\tcreateTaskProgressReporter,\n\tregisterTaskProgressReceiver\n} from '../tasks/progress-bindings.js';\n"]}
|
|
@@ -69,5 +69,6 @@ export declare function runTaskFrame<T>(options: RunTaskFrameOptions, hooks: Run
|
|
|
69
69
|
export declare function reserveTaskFrame(options: RunTaskFrameOptions): TaskFrameReservation;
|
|
70
70
|
/** Restores a captured frame for one synchronous callback segment. */
|
|
71
71
|
export declare function runWithTaskFrame<T>(frame: TaskFrameToken, work: () => T): T;
|
|
72
|
-
export {};
|
|
72
|
+
export { attachTaskProgressReporter, taskProgressReceiverForHost } from '../tasks/progress-bindings.js';
|
|
73
|
+
export type { TaskProgressReceiver } from '../tasks/progress-receiver.js';
|
|
73
74
|
//# sourceMappingURL=task-frames.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-frames.d.ts","sourceRoot":"","sources":["../../../src/framework/task-frames.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAUzD,OAAO,CAAC,MAAM,mBAAmB,EAAE,OAAO,MAAM,CAAC;AAEjD,sDAAsD;AACtD,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,CAAC,mBAAmB,CAAC,EAAE,IAAI,CAAC;CACrC;AAED,0CAA0C;AAC1C,MAAM,WAAW,mBAAmB;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,UAAU,CAAC;IACxD,QAAQ,CAAC,SAAS,CAAC,EAAE,UAAU,GAAG,aAAa,CAAC;CAChD;AAED,sEAAsE;AACtE,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAC3B;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GACnD;IAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GACxD;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC;AAE9D,0DAA0D;AAC1D,MAAM,MAAM,qBAAqB,GAC9B;IAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GACxD;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC;AAE9D;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAC;IACxD,wEAAwE;IACxE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAE7B,gFAAgF;IAChF,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAC/B;AAED,oEAAoE;AACpE,MAAM,WAAW,iBAAiB,CAAC,CAAC;IACnC,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,eAAe,CAAC,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE,aAAa,CAAC,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnE;AAED,2EAA2E;AAC3E,MAAM,WAAW,oBAAqB,SAAQ,UAAU;IACvD,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAC9E,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAC/B;AAED,2DAA2D;AAC3D,wBAAgB,gBAAgB,IAAI,cAAc,GAAG,SAAS,CAE7D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAC7B,OAAO,EAAE,mBAAmB,EAC5B,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,GACzB,kBAAkB,CAAC,CAAC,CAAC,CAEvB;AA0HD,+EAA+E;AAC/E,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,GAAG,oBAAoB,CAmCnF;AAQD,sEAAsE;AACtE,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAE3E"}
|
|
1
|
+
{"version":3,"file":"task-frames.d.ts","sourceRoot":"","sources":["../../../src/framework/task-frames.ts"],"names":[],"mappings":"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"}
|
|
@@ -156,4 +156,5 @@ function rejectedTaskFrameExecution(error) {
|
|
|
156
156
|
export function runWithTaskFrame(frame, work) {
|
|
157
157
|
return withTaskFrameRecord(frame, work);
|
|
158
158
|
}
|
|
159
|
+
export { attachTaskProgressReporter, taskProgressReceiverForHost } from '../tasks/progress-bindings.js';
|
|
159
160
|
//# sourceMappingURL=task-frames.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-frames.js","sourceRoot":"","sources":["../../../src/framework/task-frames.ts"],"names":[],"mappings":"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","sourcesContent":["import type { TaskContext } from '../tasks/contracts.js';\nimport { TaskCancellation } from '../tasks/cancellation.js';\nimport {\n\tattachTaskFrameSettlement,\n\tcurrentTaskFrameRecord,\n\texecuteTaskFrame,\n\twithTaskFrameRecord,\n\ttype TaskFrameRecord\n} from '../tasks/frame-runtime.js';\n\ndeclare const taskFrameTokenBrand: unique symbol;\n\n/** Opaque authority identifying a live task frame. */\nexport interface TaskFrameToken {\n\treadonly [taskFrameTokenBrand]: true;\n}\n\n/** Framework-owned child frame policy. */\nexport interface RunTaskFrameOptions {\n\treadonly parent?: TaskFrameToken;\n\treadonly kind: string;\n\treadonly label?: string;\n\treadonly generation?: number;\n\treadonly detached?: boolean;\n\treadonly priority?: 'immediate' | 'normal' | 'deferred';\n\treadonly readiness?: 'blocking' | 'nonblocking';\n}\n\n/** Terminal structural outcome reported to framework coordinators. */\nexport type TaskFrameOutcome<T> =\n\t| { readonly status: 'fulfilled'; readonly value: T }\n\t| { readonly status: 'rejected'; readonly error: unknown }\n\t| { readonly status: 'cancelled'; readonly reason: unknown };\n\n/** Foreground readiness outcome reported exactly once. */\nexport type TaskForegroundOutcome =\n\t| { readonly status: 'ready' }\n\t| { readonly status: 'rejected'; readonly error: unknown }\n\t| { readonly status: 'cancelled'; readonly reason: unknown };\n\n/**\n * Structurally settled framework work with cooperative cancellation.\n *\n * Cancelling aborts the frame and every attached descendant. The promise does\n * not settle until foreground work, descendants, and cleanup have responded.\n */\nexport interface TaskFrameExecution<T> extends Promise<T> {\n\t/** Signal inherited by the frame's context and attached descendants. */\n\treadonly signal: AbortSignal;\n\n\t/** Requests cooperative cancellation while preserving structural settlement. */\n\tcancel(reason?: unknown): void;\n}\n\n/** Work and settlement hooks for a framework-created task frame. */\nexport interface RunTaskFrameHooks<T> {\n\twork(context: TaskContext): T | Promise<T>;\n\tafterForeground?(outcome: TaskForegroundOutcome): void | Promise<void>;\n\tafterChildren?(outcome: TaskFrameOutcome<T>): void | Promise<void>;\n}\n\n/** Atomically reserved frame that must be run or released exactly once. */\nexport interface TaskFrameReservation extends Disposable {\n\trun<T>(work: (context: TaskContext) => T | Promise<T>): TaskFrameExecution<T>;\n\tcancel(reason?: unknown): void;\n}\n\n/** Captures the synchronously active opaque task frame. */\nexport function captureTaskFrame(): TaskFrameToken | undefined {\n\treturn currentTaskFrameRecord() as TaskFrameToken | undefined;\n}\n\n/**\n * Runs framework work in a structurally attached, cooperatively cancelable\n * task frame.\n */\nexport function runTaskFrame<T>(\n\toptions: RunTaskFrameOptions,\n\thooks: RunTaskFrameHooks<T>\n): TaskFrameExecution<T> {\n\treturn createTaskFrameExecution(options, hooks, false);\n}\n\n/** Creates the cancelable public execution around one internal frame. */\nfunction createTaskFrameExecution<T>(\n\toptions: RunTaskFrameOptions,\n\thooks: RunTaskFrameHooks<T>,\n\tparentReserved: boolean\n): TaskFrameExecution<T> {\n\tconst controller = new AbortController();\n\tconst execution = runTaskFrameInternal(options, hooks, parentReserved, controller);\n\tconst parent = options.detached\n\t\t? undefined\n\t\t: ((options.parent as TaskFrameRecord | undefined) ?? currentTaskFrameRecord());\n\tif (parent && !parentReserved && parent.producerOpen && !parent.settled)\n\t\tattachTaskFrameSettlement(parent, execution);\n\treturn exposeTaskFrameExecution(execution, controller);\n}\n\n/** Adds framework cancellation authority to a native settlement promise. */\nfunction exposeTaskFrameExecution<T>(\n\texecution: Promise<T>,\n\tcontroller: AbortController\n): TaskFrameExecution<T> {\n\tlet settled = false;\n\tvoid execution.then(\n\t\t() => {\n\t\t\tsettled = true;\n\t\t},\n\t\t() => {\n\t\t\tsettled = true;\n\t\t}\n\t);\n\treturn Object.defineProperties(execution, {\n\t\tsignal: {\n\t\t\tconfigurable: false,\n\t\t\tenumerable: true,\n\t\t\tvalue: controller.signal,\n\t\t\twritable: false\n\t\t},\n\t\tcancel: {\n\t\t\tconfigurable: false,\n\t\t\tenumerable: false,\n\t\t\tvalue(reason?: unknown) {\n\t\t\t\tif (!settled) controller.abort(reason);\n\t\t\t},\n\t\t\twritable: false\n\t\t}\n\t}) as TaskFrameExecution<T>;\n}\n\nasync function runTaskFrameInternal<T>(\n\toptions: RunTaskFrameOptions,\n\thooks: RunTaskFrameHooks<T>,\n\tparentReserved: boolean,\n\tcontroller: AbortController\n): Promise<T> {\n\tlet foregroundReported = false;\n\tlet childrenReported = false;\n\ttry {\n\t\tconst value = await executeTaskFrame(\n\t\t\t{\n\t\t\t\tparent: options.parent as TaskFrameRecord | undefined,\n\t\t\t\tparentReserved,\n\t\t\t\tcontroller,\n\t\t\t\tgeneration: options.generation,\n\t\t\t\tdetached: options.detached,\n\t\t\t\tkind: options.kind,\n\t\t\t\tlabel: options.label,\n\t\t\t\tpriority: options.priority,\n\t\t\t\treadiness: options.readiness\n\t\t\t},\n\t\t\tasync (context) => {\n\t\t\t\ttry {\n\t\t\t\t\tconst result = await hooks.work(context);\n\t\t\t\t\tforegroundReported = true;\n\t\t\t\t\tawait hooks.afterForeground?.({ status: 'ready' });\n\t\t\t\t\treturn result;\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (!foregroundReported) {\n\t\t\t\t\t\tforegroundReported = true;\n\t\t\t\t\t\tawait hooks.afterForeground?.(foregroundOutcome(controller.signal, error));\n\t\t\t\t\t}\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t\tchildrenReported = true;\n\t\tawait hooks.afterChildren?.({ status: 'fulfilled', value });\n\t\treturn value;\n\t} catch (error) {\n\t\tif (!foregroundReported) {\n\t\t\tforegroundReported = true;\n\t\t\tawait hooks.afterForeground?.(foregroundOutcome(controller.signal, error));\n\t\t}\n\t\tif (!childrenReported) {\n\t\t\tchildrenReported = true;\n\t\t\tawait hooks.afterChildren?.(structuralOutcome(controller.signal, error));\n\t\t}\n\t\tthrow error;\n\t}\n}\n\n/** Classifies foreground failure using the frame's cancellation authority. */\nfunction foregroundOutcome(signal: AbortSignal, error: unknown): TaskForegroundOutcome {\n\treturn signal.aborted || error instanceof TaskCancellation\n\t\t? { status: 'cancelled', reason: cancellationReason(signal, error) }\n\t\t: { status: 'rejected', error };\n}\n\n/** Classifies structural failure using the frame's cancellation authority. */\nfunction structuralOutcome<T>(signal: AbortSignal, error: unknown): TaskFrameOutcome<T> {\n\treturn error instanceof TaskCancellation\n\t\t? { status: 'cancelled', reason: cancellationReason(signal, error) }\n\t\t: { status: 'rejected', error };\n}\n\n/** Preserves the originating abort reason after runtime cancellation wrapping. */\nfunction cancellationReason(signal: AbortSignal, error: unknown): unknown {\n\tif (error instanceof TaskCancellation) return error.reason;\n\treturn signal.aborted ? signal.reason : error;\n}\n\n/** Reserves an attached child before handing work to an external scheduler. */\nexport function reserveTaskFrame(options: RunTaskFrameOptions): TaskFrameReservation {\n\tconst parent = (options.parent as TaskFrameRecord | undefined) ?? currentTaskFrameRecord();\n\tif (!parent) throw new Error('A task frame reservation requires an active or explicit parent');\n\tlet used = false;\n\tlet release!: () => void;\n\tconst placeholder = new Promise<void>((resolve) => {\n\t\trelease = resolve;\n\t});\n\tattachTaskFrameSettlement(parent, placeholder);\n\treturn {\n\t\trun<T>(work: (context: TaskContext) => T | Promise<T>): TaskFrameExecution<T> {\n\t\t\tif (used)\n\t\t\t\treturn rejectedTaskFrameExecution(new Error('Task frame reservation was already released'));\n\t\t\tused = true;\n\t\t\tconst execution = createTaskFrameExecution(\n\t\t\t\t{ ...options, parent: parent as unknown as TaskFrameToken },\n\t\t\t\t{ work },\n\t\t\t\ttrue\n\t\t\t);\n\t\t\t// Keep the atomic placeholder until the public execution, including\n\t\t\t// its structural finalizer, has settled.\n\t\t\tvoid execution.then(release, release);\n\t\t\treturn execution;\n\t\t},\n\t\tcancel() {\n\t\t\tif (used) return;\n\t\t\tused = true;\n\t\t\trelease();\n\t\t},\n\t\t[Symbol.dispose]() {\n\t\t\tif (used) return;\n\t\t\tused = true;\n\t\t\trelease();\n\t\t}\n\t};\n}\n\n/** Creates a settled execution for invalid reservation reuse. */\nfunction rejectedTaskFrameExecution<T>(error: unknown): TaskFrameExecution<T> {\n\tconst controller = new AbortController();\n\treturn exposeTaskFrameExecution(Promise.reject<T>(error), controller);\n}\n\n/** Restores a captured frame for one synchronous callback segment. */\nexport function runWithTaskFrame<T>(frame: TaskFrameToken, work: () => T): T {\n\treturn withTaskFrameRecord(frame as unknown as TaskFrameRecord, work);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"task-frames.js","sourceRoot":"","sources":["../../../src/framework/task-frames.ts"],"names":[],"mappings":"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","sourcesContent":["import type { TaskContext } from '../tasks/contracts.js';\nimport { TaskCancellation } from '../tasks/cancellation.js';\nimport {\n\tattachTaskFrameSettlement,\n\tcurrentTaskFrameRecord,\n\texecuteTaskFrame,\n\twithTaskFrameRecord,\n\ttype TaskFrameRecord\n} from '../tasks/frame-runtime.js';\n\ndeclare const taskFrameTokenBrand: unique symbol;\n\n/** Opaque authority identifying a live task frame. */\nexport interface TaskFrameToken {\n\treadonly [taskFrameTokenBrand]: true;\n}\n\n/** Framework-owned child frame policy. */\nexport interface RunTaskFrameOptions {\n\treadonly parent?: TaskFrameToken;\n\treadonly kind: string;\n\treadonly label?: string;\n\treadonly generation?: number;\n\treadonly detached?: boolean;\n\treadonly priority?: 'immediate' | 'normal' | 'deferred';\n\treadonly readiness?: 'blocking' | 'nonblocking';\n}\n\n/** Terminal structural outcome reported to framework coordinators. */\nexport type TaskFrameOutcome<T> =\n\t| { readonly status: 'fulfilled'; readonly value: T }\n\t| { readonly status: 'rejected'; readonly error: unknown }\n\t| { readonly status: 'cancelled'; readonly reason: unknown };\n\n/** Foreground readiness outcome reported exactly once. */\nexport type TaskForegroundOutcome =\n\t| { readonly status: 'ready' }\n\t| { readonly status: 'rejected'; readonly error: unknown }\n\t| { readonly status: 'cancelled'; readonly reason: unknown };\n\n/**\n * Structurally settled framework work with cooperative cancellation.\n *\n * Cancelling aborts the frame and every attached descendant. The promise does\n * not settle until foreground work, descendants, and cleanup have responded.\n */\nexport interface TaskFrameExecution<T> extends Promise<T> {\n\t/** Signal inherited by the frame's context and attached descendants. */\n\treadonly signal: AbortSignal;\n\n\t/** Requests cooperative cancellation while preserving structural settlement. */\n\tcancel(reason?: unknown): void;\n}\n\n/** Work and settlement hooks for a framework-created task frame. */\nexport interface RunTaskFrameHooks<T> {\n\twork(context: TaskContext): T | Promise<T>;\n\tafterForeground?(outcome: TaskForegroundOutcome): void | Promise<void>;\n\tafterChildren?(outcome: TaskFrameOutcome<T>): void | Promise<void>;\n}\n\n/** Atomically reserved frame that must be run or released exactly once. */\nexport interface TaskFrameReservation extends Disposable {\n\trun<T>(work: (context: TaskContext) => T | Promise<T>): TaskFrameExecution<T>;\n\tcancel(reason?: unknown): void;\n}\n\n/** Captures the synchronously active opaque task frame. */\nexport function captureTaskFrame(): TaskFrameToken | undefined {\n\treturn currentTaskFrameRecord() as TaskFrameToken | undefined;\n}\n\n/**\n * Runs framework work in a structurally attached, cooperatively cancelable\n * task frame.\n */\nexport function runTaskFrame<T>(\n\toptions: RunTaskFrameOptions,\n\thooks: RunTaskFrameHooks<T>\n): TaskFrameExecution<T> {\n\treturn createTaskFrameExecution(options, hooks, false);\n}\n\n/** Creates the cancelable public execution around one internal frame. */\nfunction createTaskFrameExecution<T>(\n\toptions: RunTaskFrameOptions,\n\thooks: RunTaskFrameHooks<T>,\n\tparentReserved: boolean\n): TaskFrameExecution<T> {\n\tconst controller = new AbortController();\n\tconst execution = runTaskFrameInternal(options, hooks, parentReserved, controller);\n\tconst parent = options.detached\n\t\t? undefined\n\t\t: ((options.parent as TaskFrameRecord | undefined) ?? currentTaskFrameRecord());\n\tif (parent && !parentReserved && parent.producerOpen && !parent.settled)\n\t\tattachTaskFrameSettlement(parent, execution);\n\treturn exposeTaskFrameExecution(execution, controller);\n}\n\n/** Adds framework cancellation authority to a native settlement promise. */\nfunction exposeTaskFrameExecution<T>(\n\texecution: Promise<T>,\n\tcontroller: AbortController\n): TaskFrameExecution<T> {\n\tlet settled = false;\n\tvoid execution.then(\n\t\t() => {\n\t\t\tsettled = true;\n\t\t},\n\t\t() => {\n\t\t\tsettled = true;\n\t\t}\n\t);\n\treturn Object.defineProperties(execution, {\n\t\tsignal: {\n\t\t\tconfigurable: false,\n\t\t\tenumerable: true,\n\t\t\tvalue: controller.signal,\n\t\t\twritable: false\n\t\t},\n\t\tcancel: {\n\t\t\tconfigurable: false,\n\t\t\tenumerable: false,\n\t\t\tvalue(reason?: unknown) {\n\t\t\t\tif (!settled) controller.abort(reason);\n\t\t\t},\n\t\t\twritable: false\n\t\t}\n\t}) as TaskFrameExecution<T>;\n}\n\nasync function runTaskFrameInternal<T>(\n\toptions: RunTaskFrameOptions,\n\thooks: RunTaskFrameHooks<T>,\n\tparentReserved: boolean,\n\tcontroller: AbortController\n): Promise<T> {\n\tlet foregroundReported = false;\n\tlet childrenReported = false;\n\ttry {\n\t\tconst value = await executeTaskFrame(\n\t\t\t{\n\t\t\t\tparent: options.parent as TaskFrameRecord | undefined,\n\t\t\t\tparentReserved,\n\t\t\t\tcontroller,\n\t\t\t\tgeneration: options.generation,\n\t\t\t\tdetached: options.detached,\n\t\t\t\tkind: options.kind,\n\t\t\t\tlabel: options.label,\n\t\t\t\tpriority: options.priority,\n\t\t\t\treadiness: options.readiness\n\t\t\t},\n\t\t\tasync (context) => {\n\t\t\t\ttry {\n\t\t\t\t\tconst result = await hooks.work(context);\n\t\t\t\t\tforegroundReported = true;\n\t\t\t\t\tawait hooks.afterForeground?.({ status: 'ready' });\n\t\t\t\t\treturn result;\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (!foregroundReported) {\n\t\t\t\t\t\tforegroundReported = true;\n\t\t\t\t\t\tawait hooks.afterForeground?.(foregroundOutcome(controller.signal, error));\n\t\t\t\t\t}\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t\tchildrenReported = true;\n\t\tawait hooks.afterChildren?.({ status: 'fulfilled', value });\n\t\treturn value;\n\t} catch (error) {\n\t\tif (!foregroundReported) {\n\t\t\tforegroundReported = true;\n\t\t\tawait hooks.afterForeground?.(foregroundOutcome(controller.signal, error));\n\t\t}\n\t\tif (!childrenReported) {\n\t\t\tchildrenReported = true;\n\t\t\tawait hooks.afterChildren?.(structuralOutcome(controller.signal, error));\n\t\t}\n\t\tthrow error;\n\t}\n}\n\n/** Classifies foreground failure using the frame's cancellation authority. */\nfunction foregroundOutcome(signal: AbortSignal, error: unknown): TaskForegroundOutcome {\n\treturn signal.aborted || error instanceof TaskCancellation\n\t\t? { status: 'cancelled', reason: cancellationReason(signal, error) }\n\t\t: { status: 'rejected', error };\n}\n\n/** Classifies structural failure using the frame's cancellation authority. */\nfunction structuralOutcome<T>(signal: AbortSignal, error: unknown): TaskFrameOutcome<T> {\n\treturn error instanceof TaskCancellation\n\t\t? { status: 'cancelled', reason: cancellationReason(signal, error) }\n\t\t: { status: 'rejected', error };\n}\n\n/** Preserves the originating abort reason after runtime cancellation wrapping. */\nfunction cancellationReason(signal: AbortSignal, error: unknown): unknown {\n\tif (error instanceof TaskCancellation) return error.reason;\n\treturn signal.aborted ? signal.reason : error;\n}\n\n/** Reserves an attached child before handing work to an external scheduler. */\nexport function reserveTaskFrame(options: RunTaskFrameOptions): TaskFrameReservation {\n\tconst parent = (options.parent as TaskFrameRecord | undefined) ?? currentTaskFrameRecord();\n\tif (!parent) throw new Error('A task frame reservation requires an active or explicit parent');\n\tlet used = false;\n\tlet release!: () => void;\n\tconst placeholder = new Promise<void>((resolve) => {\n\t\trelease = resolve;\n\t});\n\tattachTaskFrameSettlement(parent, placeholder);\n\treturn {\n\t\trun<T>(work: (context: TaskContext) => T | Promise<T>): TaskFrameExecution<T> {\n\t\t\tif (used)\n\t\t\t\treturn rejectedTaskFrameExecution(new Error('Task frame reservation was already released'));\n\t\t\tused = true;\n\t\t\tconst execution = createTaskFrameExecution(\n\t\t\t\t{ ...options, parent: parent as unknown as TaskFrameToken },\n\t\t\t\t{ work },\n\t\t\t\ttrue\n\t\t\t);\n\t\t\t// Keep the atomic placeholder until the public execution, including\n\t\t\t// its structural finalizer, has settled.\n\t\t\tvoid execution.then(release, release);\n\t\t\treturn execution;\n\t\t},\n\t\tcancel() {\n\t\t\tif (used) return;\n\t\t\tused = true;\n\t\t\trelease();\n\t\t},\n\t\t[Symbol.dispose]() {\n\t\t\tif (used) return;\n\t\t\tused = true;\n\t\t\trelease();\n\t\t}\n\t};\n}\n\n/** Creates a settled execution for invalid reservation reuse. */\nfunction rejectedTaskFrameExecution<T>(error: unknown): TaskFrameExecution<T> {\n\tconst controller = new AbortController();\n\treturn exposeTaskFrameExecution(Promise.reject<T>(error), controller);\n}\n\n/** Restores a captured frame for one synchronous callback segment. */\nexport function runWithTaskFrame<T>(frame: TaskFrameToken, work: () => T): T {\n\treturn withTaskFrameRecord(frame as unknown as TaskFrameRecord, work);\n}\n\nexport {\n\tattachTaskProgressReporter,\n\ttaskProgressReceiverForHost\n} from '../tasks/progress-bindings.js';\nexport type { TaskProgressReceiver } from '../tasks/progress-receiver.js';\n"]}
|
|
@@ -10,4 +10,5 @@ export { taskMutation } from '../tasks/frame-runtime.js';
|
|
|
10
10
|
export { bindTaskForHost, defineTask, invokeTask } from '../tasks/runtime.js';
|
|
11
11
|
export { mutateTaskCollection, ownTaskResource, stageTaskMutation, taskAnimationFrame, taskAwait, taskFetch, taskIdleCallback, taskInterval, taskObserver, taskTimeout } from '../tasks/resources.js';
|
|
12
12
|
export { combineTaskSignal, withAbortSignal, withTaskSignal } from '../tasks/signals.js';
|
|
13
|
+
export { createTaskProgressReporter, registerTaskProgressReceiver } from '../tasks/progress-bindings.js';
|
|
13
14
|
//# sourceMappingURL=tasks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../../src/runtime/tasks.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAE9B,OAAO,EAAE,qCAAqC,EAAE,MAAM,oCAAoC,CAAC;AAC3F,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EACN,mCAAmC,EACnC,mCAAmC,EACnC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACN,uCAAuC,EACvC,mCAAmC,EACnC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EACN,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../../src/runtime/tasks.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAE9B,OAAO,EAAE,qCAAqC,EAAE,MAAM,oCAAoC,CAAC;AAC3F,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EACN,mCAAmC,EACnC,mCAAmC,EACnC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACN,uCAAuC,EACvC,mCAAmC,EACnC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EACN,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEzF,OAAO,EACN,0BAA0B,EAC1B,4BAA4B,EAC5B,MAAM,+BAA+B,CAAC"}
|
|
@@ -10,4 +10,5 @@ export { taskMutation } from '../tasks/frame-runtime.js';
|
|
|
10
10
|
export { bindTaskForHost, defineTask, invokeTask } from '../tasks/runtime.js';
|
|
11
11
|
export { mutateTaskCollection, ownTaskResource, stageTaskMutation, taskAnimationFrame, taskAwait, taskFetch, taskIdleCallback, taskInterval, taskObserver, taskTimeout } from '../tasks/resources.js';
|
|
12
12
|
export { combineTaskSignal, withAbortSignal, withTaskSignal } from '../tasks/signals.js';
|
|
13
|
+
export { createTaskProgressReporter, registerTaskProgressReceiver } from '../tasks/progress-bindings.js';
|
|
13
14
|
//# sourceMappingURL=tasks.js.map
|