marko
Version:
Optimized runtime for Marko templates.
25 lines (24 loc) • 976 B
JavaScript
;
let require_control_flow = require("../dom-60R4bRWD.js"), deferToPendingTry = (fn, scope, branch) => {
for (; branch;) {
if (branch.O?.i) return (scope.J ||= ((branch.JS ||= (branch.O.m && ((complete) => branch.O.c = () => complete() || require_control_flow.ln(branch, require_control_flow.un, require_control_flow.y))(branch.O.c), [])).push(scope), /* @__PURE__ */ new Set())).add(fn);
branch = branch.N;
}
};
//#region src/dom/catch.feat.ts
require_control_flow.sn((effects) => {
let i = 0, fn, scope, branch;
for (; i < effects.length;) fn = effects[i++], scope = effects[i++], (branch = scope.F)?.H !== 0 && !deferToPendingTry(fn, scope, branch) && fn(scope);
}, (runRender) => (render) => {
try {
let branch = render.b.F;
for (; branch;) {
if (branch.W) return render.f = 1, branch.W.push(render);
branch = branch.N;
}
render.f = 0, runRender(render);
} catch (error) {
require_control_flow.v(render.b, error);
}
});
//#endregion