@marko/runtime-tags 6.0.138 → 6.0.140
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/debug/dom.js +28 -21
- package/dist/debug/dom.mjs +28 -21
- package/dist/debug/html.js +5 -3
- package/dist/debug/html.mjs +5 -3
- package/dist/dom/resume.d.ts +1 -1
- package/dist/dom/signals.d.ts +5 -1
- package/dist/dom.d.ts +1 -1
- package/dist/dom.js +21 -15
- package/dist/dom.mjs +21 -15
- package/dist/html.js +5 -3
- package/dist/html.mjs +5 -3
- package/dist/translator/index.js +531 -497
- package/dist/translator/util/references.d.ts +22 -14
- package/dist/translator/util/sections.d.ts +0 -2
- package/dist/translator/util/signals.d.ts +2 -2
- package/dist/translator/util/translate-var.d.ts +0 -2
- package/package.json +1 -1
package/dist/debug/dom.js
CHANGED
|
@@ -71,6 +71,7 @@ __export(dom_exports, {
|
|
|
71
71
|
_for_to: () => _for_to,
|
|
72
72
|
_for_until: () => _for_until,
|
|
73
73
|
_hoist: () => _hoist,
|
|
74
|
+
_hoist_resume: () => _hoist_resume,
|
|
74
75
|
_html: () => _html,
|
|
75
76
|
_id: () => _id,
|
|
76
77
|
_if: () => _if,
|
|
@@ -656,19 +657,22 @@ function _el_read(value) {
|
|
|
656
657
|
}
|
|
657
658
|
return value;
|
|
658
659
|
}
|
|
659
|
-
function*
|
|
660
|
+
function* traverse(scope, path, i = path.length - 1) {
|
|
660
661
|
if (rendering) {
|
|
661
662
|
_hoist_read_error();
|
|
662
663
|
}
|
|
663
664
|
if (scope) {
|
|
664
665
|
if (Symbol.iterator in scope) {
|
|
665
|
-
for (const
|
|
666
|
-
yield*
|
|
666
|
+
for (const childScope of scope.values()) {
|
|
667
|
+
yield* traverse(childScope, path, i);
|
|
667
668
|
}
|
|
668
|
-
} else if (curIndex) {
|
|
669
|
-
yield* traverseAllHoisted(scope[path[curIndex]], path, curIndex - 1);
|
|
670
669
|
} else {
|
|
671
|
-
|
|
670
|
+
const item = scope[path[i]];
|
|
671
|
+
if (i) {
|
|
672
|
+
yield* traverse(item, path, i - 1);
|
|
673
|
+
} else {
|
|
674
|
+
yield typeof item === "function" ? item() : item;
|
|
675
|
+
}
|
|
672
676
|
}
|
|
673
677
|
}
|
|
674
678
|
}
|
|
@@ -676,11 +680,14 @@ function _hoist(...path) {
|
|
|
676
680
|
if (false)
|
|
677
681
|
path = path.map((p) => typeof p === "string" ? p : decodeAccessor(p));
|
|
678
682
|
return (scope) => {
|
|
679
|
-
const
|
|
680
|
-
|
|
681
|
-
return
|
|
683
|
+
const fn = () => traverse(scope, path).next().value;
|
|
684
|
+
fn[Symbol.iterator] = () => traverse(scope, path);
|
|
685
|
+
return fn;
|
|
682
686
|
};
|
|
683
687
|
}
|
|
688
|
+
function _hoist_resume(id, ...path) {
|
|
689
|
+
return _resume(id, _hoist(...path));
|
|
690
|
+
}
|
|
684
691
|
|
|
685
692
|
// src/dom/walker.ts
|
|
686
693
|
var walker = /* @__PURE__ */ document.createTreeWalker(document);
|
|
@@ -690,7 +697,6 @@ function walk(startNode, walkCodes, branch) {
|
|
|
690
697
|
}
|
|
691
698
|
function walkInternal(currentWalkIndex, walkCodes, scope) {
|
|
692
699
|
let value;
|
|
693
|
-
let id;
|
|
694
700
|
let storedMultiplier = 0;
|
|
695
701
|
let currentMultiplier = 0;
|
|
696
702
|
let currentScopeIndex = 0;
|
|
@@ -700,8 +706,7 @@ function walkInternal(currentWalkIndex, walkCodes, scope) {
|
|
|
700
706
|
storedMultiplier = 0;
|
|
701
707
|
if (value === 32 /* Get */) {
|
|
702
708
|
const node = walker.currentNode;
|
|
703
|
-
scope[
|
|
704
|
-
scope["Getter:" /* Getter */ + id] = () => node;
|
|
709
|
+
scope[true ? getDebugKey(currentScopeIndex++, node) : decodeAccessor2(currentScopeIndex++)] = node;
|
|
705
710
|
} else if (value === 37 /* Replace */ || value === 49 /* DynamicTagWithVar */) {
|
|
706
711
|
walker.currentNode.replaceWith(
|
|
707
712
|
walker.currentNode = scope[true ? getDebugKey(currentScopeIndex++, "#text") : decodeAccessor2(currentScopeIndex++)] = new Text()
|
|
@@ -888,11 +893,9 @@ function init(runtimeId = DEFAULT_RUNTIME_ID) {
|
|
|
888
893
|
const visitBranches = branchesEnabled && /* @__PURE__ */ ((branchScopesStack = [], branchStarts = [], orphanBranches = [], curBranchScopes) => {
|
|
889
894
|
return (branchId, branch, endedBranches, accessor, singleNode, parent = visit.parentNode, startVisit = visit, i = orphanBranches.length) => {
|
|
890
895
|
if (visitType !== "[" /* BranchStart */) {
|
|
891
|
-
visitScope[
|
|
896
|
+
visitScope[nextToken(
|
|
892
897
|
/* read accessor */
|
|
893
|
-
)] = /*
|
|
894
|
-
visitScope[lastToken] = visitType === ")" /* BranchEndOnlyChildInParent */ || visitType === "}" /* BranchEndSingleNodeOnlyChildInParent */ ? parent : visit
|
|
895
|
-
);
|
|
898
|
+
)] = visitType === ")" /* BranchEndOnlyChildInParent */ || visitType === "}" /* BranchEndSingleNodeOnlyChildInParent */ ? parent : visit;
|
|
896
899
|
accessor = "BranchScopes:" /* BranchScopes */ + lastToken;
|
|
897
900
|
singleNode = visitType !== "]" /* BranchEnd */ && visitType !== ")" /* BranchEndOnlyChildInParent */;
|
|
898
901
|
nextToken(
|
|
@@ -1005,7 +1008,9 @@ function init(runtimeId = DEFAULT_RUNTIME_ID) {
|
|
|
1005
1008
|
/* read scope id */
|
|
1006
1009
|
));
|
|
1007
1010
|
if (visitType === "*" /* Node */) {
|
|
1008
|
-
visitScope[
|
|
1011
|
+
visitScope[nextToken(
|
|
1012
|
+
/* read accessor */
|
|
1013
|
+
)] = visit.previousSibling;
|
|
1009
1014
|
} else if (branchesEnabled) {
|
|
1010
1015
|
visitBranches();
|
|
1011
1016
|
}
|
|
@@ -1054,10 +1059,12 @@ function _var_resume(id, signal) {
|
|
|
1054
1059
|
return signal;
|
|
1055
1060
|
}
|
|
1056
1061
|
function _el(id, accessor) {
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1062
|
+
if (true) {
|
|
1063
|
+
return _resume(id, (scope) => () => _el_read(scope[accessor]));
|
|
1064
|
+
} else {
|
|
1065
|
+
accessor = decodeAccessor3(accessor);
|
|
1066
|
+
return _resume(id, (scope) => () => scope[accessor]);
|
|
1067
|
+
}
|
|
1061
1068
|
}
|
|
1062
1069
|
|
|
1063
1070
|
// src/dom/controllable.ts
|
package/dist/debug/dom.mjs
CHANGED
|
@@ -550,19 +550,22 @@ function _el_read(value) {
|
|
|
550
550
|
}
|
|
551
551
|
return value;
|
|
552
552
|
}
|
|
553
|
-
function*
|
|
553
|
+
function* traverse(scope, path, i = path.length - 1) {
|
|
554
554
|
if (rendering) {
|
|
555
555
|
_hoist_read_error();
|
|
556
556
|
}
|
|
557
557
|
if (scope) {
|
|
558
558
|
if (Symbol.iterator in scope) {
|
|
559
|
-
for (const
|
|
560
|
-
yield*
|
|
559
|
+
for (const childScope of scope.values()) {
|
|
560
|
+
yield* traverse(childScope, path, i);
|
|
561
561
|
}
|
|
562
|
-
} else if (curIndex) {
|
|
563
|
-
yield* traverseAllHoisted(scope[path[curIndex]], path, curIndex - 1);
|
|
564
562
|
} else {
|
|
565
|
-
|
|
563
|
+
const item = scope[path[i]];
|
|
564
|
+
if (i) {
|
|
565
|
+
yield* traverse(item, path, i - 1);
|
|
566
|
+
} else {
|
|
567
|
+
yield typeof item === "function" ? item() : item;
|
|
568
|
+
}
|
|
566
569
|
}
|
|
567
570
|
}
|
|
568
571
|
}
|
|
@@ -570,11 +573,14 @@ function _hoist(...path) {
|
|
|
570
573
|
if (false)
|
|
571
574
|
path = path.map((p) => typeof p === "string" ? p : decodeAccessor(p));
|
|
572
575
|
return (scope) => {
|
|
573
|
-
const
|
|
574
|
-
|
|
575
|
-
return
|
|
576
|
+
const fn = () => traverse(scope, path).next().value;
|
|
577
|
+
fn[Symbol.iterator] = () => traverse(scope, path);
|
|
578
|
+
return fn;
|
|
576
579
|
};
|
|
577
580
|
}
|
|
581
|
+
function _hoist_resume(id, ...path) {
|
|
582
|
+
return _resume(id, _hoist(...path));
|
|
583
|
+
}
|
|
578
584
|
|
|
579
585
|
// src/dom/walker.ts
|
|
580
586
|
var walker = /* @__PURE__ */ document.createTreeWalker(document);
|
|
@@ -584,7 +590,6 @@ function walk(startNode, walkCodes, branch) {
|
|
|
584
590
|
}
|
|
585
591
|
function walkInternal(currentWalkIndex, walkCodes, scope) {
|
|
586
592
|
let value;
|
|
587
|
-
let id;
|
|
588
593
|
let storedMultiplier = 0;
|
|
589
594
|
let currentMultiplier = 0;
|
|
590
595
|
let currentScopeIndex = 0;
|
|
@@ -594,8 +599,7 @@ function walkInternal(currentWalkIndex, walkCodes, scope) {
|
|
|
594
599
|
storedMultiplier = 0;
|
|
595
600
|
if (value === 32 /* Get */) {
|
|
596
601
|
const node = walker.currentNode;
|
|
597
|
-
scope[
|
|
598
|
-
scope["Getter:" /* Getter */ + id] = () => node;
|
|
602
|
+
scope[true ? getDebugKey(currentScopeIndex++, node) : decodeAccessor2(currentScopeIndex++)] = node;
|
|
599
603
|
} else if (value === 37 /* Replace */ || value === 49 /* DynamicTagWithVar */) {
|
|
600
604
|
walker.currentNode.replaceWith(
|
|
601
605
|
walker.currentNode = scope[true ? getDebugKey(currentScopeIndex++, "#text") : decodeAccessor2(currentScopeIndex++)] = new Text()
|
|
@@ -782,11 +786,9 @@ function init(runtimeId = DEFAULT_RUNTIME_ID) {
|
|
|
782
786
|
const visitBranches = branchesEnabled && /* @__PURE__ */ ((branchScopesStack = [], branchStarts = [], orphanBranches = [], curBranchScopes) => {
|
|
783
787
|
return (branchId, branch, endedBranches, accessor, singleNode, parent = visit.parentNode, startVisit = visit, i = orphanBranches.length) => {
|
|
784
788
|
if (visitType !== "[" /* BranchStart */) {
|
|
785
|
-
visitScope[
|
|
789
|
+
visitScope[nextToken(
|
|
786
790
|
/* read accessor */
|
|
787
|
-
)] = /*
|
|
788
|
-
visitScope[lastToken] = visitType === ")" /* BranchEndOnlyChildInParent */ || visitType === "}" /* BranchEndSingleNodeOnlyChildInParent */ ? parent : visit
|
|
789
|
-
);
|
|
791
|
+
)] = visitType === ")" /* BranchEndOnlyChildInParent */ || visitType === "}" /* BranchEndSingleNodeOnlyChildInParent */ ? parent : visit;
|
|
790
792
|
accessor = "BranchScopes:" /* BranchScopes */ + lastToken;
|
|
791
793
|
singleNode = visitType !== "]" /* BranchEnd */ && visitType !== ")" /* BranchEndOnlyChildInParent */;
|
|
792
794
|
nextToken(
|
|
@@ -899,7 +901,9 @@ function init(runtimeId = DEFAULT_RUNTIME_ID) {
|
|
|
899
901
|
/* read scope id */
|
|
900
902
|
));
|
|
901
903
|
if (visitType === "*" /* Node */) {
|
|
902
|
-
visitScope[
|
|
904
|
+
visitScope[nextToken(
|
|
905
|
+
/* read accessor */
|
|
906
|
+
)] = visit.previousSibling;
|
|
903
907
|
} else if (branchesEnabled) {
|
|
904
908
|
visitBranches();
|
|
905
909
|
}
|
|
@@ -948,10 +952,12 @@ function _var_resume(id, signal) {
|
|
|
948
952
|
return signal;
|
|
949
953
|
}
|
|
950
954
|
function _el(id, accessor) {
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
+
if (true) {
|
|
956
|
+
return _resume(id, (scope) => () => _el_read(scope[accessor]));
|
|
957
|
+
} else {
|
|
958
|
+
accessor = decodeAccessor3(accessor);
|
|
959
|
+
return _resume(id, (scope) => () => scope[accessor]);
|
|
960
|
+
}
|
|
955
961
|
}
|
|
956
962
|
|
|
957
963
|
// src/dom/controllable.ts
|
|
@@ -2574,6 +2580,7 @@ export {
|
|
|
2574
2580
|
_for_to,
|
|
2575
2581
|
_for_until,
|
|
2576
2582
|
_hoist,
|
|
2583
|
+
_hoist_resume,
|
|
2577
2584
|
_html,
|
|
2578
2585
|
_id,
|
|
2579
2586
|
_if,
|
package/dist/debug/html.js
CHANGED
|
@@ -3190,9 +3190,9 @@ var _dynamic_tag = (scopeId, accessor, tag, inputOrArgs, content, inputIsArgs, s
|
|
|
3190
3190
|
branchId,
|
|
3191
3191
|
true ? `#${renderer}/0` : "a",
|
|
3192
3192
|
renderContent,
|
|
3193
|
-
|
|
3193
|
+
void 0,
|
|
3194
3194
|
0,
|
|
3195
|
-
|
|
3195
|
+
void 0,
|
|
3196
3196
|
serializeReason
|
|
3197
3197
|
);
|
|
3198
3198
|
}
|
|
@@ -3224,7 +3224,9 @@ var _dynamic_tag = (scopeId, accessor, tag, inputOrArgs, content, inputIsArgs, s
|
|
|
3224
3224
|
const render2 = () => {
|
|
3225
3225
|
if (renderer) {
|
|
3226
3226
|
try {
|
|
3227
|
-
_set_serialize_reason(
|
|
3227
|
+
_set_serialize_reason(
|
|
3228
|
+
shouldResume && inputOrArgs !== void 0 ? 1 : 0
|
|
3229
|
+
);
|
|
3228
3230
|
return inputIsArgs ? renderer(...inputOrArgs) : renderer(
|
|
3229
3231
|
content ? { ...inputOrArgs, content } : inputOrArgs
|
|
3230
3232
|
);
|
package/dist/debug/html.mjs
CHANGED
|
@@ -3097,9 +3097,9 @@ var _dynamic_tag = (scopeId, accessor, tag, inputOrArgs, content, inputIsArgs, s
|
|
|
3097
3097
|
branchId,
|
|
3098
3098
|
true ? `#${renderer}/0` : "a",
|
|
3099
3099
|
renderContent,
|
|
3100
|
-
|
|
3100
|
+
void 0,
|
|
3101
3101
|
0,
|
|
3102
|
-
|
|
3102
|
+
void 0,
|
|
3103
3103
|
serializeReason
|
|
3104
3104
|
);
|
|
3105
3105
|
}
|
|
@@ -3131,7 +3131,9 @@ var _dynamic_tag = (scopeId, accessor, tag, inputOrArgs, content, inputIsArgs, s
|
|
|
3131
3131
|
const render2 = () => {
|
|
3132
3132
|
if (renderer) {
|
|
3133
3133
|
try {
|
|
3134
|
-
_set_serialize_reason(
|
|
3134
|
+
_set_serialize_reason(
|
|
3135
|
+
shouldResume && inputOrArgs !== void 0 ? 1 : 0
|
|
3136
|
+
);
|
|
3135
3137
|
return inputIsArgs ? renderer(...inputOrArgs) : renderer(
|
|
3136
3138
|
content ? { ...inputOrArgs, content } : inputOrArgs
|
|
3137
3139
|
);
|
package/dist/dom/resume.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type AwaitCounter, type EncodedAccessor, type Scope } from "../common/types";
|
|
2
|
-
import type
|
|
2
|
+
import { type Signal } from "./signals";
|
|
3
3
|
type Resumes = (number | Scope)[];
|
|
4
4
|
type ResumeFn = (ctx: object) => Resumes;
|
|
5
5
|
export interface Renders {
|
package/dist/dom/signals.d.ts
CHANGED
|
@@ -29,4 +29,8 @@ export declare const _var_change: (scope: Scope, value: unknown, name?: string)
|
|
|
29
29
|
export declare function _id({ [AccessorProp.Global]: $global }: Scope): string;
|
|
30
30
|
export declare function _script(id: string, fn: (scope: Scope) => void): (scope: Scope) => void;
|
|
31
31
|
export declare function _el_read<T>(value: T): T;
|
|
32
|
-
|
|
32
|
+
type Hoistable<T> = () => T;
|
|
33
|
+
type Hoisted<T> = Hoistable<T> & Iterable<T>;
|
|
34
|
+
export declare function _hoist<T>(...path: Accessor[]): (scope: Scope) => Hoisted<T>;
|
|
35
|
+
export declare function _hoist_resume<T>(id: string, ...path: Accessor[]): (scope: Scope) => Hoisted<T>;
|
|
36
|
+
export {};
|
package/dist/dom.d.ts
CHANGED
|
@@ -11,5 +11,5 @@ export { _on } from "./dom/event";
|
|
|
11
11
|
export { _enable_catch as _enable_catch, run } from "./dom/queue";
|
|
12
12
|
export { _content, _content_closures, _content_resume } from "./dom/renderer";
|
|
13
13
|
export { _el, _resume, _var_resume, init } from "./dom/resume";
|
|
14
|
-
export { _child_setup, _closure, _closure_get, _const, _el_read, _for_closure, _hoist, _id, _if_closure, _let, _or, _return, _return_change, _script, _var, _var_change, } from "./dom/signals";
|
|
14
|
+
export { _child_setup, _closure, _closure_get, _const, _el_read, _for_closure, _hoist, _hoist_resume, _id, _if_closure, _let, _or, _return, _return_change, _script, _var, _var_change, } from "./dom/signals";
|
|
15
15
|
export { _template } from "./dom/template";
|
package/dist/dom.js
CHANGED
|
@@ -68,6 +68,7 @@ __export(dom_exports, {
|
|
|
68
68
|
_for_to: () => _for_to,
|
|
69
69
|
_for_until: () => _for_until,
|
|
70
70
|
_hoist: () => _hoist,
|
|
71
|
+
_hoist_resume: () => _hoist_resume,
|
|
71
72
|
_html: () => _html,
|
|
72
73
|
_id: () => _id,
|
|
73
74
|
_if: () => _if,
|
|
@@ -412,19 +413,25 @@ function _script(id, fn) {
|
|
|
412
413
|
function _el_read(value) {
|
|
413
414
|
return rendering && void 0, value;
|
|
414
415
|
}
|
|
415
|
-
function*
|
|
416
|
+
function* traverse(scope, path, i = path.length - 1) {
|
|
416
417
|
if (scope)
|
|
417
418
|
if (Symbol.iterator in scope)
|
|
418
|
-
for (let
|
|
419
|
-
yield*
|
|
420
|
-
else
|
|
419
|
+
for (let childScope of scope.values())
|
|
420
|
+
yield* traverse(childScope, path, i);
|
|
421
|
+
else {
|
|
422
|
+
let item = scope[path[i]];
|
|
423
|
+
i ? yield* traverse(item, path, i - 1) : yield typeof item == "function" ? item() : item;
|
|
424
|
+
}
|
|
421
425
|
}
|
|
422
426
|
function _hoist(...path) {
|
|
423
427
|
return path = path.map((p) => typeof p == "string" ? p : decodeAccessor(p)), (scope) => {
|
|
424
|
-
let
|
|
425
|
-
return
|
|
428
|
+
let fn = () => traverse(scope, path).next().value;
|
|
429
|
+
return fn[Symbol.iterator] = () => traverse(scope, path), fn;
|
|
426
430
|
};
|
|
427
431
|
}
|
|
432
|
+
function _hoist_resume(id, ...path) {
|
|
433
|
+
return _resume(id, _hoist(...path));
|
|
434
|
+
}
|
|
428
435
|
|
|
429
436
|
// src/dom/walker.ts
|
|
430
437
|
var walker = /* @__PURE__ */ document.createTreeWalker(document);
|
|
@@ -432,11 +439,11 @@ function walk(startNode, walkCodes, branch) {
|
|
|
432
439
|
walker.currentNode = startNode, walkInternal(0, walkCodes, branch);
|
|
433
440
|
}
|
|
434
441
|
function walkInternal(currentWalkIndex, walkCodes, scope) {
|
|
435
|
-
let value,
|
|
442
|
+
let value, storedMultiplier = 0, currentMultiplier = 0, currentScopeIndex = 0;
|
|
436
443
|
for (; currentWalkIndex < walkCodes.length; )
|
|
437
444
|
if (value = walkCodes.charCodeAt(currentWalkIndex++), currentMultiplier = storedMultiplier, storedMultiplier = 0, value === 32 /* Get */) {
|
|
438
445
|
let node = walker.currentNode;
|
|
439
|
-
scope[
|
|
446
|
+
scope[decodeAccessor(currentScopeIndex++)] = node;
|
|
440
447
|
} else if (value === 37 /* Replace */ || value === 49 /* DynamicTagWithVar */)
|
|
441
448
|
walker.currentNode.replaceWith(
|
|
442
449
|
walker.currentNode = scope[decodeAccessor(currentScopeIndex++)] = new Text()
|
|
@@ -553,11 +560,9 @@ function init(runtimeId = "M") {
|
|
|
553
560
|
let render = resumeRender[renderId] = renders2[renderId] || renders2(renderId), walk2 = render.w, scopeLookup = render.s = {}, getScope = (id) => scopeLookup[id] ||= { L: +id }, serializeContext = {
|
|
554
561
|
_: registeredValues
|
|
555
562
|
}, visitBranches = branchesEnabled && /* @__PURE__ */ ((branchScopesStack = [], branchStarts = [], orphanBranches = [], curBranchScopes) => (branchId, branch, endedBranches, accessor, singleNode, parent = visit.parentNode, startVisit = visit, i = orphanBranches.length) => {
|
|
556
|
-
for (visitType !== "[" /* BranchStart */ && (visitScope[
|
|
563
|
+
for (visitType !== "[" /* BranchStart */ && (visitScope[nextToken(
|
|
557
564
|
/* read accessor */
|
|
558
|
-
)] = /*
|
|
559
|
-
visitScope[lastToken] = visitType === ")" /* BranchEndOnlyChildInParent */ || visitType === "}" /* BranchEndSingleNodeOnlyChildInParent */ ? parent : visit
|
|
560
|
-
), accessor = "A" /* BranchScopes */ + lastToken, singleNode = visitType !== "]" /* BranchEnd */ && visitType !== ")" /* BranchEndOnlyChildInParent */, nextToken(
|
|
565
|
+
)] = visitType === ")" /* BranchEndOnlyChildInParent */ || visitType === "}" /* BranchEndSingleNodeOnlyChildInParent */ ? parent : visit, accessor = "A" /* BranchScopes */ + lastToken, singleNode = visitType !== "]" /* BranchEnd */ && visitType !== ")" /* BranchEndOnlyChildInParent */, nextToken(
|
|
561
566
|
/* read optional first branchId */
|
|
562
567
|
)); branchId = +lastToken; ) {
|
|
563
568
|
if ((endedBranches ||= []).push(
|
|
@@ -593,7 +598,9 @@ function init(runtimeId = "M") {
|
|
|
593
598
|
for (visit of visits = render.v)
|
|
594
599
|
lastTokenIndex = render.i.length, visitText = visit.data, visitType = visitText[lastTokenIndex++], visitScope = getScope(nextToken(
|
|
595
600
|
/* read scope id */
|
|
596
|
-
)), visitType === "*" /* Node */ ? visitScope[
|
|
601
|
+
)), visitType === "*" /* Node */ ? visitScope[nextToken(
|
|
602
|
+
/* read accessor */
|
|
603
|
+
)] = visit.previousSibling : branchesEnabled && visitBranches();
|
|
597
604
|
return visits.length = resumes.length = 0, effects;
|
|
598
605
|
}, render.w = () => {
|
|
599
606
|
walk2(), runResumeEffects(render);
|
|
@@ -630,8 +637,7 @@ function _var_resume(id, signal) {
|
|
|
630
637
|
return _resume(id, (scope) => (value) => signal(scope, value)), signal;
|
|
631
638
|
}
|
|
632
639
|
function _el(id, accessor) {
|
|
633
|
-
|
|
634
|
-
return _resume(id, (scope) => () => scope[getterAccessor]());
|
|
640
|
+
return accessor = decodeAccessor(accessor), _resume(id, (scope) => () => scope[accessor]);
|
|
635
641
|
}
|
|
636
642
|
|
|
637
643
|
// src/dom/controllable.ts
|
package/dist/dom.mjs
CHANGED
|
@@ -309,19 +309,25 @@ function _script(id, fn) {
|
|
|
309
309
|
function _el_read(value) {
|
|
310
310
|
return rendering && void 0, value;
|
|
311
311
|
}
|
|
312
|
-
function*
|
|
312
|
+
function* traverse(scope, path, i = path.length - 1) {
|
|
313
313
|
if (scope)
|
|
314
314
|
if (Symbol.iterator in scope)
|
|
315
|
-
for (let
|
|
316
|
-
yield*
|
|
317
|
-
else
|
|
315
|
+
for (let childScope of scope.values())
|
|
316
|
+
yield* traverse(childScope, path, i);
|
|
317
|
+
else {
|
|
318
|
+
let item = scope[path[i]];
|
|
319
|
+
i ? yield* traverse(item, path, i - 1) : yield typeof item == "function" ? item() : item;
|
|
320
|
+
}
|
|
318
321
|
}
|
|
319
322
|
function _hoist(...path) {
|
|
320
323
|
return path = path.map((p) => typeof p == "string" ? p : decodeAccessor(p)), (scope) => {
|
|
321
|
-
let
|
|
322
|
-
return
|
|
324
|
+
let fn = () => traverse(scope, path).next().value;
|
|
325
|
+
return fn[Symbol.iterator] = () => traverse(scope, path), fn;
|
|
323
326
|
};
|
|
324
327
|
}
|
|
328
|
+
function _hoist_resume(id, ...path) {
|
|
329
|
+
return _resume(id, _hoist(...path));
|
|
330
|
+
}
|
|
325
331
|
|
|
326
332
|
// src/dom/walker.ts
|
|
327
333
|
var walker = /* @__PURE__ */ document.createTreeWalker(document);
|
|
@@ -329,11 +335,11 @@ function walk(startNode, walkCodes, branch) {
|
|
|
329
335
|
walker.currentNode = startNode, walkInternal(0, walkCodes, branch);
|
|
330
336
|
}
|
|
331
337
|
function walkInternal(currentWalkIndex, walkCodes, scope) {
|
|
332
|
-
let value,
|
|
338
|
+
let value, storedMultiplier = 0, currentMultiplier = 0, currentScopeIndex = 0;
|
|
333
339
|
for (; currentWalkIndex < walkCodes.length; )
|
|
334
340
|
if (value = walkCodes.charCodeAt(currentWalkIndex++), currentMultiplier = storedMultiplier, storedMultiplier = 0, value === 32 /* Get */) {
|
|
335
341
|
let node = walker.currentNode;
|
|
336
|
-
scope[
|
|
342
|
+
scope[decodeAccessor(currentScopeIndex++)] = node;
|
|
337
343
|
} else if (value === 37 /* Replace */ || value === 49 /* DynamicTagWithVar */)
|
|
338
344
|
walker.currentNode.replaceWith(
|
|
339
345
|
walker.currentNode = scope[decodeAccessor(currentScopeIndex++)] = new Text()
|
|
@@ -450,11 +456,9 @@ function init(runtimeId = "M") {
|
|
|
450
456
|
let render = resumeRender[renderId] = renders2[renderId] || renders2(renderId), walk2 = render.w, scopeLookup = render.s = {}, getScope = (id) => scopeLookup[id] ||= { L: +id }, serializeContext = {
|
|
451
457
|
_: registeredValues
|
|
452
458
|
}, visitBranches = branchesEnabled && /* @__PURE__ */ ((branchScopesStack = [], branchStarts = [], orphanBranches = [], curBranchScopes) => (branchId, branch, endedBranches, accessor, singleNode, parent = visit.parentNode, startVisit = visit, i = orphanBranches.length) => {
|
|
453
|
-
for (visitType !== "[" /* BranchStart */ && (visitScope[
|
|
459
|
+
for (visitType !== "[" /* BranchStart */ && (visitScope[nextToken(
|
|
454
460
|
/* read accessor */
|
|
455
|
-
)] = /*
|
|
456
|
-
visitScope[lastToken] = visitType === ")" /* BranchEndOnlyChildInParent */ || visitType === "}" /* BranchEndSingleNodeOnlyChildInParent */ ? parent : visit
|
|
457
|
-
), accessor = "A" /* BranchScopes */ + lastToken, singleNode = visitType !== "]" /* BranchEnd */ && visitType !== ")" /* BranchEndOnlyChildInParent */, nextToken(
|
|
461
|
+
)] = visitType === ")" /* BranchEndOnlyChildInParent */ || visitType === "}" /* BranchEndSingleNodeOnlyChildInParent */ ? parent : visit, accessor = "A" /* BranchScopes */ + lastToken, singleNode = visitType !== "]" /* BranchEnd */ && visitType !== ")" /* BranchEndOnlyChildInParent */, nextToken(
|
|
458
462
|
/* read optional first branchId */
|
|
459
463
|
)); branchId = +lastToken; ) {
|
|
460
464
|
if ((endedBranches ||= []).push(
|
|
@@ -490,7 +494,9 @@ function init(runtimeId = "M") {
|
|
|
490
494
|
for (visit of visits = render.v)
|
|
491
495
|
lastTokenIndex = render.i.length, visitText = visit.data, visitType = visitText[lastTokenIndex++], visitScope = getScope(nextToken(
|
|
492
496
|
/* read scope id */
|
|
493
|
-
)), visitType === "*" /* Node */ ? visitScope[
|
|
497
|
+
)), visitType === "*" /* Node */ ? visitScope[nextToken(
|
|
498
|
+
/* read accessor */
|
|
499
|
+
)] = visit.previousSibling : branchesEnabled && visitBranches();
|
|
494
500
|
return visits.length = resumes.length = 0, effects;
|
|
495
501
|
}, render.w = () => {
|
|
496
502
|
walk2(), runResumeEffects(render);
|
|
@@ -527,8 +533,7 @@ function _var_resume(id, signal) {
|
|
|
527
533
|
return _resume(id, (scope) => (value) => signal(scope, value)), signal;
|
|
528
534
|
}
|
|
529
535
|
function _el(id, accessor) {
|
|
530
|
-
|
|
531
|
-
return _resume(id, (scope) => () => scope[getterAccessor]());
|
|
536
|
+
return accessor = decodeAccessor(accessor), _resume(id, (scope) => () => scope[accessor]);
|
|
532
537
|
}
|
|
533
538
|
|
|
534
539
|
// src/dom/controllable.ts
|
|
@@ -1598,6 +1603,7 @@ export {
|
|
|
1598
1603
|
_for_to,
|
|
1599
1604
|
_for_until,
|
|
1600
1605
|
_hoist,
|
|
1606
|
+
_hoist_resume,
|
|
1601
1607
|
_html,
|
|
1602
1608
|
_id,
|
|
1603
1609
|
_if,
|
package/dist/html.js
CHANGED
|
@@ -2001,9 +2001,9 @@ var voidElementsReg = /^(?:area|b(?:ase|r)|col|embed|hr|i(?:mg|nput)|link|meta|p
|
|
|
2001
2001
|
branchId,
|
|
2002
2002
|
"a",
|
|
2003
2003
|
renderContent,
|
|
2004
|
-
|
|
2004
|
+
void 0,
|
|
2005
2005
|
0,
|
|
2006
|
-
|
|
2006
|
+
void 0,
|
|
2007
2007
|
serializeReason
|
|
2008
2008
|
);
|
|
2009
2009
|
}
|
|
@@ -2021,7 +2021,9 @@ var voidElementsReg = /^(?:area|b(?:ase|r)|col|embed|hr|i(?:mg|nput)|link|meta|p
|
|
|
2021
2021
|
let render2 = () => {
|
|
2022
2022
|
if (renderer)
|
|
2023
2023
|
try {
|
|
2024
|
-
return _set_serialize_reason(
|
|
2024
|
+
return _set_serialize_reason(
|
|
2025
|
+
shouldResume && inputOrArgs !== void 0 ? 1 : 0
|
|
2026
|
+
), inputIsArgs ? renderer(...inputOrArgs) : renderer(
|
|
2025
2027
|
content ? { ...inputOrArgs, content } : inputOrArgs
|
|
2026
2028
|
);
|
|
2027
2029
|
} finally {
|
package/dist/html.mjs
CHANGED
|
@@ -1911,9 +1911,9 @@ var voidElementsReg = /^(?:area|b(?:ase|r)|col|embed|hr|i(?:mg|nput)|link|meta|p
|
|
|
1911
1911
|
branchId,
|
|
1912
1912
|
"a",
|
|
1913
1913
|
renderContent,
|
|
1914
|
-
|
|
1914
|
+
void 0,
|
|
1915
1915
|
0,
|
|
1916
|
-
|
|
1916
|
+
void 0,
|
|
1917
1917
|
serializeReason
|
|
1918
1918
|
);
|
|
1919
1919
|
}
|
|
@@ -1931,7 +1931,9 @@ var voidElementsReg = /^(?:area|b(?:ase|r)|col|embed|hr|i(?:mg|nput)|link|meta|p
|
|
|
1931
1931
|
let render2 = () => {
|
|
1932
1932
|
if (renderer)
|
|
1933
1933
|
try {
|
|
1934
|
-
return _set_serialize_reason(
|
|
1934
|
+
return _set_serialize_reason(
|
|
1935
|
+
shouldResume && inputOrArgs !== void 0 ? 1 : 0
|
|
1936
|
+
), inputIsArgs ? renderer(...inputOrArgs) : renderer(
|
|
1935
1937
|
content ? { ...inputOrArgs, content } : inputOrArgs
|
|
1936
1938
|
);
|
|
1937
1939
|
} finally {
|