@kyol/usejs
Version:
- description
252 lines (251 loc) • 7.85 kB
JavaScript
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
};