mono-jsx 0.9.8 → 0.9.10
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/dom/jsx-runtime.mjs +12 -6
- package/jsx-runtime.mjs +1 -1
- package/package.json +1 -1
- package/types/dom/index.d.ts +2 -2
package/dom/jsx-runtime.mjs
CHANGED
|
@@ -316,6 +316,7 @@ var render = (scope, child, root, abortSignal) => {
|
|
|
316
316
|
switch (typeof child) {
|
|
317
317
|
case "boolean":
|
|
318
318
|
case "undefined":
|
|
319
|
+
case "symbol":
|
|
319
320
|
return;
|
|
320
321
|
case "object":
|
|
321
322
|
if (child === null) {
|
|
@@ -330,7 +331,7 @@ var render = (scope, child, root, abortSignal) => {
|
|
|
330
331
|
list.clear();
|
|
331
332
|
};
|
|
332
333
|
reactive.reactive((v) => {
|
|
333
|
-
if (!Array.isArray(v)) {
|
|
334
|
+
if (!Array.isArray(v) || isVNode(v)) {
|
|
334
335
|
v = [v];
|
|
335
336
|
}
|
|
336
337
|
let nodes = [];
|
|
@@ -360,20 +361,21 @@ var render = (scope, child, root, abortSignal) => {
|
|
|
360
361
|
return;
|
|
361
362
|
}
|
|
362
363
|
if (child instanceof Reactive) {
|
|
363
|
-
let insertMark = new InsertMark(root, abortSignal);
|
|
364
364
|
let ac;
|
|
365
|
+
let insertMark = new InsertMark(root, abortSignal);
|
|
365
366
|
child.reactive((value) => {
|
|
366
|
-
|
|
367
|
-
|
|
367
|
+
ac?.abort();
|
|
368
|
+
if (Array.isArray(value) || child instanceof ReactiveList || child instanceof Reactive) {
|
|
368
369
|
ac = new AbortController();
|
|
369
370
|
insertMark.insert(...renderToFragment(scope, value, ac.signal).childNodes);
|
|
370
371
|
} else {
|
|
372
|
+
const vtype = typeof value;
|
|
371
373
|
insertMark.setText(
|
|
372
|
-
|
|
374
|
+
vtype === "boolean" || vtype === "undefined" || vtype === "symbol" || value === null ? "" : String(value)
|
|
373
375
|
);
|
|
374
376
|
}
|
|
375
|
-
onAbort(abortSignal, () => ac?.abort());
|
|
376
377
|
}, abortSignal);
|
|
378
|
+
onAbort(abortSignal, () => ac?.abort());
|
|
377
379
|
return;
|
|
378
380
|
}
|
|
379
381
|
if (isVNode(child)) {
|
|
@@ -566,6 +568,10 @@ var render = (scope, child, root, abortSignal) => {
|
|
|
566
568
|
}
|
|
567
569
|
return;
|
|
568
570
|
}
|
|
571
|
+
if (Array.isArray(child)) {
|
|
572
|
+
renderChildren(scope, child, root, abortSignal);
|
|
573
|
+
return;
|
|
574
|
+
}
|
|
569
575
|
}
|
|
570
576
|
const textNode = createTextNode(String(child));
|
|
571
577
|
root.appendChild(textNode);
|
package/jsx-runtime.mjs
CHANGED
|
@@ -176,7 +176,7 @@ var $vnode = /* @__PURE__ */ Symbol.for("jsx.vnode");
|
|
|
176
176
|
var $setup = /* @__PURE__ */ Symbol.for("mono.setup");
|
|
177
177
|
|
|
178
178
|
// version.ts
|
|
179
|
-
var VERSION = "0.9.
|
|
179
|
+
var VERSION = "0.9.9";
|
|
180
180
|
|
|
181
181
|
// render.ts
|
|
182
182
|
var FunctionIdGenerator = class extends Map {
|
package/package.json
CHANGED
package/types/dom/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
import { ChildPrimitiveType } from "../jsx.d.ts";
|
|
2
2
|
|
|
3
3
|
export interface Atom<T> {
|
|
4
4
|
get(): T;
|
|
5
5
|
set(value: T | ((prev: T) => T)): void;
|
|
6
|
-
map(callback: (value: T extends (infer V)[] ? V : T, index: number) =>
|
|
6
|
+
map(callback: (value: T extends (infer V)[] ? V : T, index: number) => ChildPrimitiveType): ChildPrimitiveType[];
|
|
7
7
|
ref(): T;
|
|
8
8
|
ref<V>(callback: (value: T) => V): V;
|
|
9
9
|
}
|