Files
NapCatQQ/.pnpm-store/v3/files/21/ae6f888640d5feb27080a0064bd535392cd933be6ffda5724aa199e2efba5677b9c88b6173b5593691dbe6df6070fd140a0daccb1c1c68afd476806d1676e1
TanTan e311ca3275
Build NapCat Artifacts / Windows Loader Test (push) Canceled after 0s
Build NapCat Artifacts / Type Check & Test (push) Canceled after 0s
Build NapCat Artifacts / Build NapCat.Framework (push) Canceled after 0s
Build NapCat Artifacts / Build NapCat.Shell (push) Canceled after 0s
docs: 仓库链接指向本镜像仓库
2026-11-13 09:25:58 +08:00

130 lines
3.0 KiB
Plaintext

// src/common/clsx.ts
function toVal(mix) {
var k, y, str = "";
if (typeof mix === "string" || typeof mix === "number") {
str += mix;
} else if (typeof mix === "object") {
if (Array.isArray(mix)) {
for (k = 0; k < mix.length; k++) {
if (mix[k]) {
if (y = toVal(mix[k])) {
str && (str += " ");
str += y;
}
}
}
} else {
for (k in mix) {
if (mix[k]) {
str && (str += " ");
str += k;
}
}
}
}
return str;
}
function clsx(...args) {
var i = 0, tmp, x, str = "";
while (i < args.length) {
if (tmp = args[i++]) {
if (x = toVal(tmp)) {
str && (str += " ");
str += x;
}
}
}
return str;
}
// src/common/ra.ts
function chain(...callbacks) {
return (...args) => {
for (let callback of callbacks) {
if (typeof callback === "function") {
callback(...args);
}
}
};
}
var idsUpdaterMap = /* @__PURE__ */ new Map();
function mergeIds(idA, idB) {
if (idA === idB) {
return idA;
}
let setIdsA = idsUpdaterMap.get(idA);
if (setIdsA) {
setIdsA.forEach((ref) => ref.current = idB);
return idB;
}
let setIdsB = idsUpdaterMap.get(idB);
if (setIdsB) {
setIdsB.forEach((ref) => ref.current = idA);
return idA;
}
return idB;
}
function mergeProps(...args) {
let result = { ...args[0] };
for (let i = 1; i < args.length; i++) {
let props = args[i];
for (let key in props) {
let a = result[key];
let b = props[key];
if (typeof a === "function" && typeof b === "function" && // This is a lot faster than a regex.
key[0] === "o" && key[1] === "n" && key.charCodeAt(2) >= /* 'A' */
65 && key.charCodeAt(2) <= /* 'Z' */
90) {
result[key] = chain(a, b);
} else if ((key === "className" || key === "UNSAFE_className") && typeof a === "string" && typeof b === "string") {
result[key] = clsx(a, b);
} else if (key === "id" && a && b) {
result.id = mergeIds(a, b);
} else {
result[key] = b !== void 0 ? b : a;
}
}
}
return result;
}
function mergeRefs(...refs) {
if (refs.length === 1 && refs[0]) {
return refs[0];
}
return (value) => {
let hasCleanup = false;
const cleanups = refs.map((ref) => {
const cleanup = setRef(ref, value);
hasCleanup || (hasCleanup = typeof cleanup == "function");
return cleanup;
});
if (hasCleanup) {
return () => {
cleanups.forEach((cleanup, i) => {
if (typeof cleanup === "function") {
cleanup == null ? void 0 : cleanup();
} else {
setRef(refs[i], null);
}
});
};
}
};
}
function setRef(ref, value) {
if (typeof ref === "function") {
return () => ref(value);
} else if (ref != null) {
if ("current" in ref) {
ref.current = value;
}
}
}
export {
chain,
idsUpdaterMap,
mergeIds,
mergeProps,
mergeRefs
};