@blumjs/router
Advanced tools
Comparing version 3.1.2 to 3.1.3
@@ -13,31 +13,31 @@ import T, { useEffect as $ } from "react"; | ||
} | ||
function N({ node: e = [], from: t, source: n, parent: r = t || n, to: i, target: s, child: o = i || s, scope: m = {}, meta: y = {}, family: p = { type: "regular" }, regional: S } = {}) { | ||
let c = le(r), d = le(p.links), u = le(p.owners), a = []; | ||
k(e, (f) => f && D(a, f)); | ||
let l = { id: $t(), seq: a, next: le(o), meta: y, scope: m, family: { type: p.type || "crosslink", links: d, owners: u } }; | ||
return k(d, (f) => D(Se(f), l)), k(u, (f) => D(ge(f), l)), k(c, (f) => D(f.next, l)), S && G && Be(Z(G), [l]), l; | ||
function N({ node: e = [], from: t, source: n, parent: r = t || n, to: u, target: s, child: a = u || s, scope: m = {}, meta: y = {}, family: p = { type: "regular" }, regional: S } = {}) { | ||
let c = le(r), d = le(p.links), i = le(p.owners), l = []; | ||
k(e, (f) => f && D(l, f)); | ||
let o = { id: $t(), seq: l, next: le(a), meta: y, scope: m, family: { type: p.type || "crosslink", links: d, owners: i } }; | ||
return k(d, (f) => D(Se(f), o)), k(i, (f) => D(ge(f), o)), k(c, (f) => D(f.next, o)), S && G && Be(Z(G), [o]), o; | ||
} | ||
function te(e, t, n) { | ||
let r, i = M, s = null, o = A; | ||
if (e.target && (t = e.params, n = e.defer, r = e.meta, i = "page" in e ? e.page : i, e.stack && (s = e.stack), o = H(e) || o, e = e.target), o && A && o !== A && (A = null), Array.isArray(e)) | ||
for (let a = 0; a < e.length; a++) | ||
P("pure", i, C(e[a]), s, t[a], o, r); | ||
let r, u = M, s = null, a = A; | ||
if (e.target && (t = e.params, n = e.defer, r = e.meta, u = "page" in e ? e.page : u, e.stack && (s = e.stack), a = H(e) || a, e = e.target), a && A && a !== A && (A = null), Array.isArray(e)) | ||
for (let l = 0; l < e.length; l++) | ||
P("pure", u, C(e[l]), s, t[l], a, r); | ||
else | ||
P("pure", i, C(e), s, t, o, r); | ||
P("pure", u, C(e), s, t, a, r); | ||
if (n && !se) | ||
return; | ||
let m, y, p, S, c, d, u = { isRoot: se, currentPage: M, scope: A, isWatch: fe, isPure: de }; | ||
let m, y, p, S, c, d, i = { isRoot: se, currentPage: M, scope: A, isWatch: fe, isPure: de }; | ||
se = 0; | ||
e: | ||
for (; S = Jt(); ) { | ||
let { idx: a, stack: l, type: f } = S; | ||
p = l.node, M = c = l.page, A = H(l), c ? d = c.reg : A && (d = A.reg); | ||
let { idx: l, stack: o, type: f } = S; | ||
p = o.node, M = c = o.page, A = H(o), c ? d = c.reg : A && (d = A.reg); | ||
let O = !!c, b = !!A, _ = { fail: 0, scope: p.scope }; | ||
m = y = 0; | ||
for (let v = a; v < p.seq.length && !m; v++) { | ||
for (let v = l; v < p.seq.length && !m; v++) { | ||
let w = p.seq[v]; | ||
if (w.order) { | ||
let { priority: h, barrierID: g } = w.order, E = g ? c ? `${c.fullID}_${g}` : g : 0; | ||
if (v !== a || f !== h) { | ||
g ? Ae.has(E) || (Ae.add(E), Me(v, l, h, g)) : Me(v, l, h); | ||
if (v !== l || f !== h) { | ||
g ? Ae.has(E) || (Ae.add(E), Me(v, o, h, g)) : Me(v, o, h); | ||
continue e; | ||
@@ -52,7 +52,7 @@ } | ||
case ne: | ||
g = Z(l); | ||
g = Z(o); | ||
break; | ||
case "a": | ||
case "b": | ||
g = l[E.from]; | ||
g = o[E.from]; | ||
break; | ||
@@ -66,3 +66,3 @@ case "value": | ||
let L = ft(c, E.store.id); | ||
l.page = c = L, L ? d = L.reg : b ? (K(A, E.store, 0, 1, E.softRead), d = A.reg) : d = void 0; | ||
o.page = c = L, L ? d = L.reg : b ? (K(A, E.store, 0, 1, E.softRead), d = A.reg) : d = void 0; | ||
} else | ||
@@ -74,7 +74,7 @@ b && K(A, E.store, 0, 1, E.softRead); | ||
case ne: | ||
l.value = g; | ||
o.value = g; | ||
break; | ||
case "a": | ||
case "b": | ||
l[E.to] = g; | ||
o[E.to] = g; | ||
break; | ||
@@ -90,4 +90,4 @@ case "store": | ||
fe = x(p, "op") === "watch", de = h.pure; | ||
let g = h.safe ? (0, h.fn)(Z(l), _.scope, l) : er(_, h.fn, l); | ||
h.filter ? y = !g : l.value = g, fe = u.isWatch, de = u.isPure; | ||
let g = h.safe ? (0, h.fn)(Z(o), _.scope, o) : er(_, h.fn, o); | ||
h.filter ? y = !g : o.value = g, fe = i.isWatch, de = i.isPure; | ||
} | ||
@@ -98,10 +98,10 @@ } | ||
if (!m) { | ||
let v = Z(l), w = H(l); | ||
let v = Z(o), w = H(o); | ||
if (k(p.next, (h) => { | ||
P("child", c, h, l, v, w); | ||
P("child", c, h, o, v, w); | ||
}), w) { | ||
x(p, "needFxCounter") && P("child", c, w.fxCount, l, v, w), x(p, "storeChange") && P("child", c, w.storeChange, l, v, w), x(p, "warnSerialize") && P("child", c, w.warnSerializeNode, l, v, w); | ||
x(p, "needFxCounter") && P("child", c, w.fxCount, o, v, w), x(p, "storeChange") && P("child", c, w.storeChange, o, v, w), x(p, "warnSerialize") && P("child", c, w.warnSerializeNode, o, v, w); | ||
let h = w.additionalLinks[p.id]; | ||
h && k(h, (g) => { | ||
P("child", c, g, l, v, w); | ||
P("child", c, g, o, v, w); | ||
}); | ||
@@ -111,6 +111,6 @@ } | ||
} | ||
se = u.isRoot, M = u.currentPage, A = H(u); | ||
se = i.isRoot, M = i.currentPage, A = H(i); | ||
} | ||
function Dt(e, t) { | ||
let n, r, i = e; | ||
let n, r, u = e; | ||
if (t) { | ||
@@ -121,3 +121,3 @@ let s = Ct(t); | ||
n = e.length === 0 ? [] : [e], r = e; | ||
return { shortName: i, fullName: r, path: n }; | ||
return { shortName: u, fullName: r, path: n }; | ||
} | ||
@@ -133,13 +133,13 @@ function X(e, ...t) { | ||
function R(e, t) { | ||
let n = U({ or: t, and: typeof e == "string" ? { name: e } : e }), r = (o, ...m) => (oe(!x(r, "derived"), "call of derived event", "createEvent"), oe(!de, "unit call from pure function", "operators like sample"), M ? ((y, p, S, c) => { | ||
let d = M, u = null; | ||
let n = U({ or: t, and: typeof e == "string" ? { name: e } : e }), r = (a, ...m) => (oe(!x(r, "derived"), "call of derived event", "createEvent"), oe(!de, "unit call from pure function", "operators like sample"), M ? ((y, p, S, c) => { | ||
let d = M, i = null; | ||
if (p) | ||
for (u = M; u && u.template !== p; ) | ||
u = B(u); | ||
Qe(u); | ||
let a = y.create(S, c); | ||
return Qe(d), a; | ||
})(r, i, o, m) : r.create(o, m)), i = lt(), s = Object.assign(r, { graphite: N({ meta: vt("event", r, n), regional: 1 }), create: (o) => (te({ target: r, params: o, scope: A }), o), watch: (o) => pt(r, o), map: (o) => Le(r, re, o, [q()]), filter: (o) => Le(r, "filter", o.fn ? o : o.fn, [q(ze, 1)]), filterMap: (o) => Le(r, "filterMap", o, [q(), F((m) => !j(m), 1)]), prepend(o) { | ||
for (i = M; i && i.template !== p; ) | ||
i = B(i); | ||
Qe(i); | ||
let l = y.create(S, c); | ||
return Qe(d), l; | ||
})(r, u, a, m) : r.create(a, m)), u = lt(), s = Object.assign(r, { graphite: N({ meta: vt("event", r, n), regional: 1 }), create: (a) => (te({ target: r, params: a, scope: A }), a), watch: (a) => pt(r, a), map: (a) => Le(r, re, a, [q()]), filter: (a) => Le(r, "filter", a.fn ? a : a.fn, [q(ze, 1)]), filterMap: (a) => Le(r, "filterMap", a, [q(), F((m) => !j(m), 1)]), prepend(a) { | ||
let m = R("* → " + r.shortName, { parent: B(r) }); | ||
return X("eventPrepend", C(m)), Ge(m, r, [q()], "prepend", o), tr(r, m), m; | ||
return X("eventPrepend", C(m)), Ge(m, r, [q()], "prepend", a), tr(r, m), m; | ||
} }); | ||
@@ -149,11 +149,11 @@ return n != null && n.domain && n.domain.hooks.event(s), s; | ||
function Fe(e, t, n, r) { | ||
return qt(n, t, "first argument"), I(V(r), "second argument should be a function"), oe(!x(e, "derived"), `${t} in derived store`, `${t} in store created via createStore`), k(Array.isArray(n) ? n : [n], (i) => { | ||
e.off(i), me(e).set(i, dt(mt(i, e, "on", Wt, r))); | ||
return qt(n, t, "first argument"), I(V(r), "second argument should be a function"), oe(!x(e, "derived"), `${t} in derived store`, `${t} in store created via createStore`), k(Array.isArray(n) ? n : [n], (u) => { | ||
e.off(u), me(e).set(u, dt(mt(u, e, "on", Wt, r))); | ||
}), e; | ||
} | ||
function he(e, t) { | ||
let n = U(t), r = Ut(e), i = R({ named: "updates", derived: 1 }); | ||
let n = U(t), r = Ut(e), u = R({ named: "updates", derived: 1 }); | ||
X("storeBase", r); | ||
let s = r.id, o = { subscribers: /* @__PURE__ */ new Map(), updates: i, defaultState: e, stateRef: r, getState() { | ||
let a, l = r; | ||
let s = r.id, a = { subscribers: /* @__PURE__ */ new Map(), updates: u, defaultState: e, stateRef: r, getState() { | ||
let l, o = r; | ||
if (M) { | ||
@@ -163,25 +163,25 @@ let f = M; | ||
f = B(f); | ||
f && (a = f); | ||
f && (l = f); | ||
} | ||
return !a && A && (K(A, r, 1), a = A), a && (l = a.reg[s]), ct(l); | ||
}, setState: (a) => te({ target: o, params: a, defer: 1, scope: A }), reset: (...a) => (k(a, (l) => Fe(o, ".reset", l, () => o.defaultState)), o), on: (a, l) => Fe(o, ".on", a, l), off(a) { | ||
let l = me(o).get(a); | ||
return l && (l(), me(o).delete(a)), o; | ||
}, map(a, l) { | ||
return !l && A && (K(A, r, 1), l = A), l && (o = l.reg[s]), ct(o); | ||
}, setState: (l) => te({ target: a, params: l, defer: 1, scope: A }), reset: (...l) => (k(l, (o) => Fe(a, ".reset", o, () => a.defaultState)), a), on: (l, o) => Fe(a, ".on", l, o), off(l) { | ||
let o = me(a).get(l); | ||
return o && (o(), me(a).delete(l)), a; | ||
}, map(l, o) { | ||
let f, O; | ||
z(a) && (f = a, a = a.fn), oe(j(l), "second argument of store.map", "updateFilter"); | ||
let b = o.getState(); | ||
j(b) || (O = a(b, l)); | ||
let _ = he(O, { name: `${o.shortName} → *`, derived: 1, and: f }), v = mt(o, _, re, Ye, a); | ||
return Yt(ve(_), { type: re, fn: a, from: r }), ve(_).noInit = 1, X("storeMap", r, v), _; | ||
}, watch(a, l) { | ||
if (!l || !Pe(a)) { | ||
let f = pt(o, a); | ||
return X("storeWatch", r, a) || a(o.getState()), f; | ||
z(l) && (f = l, l = l.fn), oe(j(o), "second argument of store.map", "updateFilter"); | ||
let b = a.getState(); | ||
j(b) || (O = l(b, o)); | ||
let _ = he(O, { name: `${a.shortName} → *`, derived: 1, and: f }), v = mt(a, _, re, Ye, l); | ||
return Yt(ve(_), { type: re, fn: l, from: r }), ve(_).noInit = 1, X("storeMap", r, v), _; | ||
}, watch(l, o) { | ||
if (!o || !Pe(l)) { | ||
let f = pt(a, l); | ||
return X("storeWatch", r, l) || l(a.getState()), f; | ||
} | ||
return I(V(l), "second argument should be a function"), a.watch((f) => l(o.getState(), f)); | ||
} }, m = vt("store", o, n), y = o.defaultConfig.updateFilter; | ||
o.graphite = N({ scope: { state: r, fn: y }, node: [F((a, l, f) => (f.scope && !f.scope.reg[r.id] && (f.b = 1), a)), Ft(r), F((a, l, { a: f, b: O }) => !j(a) && (a !== f || O), 1), y && q(Ye, 1), ye({ from: ne, target: r })], child: i, meta: m, regional: 1 }); | ||
let p = x(o, "serialize"), S = x(o, "derived"), c = p === "ignore", d = !p || c ? 0 : p, u = x(o, "sid"); | ||
return u && (c || ee(o, "storeChange", 1), r.sid = u, d && (r.meta = { ...r == null ? void 0 : r.meta, serialize: d })), u || c || S || ee(o, "warnSerialize", 1), I(S || !j(e), "current state can't be undefined, use null instead"), Be(o, [i]), n != null && n.domain && n.domain.hooks.store(o), S || (o.reinit = R(), o.reset(o.reinit)), o; | ||
return I(V(o), "second argument should be a function"), l.watch((f) => o(a.getState(), f)); | ||
} }, m = vt("store", a, n), y = a.defaultConfig.updateFilter; | ||
a.graphite = N({ scope: { state: r, fn: y }, node: [F((l, o, f) => (f.scope && !f.scope.reg[r.id] && (f.b = 1), l)), Ft(r), F((l, o, { a: f, b: O }) => !j(l) && (l !== f || O), 1), y && q(Ye, 1), ye({ from: ne, target: r })], child: u, meta: m, regional: 1 }); | ||
let p = x(a, "serialize"), S = x(a, "derived"), c = p === "ignore", d = !p || c ? 0 : p, i = x(a, "sid"); | ||
return i && (c || ee(a, "storeChange", 1), r.sid = i, d && (r.meta = { ...r == null ? void 0 : r.meta, serialize: d })), i || c || S || ee(a, "warnSerialize", 1), I(S || !j(e), "current state can't be undefined, use null instead"), Be(a, [u]), n != null && n.domain && n.domain.hooks.store(a), S || (a.reinit = R(), a.reset(a.reinit)), a; | ||
} | ||
@@ -196,31 +196,31 @@ function Mt() { | ||
function at(e, t) { | ||
let n = U(V(e) ? { handler: e } : e, t), r = R(V(e) ? { handler: e } : e, t), i = C(r); | ||
ee(i, "op", r.kind = "effect"), r.use = (u) => (I(V(u), ".use argument should be a function"), S.scope.handler = u, r), r.use.getCurrent = () => S.scope.handler; | ||
let s = r.finally = R({ named: "finally", derived: 1 }), o = r.done = s.filterMap({ named: "done", fn({ status: u, params: a, result: l }) { | ||
if (u === "done") | ||
return { params: a, result: l }; | ||
} }), m = r.fail = s.filterMap({ named: "fail", fn({ status: u, params: a, error: l }) { | ||
if (u === "fail") | ||
return { params: a, error: l }; | ||
} }), y = r.doneData = o.map({ named: "doneData", fn: ({ result: u }) => u }), p = r.failData = m.map({ named: "failData", fn: ({ error: u }) => u }), S = N({ scope: { handlerId: x(i, "sid"), handler: r.defaultConfig.handler || (() => I(0, `no handler used in ${r.getType()}`)) }, node: [F((u, a, l) => { | ||
let f = a, O = f.handler; | ||
if (H(l)) { | ||
let b = H(l).handlers[f.handlerId]; | ||
let n = U(V(e) ? { handler: e } : e, t), r = R(V(e) ? { handler: e } : e, t), u = C(r); | ||
ee(u, "op", r.kind = "effect"), r.use = (i) => (I(V(i), ".use argument should be a function"), S.scope.handler = i, r), r.use.getCurrent = () => S.scope.handler; | ||
let s = r.finally = R({ named: "finally", derived: 1 }), a = r.done = s.filterMap({ named: "done", fn({ status: i, params: l, result: o }) { | ||
if (i === "done") | ||
return { params: l, result: o }; | ||
} }), m = r.fail = s.filterMap({ named: "fail", fn({ status: i, params: l, error: o }) { | ||
if (i === "fail") | ||
return { params: l, error: o }; | ||
} }), y = r.doneData = a.map({ named: "doneData", fn: ({ result: i }) => i }), p = r.failData = m.map({ named: "failData", fn: ({ error: i }) => i }), S = N({ scope: { handlerId: x(u, "sid"), handler: r.defaultConfig.handler || (() => I(0, `no handler used in ${r.getType()}`)) }, node: [F((i, l, o) => { | ||
let f = l, O = f.handler; | ||
if (H(o)) { | ||
let b = H(o).handlers[f.handlerId]; | ||
b && (O = b); | ||
} | ||
return u.handler = O, u; | ||
}, 0, 1), F(({ params: u, req: a, handler: l, args: f = [u] }, O, b) => { | ||
let _ = nr(b), v = Ze(u, a, 1, s, b, _), w = Ze(u, a, 0, s, b, _), [h, g] = rr(l, w, f); | ||
return i.handler = O, i; | ||
}, 0, 1), F(({ params: i, req: l, handler: o, args: f = [i] }, O, b) => { | ||
let _ = nr(b), v = Ze(i, l, 1, s, b, _), w = Ze(i, l, 0, s, b, _), [h, g] = rr(o, w, f); | ||
h && (z(g) && V(g.then) ? g.then(v, w) : v(g)); | ||
}, 0, 1)], meta: { op: "fx", fx: "runner" } }); | ||
i.scope.runner = S, D(i.seq, F((u, { runner: a }, l) => { | ||
let f = B(l) ? { params: u, req: { rs(O) { | ||
u.scope.runner = S, D(u.seq, F((i, { runner: l }, o) => { | ||
let f = B(o) ? { params: i, req: { rs(O) { | ||
}, rj(O) { | ||
} } } : u; | ||
return l.meta || (l.meta = { fxID: Bt() }), te({ target: a, params: f, defer: 1, scope: H(l), meta: l.meta }), f.params; | ||
}, 0, 1)), r.create = (u) => { | ||
let a = Mt(), l = { params: u, req: a }; | ||
} } } : i; | ||
return o.meta || (o.meta = { fxID: Bt() }), te({ target: l, params: f, defer: 1, scope: H(o), meta: o.meta }), f.params; | ||
}, 0, 1)), r.create = (i) => { | ||
let l = Mt(), o = { params: i, req: l }; | ||
if (A && !fe) { | ||
let f = A; | ||
a.req.finally(() => { | ||
l.req.finally(() => { | ||
Qt(f); | ||
@@ -230,8 +230,8 @@ }).catch(() => { | ||
} | ||
return te({ target: r, params: l, scope: A }), a.req; | ||
return te({ target: r, params: o, scope: A }), l.req; | ||
}; | ||
let c = r.inFlight = he(0, { serialize: "ignore" }).on(r, (u) => u + 1).on(s, (u) => u - 1).map({ fn: (u) => u, named: "inFlight" }); | ||
let c = r.inFlight = he(0, { serialize: "ignore" }).on(r, (i) => i + 1).on(s, (i) => i - 1).map({ fn: (i) => i, named: "inFlight" }); | ||
ee(s, "needFxCounter", "dec"), ee(r, "needFxCounter", 1); | ||
let d = r.pending = c.map({ fn: (u) => u > 0, named: "pending" }); | ||
return Be(r, [s, o, m, y, p, d, c]), n != null && n.domain && n.domain.hooks.effect(r), r; | ||
let d = r.pending = c.map({ fn: (i) => i > 0, named: "pending" }); | ||
return Be(r, [s, a, m, y, p, d, c]), n != null && n.domain && n.domain.hooks.effect(r), r; | ||
} | ||
@@ -253,4 +253,4 @@ let Tt = typeof Symbol < "u" && Symbol.observable || "@@observable", re = "map", ne = "stack", C = (e) => e.graphite || e, Se = (e) => e.family.owners, ge = (e) => e.family.links, ve = (e) => e.stateRef, Z = (e) => e.value, me = (e) => e.subscribers, B = (e) => e.parent, H = (e) => e.scope, x = (e, t) => C(e).meta[t], ee = (e, t, n) => C(e).meta[t] = n, Ct = (e) => e.compositeName, Pe = (e) => (V(e) || z(e)) && "kind" in e; | ||
k(t, (r) => { | ||
let i = C(r); | ||
n.family.type !== "domain" && (i.family.type = "crosslink"), D(Se(i), n), D(ge(n), i); | ||
let u = C(r); | ||
n.family.type !== "domain" && (u.family.type = "crosslink"), D(Se(u), n), D(ge(n), u); | ||
}); | ||
@@ -260,9 +260,9 @@ }, le = (e = []) => (Array.isArray(e) ? e : [e]).flat().map(C), z = (e) => typeof e == "object" && e !== null, V = (e) => typeof e == "function", j = (e) => e === void 0, jt = (e) => I(z(e) || V(e), "expect first argument be an object"); | ||
let qt = (e, t, n) => { | ||
Array.isArray(e) ? k(e, (r, i) => Ue(r, t, `${i} item of ${n}`, "")) : Ue(e, t, n, " or array of units"); | ||
Array.isArray(e) ? k(e, (r, u) => Ue(r, t, `${u} item of ${n}`, "")) : Ue(e, t, n, " or array of units"); | ||
}, Ye = (e, { fn: t }, { a: n }) => t(e, n), Wt = (e, { fn: t }, { a: n }) => t(n, e), ze = (e, { fn: t }) => t(e); | ||
const st = (e, t, n, r) => { | ||
let i = { id: ut(), type: e, data: t }; | ||
return n && (i.order = { priority: n }, r && (i.order.barrierID = ++Gt)), i; | ||
let u = { id: ut(), type: e, data: t }; | ||
return n && (u.order = { priority: n }, r && (u.order.barrierID = ++Gt)), u; | ||
}; | ||
let Gt = 0, ye = ({ from: e = "store", store: t, target: n, to: r = n ? "store" : ne, batch: i, priority: s }) => st("mov", { from: e, store: t, to: r, target: n }, s, i), ae = ({ fn: e, batch: t, priority: n, safe: r = 0, filter: i = 0, pure: s = 0 }) => st("compute", { fn: e, safe: r, filter: i, pure: s }, n, t), je = ({ fn: e }) => ae({ fn: e, priority: "effect" }), F = (e, t, n) => ae({ fn: e, safe: 1, filter: t, priority: n && "effect" }), Ft = (e, t, n) => ye({ store: e, to: t ? ne : "a", priority: n && "sampler", batch: 1 }), q = (e = ze, t) => ae({ fn: e, pure: 1, filter: t }), Kt = { mov: ye, compute: ae, filter: ({ fn: e, pure: t }) => ae({ fn: e, filter: 1, pure: t }), run: je }, Ut = (e) => ({ id: ut(), current: e }), ct = ({ current: e }) => e, Yt = (e, t) => { | ||
let Gt = 0, ye = ({ from: e = "store", store: t, target: n, to: r = n ? "store" : ne, batch: u, priority: s }) => st("mov", { from: e, store: t, to: r, target: n }, s, u), ae = ({ fn: e, batch: t, priority: n, safe: r = 0, filter: u = 0, pure: s = 0 }) => st("compute", { fn: e, safe: r, filter: u, pure: s }, n, t), je = ({ fn: e }) => ae({ fn: e, priority: "effect" }), F = (e, t, n) => ae({ fn: e, safe: 1, filter: t, priority: n && "effect" }), Ft = (e, t, n) => ye({ store: e, to: t ? ne : "a", priority: n && "sampler", batch: 1 }), q = (e = ze, t) => ae({ fn: e, pure: 1, filter: t }), Kt = { mov: ye, compute: ae, filter: ({ fn: e, pure: t }) => ae({ fn: e, filter: 1, pure: t }), run: je }, Ut = (e) => ({ id: ut(), current: e }), ct = ({ current: e }) => e, Yt = (e, t) => { | ||
e.before || (e.before = []), D(e.before, t); | ||
@@ -295,5 +295,5 @@ }, W = null; | ||
} | ||
}, P = (e, t, n, r, i, s, o) => Me(0, { a: null, b: null, node: n, parent: r, value: i, page: t, scope: s, meta: o }, e), Me = (e, t, n, r = 0) => { | ||
let i = Te(n), s = We[i], o = { v: { idx: e, stack: t, type: n, id: r }, l: null, r: null }; | ||
i === 3 || i === 4 ? W = qe(W, o) : (s.size === 0 ? s.first = o : s.last.r = o, s.last = o), s.size += 1; | ||
}, P = (e, t, n, r, u, s, a) => Me(0, { a: null, b: null, node: n, parent: r, value: u, page: t, scope: s, meta: a }, e), Me = (e, t, n, r = 0) => { | ||
let u = Te(n), s = We[u], a = { v: { idx: e, stack: t, type: n, id: r }, l: null, r: null }; | ||
u === 3 || u === 4 ? W = qe(W, a) : (s.size === 0 ? s.first = a : s.last.r = a, s.last = a), s.size += 1; | ||
}, Te = (e) => { | ||
@@ -331,11 +331,11 @@ switch (e) { | ||
}; | ||
let Xt = (e, t, n, r, i) => { | ||
let Xt = (e, t, n, r, u) => { | ||
let s = ft(e, r.id); | ||
return s ? s.reg[r.id] : t ? (K(t, r, i), t.reg[r.id]) : r; | ||
return s ? s.reg[r.id] : t ? (K(t, r, u), t.reg[r.id]) : r; | ||
}; | ||
const Zt = (e) => e; | ||
let K = (e, t, n, r, i) => { | ||
let K = (e, t, n, r, u) => { | ||
var s; | ||
let o = e.reg, m = t.sid, y = t == null || (s = t.meta) === null || s === void 0 ? void 0 : s.serialize; | ||
if (o[t.id]) | ||
let a = e.reg, m = t.sid, y = t == null || (s = t.meta) === null || s === void 0 ? void 0 : s.serialize; | ||
if (a[t.id]) | ||
return; | ||
@@ -345,3 +345,3 @@ let p = { id: t.id, current: t.current, meta: t.meta }; | ||
p.current = (e.fromSerialize && y !== "ignore" && (y == null ? void 0 : y.read) || Zt)(e.sidValuesMap[m]); | ||
else if (t.before && !i) { | ||
else if (t.before && !u) { | ||
let S = 0, c = n || !t.noInit || r; | ||
@@ -351,7 +351,7 @@ k(t.before, (d) => { | ||
case re: { | ||
let u = d.from; | ||
if (u || d.fn) { | ||
u && K(e, u, n, r); | ||
let a = u && o[u.id].current; | ||
c && (p.current = d.fn ? d.fn(a) : a); | ||
let i = d.from; | ||
if (i || d.fn) { | ||
i && K(e, i, n, r); | ||
let l = i && a[i.id].current; | ||
c && (p.current = d.fn ? d.fn(l) : l); | ||
} | ||
@@ -361,7 +361,7 @@ break; | ||
case "field": | ||
S || (S = 1, p.current = Array.isArray(p.current) ? [...p.current] : { ...p.current }), K(e, d.from, n, r), c && (p.current[d.field] = o[o[d.from.id].id].current); | ||
S || (S = 1, p.current = Array.isArray(p.current) ? [...p.current] : { ...p.current }), K(e, d.from, n, r), c && (p.current[d.field] = a[a[d.from.id].id].current); | ||
} | ||
}); | ||
} | ||
m && (e.sidIdMap[m] = t.id), o[t.id] = p; | ||
m && (e.sidIdMap[m] = t.id), a[t.id] = p; | ||
}; | ||
@@ -383,6 +383,6 @@ const er = (e, t, n) => { | ||
e.next.length = 0, e.seq.length = 0, e.scope = null; | ||
let i = ge(e); | ||
for (; r = i.pop(); ) | ||
let u = ge(e); | ||
for (; r = u.pop(); ) | ||
Xe(r, e), (t || n && x(e, "op") !== "sample" || r.family.type === "crosslink") && Ce(r, t, x(r, "op") !== "on" && n); | ||
for (i = Se(e); r = i.pop(); ) | ||
for (u = Se(e); r = u.pop(); ) | ||
Xe(r, e), n && r.family.type === "crosslink" && Ce(r, t, x(r, "op") !== "on" && n); | ||
@@ -403,18 +403,18 @@ }, Q = (e) => e.clear(); | ||
return t.unsubscribe = t, t; | ||
}, Ge = (e, t, n, r, i) => N({ node: n, parent: e, child: t, scope: { fn: i }, meta: { op: r }, family: { owners: [e, t], links: t }, regional: 1 }), pt = (e, t) => (I(V(t), ".watch argument should be a function"), dt(N({ scope: { fn: t }, node: [je({ fn: ze })], parent: e, meta: { op: "watch" }, family: { owners: e }, regional: 1 }))), tr = (e, t, n = "event") => { | ||
}, Ge = (e, t, n, r, u) => N({ node: n, parent: e, child: t, scope: { fn: u }, meta: { op: r }, family: { owners: [e, t], links: t }, regional: 1 }), pt = (e, t) => (I(V(t), ".watch argument should be a function"), dt(N({ scope: { fn: t }, node: [je({ fn: ze })], parent: e, meta: { op: "watch" }, family: { owners: e }, regional: 1 }))), tr = (e, t, n = "event") => { | ||
B(e) && B(e).hooks[n](t); | ||
}, vt = (e, t, n) => { | ||
let r = U(n), i = e === "domain", s = Pt(), { sid: o = null, named: m = null, domain: y = null, parent: p = y } = r, S = m || r.name || (i ? "" : s), c = Dt(S, p), d = { op: t.kind = e, name: t.shortName = S, sid: t.sid = zt(o), named: m, unitId: t.id = s, serialize: r.serialize, derived: r.derived, config: r }; | ||
return t.parent = p, t.compositeName = c, t.defaultConfig = r, t.thru = (u) => (oe(0, "thru", "js pipe"), u(t)), t.getType = () => c.fullName, !i && (t.subscribe = (u) => (jt(u), t.watch(V(u) ? u : (a) => u.next && u.next(a))), t[Tt] = () => t), d; | ||
let r = U(n), u = e === "domain", s = Pt(), { sid: a = null, named: m = null, domain: y = null, parent: p = y } = r, S = m || r.name || (u ? "" : s), c = Dt(S, p), d = { op: t.kind = e, name: t.shortName = S, sid: t.sid = zt(a), named: m, unitId: t.id = s, serialize: r.serialize, derived: r.derived, config: r }; | ||
return t.parent = p, t.compositeName = c, t.defaultConfig = r, t.thru = (i) => (oe(0, "thru", "js pipe"), i(t)), t.getType = () => c.fullName, !u && (t.subscribe = (i) => (jt(i), t.watch(V(i) ? i : (l) => i.next && i.next(l))), t[Tt] = () => t), d; | ||
}; | ||
const Le = (e, t, n, r) => { | ||
let i; | ||
z(n) && (i = n, n = n.fn); | ||
let s = R({ name: `${e.shortName} → *`, derived: 1, and: i }); | ||
let u; | ||
z(n) && (u = n, n = n.fn); | ||
let s = R({ name: `${e.shortName} → *`, derived: 1, and: u }); | ||
return Ge(e, s, r, t, n), s; | ||
}, mt = (e, t, n, r, i) => { | ||
let s = ve(t), o = ye({ store: s, to: "a", priority: "read" }); | ||
n === re && (o.data.softRead = 1); | ||
let m = [o, q(r)]; | ||
return X("storeOnMap", s, m, $e(e) && ve(e)), Ge(e, t, m, n, i); | ||
}, mt = (e, t, n, r, u) => { | ||
let s = ve(t), a = ye({ store: s, to: "a", priority: "read" }); | ||
n === re && (a.data.softRead = 1); | ||
let m = [a, q(r)]; | ||
return X("storeOnMap", s, m, $e(e) && ve(e)), Ge(e, t, m, n, u); | ||
}; | ||
@@ -430,4 +430,4 @@ let rr = (e, t, n) => { | ||
return t && D(t.activeEffects, n), n; | ||
}, Ze = (e, t, n, r, i, s) => (o) => { | ||
s.ref && ce(s.ref.activeEffects, s), te({ target: [r, or], params: [n ? { status: "done", params: e, result: o } : { status: "fail", params: e, error: o }, { value: o, fn: n ? t.rs : t.rj }], defer: 1, page: i.page, scope: s.ref, meta: i.meta }); | ||
}, Ze = (e, t, n, r, u, s) => (a) => { | ||
s.ref && ce(s.ref.activeEffects, s), te({ target: [r, or], params: [n ? { status: "done", params: e, result: a } : { status: "fail", params: e, error: a }, { value: a, fn: n ? t.rs : t.rj }], defer: 1, page: u.page, scope: s.ref, meta: u.meta }); | ||
}; | ||
@@ -504,12 +504,12 @@ const or = N({ node: [je({ fn: ({ fn: e, value: t }) => e(t) })], meta: { op: "fx", fx: "sidechain" } }), Lr = at(() => { | ||
} | ||
var n = typeof Object.is == "function" ? Object.is : t, r = e.useState, i = e.useEffect, s = e.useLayoutEffect, o = e.useDebugValue; | ||
var n = typeof Object.is == "function" ? Object.is : t, r = e.useState, u = e.useEffect, s = e.useLayoutEffect, a = e.useDebugValue; | ||
function m(c, d) { | ||
var u = d(), a = r({ inst: { value: u, getSnapshot: d } }), l = a[0].inst, f = a[1]; | ||
var i = d(), l = r({ inst: { value: i, getSnapshot: d } }), o = l[0].inst, f = l[1]; | ||
return s(function() { | ||
l.value = u, l.getSnapshot = d, y(l) && f({ inst: l }); | ||
}, [c, u, d]), i(function() { | ||
return y(l) && f({ inst: l }), c(function() { | ||
y(l) && f({ inst: l }); | ||
o.value = i, o.getSnapshot = d, y(o) && f({ inst: o }); | ||
}, [c, i, d]), u(function() { | ||
return y(o) && f({ inst: o }), c(function() { | ||
y(o) && f({ inst: o }); | ||
}); | ||
}, [c]), o(u), u; | ||
}, [c]), a(i), i; | ||
} | ||
@@ -520,4 +520,4 @@ function y(c) { | ||
try { | ||
var u = d(); | ||
return !n(c, u); | ||
var i = d(); | ||
return !n(c, i); | ||
} catch { | ||
@@ -565,6 +565,6 @@ return !0; | ||
} | ||
function i(_, v) { | ||
function u(_, v) { | ||
return _ === v && (_ !== 0 || 1 / _ === 1 / v) || _ !== _ && v !== v; | ||
} | ||
var s = typeof Object.is == "function" ? Object.is : i, o = e.useState, m = e.useEffect, y = e.useLayoutEffect, p = e.useDebugValue, S = !1, c = !1; | ||
var s = typeof Object.is == "function" ? Object.is : u, a = e.useState, m = e.useEffect, y = e.useLayoutEffect, p = e.useDebugValue, S = !1, c = !1; | ||
function d(_, v, w) { | ||
@@ -577,3 +577,3 @@ S || e.startTransition !== void 0 && (S = !0, n("You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release.")); | ||
} | ||
var E = o({ | ||
var E = a({ | ||
inst: { | ||
@@ -585,11 +585,11 @@ value: h, | ||
return y(function() { | ||
L.value = h, L.getSnapshot = v, u(L) && Y({ | ||
L.value = h, L.getSnapshot = v, i(L) && Y({ | ||
inst: L | ||
}); | ||
}, [_, h, v]), m(function() { | ||
u(L) && Y({ | ||
i(L) && Y({ | ||
inst: L | ||
}); | ||
var we = function() { | ||
u(L) && Y({ | ||
i(L) && Y({ | ||
inst: L | ||
@@ -601,3 +601,3 @@ }); | ||
} | ||
function u(_) { | ||
function i(_) { | ||
var v = _.getSnapshot, w = _.value; | ||
@@ -611,6 +611,6 @@ try { | ||
} | ||
function a(_, v, w) { | ||
function l(_, v, w) { | ||
return v(); | ||
} | ||
var l = typeof window < "u" && typeof window.document < "u" && typeof window.document.createElement < "u", f = !l, O = f ? a : d, b = e.useSyncExternalStore !== void 0 ? e.useSyncExternalStore : O; | ||
var o = typeof window < "u" && typeof window.document < "u" && typeof window.document.createElement < "u", f = !o, O = f ? l : d, b = e.useSyncExternalStore !== void 0 ? e.useSyncExternalStore : O; | ||
Ve.useSyncExternalStore = b, typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error()); | ||
@@ -641,16 +641,16 @@ }()), Ve; | ||
} | ||
var r = typeof Object.is == "function" ? Object.is : n, i = t.useSyncExternalStore, s = e.useRef, o = e.useEffect, m = e.useMemo, y = e.useDebugValue; | ||
return xe.useSyncExternalStoreWithSelector = function(p, S, c, d, u) { | ||
var a = s(null); | ||
if (a.current === null) { | ||
var l = { hasValue: !1, value: null }; | ||
a.current = l; | ||
var r = typeof Object.is == "function" ? Object.is : n, u = t.useSyncExternalStore, s = e.useRef, a = e.useEffect, m = e.useMemo, y = e.useDebugValue; | ||
return xe.useSyncExternalStoreWithSelector = function(p, S, c, d, i) { | ||
var l = s(null); | ||
if (l.current === null) { | ||
var o = { hasValue: !1, value: null }; | ||
l.current = o; | ||
} else | ||
l = a.current; | ||
a = m(function() { | ||
o = l.current; | ||
l = m(function() { | ||
function O(h) { | ||
if (!b) { | ||
if (b = !0, _ = h, h = d(h), u !== void 0 && l.hasValue) { | ||
var g = l.value; | ||
if (u(g, h)) | ||
if (b = !0, _ = h, h = d(h), i !== void 0 && o.hasValue) { | ||
var g = o.value; | ||
if (i(g, h)) | ||
return v = g; | ||
@@ -663,3 +663,3 @@ } | ||
var E = d(h); | ||
return u !== void 0 && u(g, E) ? g : (_ = h, v = E); | ||
return i !== void 0 && i(g, E) ? g : (_ = h, v = E); | ||
} | ||
@@ -672,6 +672,6 @@ var b = !1, _, v, w = c === void 0 ? null : c; | ||
}]; | ||
}, [S, c, d, u]); | ||
var f = i(p, a[0], a[1]); | ||
return o(function() { | ||
l.hasValue = !0, l.value = f; | ||
}, [S, c, d, i]); | ||
var f = u(p, l[0], l[1]); | ||
return a(function() { | ||
o.hasValue = !0, o.value = f; | ||
}, [f]), y(f), f; | ||
@@ -698,9 +698,9 @@ }, xe; | ||
} | ||
var r = typeof Object.is == "function" ? Object.is : n, i = t.useSyncExternalStore, s = e.useRef, o = e.useEffect, m = e.useMemo, y = e.useDebugValue; | ||
function p(S, c, d, u, a) { | ||
var l = s(null), f; | ||
l.current === null ? (f = { | ||
var r = typeof Object.is == "function" ? Object.is : n, u = t.useSyncExternalStore, s = e.useRef, a = e.useEffect, m = e.useMemo, y = e.useDebugValue; | ||
function p(S, c, d, i, l) { | ||
var o = s(null), f; | ||
o.current === null ? (f = { | ||
hasValue: !1, | ||
value: null | ||
}, l.current = f) : f = l.current; | ||
}, o.current = f) : f = o.current; | ||
var O = m(function() { | ||
@@ -710,6 +710,6 @@ var w = !1, h, g, E = function(J) { | ||
w = !0, h = J; | ||
var Ee = u(J); | ||
if (a !== void 0 && f.hasValue) { | ||
var Ee = i(J); | ||
if (l !== void 0 && f.hasValue) { | ||
var Oe = f.value; | ||
if (a(Oe, Ee)) | ||
if (l(Oe, Ee)) | ||
return g = Oe, Oe; | ||
@@ -722,4 +722,4 @@ } | ||
return Re; | ||
var be = u(J); | ||
return a !== void 0 && a(Re, be) ? Re : (h = J, g = be, be); | ||
var be = i(J); | ||
return l !== void 0 && l(Re, be) ? Re : (h = J, g = be, be); | ||
}, L = d === void 0 ? null : d, Y = function() { | ||
@@ -731,4 +731,4 @@ return E(c()); | ||
return [Y, we]; | ||
}, [c, d, u, a]), b = O[0], _ = O[1], v = i(S, b, _); | ||
return o(function() { | ||
}, [c, d, i, l]), b = O[0], _ = O[1], v = u(S, b, _); | ||
return a(function() { | ||
f.hasValue = !0, f.value = v; | ||
@@ -744,6 +744,6 @@ }, [v]), y(v), v; | ||
function hr(e, t, n, r) { | ||
let i = [Kt.run({ fn: (s) => t(s) })]; | ||
if (r && i.unshift(r), n) { | ||
let s = N({ node: i }), o = e.graphite.id, m = n.additionalLinks, y = m[o] || []; | ||
return m[o] = y, y.push(s), () => { | ||
let u = [Kt.run({ fn: (s) => t(s) })]; | ||
if (r && u.unshift(r), n) { | ||
let s = N({ node: u }), a = e.graphite.id, m = n.additionalLinks, y = m[a] || []; | ||
return m[a] = y, y.push(s), () => { | ||
let p = y.indexOf(s); | ||
@@ -754,3 +754,3 @@ p !== -1 && y.splice(p, 1), He(s); | ||
{ | ||
let s = N({ node: i, parent: [e], family: { owners: e } }); | ||
let s = N({ node: u, parent: [e], family: { owners: e } }); | ||
return () => { | ||
@@ -763,3 +763,3 @@ He(s); | ||
Nt.store(e) || Et("expect useStore argument to be a store"); | ||
let n = T.useCallback((i) => hr(e, i, t), [e, t]), r = T.useCallback(() => yr(e, t), [e, t]); | ||
let n = T.useCallback((u) => hr(e, u, t), [e, t]), r = T.useCallback(() => yr(e, t), [e, t]); | ||
return _r(n, r, r); | ||
@@ -780,4 +780,4 @@ } | ||
$(() => { | ||
const r = (i) => { | ||
i instanceof KeyboardEvent && i.key === n ? t(i) : n || t(i); | ||
const r = (u) => { | ||
u instanceof KeyboardEvent && u.key === n ? t(u) : n || t(u); | ||
}; | ||
@@ -826,7 +826,7 @@ return window.addEventListener(e, r), () => window.removeEventListener(e, r); | ||
})), xr = (e, ...t) => { | ||
const { activeView: n, activePanel: r, activeModal: i, activePopout: s, isRouteInit: o, isBackHandled: m } = br(); | ||
const { activeView: n, activePanel: r, activeModal: u, activePopout: s, isRouteInit: a, isBackHandled: m } = br(); | ||
$(() => { | ||
o || (Ot(e.view), Rt(e.panel), e.modal && bt(e.modal), e.popout && At(e.popout)); | ||
}, [o, e.view, e.panel, e.modal, e.popout]); | ||
const { virtualView: y, virtualPanel: p, virtualModal: S, virtualPopout: c, notHandledRoutes: d, isRoutesHandled: u } = wt(Rr); | ||
a || (Ot(e.view), Rt(e.panel), e.modal && bt(e.modal), e.popout && At(e.popout)); | ||
}, [a, e.view, e.panel, e.modal, e.popout]); | ||
const { virtualView: y, virtualPanel: p, virtualModal: S, virtualPopout: c, notHandledRoutes: d, isRoutesHandled: i } = wt(Rr); | ||
$(() => { | ||
@@ -839,16 +839,20 @@ pe({ view: y, panel: p }); | ||
}, [c]), $(() => { | ||
m && u && d.length > 0 && (console.log("routes quque", d), Ne(!1), d.forEach((a) => { | ||
a != null && a.view && (a != null && a.panel) && St({ view: a.view, panel: a.panel }), a.hasOwnProperty("modal") && gt(a.modal), a.hasOwnProperty("popout") && _t(a.popout); | ||
}), xt(d.length), Ne(!0), o || yt()); | ||
}, [m, o, d, u]), $(() => { | ||
o && ht({ | ||
if (console.log(d, m, i, "try change routes"), m && i && d.length > 0) { | ||
console.log("routes quque", d), Ne(!1); | ||
const l = [...d]; | ||
l.forEach((o) => { | ||
o != null && o.view && (o != null && o.panel) && St({ view: o.view, panel: o.panel }), o.hasOwnProperty("modal") && gt(o.modal), o.hasOwnProperty("popout") && _t(o.popout); | ||
}), xt(l.length), Ne(!0), a || yt(); | ||
} | ||
}, [m, a, d, i]), $(() => { | ||
a && ht({ | ||
view: n, | ||
panel: r, | ||
modal: i, | ||
modal: u, | ||
popout: s | ||
}); | ||
}, [n, r, i, s, o]), Er("popstate", async () => { | ||
o && (await (async () => { | ||
}, [n, r, u, s, a]), Er("popstate", async () => { | ||
a && (await (async () => { | ||
Ie(!1); | ||
const { view: l, panel: f, modal: O, popout: b } = window.history.state ?? { | ||
const { view: o, panel: f, modal: O, popout: b } = window.history.state ?? { | ||
view: void 0, | ||
@@ -859,3 +863,3 @@ panel: void 0, | ||
}; | ||
console.log("prevRoutes", l, f, O, b), console.log("storeRoutes", n, r, i, s); | ||
console.log("prevRoutes", o, f, O, b), console.log("storeRoutes", n, r, u, s); | ||
for (const _ in t) | ||
@@ -865,7 +869,7 @@ if (!await t[_]({ | ||
panel: r, | ||
modal: i, | ||
modal: u, | ||
popout: s | ||
}, { view: l, panel: f, modal: O, popout: b })) | ||
}, { view: o, panel: f, modal: O, popout: b })) | ||
return; | ||
Lt({ view: l, panel: f, modal: O, popout: b }), Ie(!0); | ||
Lt({ view: o, panel: f, modal: O, popout: b }), Ie(!0); | ||
})(), window.isBackFromBrowser = !0); | ||
@@ -872,0 +876,0 @@ }); |
{ | ||
"name": "@blumjs/router", | ||
"version": "3.1.2", | ||
"version": "3.1.3", | ||
"description": "", | ||
@@ -5,0 +5,0 @@ "exports": { |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
64169
1067