marko 6.0.5 → 6.0.7
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 +1 -1
- package/dist/debug/dom.mjs +1 -1
- package/dist/debug/html.js +48 -39
- package/dist/debug/html.mjs +48 -39
- package/dist/dom.js +1 -1
- package/dist/dom.mjs +1 -1
- package/dist/html/writer.d.ts +1 -1
- package/dist/html.js +39 -32
- package/dist/html.mjs +39 -32
- package/dist/translator/index.js +4 -1
- package/package.json +1 -1
package/dist/debug/dom.js
CHANGED
package/dist/debug/dom.mjs
CHANGED
package/dist/debug/html.js
CHANGED
@@ -245,7 +245,7 @@ var WALKER_RUNTIME_CODE = true ? (
|
|
245
245
|
129 /* NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_ELEMENT */,
|
246
246
|
),
|
247
247
|
) =>
|
248
|
-
(self[runtimeId][renderId] = {
|
248
|
+
doc = (self[runtimeId][renderId] = {
|
249
249
|
i: prefix,
|
250
250
|
d: doc,
|
251
251
|
l: lookup,
|
@@ -253,7 +253,7 @@ var WALKER_RUNTIME_CODE = true ? (
|
|
253
253
|
x() {},
|
254
254
|
w(node, op, id) {
|
255
255
|
while ((node = walker.nextNode())) {
|
256
|
-
|
256
|
+
doc.x(
|
257
257
|
(op =
|
258
258
|
(op = node.data) &&
|
259
259
|
!op.indexOf(prefix) &&
|
@@ -270,7 +270,7 @@ var WALKER_RUNTIME_CODE = true ? (
|
|
270
270
|
})),
|
271
271
|
self[runtimeId]
|
272
272
|
))`
|
273
|
-
) : `(e=>(self[e]=(l,
|
273
|
+
) : `(e=>(self[e]=(l,d=e+l,f=d.length,o={},n=[],s=document,t=s.createTreeWalker(s,129))=>s=self[e][l]={i:d,d:s,l:o,v:n,x(){},w(e,l,x){for(;e=t.nextNode();)s.x(l=(l=e.data)&&!l.indexOf(d)&&(o[x=l.slice(f+1)]=e,l[f]),x,e),l>"#"&&n.push(e)}},self[e]))`;
|
274
274
|
var REORDER_RUNTIME_CODE = true ? (
|
275
275
|
/* js */
|
276
276
|
`((runtime) => {
|
@@ -2088,22 +2088,27 @@ function ensureScopeWithId(scopeId) {
|
|
2088
2088
|
function $global() {
|
2089
2089
|
return $chunk.boundary.state.$global;
|
2090
2090
|
}
|
2091
|
-
function fork(scopeId, accessor, promise, content) {
|
2091
|
+
function fork(scopeId, accessor, promise, content, serializeMarker) {
|
2092
|
+
const resumeMarker = serializeMarker !== 0;
|
2092
2093
|
if (!isPromise(promise)) {
|
2093
|
-
|
2094
|
-
|
2095
|
-
$chunk.
|
2096
|
-
|
2097
|
-
|
2098
|
-
|
2099
|
-
|
2100
|
-
|
2101
|
-
|
2102
|
-
$chunk.
|
2103
|
-
|
2104
|
-
|
2105
|
-
|
2106
|
-
|
2094
|
+
if (resumeMarker) {
|
2095
|
+
const branchId = peekNextScopeId();
|
2096
|
+
$chunk.writeHTML(
|
2097
|
+
$chunk.boundary.state.mark("[" /* BranchStart */, branchId + "")
|
2098
|
+
);
|
2099
|
+
content(promise);
|
2100
|
+
writeScope(scopeId, {
|
2101
|
+
["ConditionalScope:" /* ConditionalScope */ + accessor]: writeScope(branchId, {})
|
2102
|
+
});
|
2103
|
+
$chunk.writeHTML(
|
2104
|
+
$chunk.boundary.state.mark(
|
2105
|
+
"]" /* BranchEnd */,
|
2106
|
+
scopeId + " " + accessor
|
2107
|
+
)
|
2108
|
+
);
|
2109
|
+
} else {
|
2110
|
+
content(promise);
|
2111
|
+
}
|
2107
2112
|
return;
|
2108
2113
|
}
|
2109
2114
|
const chunk = $chunk;
|
@@ -2120,25 +2125,29 @@ function fork(scopeId, accessor, promise, content) {
|
|
2120
2125
|
chunk.async = false;
|
2121
2126
|
if (!boundary.signal.aborted) {
|
2122
2127
|
chunk.render(() => {
|
2123
|
-
|
2124
|
-
|
2125
|
-
$chunk.
|
2126
|
-
|
2127
|
-
|
2128
|
-
|
2129
|
-
|
2130
|
-
|
2131
|
-
|
2132
|
-
|
2133
|
-
|
2134
|
-
|
2135
|
-
|
2136
|
-
|
2137
|
-
$chunk.
|
2138
|
-
|
2139
|
-
|
2140
|
-
|
2141
|
-
|
2128
|
+
if (resumeMarker) {
|
2129
|
+
const branchId = peekNextScopeId();
|
2130
|
+
$chunk.writeHTML(
|
2131
|
+
$chunk.boundary.state.mark(
|
2132
|
+
"[" /* BranchStart */,
|
2133
|
+
branchId + ""
|
2134
|
+
)
|
2135
|
+
);
|
2136
|
+
content(value);
|
2137
|
+
boundary.state.serializer.writeAssign(
|
2138
|
+
writeScope(branchId, {}),
|
2139
|
+
ensureScopeWithId(scopeId),
|
2140
|
+
"ConditionalScope:" /* ConditionalScope */ + accessor
|
2141
|
+
);
|
2142
|
+
$chunk.writeHTML(
|
2143
|
+
$chunk.boundary.state.mark(
|
2144
|
+
"]" /* BranchEnd */,
|
2145
|
+
scopeId + " " + accessor
|
2146
|
+
)
|
2147
|
+
);
|
2148
|
+
} else {
|
2149
|
+
content(value);
|
2150
|
+
}
|
2142
2151
|
});
|
2143
2152
|
boundary.endAsync(chunk);
|
2144
2153
|
}
|
@@ -2376,12 +2385,12 @@ var Chunk = class {
|
|
2376
2385
|
if (this.lastEffect === registryId) {
|
2377
2386
|
this.effects += "," + scopeId;
|
2378
2387
|
} else {
|
2388
|
+
this.lastEffect = registryId;
|
2379
2389
|
this.effects = concatEffects(
|
2380
2390
|
this.effects,
|
2381
2391
|
'"' + registryId + '",' + scopeId
|
2382
2392
|
);
|
2383
2393
|
}
|
2384
|
-
this.lastEffect = registryId;
|
2385
2394
|
}
|
2386
2395
|
writeScript(script) {
|
2387
2396
|
this.scripts = concatScripts(this.scripts, script);
|
@@ -2545,9 +2554,9 @@ var Chunk = class {
|
|
2545
2554
|
if (hasWalk) {
|
2546
2555
|
scripts = concatScripts(scripts, runtimePrefix + ".w()");
|
2547
2556
|
}
|
2548
|
-
this.effects = state.resumes = "";
|
2549
2557
|
this.html = html;
|
2550
2558
|
this.scripts = scripts;
|
2559
|
+
this.effects = this.lastEffect = state.resumes = "";
|
2551
2560
|
return this;
|
2552
2561
|
}
|
2553
2562
|
flushHTML() {
|
package/dist/debug/html.mjs
CHANGED
@@ -160,7 +160,7 @@ var WALKER_RUNTIME_CODE = true ? (
|
|
160
160
|
129 /* NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_ELEMENT */,
|
161
161
|
),
|
162
162
|
) =>
|
163
|
-
(self[runtimeId][renderId] = {
|
163
|
+
doc = (self[runtimeId][renderId] = {
|
164
164
|
i: prefix,
|
165
165
|
d: doc,
|
166
166
|
l: lookup,
|
@@ -168,7 +168,7 @@ var WALKER_RUNTIME_CODE = true ? (
|
|
168
168
|
x() {},
|
169
169
|
w(node, op, id) {
|
170
170
|
while ((node = walker.nextNode())) {
|
171
|
-
|
171
|
+
doc.x(
|
172
172
|
(op =
|
173
173
|
(op = node.data) &&
|
174
174
|
!op.indexOf(prefix) &&
|
@@ -185,7 +185,7 @@ var WALKER_RUNTIME_CODE = true ? (
|
|
185
185
|
})),
|
186
186
|
self[runtimeId]
|
187
187
|
))`
|
188
|
-
) : `(e=>(self[e]=(l,
|
188
|
+
) : `(e=>(self[e]=(l,d=e+l,f=d.length,o={},n=[],s=document,t=s.createTreeWalker(s,129))=>s=self[e][l]={i:d,d:s,l:o,v:n,x(){},w(e,l,x){for(;e=t.nextNode();)s.x(l=(l=e.data)&&!l.indexOf(d)&&(o[x=l.slice(f+1)]=e,l[f]),x,e),l>"#"&&n.push(e)}},self[e]))`;
|
189
189
|
var REORDER_RUNTIME_CODE = true ? (
|
190
190
|
/* js */
|
191
191
|
`((runtime) => {
|
@@ -2003,22 +2003,27 @@ function ensureScopeWithId(scopeId) {
|
|
2003
2003
|
function $global() {
|
2004
2004
|
return $chunk.boundary.state.$global;
|
2005
2005
|
}
|
2006
|
-
function fork(scopeId, accessor, promise, content) {
|
2006
|
+
function fork(scopeId, accessor, promise, content, serializeMarker) {
|
2007
|
+
const resumeMarker = serializeMarker !== 0;
|
2007
2008
|
if (!isPromise(promise)) {
|
2008
|
-
|
2009
|
-
|
2010
|
-
$chunk.
|
2011
|
-
|
2012
|
-
|
2013
|
-
|
2014
|
-
|
2015
|
-
|
2016
|
-
|
2017
|
-
$chunk.
|
2018
|
-
|
2019
|
-
|
2020
|
-
|
2021
|
-
|
2009
|
+
if (resumeMarker) {
|
2010
|
+
const branchId = peekNextScopeId();
|
2011
|
+
$chunk.writeHTML(
|
2012
|
+
$chunk.boundary.state.mark("[" /* BranchStart */, branchId + "")
|
2013
|
+
);
|
2014
|
+
content(promise);
|
2015
|
+
writeScope(scopeId, {
|
2016
|
+
["ConditionalScope:" /* ConditionalScope */ + accessor]: writeScope(branchId, {})
|
2017
|
+
});
|
2018
|
+
$chunk.writeHTML(
|
2019
|
+
$chunk.boundary.state.mark(
|
2020
|
+
"]" /* BranchEnd */,
|
2021
|
+
scopeId + " " + accessor
|
2022
|
+
)
|
2023
|
+
);
|
2024
|
+
} else {
|
2025
|
+
content(promise);
|
2026
|
+
}
|
2022
2027
|
return;
|
2023
2028
|
}
|
2024
2029
|
const chunk = $chunk;
|
@@ -2035,25 +2040,29 @@ function fork(scopeId, accessor, promise, content) {
|
|
2035
2040
|
chunk.async = false;
|
2036
2041
|
if (!boundary.signal.aborted) {
|
2037
2042
|
chunk.render(() => {
|
2038
|
-
|
2039
|
-
|
2040
|
-
$chunk.
|
2041
|
-
|
2042
|
-
|
2043
|
-
|
2044
|
-
|
2045
|
-
|
2046
|
-
|
2047
|
-
|
2048
|
-
|
2049
|
-
|
2050
|
-
|
2051
|
-
|
2052
|
-
$chunk.
|
2053
|
-
|
2054
|
-
|
2055
|
-
|
2056
|
-
|
2043
|
+
if (resumeMarker) {
|
2044
|
+
const branchId = peekNextScopeId();
|
2045
|
+
$chunk.writeHTML(
|
2046
|
+
$chunk.boundary.state.mark(
|
2047
|
+
"[" /* BranchStart */,
|
2048
|
+
branchId + ""
|
2049
|
+
)
|
2050
|
+
);
|
2051
|
+
content(value);
|
2052
|
+
boundary.state.serializer.writeAssign(
|
2053
|
+
writeScope(branchId, {}),
|
2054
|
+
ensureScopeWithId(scopeId),
|
2055
|
+
"ConditionalScope:" /* ConditionalScope */ + accessor
|
2056
|
+
);
|
2057
|
+
$chunk.writeHTML(
|
2058
|
+
$chunk.boundary.state.mark(
|
2059
|
+
"]" /* BranchEnd */,
|
2060
|
+
scopeId + " " + accessor
|
2061
|
+
)
|
2062
|
+
);
|
2063
|
+
} else {
|
2064
|
+
content(value);
|
2065
|
+
}
|
2057
2066
|
});
|
2058
2067
|
boundary.endAsync(chunk);
|
2059
2068
|
}
|
@@ -2291,12 +2300,12 @@ var Chunk = class {
|
|
2291
2300
|
if (this.lastEffect === registryId) {
|
2292
2301
|
this.effects += "," + scopeId;
|
2293
2302
|
} else {
|
2303
|
+
this.lastEffect = registryId;
|
2294
2304
|
this.effects = concatEffects(
|
2295
2305
|
this.effects,
|
2296
2306
|
'"' + registryId + '",' + scopeId
|
2297
2307
|
);
|
2298
2308
|
}
|
2299
|
-
this.lastEffect = registryId;
|
2300
2309
|
}
|
2301
2310
|
writeScript(script) {
|
2302
2311
|
this.scripts = concatScripts(this.scripts, script);
|
@@ -2460,9 +2469,9 @@ var Chunk = class {
|
|
2460
2469
|
if (hasWalk) {
|
2461
2470
|
scripts = concatScripts(scripts, runtimePrefix + ".w()");
|
2462
2471
|
}
|
2463
|
-
this.effects = state.resumes = "";
|
2464
2472
|
this.html = html;
|
2465
2473
|
this.scripts = scripts;
|
2474
|
+
this.effects = this.lastEffect = state.resumes = "";
|
2466
2475
|
return this;
|
2467
2476
|
}
|
2468
2477
|
flushHTML() {
|
package/dist/dom.js
CHANGED
@@ -216,7 +216,7 @@ function init(runtimeId = DEFAULT_RUNTIME_ID) {
|
|
216
216
|
}, currentBranchId, $global, lastScopeId = 0, lastEffect, lastEndNode, visits, resumes;
|
217
217
|
return render.w = () => {
|
218
218
|
try {
|
219
|
-
walk2
|
219
|
+
walk2(), isResuming = 1;
|
220
220
|
for (let visit of visits = render.v) {
|
221
221
|
let commentText = visit.data, dataIndex = commentText.indexOf(" ") + 1, scopeId = +commentText.slice(
|
222
222
|
commentPrefixLen + 1,
|
package/dist/dom.mjs
CHANGED
@@ -126,7 +126,7 @@ function init(runtimeId = DEFAULT_RUNTIME_ID) {
|
|
126
126
|
}, currentBranchId, $global, lastScopeId = 0, lastEffect, lastEndNode, visits, resumes;
|
127
127
|
return render.w = () => {
|
128
128
|
try {
|
129
|
-
walk2
|
129
|
+
walk2(), isResuming = 1;
|
130
130
|
for (let visit of visits = render.v) {
|
131
131
|
let commentText = visit.data, dataIndex = commentText.indexOf(" ") + 1, scopeId = +commentText.slice(
|
132
132
|
commentPrefixLen + 1,
|
package/dist/html/writer.d.ts
CHANGED
@@ -51,7 +51,7 @@ export declare function $global(): $Global & {
|
|
51
51
|
renderId: string;
|
52
52
|
runtimeId: string;
|
53
53
|
};
|
54
|
-
export declare function fork<T>(scopeId: number, accessor: Accessor, promise: Promise<T> | T, content: (value: T) => void): void;
|
54
|
+
export declare function fork<T>(scopeId: number, accessor: Accessor, promise: Promise<T> | T, content: (value: T) => void, serializeMarker?: 0 | 1): void;
|
55
55
|
export declare function tryContent(scopeId: number, accessor: Accessor, content: () => void, input: {
|
56
56
|
placeholder?: {
|
57
57
|
content?(): void;
|
package/dist/html.js
CHANGED
@@ -181,7 +181,7 @@ function forToBy(by, index) {
|
|
181
181
|
}
|
182
182
|
|
183
183
|
// src/html/inlined-runtimes.ts
|
184
|
-
var WALKER_RUNTIME_CODE = '(e=>(self[e]=(l,
|
184
|
+
var WALKER_RUNTIME_CODE = '(e=>(self[e]=(l,d=e+l,f=d.length,o={},n=[],s=document,t=s.createTreeWalker(s,129))=>s=self[e][l]={i:d,d:s,l:o,v:n,x(){},w(e,l,x){for(;e=t.nextNode();)s.x(l=(l=e.data)&&!l.indexOf(d)&&(o[x=l.slice(f+1)]=e,l[f]),x,e),l>"#"&&n.push(e)}},self[e]))', REORDER_RUNTIME_CODE = '(e=>{let i,l,t,r={},c=(e,i)=>{e.replaceWith(...i.childNodes),i.remove()};e.d.head.append(e.d.querySelector("style["+e.i+"]")||""),e.j={},e.x=(d,o,n,a,g)=>{"#"==d?(r[o]=l).i++:n==t&&i(),"T"==n.tagName&&(o=n.getAttribute(e.i))&&((a=e.l["^"+o])&&(r[o]={i:1,c(i=e.l[o]||n){for(;(t=i.previousSibling||a).remove(),a!=t;);c(i,n)}}),t=n.nextSibling,l=r[o],i=()=>{a||c(e.l[o],n),--l.i||l.c()},(d=e.j[o])&&(g=l.c,l.c=()=>g()+d(e.r)))}})';
|
185
185
|
|
186
186
|
// src/html/serializer.ts
|
187
187
|
var kTouchedIterator = Symbol(), { hasOwnProperty } = {}, Generator = function* () {
|
@@ -1349,41 +1349,48 @@ function ensureScopeWithId(scopeId) {
|
|
1349
1349
|
function $global() {
|
1350
1350
|
return $chunk.boundary.state.$global;
|
1351
1351
|
}
|
1352
|
-
function fork(scopeId, accessor, promise, content) {
|
1352
|
+
function fork(scopeId, accessor, promise, content, serializeMarker) {
|
1353
|
+
let resumeMarker = serializeMarker !== 0;
|
1353
1354
|
if (!isPromise(promise)) {
|
1354
|
-
|
1355
|
-
|
1356
|
-
$chunk.
|
1357
|
-
|
1358
|
-
|
1359
|
-
|
1360
|
-
$chunk.
|
1361
|
-
|
1362
|
-
|
1363
|
-
|
1364
|
-
|
1355
|
+
if (resumeMarker) {
|
1356
|
+
let branchId = peekNextScopeId();
|
1357
|
+
$chunk.writeHTML(
|
1358
|
+
$chunk.boundary.state.mark("[" /* BranchStart */, branchId + "")
|
1359
|
+
), content(promise), writeScope(scopeId, {
|
1360
|
+
["d" /* ConditionalScope */ + accessor]: writeScope(branchId, {})
|
1361
|
+
}), $chunk.writeHTML(
|
1362
|
+
$chunk.boundary.state.mark(
|
1363
|
+
"]" /* BranchEnd */,
|
1364
|
+
scopeId + " " + accessor
|
1365
|
+
)
|
1366
|
+
);
|
1367
|
+
} else
|
1368
|
+
content(promise);
|
1365
1369
|
return;
|
1366
1370
|
}
|
1367
1371
|
let chunk = $chunk, { boundary } = chunk;
|
1368
1372
|
chunk.next = $chunk = new Chunk(boundary, chunk.next, chunk.context), chunk.async = !0, chunk.context?.[kPendingContexts] && (chunk.context = { ...chunk.context, [kPendingContexts]: 0 }), boundary.startAsync(), promise.then(
|
1369
1373
|
(value) => {
|
1370
1374
|
chunk.async && (chunk.async = !1, boundary.signal.aborted || (chunk.render(() => {
|
1371
|
-
|
1372
|
-
|
1373
|
-
$chunk.
|
1374
|
-
|
1375
|
-
|
1376
|
-
|
1377
|
-
|
1378
|
-
|
1379
|
-
|
1380
|
-
|
1381
|
-
|
1382
|
-
$chunk.
|
1383
|
-
|
1384
|
-
|
1385
|
-
|
1386
|
-
|
1375
|
+
if (resumeMarker) {
|
1376
|
+
let branchId = peekNextScopeId();
|
1377
|
+
$chunk.writeHTML(
|
1378
|
+
$chunk.boundary.state.mark(
|
1379
|
+
"[" /* BranchStart */,
|
1380
|
+
branchId + ""
|
1381
|
+
)
|
1382
|
+
), content(value), boundary.state.serializer.writeAssign(
|
1383
|
+
writeScope(branchId, {}),
|
1384
|
+
ensureScopeWithId(scopeId),
|
1385
|
+
"d" /* ConditionalScope */ + accessor
|
1386
|
+
), $chunk.writeHTML(
|
1387
|
+
$chunk.boundary.state.mark(
|
1388
|
+
"]" /* BranchEnd */,
|
1389
|
+
scopeId + " " + accessor
|
1390
|
+
)
|
1391
|
+
);
|
1392
|
+
} else
|
1393
|
+
content(value);
|
1387
1394
|
}), boundary.endAsync(chunk)));
|
1388
1395
|
},
|
1389
1396
|
(err) => {
|
@@ -1530,10 +1537,10 @@ var State2 = class {
|
|
1530
1537
|
this.html += html;
|
1531
1538
|
}
|
1532
1539
|
writeEffect(scopeId, registryId) {
|
1533
|
-
this.lastEffect === registryId ? this.effects += "," + scopeId : this.effects = concatEffects(
|
1540
|
+
this.lastEffect === registryId ? this.effects += "," + scopeId : (this.lastEffect = registryId, this.effects = concatEffects(
|
1534
1541
|
this.effects,
|
1535
1542
|
'"' + registryId + '",' + scopeId
|
1536
|
-
)
|
1543
|
+
));
|
1537
1544
|
}
|
1538
1545
|
writeScript(script) {
|
1539
1546
|
this.scripts = concatScripts(this.scripts, script);
|
@@ -1621,7 +1628,7 @@ var State2 = class {
|
|
1621
1628
|
}
|
1622
1629
|
state.writeReorders = null;
|
1623
1630
|
}
|
1624
|
-
return hasWalk && (scripts = concatScripts(scripts, runtimePrefix + ".w()")), this.
|
1631
|
+
return hasWalk && (scripts = concatScripts(scripts, runtimePrefix + ".w()")), this.html = html, this.scripts = scripts, this.effects = this.lastEffect = state.resumes = "", this;
|
1625
1632
|
}
|
1626
1633
|
flushHTML() {
|
1627
1634
|
this.flushScript();
|
package/dist/html.mjs
CHANGED
@@ -99,7 +99,7 @@ function forToBy(by, index) {
|
|
99
99
|
}
|
100
100
|
|
101
101
|
// src/html/inlined-runtimes.ts
|
102
|
-
var WALKER_RUNTIME_CODE = '(e=>(self[e]=(l,
|
102
|
+
var WALKER_RUNTIME_CODE = '(e=>(self[e]=(l,d=e+l,f=d.length,o={},n=[],s=document,t=s.createTreeWalker(s,129))=>s=self[e][l]={i:d,d:s,l:o,v:n,x(){},w(e,l,x){for(;e=t.nextNode();)s.x(l=(l=e.data)&&!l.indexOf(d)&&(o[x=l.slice(f+1)]=e,l[f]),x,e),l>"#"&&n.push(e)}},self[e]))', REORDER_RUNTIME_CODE = '(e=>{let i,l,t,r={},c=(e,i)=>{e.replaceWith(...i.childNodes),i.remove()};e.d.head.append(e.d.querySelector("style["+e.i+"]")||""),e.j={},e.x=(d,o,n,a,g)=>{"#"==d?(r[o]=l).i++:n==t&&i(),"T"==n.tagName&&(o=n.getAttribute(e.i))&&((a=e.l["^"+o])&&(r[o]={i:1,c(i=e.l[o]||n){for(;(t=i.previousSibling||a).remove(),a!=t;);c(i,n)}}),t=n.nextSibling,l=r[o],i=()=>{a||c(e.l[o],n),--l.i||l.c()},(d=e.j[o])&&(g=l.c,l.c=()=>g()+d(e.r)))}})';
|
103
103
|
|
104
104
|
// src/html/serializer.ts
|
105
105
|
var kTouchedIterator = Symbol(), { hasOwnProperty } = {}, Generator = function* () {
|
@@ -1267,41 +1267,48 @@ function ensureScopeWithId(scopeId) {
|
|
1267
1267
|
function $global() {
|
1268
1268
|
return $chunk.boundary.state.$global;
|
1269
1269
|
}
|
1270
|
-
function fork(scopeId, accessor, promise, content) {
|
1270
|
+
function fork(scopeId, accessor, promise, content, serializeMarker) {
|
1271
|
+
let resumeMarker = serializeMarker !== 0;
|
1271
1272
|
if (!isPromise(promise)) {
|
1272
|
-
|
1273
|
-
|
1274
|
-
$chunk.
|
1275
|
-
|
1276
|
-
|
1277
|
-
|
1278
|
-
$chunk.
|
1279
|
-
|
1280
|
-
|
1281
|
-
|
1282
|
-
|
1273
|
+
if (resumeMarker) {
|
1274
|
+
let branchId = peekNextScopeId();
|
1275
|
+
$chunk.writeHTML(
|
1276
|
+
$chunk.boundary.state.mark("[" /* BranchStart */, branchId + "")
|
1277
|
+
), content(promise), writeScope(scopeId, {
|
1278
|
+
["d" /* ConditionalScope */ + accessor]: writeScope(branchId, {})
|
1279
|
+
}), $chunk.writeHTML(
|
1280
|
+
$chunk.boundary.state.mark(
|
1281
|
+
"]" /* BranchEnd */,
|
1282
|
+
scopeId + " " + accessor
|
1283
|
+
)
|
1284
|
+
);
|
1285
|
+
} else
|
1286
|
+
content(promise);
|
1283
1287
|
return;
|
1284
1288
|
}
|
1285
1289
|
let chunk = $chunk, { boundary } = chunk;
|
1286
1290
|
chunk.next = $chunk = new Chunk(boundary, chunk.next, chunk.context), chunk.async = !0, chunk.context?.[kPendingContexts] && (chunk.context = { ...chunk.context, [kPendingContexts]: 0 }), boundary.startAsync(), promise.then(
|
1287
1291
|
(value) => {
|
1288
1292
|
chunk.async && (chunk.async = !1, boundary.signal.aborted || (chunk.render(() => {
|
1289
|
-
|
1290
|
-
|
1291
|
-
$chunk.
|
1292
|
-
|
1293
|
-
|
1294
|
-
|
1295
|
-
|
1296
|
-
|
1297
|
-
|
1298
|
-
|
1299
|
-
|
1300
|
-
$chunk.
|
1301
|
-
|
1302
|
-
|
1303
|
-
|
1304
|
-
|
1293
|
+
if (resumeMarker) {
|
1294
|
+
let branchId = peekNextScopeId();
|
1295
|
+
$chunk.writeHTML(
|
1296
|
+
$chunk.boundary.state.mark(
|
1297
|
+
"[" /* BranchStart */,
|
1298
|
+
branchId + ""
|
1299
|
+
)
|
1300
|
+
), content(value), boundary.state.serializer.writeAssign(
|
1301
|
+
writeScope(branchId, {}),
|
1302
|
+
ensureScopeWithId(scopeId),
|
1303
|
+
"d" /* ConditionalScope */ + accessor
|
1304
|
+
), $chunk.writeHTML(
|
1305
|
+
$chunk.boundary.state.mark(
|
1306
|
+
"]" /* BranchEnd */,
|
1307
|
+
scopeId + " " + accessor
|
1308
|
+
)
|
1309
|
+
);
|
1310
|
+
} else
|
1311
|
+
content(value);
|
1305
1312
|
}), boundary.endAsync(chunk)));
|
1306
1313
|
},
|
1307
1314
|
(err) => {
|
@@ -1448,10 +1455,10 @@ var State2 = class {
|
|
1448
1455
|
this.html += html;
|
1449
1456
|
}
|
1450
1457
|
writeEffect(scopeId, registryId) {
|
1451
|
-
this.lastEffect === registryId ? this.effects += "," + scopeId : this.effects = concatEffects(
|
1458
|
+
this.lastEffect === registryId ? this.effects += "," + scopeId : (this.lastEffect = registryId, this.effects = concatEffects(
|
1452
1459
|
this.effects,
|
1453
1460
|
'"' + registryId + '",' + scopeId
|
1454
|
-
)
|
1461
|
+
));
|
1455
1462
|
}
|
1456
1463
|
writeScript(script) {
|
1457
1464
|
this.scripts = concatScripts(this.scripts, script);
|
@@ -1539,7 +1546,7 @@ var State2 = class {
|
|
1539
1546
|
}
|
1540
1547
|
state.writeReorders = null;
|
1541
1548
|
}
|
1542
|
-
return hasWalk && (scripts = concatScripts(scripts, runtimePrefix + ".w()")), this.
|
1549
|
+
return hasWalk && (scripts = concatScripts(scripts, runtimePrefix + ".w()")), this.html = html, this.scripts = scripts, this.effects = this.lastEffect = state.resumes = "", this;
|
1543
1550
|
}
|
1544
1551
|
flushHTML() {
|
1545
1552
|
this.flushScript();
|
package/dist/translator/index.js
CHANGED
@@ -5265,6 +5265,8 @@ var await_default = {
|
|
5265
5265
|
const nodeRef2 = tagExtra[kDOMBinding];
|
5266
5266
|
const tagBody = tag.get("body");
|
5267
5267
|
const section = getSection(tag);
|
5268
|
+
const bodySection = getSectionForBody(tagBody);
|
5269
|
+
const serializeReason = bodySection && getSectionSerializeReason(bodySection);
|
5268
5270
|
flushInto(tag);
|
5269
5271
|
writeHTMLResumeStatements(tagBody);
|
5270
5272
|
tag.replaceWith(
|
@@ -5277,7 +5279,8 @@ var await_default = {
|
|
5277
5279
|
import_compiler25.types.arrowFunctionExpression(
|
5278
5280
|
node.body.params,
|
5279
5281
|
toFirstExpressionOrBlock(node.body.body)
|
5280
|
-
)
|
5282
|
+
),
|
5283
|
+
!serializeReason ? import_compiler25.types.numericLiteral(0) : serializeReason === true ? void 0 : getSerializeGuard(serializeReason)
|
5281
5284
|
)
|
5282
5285
|
)
|
5283
5286
|
)[0].skip();
|