@blumjs/router
Advanced tools
Comparing version 7.10.0 to 7.11.0
@@ -44,7 +44,7 @@ import D, { useEffect as Pe } from "react"; | ||
}; | ||
function Et(e, t) { | ||
function Ot(e, t) { | ||
for (let r in e) | ||
t(e[r], r); | ||
} | ||
function L(e, t) { | ||
function R(e, t) { | ||
e.forEach(t); | ||
@@ -58,8 +58,8 @@ } | ||
let c = ie(n), d = ie(v.links), i = ie(v.owners), u = []; | ||
L(e, (h) => h && P(u, h)); | ||
let s = { id: Rt(), seq: u, next: ie(a), meta: y, scope: f, family: { type: v.type || "crosslink", links: d, owners: i } }; | ||
return L(d, (h) => P(ce(h), s)), L(i, (h) => P(de(h), s)), L(c, (h) => P(h.next, s)), p && z && lt(Q(z), [s]), s; | ||
R(e, (h) => h && P(u, h)); | ||
let s = { id: Mt(), seq: u, next: ie(a), meta: y, scope: f, family: { type: v.type || "crosslink", links: d, owners: i } }; | ||
return R(d, (h) => P(ce(h), s)), R(i, (h) => P(de(h), s)), R(c, (h) => P(h.next, s)), p && z && lt(Q(z), [s]), s; | ||
} | ||
function rt(e, t, r) { | ||
let n, o = R, l = null, a = O; | ||
let n, o = L, l = null, a = O; | ||
if (e.target && (t = e.params, r = e.defer, n = e.meta, o = "page" in e ? e.page : o, e.stack && (l = e.stack), a = ae(e) || a, e = e.target), a && O && a !== O && (O = null), Array.isArray(e)) | ||
@@ -72,8 +72,8 @@ for (let u = 0; u < e.length; u++) | ||
return; | ||
let f, y, v, p, c, d, i = { isRoot: oe, currentPage: R, scope: O, isWatch: _e, isPure: se }; | ||
let f, y, v, p, c, d, i = { isRoot: oe, currentPage: L, scope: O, isWatch: _e, isPure: se }; | ||
oe = 0; | ||
e: | ||
for (; p = $t(); ) { | ||
for (; p = zt(); ) { | ||
let { idx: u, stack: s, type: h } = p; | ||
v = s.node, R = c = s.page, O = ae(s), c ? d = c.reg : O && (d = O.reg); | ||
v = s.node, L = c = s.page, O = ae(s), c ? d = c.reg : O && (d = O.reg); | ||
let B = !!c, b = !!O, E = { fail: 0, scope: v.scope }; | ||
@@ -123,3 +123,3 @@ f = y = 0; | ||
case "store": | ||
zt(c, O, v, g.target).current = w; | ||
jt(c, O, v, g.target).current = w; | ||
} | ||
@@ -131,4 +131,4 @@ break; | ||
if (S.fn) { | ||
_e = C(v, "op") === "watch", se = S.pure; | ||
let w = S.safe ? (0, S.fn)(Q(s), E.scope, s) : Wt(E, S.fn, s); | ||
_e = A(v, "op") === "watch", se = S.pure; | ||
let w = S.safe ? (0, S.fn)(Q(s), E.scope, s) : Ft(E, S.fn, s); | ||
S.filter ? y = !w : s.value = w, _e = i.isWatch, se = i.isPure; | ||
@@ -141,8 +141,8 @@ } | ||
let m = Q(s), _ = ae(s); | ||
if (L(v.next, (S) => { | ||
if (R(v.next, (S) => { | ||
V("child", c, S, s, m, _); | ||
}), _) { | ||
C(v, "needFxCounter") && V("child", c, _.fxCount, s, m, _), C(v, "storeChange") && V("child", c, _.storeChange, s, m, _), C(v, "warnSerialize") && V("child", c, _.warnSerializeNode, s, m, _); | ||
A(v, "needFxCounter") && V("child", c, _.fxCount, s, m, _), A(v, "storeChange") && V("child", c, _.storeChange, s, m, _), A(v, "warnSerialize") && V("child", c, _.warnSerializeNode, s, m, _); | ||
let S = _.additionalLinks[v.id]; | ||
S && L(S, (w) => { | ||
S && R(S, (w) => { | ||
V("child", c, w, s, m, _); | ||
@@ -153,8 +153,8 @@ }); | ||
} | ||
oe = i.isRoot, R = i.currentPage, O = ae(i); | ||
oe = i.isRoot, L = i.currentPage, O = ae(i); | ||
} | ||
function Ot(e, t) { | ||
function bt(e, t) { | ||
let r, n, o = e; | ||
if (t) { | ||
let l = kt(t); | ||
let l = Bt(t); | ||
e.length === 0 ? (r = l.path, n = l.fullName) : (r = l.path.concat([e]), n = l.fullName.length === 0 ? e : l.fullName + "/" + e); | ||
@@ -173,7 +173,7 @@ } else | ||
} | ||
function A(e, t) { | ||
let r = re({ or: t, and: typeof e == "string" ? { name: e } : e }), n = (a, ...f) => (ee(!C(n, "derived"), "call of derived event", "createEvent"), ee(!se, "unit call from pure function", "operators like sample"), R ? ((y, v, p, c) => { | ||
let d = R, i = null; | ||
function C(e, t) { | ||
let r = re({ or: t, and: typeof e == "string" ? { name: e } : e }), n = (a, ...f) => (ee(!A(n, "derived"), "call of derived event", "createEvent"), ee(!se, "unit call from pure function", "operators like sample"), L ? ((y, v, p, c) => { | ||
let d = L, i = null; | ||
if (v) | ||
for (i = R; i && i.template !== v; ) | ||
for (i = L; i && i.template !== v; ) | ||
i = W(i); | ||
@@ -184,4 +184,4 @@ Ye(i); | ||
})(n, o, a, f) : n.create(a, f)), o = st(), l = Object.assign(n, { graphite: x({ meta: vt(r.actualOp || "event", n, r), regional: 1 }), create: (a) => (rt({ target: n, params: a, scope: O }), a), watch: (a) => pt(n, a), map: (a) => ge(n, X, a, [N()]), filter: (a) => ge(n, "filter", a.fn ? a : a.fn, [N(Ie, 1)]), filterMap: (a) => ge(n, "filterMap", a, [N(), Be((f) => !I(f), 1)]), prepend(a) { | ||
let f = A("* → " + n.shortName, { parent: W(n) }); | ||
return J("eventPrepend", H(f)), je(f, n, [N()], "prepend", a), Ft(n, f), f; | ||
let f = C("* → " + n.shortName, { parent: W(n) }); | ||
return J("eventPrepend", H(f)), je(f, n, [N()], "prepend", a), Gt(n, f), f; | ||
} }); | ||
@@ -191,13 +191,13 @@ return r != null && r.domain && r.domain.hooks.event(l), Y(l, "id", l.graphite.id), ot(l.graphite), l; | ||
function Fe(e, t, r, n) { | ||
return Ht(r, t, "first argument"), j(T(n), "second argument should be a function"), ee(!C(e, "derived"), `${t} in derived store`, `${t} in store created via createStore`), L(Array.isArray(r) ? r : [r], (o) => { | ||
e.off(o), ue(e).set(o, ft(ht(o, e, "on", Pt, n))); | ||
return Pt(r, t, "first argument"), j(T(n), "second argument should be a function"), ee(!A(e, "derived"), `${t} in derived store`, `${t} in store created via createStore`), R(Array.isArray(r) ? r : [r], (o) => { | ||
e.off(o), ue(e).set(o, ft(ht(o, e, "on", Vt, n))); | ||
}), e; | ||
} | ||
function nt(e, t) { | ||
let r = re(t), n = It(e), o = A({ named: "updates", derived: 1 }); | ||
let r = re(t), n = Nt(e), o = C({ named: "updates", derived: 1 }); | ||
J("storeBase", n); | ||
let l = n.id, a = { subscribers: /* @__PURE__ */ new Map(), updates: o, defaultState: e, stateRef: n, getState() { | ||
let i, u = n; | ||
if (R) { | ||
let s = R; | ||
if (L) { | ||
let s = L; | ||
for (; s && !s.reg[l]; ) | ||
@@ -208,3 +208,3 @@ s = W(s); | ||
return !i && O && (F(O, n, 1), i = O), i && (u = i.reg[l]), ct(u); | ||
}, setState: (i) => rt({ target: a, params: i, defer: 1, scope: O }), reset: (...i) => (L(i, (u) => Fe(a, ".reset", u, () => a.defaultState)), a), on: (i, u) => Fe(a, ".on", i, u), off(i) { | ||
}, setState: (i) => rt({ target: a, params: i, defer: 1, scope: O }), reset: (...i) => (R(i, (u) => Fe(a, ".reset", u, () => a.defaultState)), a), on: (i, u) => Fe(a, ".on", i, u), off(i) { | ||
let u = ue(a).get(i); | ||
@@ -218,3 +218,3 @@ return u && (u(), ue(a).delete(i)), a; | ||
let b = nt(h, { name: `${a.shortName} → *`, derived: 1, and: s }), E = ht(a, b, X, Ue, i); | ||
return Nt(le(b), { type: X, fn: i, from: n }), le(b).noInit = 1, J("storeMap", n, E), b; | ||
return $t(le(b), { type: X, fn: i, from: n }), le(b).noInit = 1, J("storeMap", n, E), b; | ||
}, watch(i, u) { | ||
@@ -227,10 +227,10 @@ if (!u || !Ve(i)) { | ||
} }, f = vt("store", a, r), y = a.defaultConfig.updateFilter; | ||
a.graphite = x({ scope: { state: n, fn: y }, node: [Be((i, u, s) => (s.scope && !s.scope.reg[n.id] && (s.b = 1), i)), xt(n), Be((i, u, { a: s, b: h }) => !I(i) && (i !== s || h), 1), y && N(Ue, 1), fe({ from: Z, target: n })], child: o, meta: { ...f, defaultState: e }, regional: 1 }), Y(a, "id", a.graphite.id), Y(a, "rootStateRefId", l); | ||
let v = C(a, "serialize"), p = C(a, "derived"), c = v === "ignore", d = C(a, "sid"); | ||
return d && (Y(a, "storeChange", 1), n.sid = d), d || c || p || Y(a, "warnSerialize", 1), j(p || !I(e), "current state can't be undefined, use null instead"), lt(a, [o]), r != null && r.domain && r.domain.hooks.store(a), p || (a.reinit = A({ named: "reinit" }), a.reset(a.reinit)), n.meta = a.graphite.meta, ot(a.graphite), a; | ||
a.graphite = x({ scope: { state: n, fn: y }, node: [Be((i, u, s) => (s.scope && !s.scope.reg[n.id] && (s.b = 1), i)), Tt(n), Be((i, u, { a: s, b: h }) => !I(i) && (i !== s || h), 1), y && N(Ue, 1), fe({ from: Z, target: n })], child: o, meta: { ...f, defaultState: e }, regional: 1 }), Y(a, "id", a.graphite.id), Y(a, "rootStateRefId", l); | ||
let v = A(a, "serialize"), p = A(a, "derived"), c = v === "ignore", d = A(a, "sid"); | ||
return d && (Y(a, "storeChange", 1), n.sid = d), d || c || p || Y(a, "warnSerialize", 1), j(p || !I(e), "current state can't be undefined, use null instead"), lt(a, [o]), r != null && r.domain && r.domain.hooks.store(a), p || (a.reinit = C({ named: "reinit" }), a.reset(a.reinit)), n.meta = a.graphite.meta, ot(a.graphite), a; | ||
} | ||
let bt = typeof Symbol < "u" && Symbol.observable || "@@observable", X = "map", Z = "stack", H = (e) => e.graphite || e, ce = (e) => e.family.owners, de = (e) => e.family.links, le = (e) => e.stateRef, Q = (e) => e.value, ue = (e) => e.subscribers, W = (e) => e.parent, ae = (e) => e.scope, C = (e, t) => H(e).meta[t], Y = (e, t, r) => H(e).meta[t] = r, kt = (e) => e.compositeName, Ve = (e) => (T(e) || G(e)) && "kind" in e; | ||
let kt = typeof Symbol < "u" && Symbol.observable || "@@observable", X = "map", Z = "stack", H = (e) => e.graphite || e, ce = (e) => e.family.owners, de = (e) => e.family.links, le = (e) => e.stateRef, Q = (e) => e.value, ue = (e) => e.subscribers, W = (e) => e.parent, ae = (e) => e.scope, A = (e, t) => H(e).meta[t], Y = (e, t, r) => H(e).meta[t] = r, Bt = (e) => e.compositeName, Ve = (e) => (T(e) || G(e)) && "kind" in e; | ||
const ne = (e) => (t) => Ve(t) && t.kind === e; | ||
let xe = ne("store"), Bt = ne("event"), Ge = ne("effect"), at = ne("domain"), Ct = ne("scope"); | ||
var At = { __proto__: null, unit: Ve, store: xe, event: Bt, effect: Ge, domain: at, scope: Ct, attached: (e) => Ge(e) && C(e, "attached") == 1 }; | ||
let xe = ne("store"), Ct = ne("event"), Ge = ne("effect"), at = ne("domain"), At = ne("scope"); | ||
var Rt = { __proto__: null, unit: Ve, store: xe, event: Ct, effect: Ge, domain: at, scope: At, attached: (e) => Ge(e) && A(e, "attached") == 1 }; | ||
let we = (e, t) => { | ||
@@ -244,19 +244,19 @@ let r = e.indexOf(t); | ||
}; | ||
let Lt = Te(), it = Te(), Rt = Te(), z = null, ot = (e) => { | ||
}, st = () => z, Mt = (e) => (e && z && z.sidRoot && (e = `${z.sidRoot}|${e}`), e), lt = (e, t) => { | ||
let Lt = Te(), it = Te(), Mt = Te(), z = null, ot = (e) => { | ||
}, st = () => z, Dt = (e) => (e && z && z.sidRoot && (e = `${z.sidRoot}|${e}`), e), lt = (e, t) => { | ||
let r = H(e); | ||
L(t, (n) => { | ||
R(t, (n) => { | ||
let o = H(n); | ||
r.family.type !== "domain" && (o.family.type = "crosslink"), P(ce(o), r), P(de(r), o); | ||
}); | ||
}, ie = (e = []) => (Array.isArray(e) ? e : [e]).flat().map(H), G = (e) => typeof e == "object" && e !== null, T = (e) => typeof e == "function", I = (e) => e === void 0, Dt = (e) => j(G(e) || T(e), "expect first argument be an object"); | ||
}, ie = (e = []) => (Array.isArray(e) ? e : [e]).flat().map(H), G = (e) => typeof e == "object" && e !== null, T = (e) => typeof e == "function", I = (e) => e === void 0, Ht = (e) => j(G(e) || T(e), "expect first argument be an object"); | ||
const Ke = (e, t, r, n) => j(!(!G(e) && !T(e) || !("family" in e) && !("graphite" in e)), `${t}: expect ${r} to be a unit (store, event or effect)${n}`); | ||
let Ht = (e, t, r) => { | ||
Array.isArray(e) ? L(e, (n, o) => Ke(n, t, `${o} item of ${r}`, "")) : Ke(e, t, r, " or array of units"); | ||
}, Ue = (e, { fn: t }, { a: r }) => t(e, r), Pt = (e, { fn: t }, { a: r }) => t(r, e), Ie = (e, { fn: t }) => t(e); | ||
let Pt = (e, t, r) => { | ||
Array.isArray(e) ? R(e, (n, o) => Ke(n, t, `${o} item of ${r}`, "")) : Ke(e, t, r, " or array of units"); | ||
}, Ue = (e, { fn: t }, { a: r }) => t(e, r), Vt = (e, { fn: t }, { a: r }) => t(r, e), Ie = (e, { fn: t }) => t(e); | ||
const ut = (e, t, r, n) => { | ||
let o = { id: it(), type: e, data: t }; | ||
return r && (o.order = { priority: r }, n && (o.order.barrierID = ++Vt)), o; | ||
return r && (o.order = { priority: r }, n && (o.order.barrierID = ++xt)), o; | ||
}; | ||
let Vt = 0, fe = ({ from: e = "store", store: t, target: r, to: n = r ? "store" : Z, batch: o, priority: l }) => ut("mov", { from: e, store: t, to: n, target: r }, l, o), te = ({ fn: e, batch: t, priority: r, safe: n = 0, filter: o = 0, pure: l = 0 }) => ut("compute", { fn: e, safe: n, filter: o, pure: l }, r, t), Ne = ({ fn: e }) => te({ fn: e, priority: "effect" }), Be = (e, t, r) => te({ fn: e, safe: 1, filter: t, priority: r && "effect" }), xt = (e, t, r) => fe({ store: e, to: t ? Z : "a", priority: r && "sampler", batch: 1 }), N = (e = Ie, t) => te({ fn: e, pure: 1, filter: t }), Tt = { mov: fe, compute: te, filter: ({ fn: e, pure: t }) => te({ fn: e, filter: 1, pure: t }), run: Ne }, It = (e) => ({ id: it(), current: e }), ct = ({ current: e }) => e, Nt = (e, t) => { | ||
let xt = 0, fe = ({ from: e = "store", store: t, target: r, to: n = r ? "store" : Z, batch: o, priority: l }) => ut("mov", { from: e, store: t, to: n, target: r }, l, o), te = ({ fn: e, batch: t, priority: r, safe: n = 0, filter: o = 0, pure: l = 0 }) => ut("compute", { fn: e, safe: n, filter: o, pure: l }, r, t), Ne = ({ fn: e }) => te({ fn: e, priority: "effect" }), Be = (e, t, r) => te({ fn: e, safe: 1, filter: t, priority: r && "effect" }), Tt = (e, t, r) => fe({ store: e, to: t ? Z : "a", priority: r && "sampler", batch: 1 }), N = (e = Ie, t) => te({ fn: e, pure: 1, filter: t }), It = { mov: fe, compute: te, filter: ({ fn: e, pure: t }) => te({ fn: e, filter: 1, pure: t }), run: Ne }, Nt = (e) => ({ id: it(), current: e }), ct = ({ current: e }) => e, $t = (e, t) => { | ||
e.before || (e.before = []), P(e.before, t); | ||
@@ -275,3 +275,3 @@ }, $ = null; | ||
P(ze, { first: null, last: null, size: 0 }), qe += 1; | ||
const $t = () => { | ||
const zt = () => { | ||
for (let e = 0; e < 6; e++) { | ||
@@ -311,4 +311,4 @@ let t = ze[e]; | ||
}, ye = /* @__PURE__ */ new Set(); | ||
let O, oe = 1, _e = 0, se = 0, R = null, Ye = (e) => { | ||
R = e; | ||
let O, oe = 1, _e = 0, se = 0, L = null, Ye = (e) => { | ||
L = e; | ||
}; | ||
@@ -324,10 +324,10 @@ const dt = (e, t) => { | ||
}; | ||
let zt = (e, t, r, n, o) => { | ||
let jt = (e, t, r, n, o) => { | ||
let l = dt(e, n.id); | ||
return l ? l.reg[n.id] : t ? (F(t, n, o), t.reg[n.id]) : n; | ||
}; | ||
const jt = (e) => e; | ||
const Wt = (e) => e; | ||
let F = (e, t, r, n, o) => { | ||
var l; | ||
let a = e.reg, f = t.sid, y = t == null || (l = t.meta) === null || l === void 0 ? void 0 : l.serialize, v = e.fromSerialize && y !== "ignore" && (y == null ? void 0 : y.read) || jt; | ||
let a = e.reg, f = t.sid, y = t == null || (l = t.meta) === null || l === void 0 ? void 0 : l.serialize, v = e.fromSerialize && y !== "ignore" && (y == null ? void 0 : y.read) || Wt; | ||
if (a[t.id]) | ||
@@ -342,3 +342,3 @@ return; | ||
let c = 0, d = r || !t.noInit || n; | ||
L(t.before, (i) => { | ||
R(t.before, (i) => { | ||
switch (i.type) { | ||
@@ -361,3 +361,3 @@ case X: { | ||
}; | ||
const Wt = (e, t, r) => { | ||
const Ft = (e, t, r) => { | ||
try { | ||
@@ -369,3 +369,3 @@ return t(Q(r), e.scope, r); | ||
}; | ||
let re = (e, t = {}) => (G(e) && (re(e.or, t), Et(e, (r, n) => { | ||
let re = (e, t = {}) => (G(e) && (re(e.or, t), Ot(e, (r, n) => { | ||
I(r) || n === "or" || n === "and" || (t[n] = r); | ||
@@ -375,3 +375,3 @@ }), re(e.and, t)), t); | ||
we(e.next, t), we(ce(e), t), we(de(e), t); | ||
}, Le = (e, t, r) => { | ||
}, Re = (e, t, r) => { | ||
let n; | ||
@@ -381,7 +381,7 @@ e.next.length = 0, e.seq.length = 0, e.scope = null; | ||
for (; n = o.pop(); ) | ||
Je(n, e), (t || r && C(e, "op") !== "sample" || n.family.type === "crosslink") && Le(n, t, C(n, "op") !== "on" && r); | ||
Je(n, e), (t || r && A(e, "op") !== "sample" || n.family.type === "crosslink") && Re(n, t, A(n, "op") !== "on" && r); | ||
for (o = ce(e); n = o.pop(); ) | ||
Je(n, e), r && n.family.type === "crosslink" && Le(n, t, C(n, "op") !== "on" && r); | ||
Je(n, e), r && n.family.type === "crosslink" && Re(n, t, A(n, "op") !== "on" && r); | ||
}, q = (e) => e.clear(); | ||
let Re = (e, { deep: t } = {}) => { | ||
let Le = (e, { deep: t } = {}) => { | ||
let r = 0; | ||
@@ -395,11 +395,11 @@ if (e.ownerSet && e.ownerSet.delete(e), xe(e)) | ||
} | ||
Le(H(e), !!t, r); | ||
Re(H(e), !!t, r); | ||
}, ft = (e) => { | ||
let t = () => Re(e); | ||
let t = () => Le(e); | ||
return t.unsubscribe = t, t; | ||
}, je = (e, t, r, n, o) => x({ node: r, parent: e, child: t, scope: { fn: o }, meta: { op: n }, family: { owners: [e, t], links: t }, regional: 1 }), pt = (e, t) => (j(T(t), ".watch argument should be a function"), ft(x({ scope: { fn: t }, node: [Ne({ fn: Ie })], parent: e, meta: { op: "watch" }, family: { owners: e }, regional: 1 }))), Ft = (e, t, r = "event") => { | ||
}, je = (e, t, r, n, o) => x({ node: r, parent: e, child: t, scope: { fn: o }, meta: { op: n }, family: { owners: [e, t], links: t }, regional: 1 }), pt = (e, t) => (j(T(t), ".watch argument should be a function"), ft(x({ scope: { fn: t }, node: [Ne({ fn: Ie })], parent: e, meta: { op: "watch" }, family: { owners: e }, regional: 1 }))), Gt = (e, t, r = "event") => { | ||
W(e) && W(e).hooks[r](t); | ||
}, vt = (e, t, r) => { | ||
let n = re(r), o = e === "domain", l = Lt(), { sid: a = null, named: f = null, domain: y = null, parent: v = y } = n, p = f || n.name || (o ? "" : l), c = Ot(p, v), d = { op: t.kind = e, name: t.shortName = p, sid: t.sid = Mt(a), named: f, unitId: t.id = l, serialize: n.serialize, derived: n.derived, config: n }; | ||
return t.parent = v, t.compositeName = c, t.defaultConfig = n, t.thru = (i) => (ee(0, "thru", "js pipe"), i(t)), t.getType = () => c.fullName, !o && (t.subscribe = (i) => (Dt(i), t.watch(T(i) ? i : (u) => i.next && i.next(u))), t[bt] = () => t), d; | ||
let n = re(r), o = e === "domain", l = Lt(), { sid: a = null, named: f = null, domain: y = null, parent: v = y } = n, p = f || n.name || (o ? "" : l), c = bt(p, v), d = { op: t.kind = e, name: t.shortName = p, sid: t.sid = Dt(a), named: f, unitId: t.id = l, serialize: n.serialize, derived: n.derived, config: n }; | ||
return t.parent = v, t.compositeName = c, t.defaultConfig = n, t.thru = (i) => (ee(0, "thru", "js pipe"), i(t)), t.getType = () => c.fullName, !o && (t.subscribe = (i) => (Ht(i), t.watch(T(i) ? i : (u) => i.next && i.next(u))), t[kt] = () => t), d; | ||
}; | ||
@@ -409,3 +409,3 @@ const ge = (e, t, r, n) => { | ||
G(r) && (o = r, r = r.fn); | ||
let l = A({ name: `${e.shortName} → *`, derived: 1, and: o }); | ||
let l = C({ name: `${e.shortName} → *`, derived: 1, and: o }); | ||
return je(e, l, n, t, r), l; | ||
@@ -419,13 +419,13 @@ }, ht = (e, t, r, n, o) => { | ||
x({ node: [Ne({ fn: ({ fn: e, value: t }) => e(t) })], meta: { op: "fx", fx: "sidechain" } }); | ||
const Gt = A(), Kt = A(), mt = A(), St = A(), wt = A(), yt = A(), Ut = A(), Me = A(), De = A(), fr = (e) => { | ||
const Kt = C(), Ut = C(), mt = C(), St = C(), wt = C(), yt = C(), _t = C(), qt = C(), Me = C(), De = C(), pr = (e) => { | ||
e && De({ ...e, isBackHandled: !1 }), (!e || !e.hasOwnProperty("isBackFromBrowser")) && De({ isBackFromBrowser: !1 }), window.history.back(); | ||
}, pr = (e) => { | ||
M.historyPush({ view: e.view, panel: e.panel }); | ||
}, vr = (e) => { | ||
M.historyPush({ panel: e }); | ||
}, hr = (e) => { | ||
M.historyPush({ modal: e }); | ||
}, vr = (e, t) => { | ||
M.historyPush({ view: e.view, panel: e.panel }, t); | ||
}, hr = (e, t) => { | ||
M.historyPush({ panel: e }, t); | ||
}, mr = (e, t) => { | ||
M.historyPush({ modal: e }, t); | ||
}, Sr = (e, t) => { | ||
M.historyPush({ popout: e }, t); | ||
}, qt = nt({ | ||
}, Yt = nt({ | ||
activeView: null, | ||
@@ -459,6 +459,6 @@ activePanel: null, | ||
afterBackHandledCallback: t.hasOwnProperty("afterBackHandledCallback") ? t.afterBackHandledCallback : e.afterBackHandledCallback | ||
})).on(Gt, (e, t) => ({ | ||
})).on(Kt, (e, t) => ({ | ||
...e, | ||
activeView: t | ||
})).on(Kt, (e, t) => ({ | ||
})).on(Ut, (e, t) => ({ | ||
...e, | ||
@@ -469,8 +469,10 @@ activePanel: t | ||
activeModal: t | ||
})).on(wt, (e, { popout: t, options: r }) => ({ | ||
})).on(wt, (e, t) => ({ | ||
...e, | ||
activePopout: t, | ||
routeOptions: r | ||
})).on(yt, (e) => ({ | ||
activePopout: t | ||
})).on(yt, (e, t) => ({ | ||
...e, | ||
routeOptions: t | ||
})).on(_t, (e) => ({ | ||
...e, | ||
isRouteInit: !0 | ||
@@ -481,7 +483,7 @@ })).on(mt, (e, { view: t, panel: r }) => ({ | ||
activePanel: r | ||
})).on(Ut, (e, t) => ({ | ||
})).on(qt, (e, t) => ({ | ||
...e, | ||
isBackHandled: t | ||
})); | ||
function Yt(e) { | ||
function Jt(e) { | ||
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e; | ||
@@ -500,3 +502,3 @@ } | ||
var Qe; | ||
function Jt() { | ||
function Qt() { | ||
if (Qe) | ||
@@ -547,3 +549,3 @@ return Oe; | ||
var Xe; | ||
function Qt() { | ||
function Xt() { | ||
return Xe || (Xe = 1, process.env.NODE_ENV !== "production" && function() { | ||
@@ -618,5 +620,5 @@ typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error()); | ||
} | ||
process.env.NODE_ENV === "production" ? He.exports = Jt() : He.exports = Qt(); | ||
process.env.NODE_ENV === "production" ? He.exports = Qt() : He.exports = Xt(); | ||
var We = He.exports; | ||
const Xt = /* @__PURE__ */ Yt(We); | ||
const Zt = /* @__PURE__ */ Jt(We); | ||
/** | ||
@@ -632,3 +634,3 @@ * @license React | ||
var Ze; | ||
function Zt() { | ||
function er() { | ||
if (Ze) | ||
@@ -688,3 +690,3 @@ return Ee; | ||
var et; | ||
function er() { | ||
function tr() { | ||
return et || (et = 1, process.env.NODE_ENV !== "production" && function() { | ||
@@ -715,4 +717,4 @@ typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error()); | ||
} | ||
var gt = S, me = w; | ||
if (n(gt, U)) | ||
var Et = S, me = w; | ||
if (n(Et, U)) | ||
return me; | ||
@@ -735,5 +737,5 @@ var Se = i(U); | ||
} | ||
process.env.NODE_ENV === "production" ? Zt() : er(); | ||
function tr(e, t, r, n) { | ||
let o = [Tt.run({ fn: (l) => t(l) })]; | ||
process.env.NODE_ENV === "production" ? er() : tr(); | ||
function rr(e, t, r, n) { | ||
let o = [It.run({ fn: (l) => t(l) })]; | ||
if (n && o.unshift(n), r) { | ||
@@ -743,3 +745,3 @@ let l = x({ node: o }), a = e.graphite.id, f = r.additionalLinks, y = f[a] || []; | ||
let v = y.indexOf(l); | ||
v !== -1 && y.splice(v, 1), Re(l); | ||
v !== -1 && y.splice(v, 1), Le(l); | ||
}; | ||
@@ -750,23 +752,23 @@ } | ||
return () => { | ||
Re(l); | ||
Le(l); | ||
}; | ||
} | ||
} | ||
function rr(e, t) { | ||
At.store(e) || _t("expect useStore argument to be a store"); | ||
let r = D.useCallback((o) => tr(e, o, t), [e, t]), n = D.useCallback(() => or(e, t), [e, t]); | ||
return ir(r, n, n); | ||
function nr(e, t) { | ||
Rt.store(e) || gt("expect useStore argument to be a store"); | ||
let r = D.useCallback((o) => rr(e, o, t), [e, t]), n = D.useCallback(() => sr(e, t), [e, t]); | ||
return or(r, n, n); | ||
} | ||
function nr(e) { | ||
let t = D.useContext(sr); | ||
return e && !t && _t("No scope found, consider adding <Provider> to app root"), t; | ||
function ar(e) { | ||
let t = D.useContext(lr); | ||
return e && !t && gt("No scope found, consider adding <Provider> to app root"), t; | ||
} | ||
function ar(e, t) { | ||
return rr(e, nr(t == null ? void 0 : t.forceScope)); | ||
function ir(e, t) { | ||
return nr(e, ar(t == null ? void 0 : t.forceScope)); | ||
} | ||
let _t = (e) => { | ||
let gt = (e) => { | ||
throw Error(e); | ||
}; | ||
typeof window < "u" ? D.useLayoutEffect : D.useEffect; | ||
const { useSyncExternalStore: ir } = Xt, or = (e, t) => t ? t.getState(e) : e.getState(), sr = D.createContext(null), lr = (e, t, r) => { | ||
const { useSyncExternalStore: or } = Zt, sr = (e, t) => t ? t.getState(e) : e.getState(), lr = D.createContext(null), ur = (e, t, r) => { | ||
Pe(() => { | ||
@@ -780,7 +782,7 @@ const n = (o) => { | ||
Pe(() => (M.addEventListener(e, t, r), () => M.removeEventListener(r)), [...n]); | ||
}, Sr = (e, ...t) => { | ||
const { activeView: r, activePanel: n, activeModal: o, activePopout: l, isRouteInit: a, routeOptions: f, isDispatchChangeStateEventBeforeMiddleware: y, isDispatchChangeStateEventAfterMiddleware: v, isBackHandled: p, isBackFromBrowser: c, afterBackHandledCallback: d, beforeBackHandledCallback: i } = ur(); | ||
}, wr = (e, ...t) => { | ||
const { activeView: r, activePanel: n, activeModal: o, activePopout: l, isRouteInit: a, routeOptions: f, isDispatchChangeStateEventBeforeMiddleware: y, isDispatchChangeStateEventAfterMiddleware: v, isBackHandled: p, isBackFromBrowser: c, afterBackHandledCallback: d, beforeBackHandledCallback: i } = cr(); | ||
tt("init", (u) => { | ||
console.log("[blum]: initialized", u), a || (Me(), M.historyPush(e)); | ||
}, 1, [a]), lr("popstate", async () => { | ||
}, 1, [a]), ur("popstate", async () => { | ||
const u = async (s, h) => { | ||
@@ -817,3 +819,3 @@ y && M.dispatchChangeStateEvent(); | ||
const { view: s, panel: h, modal: B, popout: b } = u; | ||
s && h && mt({ view: s, panel: h }), St(B), wt({ popout: b, options: (u == null ? void 0 : u.options) ?? null }), a || yt(); | ||
s && h && mt({ view: s, panel: h }), St(B), wt(b), yt((u == null ? void 0 : u.options) ?? null), a || _t(); | ||
} | ||
@@ -823,7 +825,7 @@ }, 2, [a]), Pe(() => { | ||
}, [f]); | ||
}, ur = () => ar(qt), wr = (e) => e, yr = (e, t) => cr(e, async (r, n, o) => { | ||
}, cr = () => ir(Yt), yr = (e) => e, _r = (e, t) => dr(e, async (r, n, o) => { | ||
let l; | ||
if (t && (l = await t(r, n, o)), M.historyPush(r), typeof l == "boolean") | ||
return l; | ||
}), cr = (e, t) => async (r, n, o) => { | ||
}), dr = (e, t) => async (r, n, o) => { | ||
if (["view", "panel", "modal", "popout"].some((a) => r[a] === e && r[a] !== n[a]) && o.isBackFromBrowser) { | ||
@@ -841,16 +843,16 @@ if (t) { | ||
St as _setActiveModal, | ||
Kt as _setActivePanel, | ||
Ut as _setActivePanel, | ||
wt as _setActivePopout, | ||
Gt as _setActiveView, | ||
fr as back, | ||
Kt as _setActiveView, | ||
pr as back, | ||
M as blumRouter, | ||
cr as createCatchBackBrowserRouteMiddleware, | ||
yr as createDisableBackBrowserRouteMiddleware, | ||
wr as createRouteMiddleware, | ||
hr as setActiveModal, | ||
vr as setActivePanel, | ||
mr as setActivePopout, | ||
pr as setActiveViewPanel, | ||
Sr as useInitRouter, | ||
ur as useRouter | ||
dr as createCatchBackBrowserRouteMiddleware, | ||
_r as createDisableBackBrowserRouteMiddleware, | ||
yr as createRouteMiddleware, | ||
mr as setActiveModal, | ||
hr as setActivePanel, | ||
Sr as setActivePopout, | ||
vr as setActiveViewPanel, | ||
wr as useInitRouter, | ||
cr as useRouter | ||
}; |
@@ -6,5 +6,5 @@ import { BackHandlerOptions, SetRouteOptions } from "src/types"; | ||
panel: string; | ||
}) => void; | ||
export declare const setActivePanel: (panel: string) => void; | ||
export declare const setActiveModal: (modal: string) => void; | ||
}, options?: SetRouteOptions) => void; | ||
export declare const setActivePanel: (panel: string, options?: SetRouteOptions) => void; | ||
export declare const setActiveModal: (modal: string, options?: SetRouteOptions) => void; | ||
export declare const setActivePopout: (popout: string, options?: SetRouteOptions) => void; |
@@ -9,6 +9,4 @@ import { BackHandlerOptions, SetRouteOptions } from "src/types"; | ||
export declare const _setActiveModal: import("effector").Event<string | null>; | ||
export declare const _setActivePopout: import("effector").Event<{ | ||
popout: string | null; | ||
options: SetRouteOptions | null; | ||
}>; | ||
export declare const _setActivePopout: import("effector").Event<string | null>; | ||
export declare const _setRouteOptions: import("effector").Event<SetRouteOptions | null>; | ||
export declare const initRoute: import("effector").Event<void>; | ||
@@ -15,0 +13,0 @@ export declare const setBackHandled: import("effector").Event<boolean>; |
{ | ||
"name": "@blumjs/router", | ||
"version": "7.10.0", | ||
"version": "7.11.0", | ||
"description": "Роутер для vk-mini-apps", | ||
@@ -5,0 +5,0 @@ "exports": { |
Sorry, the diff of this file is not supported yet
68243