@alloy-js/core 0.22.0-dev.1 → 0.22.0-dev.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/dist/src/components/Block.d.ts.map +1 -1
- package/dist/src/components/Block.js +24 -7
- package/dist/src/components/Block.js.map +1 -1
- package/dist/src/components/Indent.d.ts.map +1 -1
- package/dist/src/components/Indent.js +2 -1
- package/dist/src/components/Indent.js.map +1 -1
- package/dist/src/components/Prose.d.ts.map +1 -1
- package/dist/src/components/Prose.js +2 -1
- package/dist/src/components/Prose.js.map +1 -1
- package/dist/src/content-slot.d.ts +51 -0
- package/dist/src/content-slot.d.ts.map +1 -0
- package/dist/src/content-slot.js +69 -0
- package/dist/src/content-slot.js.map +1 -0
- package/dist/src/content-slot.test.d.ts +2 -0
- package/dist/src/content-slot.test.d.ts.map +1 -0
- package/dist/src/content-slot.test.js +57 -0
- package/dist/src/content-slot.test.js.map +1 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/reactivity.d.ts +15 -1
- package/dist/src/reactivity.d.ts.map +1 -1
- package/dist/src/reactivity.js +20 -8
- package/dist/src/reactivity.js.map +1 -1
- package/dist/src/render.d.ts +24 -0
- package/dist/src/render.d.ts.map +1 -1
- package/dist/src/render.js +98 -2
- package/dist/src/render.js.map +1 -1
- package/dist/src/symbols/decl.d.ts +8 -0
- package/dist/src/symbols/decl.d.ts.map +1 -0
- package/dist/src/symbols/decl.js +22 -0
- package/dist/src/symbols/decl.js.map +1 -0
- package/dist/src/symbols/index.d.ts +1 -0
- package/dist/src/symbols/index.d.ts.map +1 -1
- package/dist/src/symbols/index.js +1 -0
- package/dist/src/symbols/index.js.map +1 -1
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/src/utils.js +212 -15
- package/dist/src/utils.js.map +1 -1
- package/dist/test/components/block.test.d.ts.map +1 -1
- package/dist/test/components/block.test.js +18 -1
- package/dist/test/components/block.test.js.map +1 -1
- package/dist/test/components/list.test.d.ts.map +1 -1
- package/dist/test/components/list.test.js +80 -1
- package/dist/test/components/list.test.js.map +1 -1
- package/dist/test/control-flow/for.test.js +32 -2
- package/dist/test/control-flow/for.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/components/Block.tsx +18 -6
- package/src/components/Indent.tsx +4 -2
- package/src/components/Prose.tsx +2 -1
- package/src/content-slot.test.tsx +65 -0
- package/src/content-slot.tsx +91 -0
- package/src/index.ts +1 -0
- package/src/reactivity.ts +38 -5
- package/src/render.ts +112 -3
- package/src/symbols/decl.ts +25 -0
- package/src/symbols/index.ts +1 -0
- package/src/utils.tsx +240 -16
- package/temp/api.json +550 -4
- package/test/components/block.test.tsx +21 -1
- package/test/components/list.test.tsx +76 -1
- package/test/control-flow/for.test.tsx +43 -2
package/dist/src/render.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isRef } from "@vue/reactivity";
|
|
1
|
+
import { isRef, ref } from "@vue/reactivity";
|
|
2
2
|
import { doc } from "prettier";
|
|
3
3
|
import prettier from "prettier/doc.js";
|
|
4
4
|
import { useContext } from "./context.js";
|
|
@@ -126,16 +126,43 @@ export function createRenderTreeHook(subtree, hooks) {
|
|
|
126
126
|
export function isPrintHook(type) {
|
|
127
127
|
return typeof type === "object" && type !== null && printHookTag in type;
|
|
128
128
|
}
|
|
129
|
+
/**
|
|
130
|
+
* Render a component tree to source directories and files. Will ensure that
|
|
131
|
+
* all non-async scheduled jobs are completed before returning. If async jobs
|
|
132
|
+
* are found, an error will be thrown. Use `renderAsync` when asynchronous
|
|
133
|
+
* jobs are expected.
|
|
134
|
+
*/
|
|
129
135
|
export function render(children, options) {
|
|
130
136
|
const tree = renderTree(children);
|
|
131
137
|
flushJobs();
|
|
132
138
|
return sourceFilesForTree(tree, options);
|
|
133
139
|
}
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Render a component tree to source directories and files. Will ensure that all
|
|
143
|
+
* scheduled jobs are completed before returning.
|
|
144
|
+
*/
|
|
134
145
|
export async function renderAsync(children, options) {
|
|
135
146
|
const tree = renderTree(children);
|
|
147
|
+
return sourceFilesForTreeAsync(tree, options);
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* Convert a rendered text tree to source directories and files. Will ensure that
|
|
152
|
+
* all scheduled jobs are completed, including async ones.
|
|
153
|
+
*/
|
|
154
|
+
export async function sourceFilesForTreeAsync(tree, options) {
|
|
155
|
+
// if we await here, we ensure all reactive updates are flushed.
|
|
156
|
+
// sourceFilesForTree will flush again, but won't find anything, because tree
|
|
157
|
+
// printing won't schedule anything.
|
|
136
158
|
await flushJobsAsync();
|
|
137
159
|
return sourceFilesForTree(tree, options);
|
|
138
160
|
}
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* Convert a rendered text tree to source directories and files. Will ensure
|
|
164
|
+
* that all scheduled jobs are completed before returning.
|
|
165
|
+
*/
|
|
139
166
|
export function sourceFilesForTree(tree, options) {
|
|
140
167
|
let rootDirectory = undefined;
|
|
141
168
|
collectSourceFiles(undefined, tree);
|
|
@@ -229,10 +256,66 @@ function renderWorker(node, children) {
|
|
|
229
256
|
appendChild(node, children);
|
|
230
257
|
}
|
|
231
258
|
}
|
|
259
|
+
function contentAdded() {
|
|
260
|
+
const context = getContext();
|
|
261
|
+
context.childrenWithContent++;
|
|
262
|
+
}
|
|
263
|
+
export function notifyContentState() {
|
|
264
|
+
untrack(() => {
|
|
265
|
+
const startContext = getContext();
|
|
266
|
+
if (startContext.childrenWithContent === 0) {
|
|
267
|
+
if (startContext.isEmpty.value === true) {
|
|
268
|
+
// it was already empty, no work to do.
|
|
269
|
+
return;
|
|
270
|
+
}
|
|
271
|
+
if (startContext.isEmpty) {
|
|
272
|
+
startContext.isEmpty.value = true;
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
// otherwise we need to decrement the content counts up the tree.
|
|
276
|
+
let current = startContext.owner;
|
|
277
|
+
while (current) {
|
|
278
|
+
if (current.childrenWithContent === 0) {
|
|
279
|
+
break;
|
|
280
|
+
}
|
|
281
|
+
current.childrenWithContent--;
|
|
282
|
+
if (current.isEmpty) {
|
|
283
|
+
current.isEmpty.value = true;
|
|
284
|
+
}
|
|
285
|
+
current = current.owner;
|
|
286
|
+
}
|
|
287
|
+
} else {
|
|
288
|
+
if (startContext.isEmpty.value === false) {
|
|
289
|
+
// it was already non-empty, no work to do.
|
|
290
|
+
return;
|
|
291
|
+
}
|
|
292
|
+
if (startContext.isEmpty && startContext.isEmpty.value) {
|
|
293
|
+
startContext.isEmpty.value = false;
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
// otherwise we need to increment the content counts up the tree.
|
|
297
|
+
let current = startContext.owner;
|
|
298
|
+
while (current) {
|
|
299
|
+
current.childrenWithContent++;
|
|
300
|
+
if (current.childrenWithContent > 1) {
|
|
301
|
+
// This isn't the first content so we have no work to do
|
|
302
|
+
break;
|
|
303
|
+
}
|
|
304
|
+
if (current.isEmpty && current.isEmpty.value) {
|
|
305
|
+
current.isEmpty.value = false;
|
|
306
|
+
}
|
|
307
|
+
current = current.owner;
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
});
|
|
311
|
+
}
|
|
232
312
|
function appendChild(node, rawChild) {
|
|
233
313
|
trace(TracePhase.render.appendChild, () => debugPrintChild(rawChild));
|
|
234
314
|
const child = normalizeChild(rawChild);
|
|
235
315
|
if (typeof child === "string") {
|
|
316
|
+
if (child !== "") {
|
|
317
|
+
contentAdded();
|
|
318
|
+
}
|
|
236
319
|
node.push(child);
|
|
237
320
|
} else {
|
|
238
321
|
const cache = getElementCache();
|
|
@@ -248,6 +331,7 @@ function appendChild(node, rawChild) {
|
|
|
248
331
|
renderWorker(newNode, children);
|
|
249
332
|
node.push(newNode);
|
|
250
333
|
cache.set(child, newNode);
|
|
334
|
+
notifyContentState();
|
|
251
335
|
});
|
|
252
336
|
} else if (isIntrinsicElement(child)) {
|
|
253
337
|
trace(TracePhase.render.appendChild, () => "IntrinsicElement: " + debugPrintChild(child));
|
|
@@ -345,6 +429,8 @@ function appendChild(node, rawChild) {
|
|
|
345
429
|
effect(() => {
|
|
346
430
|
trace(TracePhase.render.appendChild, () => "Component: " + debugPrintChild(child));
|
|
347
431
|
const context = getContext();
|
|
432
|
+
context.childrenWithContent = 0;
|
|
433
|
+
context.isEmpty ??= ref(true);
|
|
348
434
|
if (context) context.componentOwner = child;
|
|
349
435
|
const componentRoot = [];
|
|
350
436
|
pushStack(child.component, child.props);
|
|
@@ -352,7 +438,8 @@ function appendChild(node, rawChild) {
|
|
|
352
438
|
popStack();
|
|
353
439
|
node.push(componentRoot);
|
|
354
440
|
cache.set(child, componentRoot);
|
|
355
|
-
|
|
441
|
+
notifyContentState();
|
|
442
|
+
trace(TracePhase.render.appendChild, () => "Component done: " + debugPrintChild(child) + ", empty: " + context.isEmpty.value);
|
|
356
443
|
});
|
|
357
444
|
} else if (typeof child === "function") {
|
|
358
445
|
trace(TracePhase.render.appendChild, () => "Memo: " + child.toString());
|
|
@@ -363,10 +450,14 @@ function appendChild(node, rawChild) {
|
|
|
363
450
|
while (typeof res === "function" && !isComponentCreator(res)) {
|
|
364
451
|
res = res();
|
|
365
452
|
}
|
|
453
|
+
const context = getContext();
|
|
454
|
+
context.childrenWithContent = 0;
|
|
455
|
+
context.isEmpty ??= ref(true);
|
|
366
456
|
const newNodes = [];
|
|
367
457
|
renderWorker(newNodes, res);
|
|
368
458
|
node[index] = newNodes;
|
|
369
459
|
cache.set(child, newNodes);
|
|
460
|
+
notifyContentState();
|
|
370
461
|
return newNodes;
|
|
371
462
|
});
|
|
372
463
|
} else {
|
|
@@ -432,6 +523,11 @@ const defaultPrintTreeOptions = {
|
|
|
432
523
|
printWidth: 80,
|
|
433
524
|
tabWidth: 2
|
|
434
525
|
};
|
|
526
|
+
|
|
527
|
+
/**
|
|
528
|
+
* Convert a rendered text tree to a string. Will ensure that the scheduler is
|
|
529
|
+
* empty before printing.
|
|
530
|
+
*/
|
|
435
531
|
export function printTree(tree, options) {
|
|
436
532
|
options = {
|
|
437
533
|
...defaultPrintTreeOptions,
|
package/dist/src/render.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isRef","doc","prettier","useContext","SourceFileContext","shouldDebug","effect","getContext","getElementCache","isCustomContext","root","untrack","isRefkeyable","toRefkey","isComponentCreator","isRenderableObject","RENDERABLE","isIntrinsicElement","flushJobs","flushJobsAsync","trace","TracePhase","builders","align","breakParent","dedent","dedentToRoot","fill","group","hardline","indent","indentIfBreak","line","lineSuffix","lineSuffixBoundary","literalline","markAsRoot","softline","ifBreak","nodesToContext","WeakMap","getContextForRenderNode","node","get","printHookTag","Symbol","createRenderTreeHook","subtree","hooks","isPrintHook","type","render","children","options","tree","renderTree","sourceFilesForTree","renderAsync","rootDirectory","undefined","collectSourceFiles","Error","currentDirectory","Array","isArray","context","recurse","meta","directory","kind","path","contents","push","sourceFile","filetype","printTree","printWidth","printOptions","tabWidth","useTabs","insertFinalNewLine","copyFile","sourcePath","cwd","child","rootElem","renderWorker","e","printRenderStack","worker","dumpChildren","set","flat","Infinity","appendChild","rawChild","debugPrintChild","normalizeChild","cache","has","useCustomContext","newNode","formatHookWithChildren","command","print","props","formatHook","name","groupId","negate","id","shouldBreak","width","string","flatContents","componentOwner","componentRoot","pushStack","component","popStack","toString","index","length","renderEffect","res","newNodes","map","value","refkey","sfContext","reference","bind","String","join","JSON","stringify","defaultPrintTreeOptions","Object","fromEntries","entries","filter","_","v","d","printTreeWorker","result","printer","printDocToString","formatted","endsWith","normalizedNode","split","flatMap","array","renderStack","pop","console","error","i","inspectProps","key","safeValue"],"sources":["../../src/render.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["isRef","ref","doc","prettier","useContext","SourceFileContext","shouldDebug","effect","getContext","getElementCache","isCustomContext","root","untrack","isRefkeyable","toRefkey","isComponentCreator","isRenderableObject","RENDERABLE","isIntrinsicElement","flushJobs","flushJobsAsync","trace","TracePhase","builders","align","breakParent","dedent","dedentToRoot","fill","group","hardline","indent","indentIfBreak","line","lineSuffix","lineSuffixBoundary","literalline","markAsRoot","softline","ifBreak","nodesToContext","WeakMap","getContextForRenderNode","node","get","printHookTag","Symbol","createRenderTreeHook","subtree","hooks","isPrintHook","type","render","children","options","tree","renderTree","sourceFilesForTree","renderAsync","sourceFilesForTreeAsync","rootDirectory","undefined","collectSourceFiles","Error","currentDirectory","Array","isArray","context","recurse","meta","directory","kind","path","contents","push","sourceFile","filetype","printTree","printWidth","printOptions","tabWidth","useTabs","insertFinalNewLine","copyFile","sourcePath","cwd","child","rootElem","renderWorker","e","printRenderStack","worker","dumpChildren","set","flat","Infinity","appendChild","contentAdded","childrenWithContent","notifyContentState","startContext","isEmpty","value","current","owner","rawChild","debugPrintChild","normalizeChild","cache","has","useCustomContext","newNode","formatHookWithChildren","command","print","props","formatHook","name","groupId","negate","id","shouldBreak","width","string","flatContents","componentOwner","componentRoot","pushStack","component","popStack","toString","index","length","renderEffect","res","newNodes","map","refkey","sfContext","reference","bind","String","join","JSON","stringify","defaultPrintTreeOptions","Object","fromEntries","entries","filter","_","v","d","printTreeWorker","result","printer","printDocToString","formatted","endsWith","normalizedNode","split","flatMap","array","renderStack","pop","console","error","i","inspectProps","key","safeValue"],"sources":["../../src/render.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Namekey } from "../refkey.js";
|
|
2
|
+
/**
|
|
3
|
+
* Create a declaration in the current scope with the given namekey. Only works
|
|
4
|
+
* with basic scopes. Import `decl` from a specific language library for
|
|
5
|
+
* declaring language-specific symbols.
|
|
6
|
+
*/
|
|
7
|
+
export declare function decl(namekey: Namekey): import("../runtime/component.js").ComponentCreator<{}>;
|
|
8
|
+
//# sourceMappingURL=decl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decl.d.ts","sourceRoot":"","sources":["../../../src/symbols/decl.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAKvC;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,OAAO,0DAYpC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { toRef } from "@vue/reactivity";
|
|
2
|
+
import { useScope } from "../context/scope.js";
|
|
3
|
+
import { createComponent } from "../runtime/component.js";
|
|
4
|
+
import { BasicScope } from "./basic-scope.js";
|
|
5
|
+
import { BasicSymbol } from "./basic-symbol.js";
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Create a declaration in the current scope with the given namekey. Only works
|
|
9
|
+
* with basic scopes. Import `decl` from a specific language library for
|
|
10
|
+
* declaring language-specific symbols.
|
|
11
|
+
*/
|
|
12
|
+
export function decl(namekey) {
|
|
13
|
+
return createComponent(() => {
|
|
14
|
+
const currentScope = useScope();
|
|
15
|
+
if (!(currentScope instanceof BasicScope)) {
|
|
16
|
+
throw new Error(`Cannot declare symbol in non-basic scope: ${currentScope.constructor.name}. Use a language-specific 'decl' function instead.`);
|
|
17
|
+
}
|
|
18
|
+
const symbol = new BasicSymbol(namekey, currentScope.symbols);
|
|
19
|
+
return toRef(symbol, "name");
|
|
20
|
+
}, {});
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=decl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["toRef","useScope","createComponent","BasicScope","BasicSymbol","decl","namekey","currentScope","Error","constructor","name","symbol","symbols"],"sources":["../../../src/symbols/decl.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAK,QAAQ,iBAAiB;AACvC,SAASC,QAAQ,QAAQ,qBAAqB;AAE9C,SAASC,eAAe,QAAQ,yBAAyB;AACzD,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,WAAW,QAAQ,mBAAmB;;AAE/C;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,IAAIA,CAACC,OAAgB,EAAE;EACrC,OAAOJ,eAAe,CAAC,MAAM;IAC3B,MAAMK,YAAY,GAAGN,QAAQ,CAAC,CAAC;IAC/B,IAAI,EAAEM,YAAY,YAAYJ,UAAU,CAAC,EAAE;MACzC,MAAM,IAAIK,KAAK,CACb,6CAA6CD,YAAY,CAACE,WAAW,CAACC,IAAI,oDAC5E,CAAC;IACH;IACA,MAAMC,MAAM,GAAG,IAAIP,WAAW,CAACE,OAAO,EAAEC,YAAY,CAACK,OAAO,CAAC;IAE7D,OAAOZ,KAAK,CAACW,MAAM,EAAE,MAAM,CAAC;EAC9B,CAAC,EAAE,CAAC,CAAC,CAAC;AACR","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/symbols/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/symbols/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../../src/symbols/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc,kBAAkB;AAChC,cAAc,mBAAmB;AACjC,cAAc,mBAAmB;AACjC,cAAc,mBAAmB;AACjC,cAAc,oBAAoB;AAClC,cAAc,kBAAkB;AAChC,cAAc,kBAAkB;AAChC,cAAc,mBAAmB","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../src/symbols/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc,kBAAkB;AAChC,cAAc,mBAAmB;AACjC,cAAc,WAAW;AACzB,cAAc,mBAAmB;AACjC,cAAc,mBAAmB;AACjC,cAAc,oBAAoB;AAClC,cAAc,kBAAkB;AAChC,cAAc,kBAAkB;AAChC,cAAc,mBAAmB","ignoreList":[]}
|
package/dist/src/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAEL,aAAa,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.tsx"],"names":[],"mappings":"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"}
|
package/dist/src/utils.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { memo as _$memo, createIntrinsic as _$createIntrinsic } from "@alloy-js/core/jsx-runtime";
|
|
2
|
-
import { toRaw } from "@vue/reactivity";
|
|
3
|
-
import { createCustomContext, memo, onCleanup, root, untrack } from "./reactivity.js";
|
|
2
|
+
import { ref, toRaw } from "@vue/reactivity";
|
|
3
|
+
import { createCustomContext, effect, getContext, memo, onCleanup, root, untrack } from "./reactivity.js";
|
|
4
4
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
5
5
|
|
|
6
6
|
import { isComponentCreator } from "./runtime/component.js";
|
|
@@ -45,17 +45,152 @@ const defaultJoinOptions = {
|
|
|
45
45
|
*/
|
|
46
46
|
|
|
47
47
|
export function mapJoin(src, cb, rawOptions = {}) {
|
|
48
|
+
/**
|
|
49
|
+
* Strategy overview:
|
|
50
|
+
* - Initial render: collect a stable array of mapper outputs, cache
|
|
51
|
+
* per-index slot metadata, and create joiner `Ref`s for the gaps between
|
|
52
|
+
* items so the rendered list can be mutated without recreating siblings.
|
|
53
|
+
* - List mutations: diff the incoming iterable against slot metadata, reuse
|
|
54
|
+
* entries with matching keys, recycle disposers past the change point, and
|
|
55
|
+
* prune caches while recalculating first/last non-empty indices so we only
|
|
56
|
+
* edit joiners that are affected by the change.
|
|
57
|
+
* - Content transitions: each child renders inside a custom context that
|
|
58
|
+
* exposes an `isEmpty` flag; when a child gains or loses content we update
|
|
59
|
+
* neighbor joiner refs so separators appear and disappear reactively
|
|
60
|
+
* without re-running the mapper.
|
|
61
|
+
*/
|
|
48
62
|
const options = {
|
|
49
63
|
...defaultJoinOptions,
|
|
50
64
|
...rawOptions
|
|
51
65
|
};
|
|
52
66
|
const ender = options.ender === true ? options.joiner : options.ender || undefined;
|
|
53
|
-
const
|
|
54
|
-
|
|
67
|
+
const itemSlots = [];
|
|
68
|
+
function getOrCreateSlot(index) {
|
|
69
|
+
let slot = itemSlots[index];
|
|
70
|
+
if (!slot) {
|
|
71
|
+
slot = {
|
|
72
|
+
isEmpty: ref(true)
|
|
73
|
+
};
|
|
74
|
+
itemSlots[index] = slot;
|
|
75
|
+
}
|
|
76
|
+
return slot;
|
|
77
|
+
}
|
|
78
|
+
const firstNonEmptyIndex = ref(-1);
|
|
79
|
+
const lastNonEmptyIndex = ref(-1);
|
|
55
80
|
const mapped = [];
|
|
81
|
+
let enderMemo;
|
|
82
|
+
|
|
83
|
+
// Creates a ref placeholder that stores the joiner node for a boundary.
|
|
84
|
+
function createJoinerRef() {
|
|
85
|
+
return ref(undefined);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
// Makes sure we have a joiner ref at the requested boundary index.
|
|
89
|
+
function ensureJoinerSlot(index) {
|
|
90
|
+
if (index === 0 || options.joiner === undefined) {
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
const slot = getOrCreateSlot(index);
|
|
94
|
+
slot.joiner ??= createJoinerRef();
|
|
95
|
+
mapped[index * 2 - 1] = slot.joiner;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
// Sets the joiner ref based on whether neighboring children have content.
|
|
99
|
+
function updateJoinerForIndex(index) {
|
|
100
|
+
if (index === 0 || options.joiner === undefined) {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
const slot = itemSlots[index];
|
|
104
|
+
const joinerRef = slot?.joiner;
|
|
105
|
+
if (!joinerRef) {
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
if (index >= itemSlots.length) {
|
|
109
|
+
if (joinerRef.value !== undefined) {
|
|
110
|
+
joinerRef.value = undefined;
|
|
111
|
+
}
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
const previousNonEmpty = findPrevNonEmpty(index - 1);
|
|
115
|
+
const rightSlot = itemSlots[index];
|
|
116
|
+
const shouldShow = previousNonEmpty !== -1 && rightSlot !== undefined && rightSlot.isEmpty.value === false;
|
|
117
|
+
const newValue = shouldShow ? options.joiner : undefined;
|
|
118
|
+
if (joinerRef.value !== newValue) {
|
|
119
|
+
joinerRef.value = newValue;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
// Finds the next child that is not empty starting at or after `from`.
|
|
124
|
+
function findNextNonEmpty(from) {
|
|
125
|
+
for (let i = Math.max(from, 0); i < itemSlots.length; i++) {
|
|
126
|
+
const slot = itemSlots[i];
|
|
127
|
+
if (slot && slot.isEmpty.value === false) {
|
|
128
|
+
return i;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
return -1;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
// Finds the previous child that is not empty before or at `from`.
|
|
135
|
+
function findPrevNonEmpty(from) {
|
|
136
|
+
for (let i = Math.min(from, itemSlots.length - 1); i >= 0; i--) {
|
|
137
|
+
const slot = itemSlots[i];
|
|
138
|
+
if (slot && slot.isEmpty.value === false) {
|
|
139
|
+
return i;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
return -1;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
// Recomputes the cached first and last non-empty indices after changes.
|
|
146
|
+
function recalculateNonEmptyBounds() {
|
|
147
|
+
const first = findNextNonEmpty(0);
|
|
148
|
+
firstNonEmptyIndex.value = first;
|
|
149
|
+
lastNonEmptyIndex.value = first === -1 ? -1 : findPrevNonEmpty(itemSlots.length - 1);
|
|
150
|
+
refreshJoiners();
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
// Syncs all joiner refs after the structural shape of the list updates.
|
|
154
|
+
function refreshJoiners() {
|
|
155
|
+
if (options.joiner === undefined) {
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
for (let i = 1; i < itemSlots.length; i++) {
|
|
159
|
+
const slot = itemSlots[i];
|
|
160
|
+
if (slot?.joiner) {
|
|
161
|
+
updateJoinerForIndex(i);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
// Applies empty-state bookkeeping for an item and updates neighbor joiners.
|
|
167
|
+
function applyEmptyStateChange(index, isEmpty, wasEmpty) {
|
|
168
|
+
if (wasEmpty === isEmpty) {
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
if (isEmpty) {
|
|
172
|
+
if (firstNonEmptyIndex.value === index) {
|
|
173
|
+
firstNonEmptyIndex.value = findNextNonEmpty(index + 1);
|
|
174
|
+
}
|
|
175
|
+
if (lastNonEmptyIndex.value === index) {
|
|
176
|
+
lastNonEmptyIndex.value = findPrevNonEmpty(index - 1);
|
|
177
|
+
}
|
|
178
|
+
} else {
|
|
179
|
+
if (firstNonEmptyIndex.value === -1 || index < firstNonEmptyIndex.value) {
|
|
180
|
+
firstNonEmptyIndex.value = index;
|
|
181
|
+
}
|
|
182
|
+
if (index > lastNonEmptyIndex.value) {
|
|
183
|
+
lastNonEmptyIndex.value = index;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
updateJoinerForIndex(index);
|
|
187
|
+
updateJoinerForIndex(index + 1);
|
|
188
|
+
}
|
|
56
189
|
let previousItemsLen = 0;
|
|
57
190
|
onCleanup(() => {
|
|
58
|
-
for (const
|
|
191
|
+
for (const slot of itemSlots) {
|
|
192
|
+
slot.disposer?.();
|
|
193
|
+
}
|
|
59
194
|
});
|
|
60
195
|
return () => {
|
|
61
196
|
const itemsSource = src();
|
|
@@ -65,6 +200,10 @@ export function mapJoin(src, cb, rawOptions = {}) {
|
|
|
65
200
|
if (options.skipFalsy) {
|
|
66
201
|
items = items.filter(item => item !== null && item !== undefined && typeof item !== "boolean");
|
|
67
202
|
}
|
|
203
|
+
const context = getContext();
|
|
204
|
+
if (context) {
|
|
205
|
+
context.isEmpty ??= ref(true);
|
|
206
|
+
}
|
|
68
207
|
// this is important to access here in reactive context so we are
|
|
69
208
|
// notified of new items from reactives.
|
|
70
209
|
const itemsLen = items.length;
|
|
@@ -72,57 +211,115 @@ export function mapJoin(src, cb, rawOptions = {}) {
|
|
|
72
211
|
const mapper = getMapperFunction(itemsSourceRaw);
|
|
73
212
|
return untrack(() => {
|
|
74
213
|
let startIndex = 0;
|
|
75
|
-
for (; startIndex < itemsLen && startIndex <
|
|
76
|
-
|
|
214
|
+
for (; startIndex < itemsLen && startIndex < itemSlots.length; startIndex++) {
|
|
215
|
+
const slot = itemSlots[startIndex];
|
|
216
|
+
if (!slot || !compare(items[startIndex], slot.item)) {
|
|
77
217
|
break;
|
|
78
218
|
}
|
|
79
219
|
}
|
|
80
220
|
if (startIndex > 0 && startIndex < itemsLen) {
|
|
81
221
|
// need to update the previous joiner (might be ender or absent)
|
|
82
|
-
|
|
222
|
+
ensureJoinerSlot(startIndex);
|
|
83
223
|
}
|
|
84
224
|
for (; startIndex < itemsLen; startIndex++) {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
225
|
+
const slot = getOrCreateSlot(startIndex);
|
|
226
|
+
slot.item = items[startIndex];
|
|
227
|
+
const emptyFlag = slot.isEmpty;
|
|
228
|
+
if (slot.disposer) {
|
|
229
|
+
if (emptyFlag.value === false) {
|
|
230
|
+
if (context) {
|
|
231
|
+
context.childrenWithContent--;
|
|
232
|
+
}
|
|
233
|
+
emptyFlag.value = true;
|
|
234
|
+
applyEmptyStateChange(startIndex, true, false);
|
|
235
|
+
}
|
|
236
|
+
slot.disposer();
|
|
88
237
|
}
|
|
89
238
|
const cleanupIndex = startIndex;
|
|
90
239
|
mapped[startIndex * 2] = createCustomContext(cb => {
|
|
91
240
|
return root(disposer => {
|
|
92
|
-
|
|
241
|
+
const nestedContext = getContext();
|
|
242
|
+
const isEmptyFlag = nestedContext.isEmpty;
|
|
243
|
+
slot.disposer = disposer;
|
|
93
244
|
disposer();
|
|
245
|
+
effect(prev => {
|
|
246
|
+
const isEmpty = isEmptyFlag.value;
|
|
247
|
+
return untrack(() => {
|
|
248
|
+
if (slot.isEmpty.value !== isEmpty) {
|
|
249
|
+
slot.isEmpty.value = isEmpty;
|
|
250
|
+
}
|
|
251
|
+
const wasEmpty = prev ?? true;
|
|
252
|
+
applyEmptyStateChange(cleanupIndex, isEmpty, wasEmpty);
|
|
253
|
+
return isEmpty;
|
|
254
|
+
});
|
|
255
|
+
});
|
|
94
256
|
cb(mapper(items[cleanupIndex], cleanupIndex));
|
|
95
257
|
});
|
|
96
258
|
});
|
|
97
|
-
|
|
259
|
+
ensureJoinerSlot(startIndex);
|
|
98
260
|
}
|
|
99
261
|
mapped.length = startIndex * 2;
|
|
100
|
-
mapped
|
|
262
|
+
if (mapped.length > 0) {
|
|
263
|
+
if (ender !== undefined) {
|
|
264
|
+
enderMemo ??= memo(() => lastNonEmptyIndex.value === -1 ? undefined : ender);
|
|
265
|
+
mapped[mapped.length - 1] = enderMemo;
|
|
266
|
+
} else {
|
|
267
|
+
mapped[mapped.length - 1] = undefined;
|
|
268
|
+
}
|
|
269
|
+
}
|
|
101
270
|
for (; startIndex < previousItemsLen; startIndex++) {
|
|
102
|
-
|
|
271
|
+
const slot = itemSlots[startIndex];
|
|
272
|
+
if (!slot) {
|
|
273
|
+
continue;
|
|
274
|
+
}
|
|
275
|
+
slot.disposer?.();
|
|
276
|
+
if (slot.isEmpty.value === false) {
|
|
277
|
+
if (context) {
|
|
278
|
+
context.childrenWithContent--;
|
|
279
|
+
}
|
|
280
|
+
slot.isEmpty.value = true;
|
|
281
|
+
applyEmptyStateChange(startIndex, true, false);
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
if (previousItemsLen !== itemsLen) {
|
|
285
|
+
itemSlots.length = itemsLen;
|
|
286
|
+
recalculateNonEmptyBounds();
|
|
103
287
|
}
|
|
104
288
|
previousItemsLen = itemsLen;
|
|
105
289
|
return mapped;
|
|
106
290
|
});
|
|
107
291
|
};
|
|
292
|
+
|
|
293
|
+
// Chooses the equality function based on the collection type in use.
|
|
108
294
|
function getCompareFunction(itemsSource) {
|
|
109
295
|
return Array.isArray(itemsSource) || isIterable(itemsSource) ? compareArray : compareMap;
|
|
110
296
|
}
|
|
297
|
+
|
|
298
|
+
// Selects the mapper signature to match the collection type in use.
|
|
111
299
|
function getMapperFunction(itemsSource) {
|
|
112
300
|
return Array.isArray(itemsSource) || itemsSource instanceof Set || isIterable(itemsSource) ? mapArray : mapMap;
|
|
113
301
|
}
|
|
302
|
+
// Strict equality check for array-like collections.
|
|
114
303
|
function compareArray(elem1, elem2) {
|
|
115
304
|
return elem1 === elem2;
|
|
116
305
|
}
|
|
306
|
+
|
|
307
|
+
// Equality check for map entries that includes key and value.
|
|
117
308
|
function compareMap(record1, record2) {
|
|
118
309
|
return record1[0] === record2[0] && record1[1] === record2[1];
|
|
119
310
|
}
|
|
311
|
+
|
|
312
|
+
// Invokes the user mapper for array-like collections.
|
|
120
313
|
function mapArray(item, index) {
|
|
121
314
|
return cb(item, index);
|
|
122
315
|
}
|
|
316
|
+
|
|
317
|
+
// Invokes the user mapper for map collections.
|
|
123
318
|
function mapMap(item, index) {
|
|
124
319
|
return cb(item[0], item[1], index);
|
|
125
320
|
}
|
|
321
|
+
|
|
322
|
+
// Runtime type guard for iterables returned from custom sources.
|
|
126
323
|
function isIterable(x) {
|
|
127
324
|
return typeof x.next === "function";
|
|
128
325
|
}
|