marko 6.3.32 → 6.3.34
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/cheatsheet.md +38 -31
- package/dist/common/errors.d.ts +1 -0
- package/dist/debug/dom/catch.feat.js +1 -1
- package/dist/debug/dom/catch.feat.mjs +1 -1
- package/dist/debug/dom/controllable-input.feat.js +1 -1
- package/dist/debug/dom/controllable-input.feat.mjs +1 -1
- package/dist/debug/dom/controllable-open.feat.js +1 -1
- package/dist/debug/dom/controllable-open.feat.mjs +1 -1
- package/dist/debug/dom/controllable-select.feat.js +1 -1
- package/dist/debug/dom/controllable-select.feat.mjs +1 -1
- package/dist/debug/dom/controllable-textarea.feat.js +1 -1
- package/dist/debug/dom/controllable-textarea.feat.mjs +1 -1
- package/dist/debug/dom/controllable.feat.js +1 -1
- package/dist/debug/dom/controllable.feat.mjs +1 -1
- package/dist/debug/{dom-CiFITSPN.js → dom-Bj58jt8y.js} +55 -30
- package/dist/debug/{dom-BJ93mcSe.mjs → dom-klf8Ec_o.mjs} +55 -30
- package/dist/debug/dom.js +3 -1
- package/dist/debug/dom.mjs +3 -1
- package/dist/debug/html.js +154 -86
- package/dist/debug/html.mjs +155 -84
- package/dist/dom/catch.feat.js +1 -1
- package/dist/dom/catch.feat.mjs +1 -1
- package/dist/dom/control-flow.d.ts +3 -1
- package/dist/dom/controllable-input.feat.js +1 -1
- package/dist/dom/controllable-input.feat.mjs +1 -1
- package/dist/dom/controllable-open.feat.js +1 -1
- package/dist/dom/controllable-open.feat.mjs +1 -1
- package/dist/dom/controllable-select.feat.js +1 -1
- package/dist/dom/controllable-select.feat.mjs +1 -1
- package/dist/dom/controllable-textarea.feat.js +1 -1
- package/dist/dom/controllable-textarea.feat.mjs +1 -1
- package/dist/dom/controllable.feat.js +1 -1
- package/dist/dom/controllable.feat.mjs +1 -1
- package/dist/{dom-Cj4HQ7T_.mjs → dom-6hBvZW7X.mjs} +27 -21
- package/dist/{dom-CI-06TZb.js → dom-B-XpL2_H.js} +27 -21
- package/dist/dom.js +3 -1
- package/dist/dom.mjs +3 -1
- package/dist/html/compat.d.ts +6 -2
- package/dist/html/writer.d.ts +3 -0
- package/dist/html.d.ts +1 -1
- package/dist/html.js +104 -65
- package/dist/html.mjs +104 -65
- package/dist/translator/core/client.d.ts +1 -2
- package/dist/translator/core/server.d.ts +1 -2
- package/dist/translator/core/static.d.ts +1 -2
- package/dist/translator/index.js +430 -294
- package/dist/translator/util/branch-tag.d.ts +5 -0
- package/dist/translator/util/constants/binding-type.d.ts +1 -0
- package/dist/translator/util/references.d.ts +8 -1
- package/dist/translator/util/serialize-reasons.d.ts +4 -4
- package/dist/translator/util/signals.d.ts +4 -3
- package/dist/translator/util/statement-tag.d.ts +2 -0
- package/dist/translator/visitors/program/index.d.ts +0 -1
- package/index.d.ts +19 -1
- package/package.json +5 -4
- package/tags/html-comment.d.marko +2 -0
- package/tags/html-script.d.marko +2 -0
- package/tags/html-style.d.marko +2 -0
- package/tags/let.d.marko +2 -2
- package/tags/show.d.marko +6 -0
- package/tags/try.d.marko +1 -1
- package/tags-html.d.ts +6 -1
- /package/dist/translator/util/{get-accessor-char.d.ts → get-accessor-enums.d.ts} +0 -0
|
@@ -14,9 +14,11 @@ export declare const _show: (nodeAccessor: EncodedAccessor, startNodeAccessor?:
|
|
|
14
14
|
export declare function patchDynamicTag(fn: <T extends typeof _dynamic_tag>(cond: T) => T): void;
|
|
15
15
|
export declare let _dynamic_tag: (nodeAccessor: EncodedAccessor, getContent?: ((scope: Scope) => Renderer) | 0, getTagVar?: (() => Signal<unknown>) | 0, inputIsArgs?: 1) => Signal<Renderer | string | undefined>;
|
|
16
16
|
export declare const _dynamic_tag_content: (nodeAccessor: EncodedAccessor) => Signal<Renderer | undefined>;
|
|
17
|
-
export declare
|
|
17
|
+
export declare const _resume_dynamic_tag: () => typeof dynamicTagScript;
|
|
18
|
+
declare function dynamicTagScript(branch: Scope): void;
|
|
18
19
|
export declare function setConditionalRenderer<T>(scope: Scope, nodeAccessor: Accessor, newRenderer: T, createBranch: ($global: Scope[typeof AccessorProp.Global], renderer: NonNullable<T>, parentScope: Scope, parentNode: ParentNode) => BranchScope): void;
|
|
19
20
|
export declare const _for_of: (nodeAccessor: EncodedAccessor, template?: string | 0, walks?: string | 0, setup?: SetupFn | 0, params?: Signal<unknown>) => (scope: Scope, value: [all: unknown[], by?: ((item: unknown, index: number) => unknown) | undefined]) => void;
|
|
20
21
|
export declare const _for_in: (nodeAccessor: EncodedAccessor, template?: string | 0, walks?: string | 0, setup?: SetupFn | 0, params?: Signal<unknown>) => (scope: Scope, value: [obj: {}, by?: ((key: string, v: unknown) => unknown) | undefined]) => void;
|
|
21
22
|
export declare const _for_to: (nodeAccessor: EncodedAccessor, template?: string | 0, walks?: string | 0, setup?: SetupFn | 0, params?: Signal<unknown>) => (scope: Scope, value: [to: number, from: number, step: number, by?: ((v: number) => unknown) | undefined]) => void;
|
|
22
23
|
export declare const _for_until: (nodeAccessor: EncodedAccessor, template?: string | 0, walks?: string | 0, setup?: SetupFn | 0, params?: Signal<unknown>) => (scope: Scope, value: [until: number, from: number, step: number, by?: ((v: number) => unknown) | undefined]) => void;
|
|
24
|
+
export {};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
let require_control_flow = require("../dom-
|
|
1
|
+
let require_control_flow = require("../dom-B-XpL2_H.js");
|
|
2
2
|
require_control_flow.R[0] = require_control_flow.w, require_control_flow.R[1] = require_control_flow.S, require_control_flow.R[2] = require_control_flow.k;
|
|
3
3
|
//#endregion
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { R as controllableScripts, S as _attr_input_checkedValue_script, k as _attr_input_value_script, w as _attr_input_checked_script } from "../dom-
|
|
1
|
+
import { R as controllableScripts, S as _attr_input_checkedValue_script, k as _attr_input_value_script, w as _attr_input_checked_script } from "../dom-6hBvZW7X.mjs";
|
|
2
2
|
controllableScripts[0] = _attr_input_checked_script, controllableScripts[1] = _attr_input_checkedValue_script, controllableScripts[2] = _attr_input_value_script;
|
|
3
3
|
//#endregion
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { R as controllableScripts, v as _attr_details_or_dialog_open_script } from "../dom-
|
|
1
|
+
import { R as controllableScripts, v as _attr_details_or_dialog_open_script } from "../dom-6hBvZW7X.mjs";
|
|
2
2
|
//#region src/dom/controllable-open.feat.ts
|
|
3
3
|
controllableScripts[4] = _attr_details_or_dialog_open_script;
|
|
4
4
|
//#endregion
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { M as _attr_select_value_script, R as controllableScripts } from "../dom-
|
|
1
|
+
import { M as _attr_select_value_script, R as controllableScripts } from "../dom-6hBvZW7X.mjs";
|
|
2
2
|
//#region src/dom/controllable-select.feat.ts
|
|
3
3
|
controllableScripts[3] = _attr_select_value_script;
|
|
4
4
|
//#endregion
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { R as controllableScripts, k as _attr_input_value_script } from "../dom-
|
|
1
|
+
import { R as controllableScripts, k as _attr_input_value_script } from "../dom-6hBvZW7X.mjs";
|
|
2
2
|
//#region src/dom/controllable-textarea.feat.ts
|
|
3
3
|
controllableScripts[2] = _attr_input_value_script;
|
|
4
4
|
//#endregion
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
let require_control_flow = require("../dom-
|
|
1
|
+
let require_control_flow = require("../dom-B-XpL2_H.js");
|
|
2
2
|
require("./controllable-input.feat.js"), require("./controllable-open.feat.js"), require("./controllable-select.feat.js"), require_control_flow.L.INPUT = require_control_flow.N, require_control_flow.L.TEXTAREA = require_control_flow.I, require_control_flow.L.SELECT = require_control_flow.F, require_control_flow.L.DETAILS = require_control_flow.L.DIALOG = require_control_flow.P;
|
|
3
3
|
//#endregion
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { F as _controllable_select, I as _controllable_textarea, L as controllableRenders, N as _controllable_input, P as _controllable_open } from "../dom-
|
|
1
|
+
import { F as _controllable_select, I as _controllable_textarea, L as controllableRenders, N as _controllable_input, P as _controllable_open } from "../dom-6hBvZW7X.mjs";
|
|
2
2
|
import "./controllable-input.feat.mjs";
|
|
3
3
|
import "./controllable-open.feat.mjs";
|
|
4
4
|
import "./controllable-select.feat.mjs";
|
|
@@ -8,7 +8,7 @@ let unsafeStyleAttrReg = /[\\;]/g, replaceUnsafeStyleAttr = (c) => c === ";" ? "
|
|
|
8
8
|
for (let i = 0; i < effects.length;) effects[i++](effects[i++]);
|
|
9
9
|
}), runRender = (render) => {
|
|
10
10
|
(!branchesEnabled || render.b.F?.H !== 0) && render.c(render.b, render.d);
|
|
11
|
-
}, catchEnabled, delegate = (type, handler) => handler[type] ||= (document.addEventListener(type, handler, !0), 1), parsers = {}, nextScopeId = 1e6, collectingScopes, destroyNestedScopes = function destroyNestedScopes(scope) {
|
|
11
|
+
}, catchEnabled, delegate = (type, handler) => handler[1 + type] ||= (document.addEventListener(type, handler, !0), 1), parsers = {}, nextScopeId = 1e6, collectingScopes, destroyNestedScopes = function destroyNestedScopes(scope) {
|
|
12
12
|
scope.H = 0, scope.D?.forEach(destroyNestedScopes), scope.B?.forEach(cleanupScope);
|
|
13
13
|
}, isScheduled, channel, _return = (scope, value) => scope.T?.(value), _var_change = (scope, value) => scope.U?.(value), tagIdsByGlobal = /* @__PURE__ */ new WeakMap(), currentNode, walkInternal = function walkInternal(currentWalkIndex, walkCodes, scope) {
|
|
14
14
|
let value, currentMultiplier, storedMultiplier = 0, currentScopeIndex = 0;
|
|
@@ -26,7 +26,7 @@ let unsafeStyleAttrReg = /[\\;]/g, replaceUnsafeStyleAttr = (c) => c === ";" ? "
|
|
|
26
26
|
if (currentNode.firstChild) return currentNode = currentNode.firstChild;
|
|
27
27
|
for (; !currentNode.nextSibling && currentNode.parentNode;) currentNode = currentNode.parentNode;
|
|
28
28
|
walkNextSibling();
|
|
29
|
-
}, walkNextSibling = () => currentNode = currentNode.nextSibling || currentNode, registeredValues = {}, curRenders, embedRenders, readyIds, isResuming, cloneCache = {}, R = /[
|
|
29
|
+
}, walkNextSibling = () => currentNode = currentNode.nextSibling || currentNode, registeredValues = {}, curRenders, embedRenders, readyIds, isResuming, cloneCache = {}, R = /[\p{L}\p{N}]/gu, inputType = "", controllableScripts = {}, controllableRenders = {}, _if = /*@__PURE__*/ withBranches((nodeAccessor, ...branchesArgs) => {
|
|
30
30
|
nodeAccessor = decodeAccessor(nodeAccessor);
|
|
31
31
|
let branchAccessor = "D" + nodeAccessor, branches = [], i = 0;
|
|
32
32
|
for (; i < branchesArgs.length;) branches.push(_content("", branchesArgs[i++], branchesArgs[i++], branchesArgs[i++])());
|
|
@@ -80,7 +80,7 @@ let unsafeStyleAttrReg = /[\\;]/g, replaceUnsafeStyleAttr = (c) => c === ";" ? "
|
|
|
80
80
|
return (scope, renderer) => {
|
|
81
81
|
if (scope[rendererAccessor] !== (scope[rendererAccessor] = renderer?.a || renderer) && (setConditionalRenderer(scope, nodeAccessor, renderer, createAndSetupBranch), renderer?.f && subscribeToScopeSet(renderer.e, renderer.f, scope[childScopeAccessor])), renderer) for (let accessor in renderer.g) renderer.g[accessor](scope[childScopeAccessor], renderer.h[accessor]);
|
|
82
82
|
};
|
|
83
|
-
}), loop = /*@__PURE__*/ withBranches((forEach) => (nodeAccessor, template, walks, setup, params) => {
|
|
83
|
+
}), _resume_dynamic_tag = /*@__PURE__*/ withBranches(() => _resume("d", dynamicTagScript)), loop = /*@__PURE__*/ withBranches((forEach) => (nodeAccessor, template, walks, setup, params) => {
|
|
84
84
|
nodeAccessor = decodeAccessor(nodeAccessor);
|
|
85
85
|
let scopesAccessor = "A" + nodeAccessor, keyedScopesAccessor = "O" + nodeAccessor, renderer = _content("", template, walks, setup)();
|
|
86
86
|
return (scope, value) => {
|
|
@@ -114,9 +114,15 @@ let unsafeStyleAttrReg = /[\\;]/g, replaceUnsafeStyleAttr = (c) => c === ";" ? "
|
|
|
114
114
|
for (hi = tails[tail], lo = tail + 1; lo-- > 0;) tails[lo] = hi, hi = pred[hi];
|
|
115
115
|
for (let i = diffLen; i--;) ~tail && i === tails[tail] ? tail-- : insertBranchBefore(newScopes[start + i], parentNode, afterReference), afterReference = newScopes[start + i].S;
|
|
116
116
|
};
|
|
117
|
-
}), _for_of = /*@__PURE__*/ loop(([all, by
|
|
118
|
-
typeof by == "string" ? forOf(all, (item, i) => cb(item[by], [item, i])) : forOf(all, (item, i) => cb(by(item, i), [item, i]));
|
|
119
|
-
}), _for_in = /*@__PURE__*/ loop(([obj, by
|
|
117
|
+
}), _for_of = /*@__PURE__*/ loop(([all, by], cb) => {
|
|
118
|
+
by ||= bySecondArg, typeof by == "string" ? forOf(all, (item, i) => cb(item[by], [item, i])) : forOf(all, (item, i) => cb(by(item, i), [item, i]));
|
|
119
|
+
}), _for_in = /*@__PURE__*/ loop(([obj, by], cb) => {
|
|
120
|
+
by ||= byFirstArg, forIn(obj, (key, value) => cb(by(key, value), [key, value]));
|
|
121
|
+
}), _for_to = /*@__PURE__*/ loop(([to, from, step, by], cb) => {
|
|
122
|
+
by ||= byFirstArg, forTo(to, from, step, (v) => cb(by(v), [v]));
|
|
123
|
+
}), _for_until = /*@__PURE__*/ loop(([until, from, step, by], cb) => {
|
|
124
|
+
by ||= byFirstArg, forUntil(until, from, step, (v) => cb(by(v), [v]));
|
|
125
|
+
});
|
|
120
126
|
//#region src/common/helpers.ts
|
|
121
127
|
function _call(fn, v) {
|
|
122
128
|
return fn(v), v;
|
|
@@ -277,11 +283,11 @@ function push(opt, item) {
|
|
|
277
283
|
//#endregion
|
|
278
284
|
//#region src/dom/event.ts
|
|
279
285
|
function _on(element, type, handler) {
|
|
280
|
-
element[
|
|
286
|
+
element[1 + type] === void 0 && delegate(type, handleDelegated), element[1 + type] = handler || null;
|
|
281
287
|
}
|
|
282
288
|
function handleDelegated(ev) {
|
|
283
289
|
let target = !rendering && ev.target;
|
|
284
|
-
for (; target;) target[
|
|
290
|
+
for (; target;) target[1 + ev.type]?.(ev, target), target = ev.bubbles && !ev.cancelBubble && target.parentNode;
|
|
285
291
|
}
|
|
286
292
|
//#endregion
|
|
287
293
|
//#region src/dom/parse-html.ts
|
|
@@ -454,7 +460,7 @@ function _var(scope, childAccessor, signal) {
|
|
|
454
460
|
scope[decodeAccessor(childAccessor)].T = (value) => signal(scope, value);
|
|
455
461
|
}
|
|
456
462
|
function _return_change(scope, changeHandler) {
|
|
457
|
-
|
|
463
|
+
scope.U = changeHandler || void 0;
|
|
458
464
|
}
|
|
459
465
|
function _id({ $: $global }) {
|
|
460
466
|
let id = tagIdsByGlobal.get($global) || 0;
|
|
@@ -619,7 +625,7 @@ function setupBranch(renderer, branch) {
|
|
|
619
625
|
function _content(id, template, walks, setup, params, dynamicScopesAccessor) {
|
|
620
626
|
walks = walks ? walks.replace(/[^\0-1]+$/, "") : "", setup = setup ? setup._ || setup : void 0, params ||= void 0;
|
|
621
627
|
let clone = template ? (branch, ns) => {
|
|
622
|
-
((cloneCache[ns] ||= {})[template] ||= createCloneableHTML(template, ns))(branch, walks);
|
|
628
|
+
((cloneCache[ns] ||= {})[1 + template] ||= createCloneableHTML(template, ns))(branch, walks);
|
|
623
629
|
} : (branch) => {
|
|
624
630
|
walk(branch.S = branch.K = new Text(), walks, branch);
|
|
625
631
|
};
|
|
@@ -718,7 +724,7 @@ function _attrs_partial(scope, nodeAccessor, nextAttrs, skip, controllable) {
|
|
|
718
724
|
let el = scope[nodeAccessor], partial = {};
|
|
719
725
|
for (let i = el.attributes.length; i--;) {
|
|
720
726
|
let { name } = el.attributes.item(i);
|
|
721
|
-
!skip[name] && !(nextAttrs && name in nextAttrs) && el.removeAttribute(name);
|
|
727
|
+
!skip[name] && !(nextAttrs && (name in nextAttrs || hasAttrAlias(el, name, nextAttrs))) && el.removeAttribute(name);
|
|
722
728
|
}
|
|
723
729
|
for (let name in nextAttrs) {
|
|
724
730
|
let key = isEventHandler(name) ? `on-${getEventHandlerName(name)}` : name;
|
|
@@ -801,9 +807,9 @@ function resolveCursorPosition(inputType, initialPosition, initialValue, updated
|
|
|
801
807
|
let before = initialValue.slice(0, initialPosition), after = initialValue.slice(initialPosition);
|
|
802
808
|
if (updatedValue.startsWith(before)) return initialPosition;
|
|
803
809
|
if (updatedValue.endsWith(after)) return updatedValue.length - after.length;
|
|
804
|
-
let count = before.
|
|
805
|
-
for (; count && updatedValue
|
|
806
|
-
return
|
|
810
|
+
let count = before.match(R)?.length;
|
|
811
|
+
for (; count && R.test(updatedValue);) count--;
|
|
812
|
+
return count ? updatedValue.length : R.lastIndex;
|
|
807
813
|
}
|
|
808
814
|
return -1;
|
|
809
815
|
}
|
|
@@ -1027,9 +1033,9 @@ function _await_promise(nodeAccessor, params) {
|
|
|
1027
1033
|
detachedParent === anchor.parentNode ? anchor.remove() : anchor.replaceWith(detachedParent);
|
|
1028
1034
|
}
|
|
1029
1035
|
} else dismissPlaceholder(tryBranch);
|
|
1030
|
-
})), scope[promiseAccessor] || (awaitBranch && (awaitBranch.W ||= []), tryPlaceholder ? awaitCounter = addAwaitCounter(scope, tryPlaceholder) :
|
|
1036
|
+
})), scope[promiseAccessor] || (awaitBranch && (awaitBranch.W ||= []), tryPlaceholder ? awaitCounter = addAwaitCounter(scope, tryPlaceholder) : scheduleAwaitFrame(awaitCounter, scope, () => {
|
|
1031
1037
|
awaitBranch.V || (awaitBranch.S.parentNode.insertBefore(scope[nodeAccessor], awaitBranch.S), tempDetachBranch(tryBranch));
|
|
1032
|
-
}
|
|
1038
|
+
}));
|
|
1033
1039
|
let thisPromise = scope[promiseAccessor] = promise.then((data) => {
|
|
1034
1040
|
if (thisPromise === scope[promiseAccessor]) {
|
|
1035
1041
|
let referenceNode = scope[nodeAccessor];
|
|
@@ -1072,9 +1078,12 @@ function _await_content(nodeAccessor, template, walks, setup) {
|
|
|
1072
1078
|
function addAwaitCounter(scope, tryBranch = findBranchWithKey(scope, "Q")) {
|
|
1073
1079
|
if (!tryBranch) return;
|
|
1074
1080
|
let awaitCounter = tryBranch.O;
|
|
1075
|
-
return awaitCounter?.i || (awaitCounter = createAwaitCounter(tryBranch, () => dismissPlaceholder(tryBranch))), placeholderShown.add(pendingEffects),
|
|
1081
|
+
return awaitCounter?.i || (awaitCounter = createAwaitCounter(tryBranch, () => dismissPlaceholder(tryBranch))), placeholderShown.add(pendingEffects), scheduleAwaitFrame(awaitCounter, tryBranch, () => {
|
|
1076
1082
|
insertBranchBefore(tryBranch.P = createAndSetupBranch(tryBranch.$, tryBranch.Q, tryBranch._, tryBranch.S.parentNode), tryBranch.S.parentNode, tryBranch.S), tempDetachBranch(tryBranch);
|
|
1077
|
-
}
|
|
1083
|
+
}), awaitCounter;
|
|
1084
|
+
}
|
|
1085
|
+
function scheduleAwaitFrame(awaitCounter, scope, render) {
|
|
1086
|
+
awaitCounter.i++ || requestAnimationFrame(() => awaitCounter.i && runEffects(prepareEffects(() => queueRender(scope, render, -1))));
|
|
1078
1087
|
}
|
|
1079
1088
|
function createAwaitCounter(tryBranch, done) {
|
|
1080
1089
|
let awaitCounter = tryBranch.O = {
|
|
@@ -1113,9 +1122,6 @@ function renderCatch(scope, error) {
|
|
|
1113
1122
|
function patchDynamicTag(fn) {
|
|
1114
1123
|
_dynamic_tag = fn(_dynamic_tag);
|
|
1115
1124
|
}
|
|
1116
|
-
function _resume_dynamic_tag() {
|
|
1117
|
-
_resume("d", dynamicTagScript);
|
|
1118
|
-
}
|
|
1119
1125
|
function dynamicTagScript(branch) {
|
|
1120
1126
|
_attrs_script(branch, "a");
|
|
1121
1127
|
}
|
|
@@ -8,7 +8,7 @@ let unsafeStyleAttrReg = /[\\;]/g, replaceUnsafeStyleAttr = (c) => c === ";" ? "
|
|
|
8
8
|
for (let i = 0; i < effects.length;) effects[i++](effects[i++]);
|
|
9
9
|
}), runRender = (render) => {
|
|
10
10
|
(!branchesEnabled || render.b.F?.H !== 0) && render.c(render.b, render.d);
|
|
11
|
-
}, catchEnabled, delegate = (type, handler) => handler[type] ||= (document.addEventListener(type, handler, !0), 1), parsers = {}, nextScopeId = 1e6, collectingScopes, destroyNestedScopes = function destroyNestedScopes(scope) {
|
|
11
|
+
}, catchEnabled, delegate = (type, handler) => handler[1 + type] ||= (document.addEventListener(type, handler, !0), 1), parsers = {}, nextScopeId = 1e6, collectingScopes, destroyNestedScopes = function destroyNestedScopes(scope) {
|
|
12
12
|
scope.H = 0, scope.D?.forEach(destroyNestedScopes), scope.B?.forEach(cleanupScope);
|
|
13
13
|
}, isScheduled, channel, _return = (scope, value) => scope.T?.(value), _var_change = (scope, value) => scope.U?.(value), tagIdsByGlobal = /* @__PURE__ */ new WeakMap(), currentNode, walkInternal = function walkInternal(currentWalkIndex, walkCodes, scope) {
|
|
14
14
|
let value, currentMultiplier, storedMultiplier = 0, currentScopeIndex = 0;
|
|
@@ -26,7 +26,7 @@ let unsafeStyleAttrReg = /[\\;]/g, replaceUnsafeStyleAttr = (c) => c === ";" ? "
|
|
|
26
26
|
if (currentNode.firstChild) return currentNode = currentNode.firstChild;
|
|
27
27
|
for (; !currentNode.nextSibling && currentNode.parentNode;) currentNode = currentNode.parentNode;
|
|
28
28
|
walkNextSibling();
|
|
29
|
-
}, walkNextSibling = () => currentNode = currentNode.nextSibling || currentNode, registeredValues = {}, curRenders, embedRenders, readyIds, isResuming, cloneCache = {}, R = /[
|
|
29
|
+
}, walkNextSibling = () => currentNode = currentNode.nextSibling || currentNode, registeredValues = {}, curRenders, embedRenders, readyIds, isResuming, cloneCache = {}, R = /[\p{L}\p{N}]/gu, inputType = "", controllableScripts = {}, controllableRenders = {}, _if = /*@__PURE__*/ withBranches((nodeAccessor, ...branchesArgs) => {
|
|
30
30
|
nodeAccessor = decodeAccessor(nodeAccessor);
|
|
31
31
|
let branchAccessor = "D" + nodeAccessor, branches = [], i = 0;
|
|
32
32
|
for (; i < branchesArgs.length;) branches.push(_content("", branchesArgs[i++], branchesArgs[i++], branchesArgs[i++])());
|
|
@@ -80,7 +80,7 @@ let unsafeStyleAttrReg = /[\\;]/g, replaceUnsafeStyleAttr = (c) => c === ";" ? "
|
|
|
80
80
|
return (scope, renderer) => {
|
|
81
81
|
if (scope[rendererAccessor] !== (scope[rendererAccessor] = renderer?.a || renderer) && (setConditionalRenderer(scope, nodeAccessor, renderer, createAndSetupBranch), renderer?.f && subscribeToScopeSet(renderer.e, renderer.f, scope[childScopeAccessor])), renderer) for (let accessor in renderer.g) renderer.g[accessor](scope[childScopeAccessor], renderer.h[accessor]);
|
|
82
82
|
};
|
|
83
|
-
}), loop = /*@__PURE__*/ withBranches((forEach) => (nodeAccessor, template, walks, setup, params) => {
|
|
83
|
+
}), _resume_dynamic_tag = /*@__PURE__*/ withBranches(() => _resume("d", dynamicTagScript)), loop = /*@__PURE__*/ withBranches((forEach) => (nodeAccessor, template, walks, setup, params) => {
|
|
84
84
|
nodeAccessor = decodeAccessor(nodeAccessor);
|
|
85
85
|
let scopesAccessor = "A" + nodeAccessor, keyedScopesAccessor = "O" + nodeAccessor, renderer = _content("", template, walks, setup)();
|
|
86
86
|
return (scope, value) => {
|
|
@@ -114,9 +114,15 @@ let unsafeStyleAttrReg = /[\\;]/g, replaceUnsafeStyleAttr = (c) => c === ";" ? "
|
|
|
114
114
|
for (hi = tails[tail], lo = tail + 1; lo-- > 0;) tails[lo] = hi, hi = pred[hi];
|
|
115
115
|
for (let i = diffLen; i--;) ~tail && i === tails[tail] ? tail-- : insertBranchBefore(newScopes[start + i], parentNode, afterReference), afterReference = newScopes[start + i].S;
|
|
116
116
|
};
|
|
117
|
-
}), _for_of = /*@__PURE__*/ loop(([all, by
|
|
118
|
-
typeof by == "string" ? forOf(all, (item, i) => cb(item[by], [item, i])) : forOf(all, (item, i) => cb(by(item, i), [item, i]));
|
|
119
|
-
}), _for_in = /*@__PURE__*/ loop(([obj, by
|
|
117
|
+
}), _for_of = /*@__PURE__*/ loop(([all, by], cb) => {
|
|
118
|
+
by ||= bySecondArg, typeof by == "string" ? forOf(all, (item, i) => cb(item[by], [item, i])) : forOf(all, (item, i) => cb(by(item, i), [item, i]));
|
|
119
|
+
}), _for_in = /*@__PURE__*/ loop(([obj, by], cb) => {
|
|
120
|
+
by ||= byFirstArg, forIn(obj, (key, value) => cb(by(key, value), [key, value]));
|
|
121
|
+
}), _for_to = /*@__PURE__*/ loop(([to, from, step, by], cb) => {
|
|
122
|
+
by ||= byFirstArg, forTo(to, from, step, (v) => cb(by(v), [v]));
|
|
123
|
+
}), _for_until = /*@__PURE__*/ loop(([until, from, step, by], cb) => {
|
|
124
|
+
by ||= byFirstArg, forUntil(until, from, step, (v) => cb(by(v), [v]));
|
|
125
|
+
});
|
|
120
126
|
//#region src/common/helpers.ts
|
|
121
127
|
function _call(fn, v) {
|
|
122
128
|
return fn(v), v;
|
|
@@ -277,11 +283,11 @@ function push(opt, item) {
|
|
|
277
283
|
//#endregion
|
|
278
284
|
//#region src/dom/event.ts
|
|
279
285
|
function _on(element, type, handler) {
|
|
280
|
-
element[
|
|
286
|
+
element[1 + type] === void 0 && delegate(type, handleDelegated), element[1 + type] = handler || null;
|
|
281
287
|
}
|
|
282
288
|
function handleDelegated(ev) {
|
|
283
289
|
let target = !rendering && ev.target;
|
|
284
|
-
for (; target;) target[
|
|
290
|
+
for (; target;) target[1 + ev.type]?.(ev, target), target = ev.bubbles && !ev.cancelBubble && target.parentNode;
|
|
285
291
|
}
|
|
286
292
|
//#endregion
|
|
287
293
|
//#region src/dom/parse-html.ts
|
|
@@ -454,7 +460,7 @@ function _var(scope, childAccessor, signal) {
|
|
|
454
460
|
scope[decodeAccessor(childAccessor)].T = (value) => signal(scope, value);
|
|
455
461
|
}
|
|
456
462
|
function _return_change(scope, changeHandler) {
|
|
457
|
-
|
|
463
|
+
scope.U = changeHandler || void 0;
|
|
458
464
|
}
|
|
459
465
|
function _id({ $: $global }) {
|
|
460
466
|
let id = tagIdsByGlobal.get($global) || 0;
|
|
@@ -619,7 +625,7 @@ function setupBranch(renderer, branch) {
|
|
|
619
625
|
function _content(id, template, walks, setup, params, dynamicScopesAccessor) {
|
|
620
626
|
walks = walks ? walks.replace(/[^\0-1]+$/, "") : "", setup = setup ? setup._ || setup : void 0, params ||= void 0;
|
|
621
627
|
let clone = template ? (branch, ns) => {
|
|
622
|
-
((cloneCache[ns] ||= {})[template] ||= createCloneableHTML(template, ns))(branch, walks);
|
|
628
|
+
((cloneCache[ns] ||= {})[1 + template] ||= createCloneableHTML(template, ns))(branch, walks);
|
|
623
629
|
} : (branch) => {
|
|
624
630
|
walk(branch.S = branch.K = new Text(), walks, branch);
|
|
625
631
|
};
|
|
@@ -718,7 +724,7 @@ function _attrs_partial(scope, nodeAccessor, nextAttrs, skip, controllable) {
|
|
|
718
724
|
let el = scope[nodeAccessor], partial = {};
|
|
719
725
|
for (let i = el.attributes.length; i--;) {
|
|
720
726
|
let { name } = el.attributes.item(i);
|
|
721
|
-
!skip[name] && !(nextAttrs && name in nextAttrs) && el.removeAttribute(name);
|
|
727
|
+
!skip[name] && !(nextAttrs && (name in nextAttrs || hasAttrAlias(el, name, nextAttrs))) && el.removeAttribute(name);
|
|
722
728
|
}
|
|
723
729
|
for (let name in nextAttrs) {
|
|
724
730
|
let key = isEventHandler(name) ? `on-${getEventHandlerName(name)}` : name;
|
|
@@ -801,9 +807,9 @@ function resolveCursorPosition(inputType, initialPosition, initialValue, updated
|
|
|
801
807
|
let before = initialValue.slice(0, initialPosition), after = initialValue.slice(initialPosition);
|
|
802
808
|
if (updatedValue.startsWith(before)) return initialPosition;
|
|
803
809
|
if (updatedValue.endsWith(after)) return updatedValue.length - after.length;
|
|
804
|
-
let count = before.
|
|
805
|
-
for (; count && updatedValue
|
|
806
|
-
return
|
|
810
|
+
let count = before.match(R)?.length;
|
|
811
|
+
for (; count && R.test(updatedValue);) count--;
|
|
812
|
+
return count ? updatedValue.length : R.lastIndex;
|
|
807
813
|
}
|
|
808
814
|
return -1;
|
|
809
815
|
}
|
|
@@ -1027,9 +1033,9 @@ function _await_promise(nodeAccessor, params) {
|
|
|
1027
1033
|
detachedParent === anchor.parentNode ? anchor.remove() : anchor.replaceWith(detachedParent);
|
|
1028
1034
|
}
|
|
1029
1035
|
} else dismissPlaceholder(tryBranch);
|
|
1030
|
-
})), scope[promiseAccessor] || (awaitBranch && (awaitBranch.W ||= []), tryPlaceholder ? awaitCounter = addAwaitCounter(scope, tryPlaceholder) :
|
|
1036
|
+
})), scope[promiseAccessor] || (awaitBranch && (awaitBranch.W ||= []), tryPlaceholder ? awaitCounter = addAwaitCounter(scope, tryPlaceholder) : scheduleAwaitFrame(awaitCounter, scope, () => {
|
|
1031
1037
|
awaitBranch.V || (awaitBranch.S.parentNode.insertBefore(scope[nodeAccessor], awaitBranch.S), tempDetachBranch(tryBranch));
|
|
1032
|
-
}
|
|
1038
|
+
}));
|
|
1033
1039
|
let thisPromise = scope[promiseAccessor] = promise.then((data) => {
|
|
1034
1040
|
if (thisPromise === scope[promiseAccessor]) {
|
|
1035
1041
|
let referenceNode = scope[nodeAccessor];
|
|
@@ -1072,9 +1078,12 @@ function _await_content(nodeAccessor, template, walks, setup) {
|
|
|
1072
1078
|
function addAwaitCounter(scope, tryBranch = findBranchWithKey(scope, "Q")) {
|
|
1073
1079
|
if (!tryBranch) return;
|
|
1074
1080
|
let awaitCounter = tryBranch.O;
|
|
1075
|
-
return awaitCounter?.i || (awaitCounter = createAwaitCounter(tryBranch, () => dismissPlaceholder(tryBranch))), placeholderShown.add(pendingEffects),
|
|
1081
|
+
return awaitCounter?.i || (awaitCounter = createAwaitCounter(tryBranch, () => dismissPlaceholder(tryBranch))), placeholderShown.add(pendingEffects), scheduleAwaitFrame(awaitCounter, tryBranch, () => {
|
|
1076
1082
|
insertBranchBefore(tryBranch.P = createAndSetupBranch(tryBranch.$, tryBranch.Q, tryBranch._, tryBranch.S.parentNode), tryBranch.S.parentNode, tryBranch.S), tempDetachBranch(tryBranch);
|
|
1077
|
-
}
|
|
1083
|
+
}), awaitCounter;
|
|
1084
|
+
}
|
|
1085
|
+
function scheduleAwaitFrame(awaitCounter, scope, render) {
|
|
1086
|
+
awaitCounter.i++ || requestAnimationFrame(() => awaitCounter.i && runEffects(prepareEffects(() => queueRender(scope, render, -1))));
|
|
1078
1087
|
}
|
|
1079
1088
|
function createAwaitCounter(tryBranch, done) {
|
|
1080
1089
|
let awaitCounter = tryBranch.O = {
|
|
@@ -1113,9 +1122,6 @@ function renderCatch(scope, error) {
|
|
|
1113
1122
|
function patchDynamicTag(fn) {
|
|
1114
1123
|
_dynamic_tag = fn(_dynamic_tag);
|
|
1115
1124
|
}
|
|
1116
|
-
function _resume_dynamic_tag() {
|
|
1117
|
-
_resume("d", dynamicTagScript);
|
|
1118
|
-
}
|
|
1119
1125
|
function dynamicTagScript(branch) {
|
|
1120
1126
|
_attrs_script(branch, "a");
|
|
1121
1127
|
}
|
package/dist/dom.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
let require_control_flow = require("./dom-
|
|
1
|
+
let require_control_flow = require("./dom-B-XpL2_H.js"), empty = [], rest = Symbol(), classIdToBranch = /* @__PURE__ */ new Map(), classEventResolver, scopesByRender = /* @__PURE__ */ new WeakMap(), getRenderScopes = ($global) => {
|
|
2
|
+
require_control_flow.vt($global.runtimeId);
|
|
2
3
|
let render = self[$global.runtimeId]?.[$global.renderId], scopes = render && scopesByRender.get(render);
|
|
3
4
|
return render && !scopes && scopesByRender.set(render, scopes = {}), scopes;
|
|
4
5
|
}, compat = {
|
|
@@ -50,6 +51,7 @@ let require_control_flow = require("./dom-CI-06TZb.js"), empty = [], rest = Symb
|
|
|
50
51
|
}, renderer;
|
|
51
52
|
},
|
|
52
53
|
render(out, component, renderer, args) {
|
|
54
|
+
require_control_flow.vt(out.global.runtimeId);
|
|
53
55
|
let branch = component.scope, created = 0;
|
|
54
56
|
if (!branch && (branch = classIdToBranch.get(component.id)) && (component.scope = branch, classIdToBranch.delete(component.id)), args[0] && typeof args[0] == "object" && "renderBody" in args[0]) {
|
|
55
57
|
let input = args[0], normalizedInput = args[0] = {};
|
package/dist/dom.mjs
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
let empty = [], rest = Symbol(), classIdToBranch = /* @__PURE__ */ new Map(), classEventResolver, scopesByRender = /* @__PURE__ */ new WeakMap(), getRenderScopes = ($global) => {
|
|
2
|
+
init($global.runtimeId);
|
|
2
3
|
let render = self[$global.runtimeId]?.[$global.renderId], scopes = render && scopesByRender.get(render);
|
|
3
4
|
return render && !scopes && scopesByRender.set(render, scopes = {}), scopes;
|
|
4
5
|
}, compat = {
|
|
@@ -50,6 +51,7 @@ let empty = [], rest = Symbol(), classIdToBranch = /* @__PURE__ */ new Map(), cl
|
|
|
50
51
|
}, renderer;
|
|
51
52
|
},
|
|
52
53
|
render(out, component, renderer, args) {
|
|
54
|
+
init(out.global.runtimeId);
|
|
53
55
|
let branch = component.scope, created = 0;
|
|
54
56
|
if (!branch && (branch = classIdToBranch.get(component.id)) && (component.scope = branch, classIdToBranch.delete(component.id)), args[0] && typeof args[0] == "object" && "renderBody" in args[0]) {
|
|
55
57
|
let input = args[0], normalizedInput = args[0] = {};
|
|
@@ -63,7 +65,7 @@ let empty = [], rest = Symbol(), classIdToBranch = /* @__PURE__ */ new Map(), cl
|
|
|
63
65
|
let renderer = _content(id, template, walks, setup, inputSignal)();
|
|
64
66
|
return renderer.mount = mount, renderer._ = renderer, _resume(id, renderer);
|
|
65
67
|
};
|
|
66
|
-
import { $ as _html, $t as queueEffect, A as _attr_select_value, At as _id, B as _attr_class, Bt as _assert_init, C as _attr_input_checked_default, Ct as _closure_get, D as _attr_input_value_default, Dt as _for_selector, E as _attr_input_value_attribute_default, Et as _for_closure, F as _controllable_select, Ft as _return, G as _attr_style, Gt as _on, H as _attr_class_items, Ht as insertBranchBefore, I as _controllable_textarea, It as _return_change, J as _attrs, K as _attr_style_item, Kt as $signal, Lt as _script, M as _attr_select_value_script, Mt as _let, N as _controllable_input, Nt as _let_change, O as _attr_input_value_dynamic_default, Ot as _hoist, P as _controllable_open, Pt as _or, Q as _attrs_script, Qt as queueAsyncRender, Rt as _var, S as _attr_input_checkedValue_script, St as _closure, T as _attr_input_value, Tt as _el_read, U as _attr_content, Ut as removeAndDestroyBranch, V as _attr_class_item, Vt as destroyBranch, W as _attr_nonce, Wt as syncGen, X as _attrs_partial, Y as _attrs_content, Z as _attrs_partial_content, Zt as prepareEffects, _ as _attr_details_or_dialog_open_default, _t as getRegisteredWithScope, a as _for_in, an as forTo, at as _to_text, b as _attr_input_checkedValue, bt as ready, c as _for_until, cn as _call, ct as _content, d as _show, dt as createAndSetupBranch, en as run, et as _lifecycle, f as _try, ft as createBranch, g as _attr_details_or_dialog_open, gt as _var_resume, h as renderCatch, ht as _resume, i as _dynamic_tag_content, in as forOf, it as _text_content, j as _attr_select_value_default, jt as _if_closure, k as _attr_input_value_script, kt as _hoist_resume, l as _if, ln as decodeAccessor, lt as _content_closures, m as patchDynamicTag, mt as _el, n as _await_promise, nn as runId, nt as _style_shell, o as _for_of, on as forUntil, ot as insertChildNodes, p as addAwaitCounter, pt as setupBranch, q as _attr_style_items, qt as $signalReset, r as _dynamic_tag, rn as forIn, rt as _text, s as _for_to, sn as _assert_hoist, st as toInsertNode, t as _await_content, tn as runEffects, tt as _style_rule_item, u as _resume_dynamic_tag, ut as _content_resume, v as _attr_details_or_dialog_open_script, vt as init, w as _attr_input_checked_script, wt as _const, x as _attr_input_checkedValue_default, xt as _child_setup, y as _attr_input_checked, yt as initEmbedded, z as _attr, zt as _var_change } from "./dom-
|
|
68
|
+
import { $ as _html, $t as queueEffect, A as _attr_select_value, At as _id, B as _attr_class, Bt as _assert_init, C as _attr_input_checked_default, Ct as _closure_get, D as _attr_input_value_default, Dt as _for_selector, E as _attr_input_value_attribute_default, Et as _for_closure, F as _controllable_select, Ft as _return, G as _attr_style, Gt as _on, H as _attr_class_items, Ht as insertBranchBefore, I as _controllable_textarea, It as _return_change, J as _attrs, K as _attr_style_item, Kt as $signal, Lt as _script, M as _attr_select_value_script, Mt as _let, N as _controllable_input, Nt as _let_change, O as _attr_input_value_dynamic_default, Ot as _hoist, P as _controllable_open, Pt as _or, Q as _attrs_script, Qt as queueAsyncRender, Rt as _var, S as _attr_input_checkedValue_script, St as _closure, T as _attr_input_value, Tt as _el_read, U as _attr_content, Ut as removeAndDestroyBranch, V as _attr_class_item, Vt as destroyBranch, W as _attr_nonce, Wt as syncGen, X as _attrs_partial, Y as _attrs_content, Z as _attrs_partial_content, Zt as prepareEffects, _ as _attr_details_or_dialog_open_default, _t as getRegisteredWithScope, a as _for_in, an as forTo, at as _to_text, b as _attr_input_checkedValue, bt as ready, c as _for_until, cn as _call, ct as _content, d as _show, dt as createAndSetupBranch, en as run, et as _lifecycle, f as _try, ft as createBranch, g as _attr_details_or_dialog_open, gt as _var_resume, h as renderCatch, ht as _resume, i as _dynamic_tag_content, in as forOf, it as _text_content, j as _attr_select_value_default, jt as _if_closure, k as _attr_input_value_script, kt as _hoist_resume, l as _if, ln as decodeAccessor, lt as _content_closures, m as patchDynamicTag, mt as _el, n as _await_promise, nn as runId, nt as _style_shell, o as _for_of, on as forUntil, ot as insertChildNodes, p as addAwaitCounter, pt as setupBranch, q as _attr_style_items, qt as $signalReset, r as _dynamic_tag, rn as forIn, rt as _text, s as _for_to, sn as _assert_hoist, st as toInsertNode, t as _await_content, tn as runEffects, tt as _style_rule_item, u as _resume_dynamic_tag, ut as _content_resume, v as _attr_details_or_dialog_open_script, vt as init, w as _attr_input_checked_script, wt as _const, x as _attr_input_checkedValue_default, xt as _child_setup, y as _attr_input_checked, yt as initEmbedded, z as _attr, zt as _var_change } from "./dom-6hBvZW7X.mjs";
|
|
67
69
|
//#region src/common/attr-tag.ts
|
|
68
70
|
function attrTag(attrs) {
|
|
69
71
|
return attrs[Symbol.iterator] = attrTagIterator, attrs[rest] = empty, attrs;
|
package/dist/html/compat.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { register } from "./serializer";
|
|
2
2
|
import type { ServerRenderer } from "./template";
|
|
3
|
-
import { _await, _html, _peek_scope_id, _scope_id, $global, Chunk, isInResumedBranch, State, writeScript } from "./writer";
|
|
3
|
+
import { _await, _html, _peek_scope_id, _scope_id, $global, Chunk, getChunk, isInResumedBranch, State, withChunk, writeScript } from "./writer";
|
|
4
4
|
export declare const compat: {
|
|
5
5
|
$global: typeof $global;
|
|
6
6
|
fork: typeof _await;
|
|
@@ -9,14 +9,18 @@ export declare const compat: {
|
|
|
9
9
|
nextScopeId: typeof _scope_id;
|
|
10
10
|
peekNextScopeId: typeof _peek_scope_id;
|
|
11
11
|
isInResumedBranch: typeof isInResumedBranch;
|
|
12
|
+
withChunk: typeof withChunk;
|
|
13
|
+
getChunk: typeof getChunk;
|
|
12
14
|
ensureState($global: any): State;
|
|
13
15
|
isTagsAPI(fn: any): boolean;
|
|
14
16
|
onFlush(fn: (chunk: Chunk) => void): void;
|
|
15
17
|
patchDynamicTag: (patch: (tag: unknown, scopeId: number, accessor: import("../common/types").Accessor) => unknown) => void;
|
|
16
18
|
writeSetScopeForComponent(branchId: number, m5c: string, m5i: unknown): void;
|
|
17
19
|
toJSON(): (this: WeakKey) => [registryId: string, scopeId: unknown] | undefined;
|
|
18
|
-
|
|
20
|
+
createChunk($global: any): Chunk;
|
|
21
|
+
flushScript($global: any, chunk?: Chunk): string;
|
|
19
22
|
render(renderer: ServerRenderer, willRerender: boolean, classAPIOut: any, component: any, input: any, completeChunks: Chunk[], registerChildScope?: boolean): void;
|
|
20
23
|
register: typeof register;
|
|
21
24
|
registerRenderBody(fn: any): void;
|
|
25
|
+
registerClassFunctions(input: any): void;
|
|
22
26
|
};
|
package/dist/html/writer.d.ts
CHANGED
|
@@ -18,6 +18,7 @@ type ScopeInternals = PartialScope & {
|
|
|
18
18
|
[K_SCOPE_ID]?: number;
|
|
19
19
|
};
|
|
20
20
|
export declare function getChunk(): Chunk | undefined;
|
|
21
|
+
export declare function withChunk<T>(chunk: Chunk, cb: () => T): T;
|
|
21
22
|
export declare function getContext(key: keyof NonNullable<Chunk["context"]>): unknown;
|
|
22
23
|
export declare function getState(): State;
|
|
23
24
|
export declare function getScopeId(scope: unknown): number | undefined;
|
|
@@ -56,6 +57,8 @@ export declare function _for_in(obj: Falsy | {}, cb: (key: string, value: unknow
|
|
|
56
57
|
export declare function _for_to(to: number, from: number | Falsy, step: number | Falsy, cb: (index: number) => void, by: Falsy | ((v: number) => unknown), scopeId: number, accessor: Accessor, serializeBranch?: number, serializeMarker?: number, serializeStateful?: number, parentEndTag?: string | 0, singleNode?: 1): void;
|
|
57
58
|
export declare function _for_until(to: number, from: number | Falsy, step: number | Falsy, cb: (index: number) => void, by: Falsy | ((v: number) => unknown), scopeId: number, accessor: Accessor, serializeBranch?: number, serializeMarker?: number, serializeStateful?: number, parentEndTag?: string | 0, singleNode?: 1): void;
|
|
58
59
|
export declare function _if(cb: () => void | number, scopeId: number, accessor: Accessor, serializeBranch?: number, serializeMarker?: number, serializeStateful?: number, parentEndTag?: string | 0, singleNode?: 1): void;
|
|
60
|
+
export declare function deferBranchStart(chunk: Chunk): string;
|
|
61
|
+
export declare function applyBranchStart(chunk: Chunk, beforeBranch: string, rendered: boolean): void;
|
|
59
62
|
declare let writeScope: (scopeId: number, partialScope: PartialScope) => ScopeInternals;
|
|
60
63
|
export { writeScope as _scope };
|
|
61
64
|
export declare function _existing_scope(scopeId: number): ScopeInternals;
|
package/dist/html.d.ts
CHANGED
|
@@ -5,6 +5,6 @@ export { _attr, _attr_and, _attr_class, _attr_details_or_dialog_open as _attr_de
|
|
|
5
5
|
export { compat } from "./html/compat";
|
|
6
6
|
export { _escape, _escape_comment, _escape_script, _escape_style, _escape_style_value, _to_text, _unescaped, } from "./html/content";
|
|
7
7
|
export { _content, _content_resume, _dynamic_tag } from "./html/dynamic-tag";
|
|
8
|
-
export { forIn,
|
|
8
|
+
export { forIn, forOf, forTo, forUntil } from "./html/for";
|
|
9
9
|
export { _template } from "./html/template";
|
|
10
10
|
export { _attr_content, _await, _el, _el_resume, _existing_scope, _for_in, _for_of, _for_to, _for_until, _hoist, _html, _id, _if, _peek_scope_id, _resume, _resume_branch, _resume_locals, _scope, _scope_id, _scope_reason, _scope_with_id, _script, _sep, _serialize_guard, _serialize_if, _set_serialize_reason, _show_end, _show_start, _subscribe, _trailers, _try, _var, $global, } from "./html/writer";
|