Files
SnowLuma/.pnpm-store/v11/files/9b/d8d60b583f8d557af88ccb795a59d4ac9fea6d408030aa12f2c253ea3c5afcd9c1d4fa584127f76288d93e9a588248b0a5fad3b2aaa0594a58dc282745680e
T
TanTan 2a69b23b47
Dev Build / cleanup (push) Waiting to run
Dev Build / typecheck (push) Waiting to run
docs: 仓库链接指向本镜像仓库
2026-11-13 09:27:07 +08:00

49 lines
1.3 KiB
Plaintext

export * from "@tanstack/store";
import { useStore } from "./useStore.js";
function shallow(objA, objB) {
if (Object.is(objA, objB)) {
return true;
}
if (typeof objA !== "object" || objA === null || typeof objB !== "object" || objB === null) {
return false;
}
if (objA instanceof Map && objB instanceof Map) {
if (objA.size !== objB.size) return false;
for (const [k, v] of objA) {
if (!objB.has(k) || !Object.is(v, objB.get(k))) return false;
}
return true;
}
if (objA instanceof Set && objB instanceof Set) {
if (objA.size !== objB.size) return false;
for (const v of objA) {
if (!objB.has(v)) return false;
}
return true;
}
if (objA instanceof Date && objB instanceof Date) {
if (objA.getTime() !== objB.getTime()) return false;
return true;
}
const keysA = getOwnKeys(objA);
if (keysA.length !== getOwnKeys(objB).length) {
return false;
}
for (let i = 0; i < keysA.length; i++) {
if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !Object.is(objA[keysA[i]], objB[keysA[i]])) {
return false;
}
}
return true;
}
function getOwnKeys(obj) {
return Object.keys(obj).concat(
Object.getOwnPropertySymbols(obj)
);
}
export {
shallow,
useStore
};
//# sourceMappingURL=index.js.map