marko 6.0.10 → 6.0.12

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/dom.js CHANGED
@@ -209,50 +209,56 @@ function init(runtimeId = DEFAULT_RUNTIME_ID) {
209
209
  let renders = self[runtimeId], defineRuntime = (desc) => Object.defineProperty(self, runtimeId, desc), resumeRender, initRuntime = (renders2) => {
210
210
  defineRuntime({
211
211
  value: resumeRender = (renderId) => {
212
- let render = resumeRender[renderId] = renders2[renderId] || renders2(renderId), walk2 = render.w, commentPrefixLen = render.i.length, branchStack = [], scopeLookup = render.s = {}, serializeContext = {
212
+ let render = resumeRender[renderId] = renders2[renderId] || renders2(renderId), walk2 = render.w, commentPrefixLen = render.i.length, scopeLookup = render.s = {}, serializeContext = {
213
213
  _: registeredValues
214
- }, branchIds = /* @__PURE__ */ new Set(), parentBranchIds = /* @__PURE__ */ new Map(), branchEnd = (branchId, reference) => {
215
- let branch = scopeLookup[branchId] ||= {}, endNode = reference, prevNode;
216
- for (; (prevNode = endNode.previousSibling) !== branch.h && ~visits.indexOf(endNode = prevNode); ) ;
217
- return branch.j = lastEndNode = endNode === lastEndNode ? reference.parentNode.insertBefore(new Text(), reference) : endNode, branch.h ||= lastEndNode, branchIds.add(branchId), branch;
218
- }, currentBranchId, $global, lastScopeId = 0, lastEffect, lastEndNode, visits, resumes;
214
+ }, branches = branchesEnabled && /* @__PURE__ */ (() => {
215
+ let branchStack = [], branchIds = /* @__PURE__ */ new Set(), parentBranchIds = /* @__PURE__ */ new Map(), lastEndNode, currentBranchId, endBranch = (branchId, reference) => {
216
+ let branch = scopeLookup[branchId] ||= {}, endNode = reference, prevNode;
217
+ for (; (prevNode = endNode.previousSibling) !== branch.h && ~visits.indexOf(endNode = prevNode); ) ;
218
+ return branch.j = lastEndNode = endNode === lastEndNode ? reference.parentNode.insertBefore(new Text(), reference) : endNode, branch.h ||= lastEndNode, branchIds.add(branchId), branch;
219
+ };
220
+ return {
221
+ J() {
222
+ if (visitToken === "[" /* BranchStart */)
223
+ currentBranchId && visitDataIndex && (endBranch(currentBranchId, visit), currentBranchId = branchStack.pop()), currentBranchId && (branchStack.push(currentBranchId), parentBranchIds.set(scopeId, currentBranchId)), currentBranchId = scopeId, visitScope.h = visit;
224
+ else if (visitToken === "]" /* BranchEnd */) {
225
+ let curParent = visit.parentNode, startNode = endBranch(
226
+ currentBranchId,
227
+ visit
228
+ ).h;
229
+ visitScope[visitData] = visit, curParent !== startNode.parentNode && curParent.prepend(startNode), currentBranchId = branchStack.pop();
230
+ } else {
231
+ let next = visitData.indexOf(" "), curNode = visit;
232
+ for (visitScope[~next ? visitData.slice(0, next) : visitData] = visitToken === "=" /* BranchSingleNodeOnlyChildInParent */ ? visit.parentNode : visit; ~next; ) {
233
+ let start = next + 1;
234
+ next = visitData.indexOf(" ", start);
235
+ let childScopeId = +visitData.slice(
236
+ start,
237
+ ~next ? next : visitData.length
238
+ );
239
+ curNode = endBranch(childScopeId, curNode).j, parentBranchIds.set(childScopeId, scopeId);
240
+ }
241
+ }
242
+ },
243
+ o(scope) {
244
+ let parentBranchId = scope.g || parentBranchIds.get(scopeId);
245
+ if (parentBranchId && (scope.k = scopeLookup[parentBranchId]), branchIds.has(scopeId)) {
246
+ let branch = scope, parentBranch = branch.k;
247
+ scope.k = branch, parentBranch && (branch.u = parentBranch, (parentBranch.A ||= /* @__PURE__ */ new Set()).add(branch));
248
+ }
249
+ }
250
+ };
251
+ })(), $global, lastScopeId = 0, lastEffect, visits, resumes, scopeId, visit, visitText, visitData, visitDataIndex, visitToken, visitScope;
219
252
  return render.w = () => {
220
253
  try {
221
254
  walk2(), isResuming = 1;
222
- for (let visit of visits = render.v) {
223
- let commentText = visit.data, dataIndex = commentText.indexOf(" ") + 1, scopeId = +commentText.slice(
255
+ for (visit of visits = render.v)
256
+ visitText = visit.data, visitDataIndex = visitText.indexOf(" ") + 1, scopeId = +visitText.slice(
224
257
  commentPrefixLen + 1,
225
- dataIndex ? dataIndex - 1 : commentText.length
226
- ), scope = scopeLookup[scopeId] ||= {
258
+ visitDataIndex ? visitDataIndex - 1 : visitText.length
259
+ ), visitData = visitDataIndex ? visitText.slice(visitDataIndex) : "", visitToken = visitText[commentPrefixLen], visitScope = scopeLookup[scopeId] ||= {
227
260
  m: scopeId
228
- }, data2 = dataIndex ? commentText.slice(dataIndex) : "", token = commentText[commentPrefixLen];
229
- if (token === "*" /* Node */) {
230
- let node = scope[data2] = visit.previousSibling;
231
- scope["j" /* Getter */ + data2] = () => node;
232
- } else if (branchesEnabled) {
233
- if (token === "[" /* BranchStart */)
234
- currentBranchId && dataIndex && (branchEnd(currentBranchId, visit), currentBranchId = branchStack.pop()), currentBranchId && (branchStack.push(currentBranchId), parentBranchIds.set(scopeId, currentBranchId)), currentBranchId = scopeId, scope.h = visit;
235
- else if (token === "]" /* BranchEnd */) {
236
- scope[data2] = visit;
237
- let curParent = visit.parentNode, startNode = branchEnd(
238
- currentBranchId,
239
- visit
240
- ).h;
241
- curParent !== startNode.parentNode && curParent.prepend(startNode), currentBranchId = branchStack.pop();
242
- } else if (token === "|" /* BranchSingleNode */ || token === "=" /* BranchSingleNodeOnlyChildInParent */) {
243
- let next = data2.indexOf(" "), curNode = visit;
244
- for (scope[~next ? data2.slice(0, next) : data2] = token === "=" /* BranchSingleNodeOnlyChildInParent */ ? visit.parentNode : visit; ~next; ) {
245
- let start = next + 1;
246
- next = data2.indexOf(" ", start);
247
- let childScopeId = +data2.slice(
248
- start,
249
- ~next ? next : data2.length
250
- );
251
- curNode = branchEnd(childScopeId, curNode).j, parentBranchIds.set(childScopeId, scopeId);
252
- }
253
- }
254
- }
255
- }
261
+ }, visitToken === "*" /* Node */ ? visitScope["j" /* Getter */ + visitData] = /* @__PURE__ */ ((node) => () => node)(visitScope[visitData] = visit.previousSibling) : branches && branches.J();
256
262
  for (let serialized of resumes = render.r || [])
257
263
  if (typeof serialized == "string")
258
264
  lastEffect = serialized;
@@ -263,25 +269,10 @@ function init(runtimeId = DEFAULT_RUNTIME_ID) {
263
269
  );
264
270
  else
265
271
  for (let scope of serialized(serializeContext))
266
- if (!$global)
267
- $global = scope || {}, $global.runtimeId = runtimeId, $global.renderId = renderId, $global.o = 1e6;
268
- else if (typeof scope == "number")
269
- lastScopeId += scope;
270
- else {
271
- let scopeId = ++lastScopeId, prevScope = scopeLookup[scopeId];
272
- if (scope.$global = $global, scope.m = scopeId, prevScope !== scope && (scopeLookup[scopeId] = Object.assign(
273
- scope,
274
- prevScope
275
- )), branchesEnabled) {
276
- let parentBranchId = scope.g || parentBranchIds.get(scopeId);
277
- if (parentBranchId && (scope.k = scopeLookup[parentBranchId]), branchIds.has(scopeId)) {
278
- let branch = scope, parentBranch = branch.k;
279
- scope.k = branch, parentBranch && (branch.t = parentBranch, (parentBranch.z ||= /* @__PURE__ */ new Set()).add(
280
- branch
281
- ));
282
- }
283
- }
284
- }
272
+ $global ? typeof scope == "number" ? lastScopeId += scope : (scopeId = ++lastScopeId, scope.$global = $global, scope.m = scopeId, scopeLookup[scopeId] !== scope && (scopeLookup[scopeId] = Object.assign(
273
+ scope,
274
+ scopeLookup[scopeId]
275
+ )), branches && branches.o(scope)) : ($global = scope || {}, $global.runtimeId = runtimeId, $global.renderId = renderId, $global.p = 1e6);
285
276
  } finally {
286
277
  isResuming = visits.length = resumes.length = 0;
287
278
  }
@@ -714,29 +705,29 @@ function toInsertNode(startNode, endNode) {
714
705
  // src/dom/scope.ts
715
706
  function createScope($global, closestBranch) {
716
707
  let scope = {
717
- m: $global.o++,
718
- p: 1,
708
+ m: $global.p++,
709
+ q: 1,
719
710
  k: closestBranch,
720
711
  $global
721
712
  };
722
713
  return pendingScopes.push(scope), scope;
723
714
  }
724
715
  function skipScope(scope) {
725
- return scope.$global.o++;
716
+ return scope.$global.p++;
726
717
  }
727
718
  function findBranchWithKey(scope, key) {
728
719
  let branch = scope.k;
729
720
  for (; branch && !branch[key]; )
730
- branch = branch.t;
721
+ branch = branch.u;
731
722
  return branch;
732
723
  }
733
724
  function destroyBranch(branch) {
734
- branch.t?.z?.delete(branch), destroyNestedBranches(branch);
725
+ branch.u?.A?.delete(branch), destroyNestedBranches(branch);
735
726
  }
736
727
  function destroyNestedBranches(branch) {
737
- branch.A = 1, branch.z?.forEach(destroyNestedBranches), branch.J?.forEach((scope) => {
738
- for (let id in scope.u)
739
- scope.u[id]?.abort();
728
+ branch.B = 1, branch.A?.forEach(destroyNestedBranches), branch.K?.forEach((scope) => {
729
+ for (let id in scope.x)
730
+ scope.x[id]?.abort();
740
731
  });
741
732
  }
742
733
  function removeAndDestroyBranch(branch) {
@@ -872,7 +863,7 @@ function walkInternal(currentWalkIndex, walkCodes, scope) {
872
863
  // src/dom/renderer.ts
873
864
  function createBranch($global, renderer, parentScope, parentNode) {
874
865
  let branch = createScope($global), parentBranch = parentScope?.k;
875
- return branch._ = renderer.x || parentScope, branch.k = branch, parentBranch && (branch.t = parentBranch, (parentBranch.z ||= /* @__PURE__ */ new Set()).add(branch)), renderer.B?.(
866
+ return branch._ = renderer.y || parentScope, branch.k = branch, parentBranch && (branch.u = parentBranch, (parentBranch.A ||= /* @__PURE__ */ new Set()).add(branch)), renderer.C?.(
876
867
  branch,
877
868
  parentNode.namespaceURI
878
869
  ), branch;
@@ -884,10 +875,10 @@ function createAndSetupBranch($global, renderer, parentScope, parentNode) {
884
875
  );
885
876
  }
886
877
  function setupBranch(renderer, branch) {
887
- return (renderer.C || renderer.E) && queueRender(
878
+ return (renderer.D || renderer.E) && queueRender(
888
879
  branch,
889
880
  (branch2) => {
890
- renderer.C?.(branch2), renderer.E?.(branch2);
881
+ renderer.D?.(branch2), renderer.E?.(branch2);
891
882
  },
892
883
  -1
893
884
  ), branch;
@@ -908,12 +899,12 @@ function createContent(id, template, walks, setup, params, closures, dynamicScop
908
899
  };
909
900
  return (owner) => ({
910
901
  m: id,
911
- B: clone,
912
- x: owner,
913
- C: setup,
902
+ C: clone,
903
+ y: owner,
904
+ D: setup,
914
905
  l: params,
915
906
  E: closures,
916
- y: dynamicScopesAccessor
907
+ z: dynamicScopesAccessor
917
908
  });
918
909
  }
919
910
  function registerContent(id, template, walks, setup, params, closures, dynamicScopesAccessor) {
@@ -984,7 +975,7 @@ function value(valueAccessor, fn = () => {
984
975
  }
985
976
  function intersection(id, fn, defaultPending = 1, scopeIdAccessor = /* @__KEY__ */ "m") {
986
977
  return (scope) => {
987
- scope.p ? scope[id] === void 0 ? scope[id] = defaultPending : --scope[id] || fn(scope) : queueRender(scope, fn, id, 0, scope[scopeIdAccessor]);
978
+ scope.q ? scope[id] === void 0 ? scope[id] = defaultPending : --scope[id] || fn(scope) : queueRender(scope, fn, id, 0, scope[scopeIdAccessor]);
988
979
  };
989
980
  }
990
981
  function loopClosure(valueAccessor, ownerLoopNodeAccessor, fn) {
@@ -994,7 +985,7 @@ function loopClosure(valueAccessor, ownerLoopNodeAccessor, fn) {
994
985
  ownerScope,
995
986
  () => {
996
987
  for (let scope of scopes)
997
- !scope.p && !scope.A && childSignal(scope);
988
+ !scope.q && !scope.B && childSignal(scope);
998
989
  },
999
990
  -1,
1000
991
  0,
@@ -1006,7 +997,7 @@ function loopClosure(valueAccessor, ownerLoopNodeAccessor, fn) {
1006
997
  function conditionalClosure(valueAccessor, ownerConditionalNodeAccessor, branch, fn) {
1007
998
  let childSignal = closure(valueAccessor, fn), scopeAccessor = "d" /* ConditionalScope */ + ownerConditionalNodeAccessor, branchAccessor = "c" /* ConditionalRenderer */ + ownerConditionalNodeAccessor, ownerSignal = (scope) => {
1008
999
  let ifScope = scope[scopeAccessor];
1009
- ifScope && !ifScope.p && scope[branchAccessor] === branch && queueRender(ifScope, childSignal, -1);
1000
+ ifScope && !ifScope.q && scope[branchAccessor] === branch && queueRender(ifScope, childSignal, -1);
1010
1001
  };
1011
1002
  return ownerSignal._ = childSignal, ownerSignal;
1012
1003
  }
@@ -1020,11 +1011,11 @@ function subscribeToScopeSet(ownerScope, accessor, scope) {
1020
1011
  function dynamicClosure(...closureSignals) {
1021
1012
  let [{ F: ___scopeInstancesAccessor, G: ___signalIndexAccessor }] = closureSignals;
1022
1013
  for (let i = closureSignals.length; i--; )
1023
- closureSignals[i].K = i;
1014
+ closureSignals[i].L = i;
1024
1015
  return (scope) => {
1025
1016
  if (scope[___scopeInstancesAccessor])
1026
1017
  for (let childScope of scope[___scopeInstancesAccessor])
1027
- childScope.p || queueRender(
1018
+ childScope.q || queueRender(
1028
1019
  childScope,
1029
1020
  closureSignals[childScope[___signalIndexAccessor]],
1030
1021
  -1
@@ -1033,7 +1024,7 @@ function dynamicClosure(...closureSignals) {
1033
1024
  }
1034
1025
  function dynamicClosureRead(valueAccessor, fn, getOwnerScope) {
1035
1026
  let childSignal = closure(valueAccessor, fn, getOwnerScope), closureSignal = (scope) => {
1036
- scope[closureSignal.G] = closureSignal.K, childSignal(scope), subscribeToScopeSet(
1027
+ scope[closureSignal.G] = closureSignal.L, childSignal(scope), subscribeToScopeSet(
1037
1028
  getOwnerScope ? getOwnerScope(scope) : scope._,
1038
1029
  closureSignal.F,
1039
1030
  scope
@@ -1209,15 +1200,15 @@ var dynamicTag = function(nodeAccessor, getContent, getTagVar, inputIsArgs) {
1209
1200
  0,
1210
1201
  content,
1211
1202
  createAndSetupBranch
1212
- ), content.y && subscribeToScopeSet(
1213
- content.x,
1203
+ ), content.z && subscribeToScopeSet(
1214
1204
  content.y,
1205
+ content.z,
1215
1206
  scope[childScopeAccessor]["d" /* ConditionalScope */ + 0]
1216
1207
  );
1217
1208
  }
1218
- } else normalizedRenderer?.y && subscribeToScopeSet(
1219
- normalizedRenderer.x,
1209
+ } else normalizedRenderer?.z && subscribeToScopeSet(
1220
1210
  normalizedRenderer.y,
1211
+ normalizedRenderer.z,
1221
1212
  scope[childScopeAccessor]
1222
1213
  );
1223
1214
  if (normalizedRenderer) {
@@ -1315,14 +1306,14 @@ function queueRender(scope, signal, signalKey, value2, scopeKey = scope.m) {
1315
1306
  existingRender.I = value2;
1316
1307
  else {
1317
1308
  let render = {
1318
- q: key,
1319
- D: scope,
1320
- L: signal,
1309
+ t: key,
1310
+ o: scope,
1311
+ M: signal,
1321
1312
  I: value2
1322
1313
  }, i = pendingRenders.push(render) - 1;
1323
1314
  for (; i; ) {
1324
1315
  let parentIndex = i - 1 >> 1, parent = pendingRenders[parentIndex];
1325
- if (key - parent.q >= 0) break;
1316
+ if (key - parent.t >= 0) break;
1326
1317
  pendingRenders[i] = parent, i = parentIndex;
1327
1318
  }
1328
1319
  signalKey >= 0 && pendingRendersLookup.set(key, render), pendingRenders[i] = render;
@@ -1361,54 +1352,54 @@ function runRenders() {
1361
1352
  for (; pendingRenders.length; ) {
1362
1353
  let render = pendingRenders[0], item = pendingRenders.pop();
1363
1354
  if (render !== item) {
1364
- let i = 0, mid = pendingRenders.length >> 1, key = (pendingRenders[0] = item).q;
1355
+ let i = 0, mid = pendingRenders.length >> 1, key = (pendingRenders[0] = item).t;
1365
1356
  for (; i < mid; ) {
1366
1357
  let bestChild = (i << 1) + 1, right = bestChild + 1;
1367
- if (right < pendingRenders.length && pendingRenders[right].q - pendingRenders[bestChild].q < 0 && (bestChild = right), pendingRenders[bestChild].q - key >= 0)
1358
+ if (right < pendingRenders.length && pendingRenders[right].t - pendingRenders[bestChild].t < 0 && (bestChild = right), pendingRenders[bestChild].t - key >= 0)
1368
1359
  break;
1369
1360
  pendingRenders[i] = pendingRenders[bestChild], i = bestChild;
1370
1361
  }
1371
1362
  pendingRenders[i] = item;
1372
1363
  }
1373
- render.D.k?.A || runRender(render);
1364
+ render.o.k?.B || runRender(render);
1374
1365
  }
1375
1366
  for (let scope of pendingScopes)
1376
- scope.p = 0;
1367
+ scope.q = 0;
1377
1368
  pendingScopes = [];
1378
1369
  }
1379
- var runRender = (render) => render.L(render.D, render.I), enableCatch = () => {
1370
+ var runRender = (render) => render.M(render.o, render.I), enableCatch = () => {
1380
1371
  enableCatch = () => {
1381
1372
  }, enableBranches();
1382
1373
  let handlePendingTry = (fn, scope, branch) => {
1383
1374
  for (; branch; ) {
1384
1375
  if (branch.n)
1385
1376
  return (branch.H ||= []).push(fn, scope);
1386
- branch = branch.t;
1377
+ branch = branch.u;
1387
1378
  }
1388
1379
  };
1389
1380
  runEffects = /* @__PURE__ */ ((runEffects2) => (effects, checkPending = placeholderShown.has(effects)) => {
1390
1381
  if (checkPending || caughtError.has(effects)) {
1391
1382
  let i = 0, fn, scope, branch;
1392
1383
  for (; i < effects.length; )
1393
- fn = effects[i++], scope = effects[i++], branch = scope.k, !branch?.A && !(checkPending && handlePendingTry(fn, scope, branch)) && fn(scope, scope);
1384
+ fn = effects[i++], scope = effects[i++], branch = scope.k, !branch?.B && !(checkPending && handlePendingTry(fn, scope, branch)) && fn(scope, scope);
1394
1385
  } else
1395
1386
  runEffects2(effects);
1396
1387
  })(runEffects), runRender = /* @__PURE__ */ ((runRender2) => (render) => {
1397
1388
  try {
1398
1389
  runRender2(render);
1399
1390
  } catch (error) {
1400
- renderCatch(render.D, error);
1391
+ renderCatch(render.o, error);
1401
1392
  }
1402
1393
  })(runRender);
1403
1394
  };
1404
1395
 
1405
1396
  // src/dom/abort-signal.ts
1406
1397
  function resetAbortSignal(scope, id) {
1407
- let ctrl = scope.u?.[id];
1408
- ctrl && (queueEffect(ctrl, abort), scope.u[id] = void 0);
1398
+ let ctrl = scope.x?.[id];
1399
+ ctrl && (queueEffect(ctrl, abort), scope.x[id] = void 0);
1409
1400
  }
1410
1401
  function getAbortSignal(scope, id) {
1411
- return scope.k && (scope.k.J ||= /* @__PURE__ */ new Set()).add(scope), ((scope.u ||= {})[id] ||= new AbortController()).signal;
1402
+ return scope.k && (scope.k.K ||= /* @__PURE__ */ new Set()).add(scope), ((scope.x ||= {})[id] ||= new AbortController()).signal;
1412
1403
  }
1413
1404
  function abort(ctrl) {
1414
1405
  ctrl.abort();
@@ -1430,7 +1421,7 @@ var classIdToBranch = /* @__PURE__ */ new Map(), compat = {
1430
1421
  register(RENDERER_REGISTER_ID, fn);
1431
1422
  },
1432
1423
  isRenderer(renderer) {
1433
- return renderer.B;
1424
+ return renderer.C;
1434
1425
  },
1435
1426
  getStartNode(branch) {
1436
1427
  return branch.h;
@@ -1455,7 +1446,7 @@ var classIdToBranch = /* @__PURE__ */ new Map(), compat = {
1455
1446
  },
1456
1447
  createRenderer(params, clone) {
1457
1448
  let renderer = createRenderer(0, 0, 0, params);
1458
- return renderer.B = (branch) => {
1449
+ return renderer.C = (branch) => {
1459
1450
  let cloned = clone();
1460
1451
  branch.h = cloned.startNode, branch.j = cloned.endNode;
1461
1452
  }, renderer;
@@ -1470,10 +1461,10 @@ var classIdToBranch = /* @__PURE__ */ new Map(), compat = {
1470
1461
  normalizedInput[key === "renderBody" ? "content" : key] = input[key];
1471
1462
  }
1472
1463
  if (component.effects = prepareEffects(() => {
1473
- branch ? existing = 1 : (out.global.o ||= 0, branch = component.scope = createAndSetupBranch(
1464
+ branch ? existing = 1 : (out.global.p ||= 0, branch = component.scope = createAndSetupBranch(
1474
1465
  out.global,
1475
1466
  renderer,
1476
- renderer.x,
1467
+ renderer.y,
1477
1468
  document.body
1478
1469
  )), renderer.l?.(branch, renderer._ ? args[0] : args);
1479
1470
  }), !existing)
@@ -1495,12 +1486,12 @@ var createTemplate = (id, template, walks, setup, inputSignal) => {
1495
1486
  function mount(input = {}, reference, position) {
1496
1487
  let branch, parentNode = reference, nextSibling = null, { $global } = input;
1497
1488
  switch ($global ? ({ $global, ...input } = input, $global = {
1498
- o: 0,
1489
+ p: 0,
1499
1490
  runtimeId: DEFAULT_RUNTIME_ID,
1500
1491
  renderId: DEFAULT_RENDER_ID,
1501
1492
  ...$global
1502
1493
  }) : $global = {
1503
- o: 0,
1494
+ p: 0,
1504
1495
  runtimeId: DEFAULT_RUNTIME_ID,
1505
1496
  renderId: DEFAULT_RENDER_ID
1506
1497
  }, position) {
@@ -1520,7 +1511,7 @@ function mount(input = {}, reference, position) {
1520
1511
  this,
1521
1512
  void 0,
1522
1513
  parentNode
1523
- ), this.C?.(branch), args?.(branch, input);
1514
+ ), this.D?.(branch), args?.(branch, input);
1524
1515
  });
1525
1516
  return insertChildNodes(
1526
1517
  parentNode,