UNPKG

@kyol/usejs

Version:

- description

252 lines (251 loc) 7.85 kB
var m = Object.defineProperty; var j = (e, t, r) => t in e ? m(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r; var y = (e, t, r) => j(e, typeof t != "symbol" ? t + "" : t, r); const P = Object.keys, x = (e, t) => (r) => t(e[r], r, e), d = (e) => (t, r) => { var s, n; return (n = (s = P(t))[e]) == null ? void 0 : n.call(s, x(t, r)); }, b = ["forEach", "map", "some", "every"], g = b.reduce((e, t) => (e[t] = d(t), e), {}); g.find = (e, t) => { const r = d("find")(e, t); return r ? { key: r, value: e[r] } : void 0; }; g.filter = (e, t) => { const r = d("filter")(e, t), s = /* @__PURE__ */ Object.create({ keys() { return Object.keys(this); }, values() { return Object.values(this); }, get size() { var n; return ((n = this.keys()) == null ? void 0 : n.length) || 0; } }); return Object.assign( s, r.reduce((n, u) => (n[u] = e[u], n), {}) ), s; }; globalThis.auxiliaryVars = globalThis.auxiliaryVars || { onloaded: !1, watchProperties: {} // 需要共享的数据集合 }; const { auxiliaryVars: h } = globalThis; class O { constructor(t) { // 监听函数 y(this, "onChange", function(t) { this.changes.push(t); }); // 删除 y(this, "remove", function(t) { const r = this.changes.findIndex((s) => s === t); return ami >= 0 ? (this.changes.splice(r, 1), !0) : !1; }); y(this, "changes", []); this.value = t; } toString() { return (this == null ? void 0 : this.value) || ""; } toOrigin() { return JSON.parse(JSON.stringify(h.watchProperties)); } } y(O, "name", "ObserverData"); const S = (e, t, r = !1) => { let s = h.watchProperties[e]; return s && !r ? s : (s = typeof t == "function" ? t() : t, h.watchProperties[e] = new Proxy(new O(s), { get(n, u) { return Reflect.get(n, u); }, set(n, u, i) { var c, a; if (n._updating) return Reflect.set(n, u, i); const o = Reflect.set(n, u, i); return u === "value" && o && ((c = n == null ? void 0 : n.changes) != null && c.length) && (n._updating = !0, (a = n == null ? void 0 : n.changes) == null || a.forEach((l) => l == null ? void 0 : l(i)), n._updating = !1), o; } }), h.watchProperties[e].onChange = (n) => { h.watchProperties[e].push(n); }, h.watchProperties[e]); }, T = (e) => Reflect.deleteProperty(h.watchProperties, e), I = (e) => { var t; return ((t = e == null ? void 0 : e.constructor) == null ? void 0 : t.name) === "ObserverData"; }, $ = (e = "localStorage") => (t, r, s) => { const n = globalThis[e]; let u = ""; return n[t] && !s ? u = n[t] : u = n[t] = typeof r == "function" ? r() : r, new Proxy(new O(u), { get(i, o) { return i[o]; }, set(i, o, c) { return o === "value" && (c === null ? n.removeItem(t) : (n.setItem(t, c), Reflect.set(i, o, c))), Reflect.set(i, t, c); } }); }, M = $(), E = $("sessionStorage"), C = (e = () => { }, t = !1) => (...r) => { try { return t ? Promise[e(...r) ? "resolve" : "reject"] : e(...r); } catch (s) { console.warn(s); } }, D = (e, t) => (r, s, ...n) => { const u = typeof r == "function" ? r() : r; return u === e || (e = u, t = s(...n)), t; }, L = function(e, t = 300, r) { return function(...s) { return e.$beDaley && clearTimeout(e.$beDaley), new Promise((n) => { e.$beDaley = setTimeout((u) => { var i; r == null || r(e.call(this, ...s)), n((i = e == null ? void 0 : e.call) == null ? void 0 : i.call(e, this, ...s)), e.$beDaley = void 0; }, t); }); }; }, v = (e, t) => { typeof e == "object" && (t = e, e = null); const r = /* @__PURE__ */ new WeakMap(); let s = null; const n = (o) => { o.close = () => { o.disconnect(); }, o.add = (c) => c ? (o.observe(c), s = c, r.set(c, null), o) : s = null, o.then = (c) => { if (s) return r.set(s, c), o; }, o.remove = (c) => (o.unobserve(c), r.delete(c), o), o.finally = function(c) { return r.finally = c, o; }, o.show = function() { return console.log(r, "mapList"), o; }, o.map = function(c) { return (Array.isArray(c) ? c : Array.from(c)).forEach((l) => o.add(l)), o; }; }, u = { threshold: [0, 0.1, 0.99], type: "intersection", ...t }, i = { intersection: IntersectionObserver, resize: ResizeObserver, mutation: MutationObserver }[u.type]; try { if (!i) throw { errorMessage: "createObserver:构造函数不存在" }; const o = new i((c) => { var a; c.forEach((l) => { var p; (p = r.get(l.target)) == null || p(l.isIntersecting || l.contentRect, l); }), typeof e == "function" && e(c), r.finally && ((a = r.finally) == null || a.call(r, c)); }, u); return n(o), Object.create(o); } catch (o) { console.error(o.errorMessage || o); } }, A = (e) => Object.prototype.toString.call(e).slice(8, -1).toLowerCase(), w = (e = 2) => Array(e).fill("").reduce((t) => t + Math.random().toString(36).slice(2), ""), R = (e) => { const t = w(); return e[t] ? R(e) : e[t] = t; }, z = (...e) => (...t) => { try { return e.reduceRight((r, s, n) => { if (typeof s != "function") throw new Error("Each parameter of the 'compose' function must be a function."); return e.length - 1 === n ? s(...t) : s(r); }, t); } catch (r) { console.log("error source: compose function", r); } }, H = (...e) => async (...t) => { try { const r = e.reverse(); let s = 0, n = ""; for await (const u of r) n = await (s === 0 ? u(...t) : u(n)), s++; return n; } catch (r) { console.log("error source: compose function", r); } }, J = (...e) => (...t) => { let r = 0; const s = e.reduce((u, i, o) => (typeof i == "object" ? (u = Object.assign(i, u), r = 1) : u[i] = t[o], u), {}), n = (t == null ? void 0 : t[e.length - r]) || {}; return { ...s, ...n }; }, f = "use", N = (e, t = {}) => { const [r, s] = [e, t == null ? void 0 : t.getCurrentInstance]; Object.assign(r, { [`${f}Instance`]: () => s().proxy, [`${f}Router`]: () => s().proxy.$router, [`${f}Route`]: () => s().proxy.$route, [`${f}State`]: () => { var n; return (n = s().proxy.$store) == null ? void 0 : n.state; }, [`${f}Refs`]: () => s().proxy.$refs, [`${f}Options`]: (n) => Object.assign(s().proxy.$options, n), [`${f}ReplaceRoute`]() { const n = ({ path: i = "", query: o = {} } = {}) => `${i}${i.includes("?") ? "&" : Object.keys(o).length ? "?" : ""}${Object.keys(o).reduce( (c, a, l) => `${c}${l ? "&" : ""}${a}=${o[a]}`, "" )}`, u = (i) => Promise.resolve(history.replaceState(null, null, n(i))); try { const { useRouter: i } = e, o = i(); return (c) => { const { currentRoute: { path: a = "/" } } = o, { path: l } = c; return l === a ? o.replace(c).catch((p) => { }) : u(c); }; } catch { return u; } } }); }, _ = { composeSync: H, compose: z, curryFactory: J, useLocal: M, useSession: E, isRef: I, delRef: T, useRef: S, usePipe: C, getType: A, createObserver: v, useMemo: D, curryDalay: L, getRandomString: w, getOnlyUid: R }, U = () => Object.assign(Object, g) && Object.assign(Function, _); globalThis.$kyol = { ..._, ...g, vue2Hooks: N, useFastExtend: U }; const V = globalThis.$kyol; export { O as ObserverData, z as compose, H as composeSync, v as createObserver, L as curryDalay, J as curryFactory, V as default, T as delRef, R as getOnlyUid, w as getRandomString, A as getType, I as isRef, U as useFastExtend, M as useLocal, D as useMemo, g as useObject, C as usePipe, S as useRef, E as useSession, N as vue2Hooks };