Files
med-notes/.pnpm-store/v10/files/ea/e597370dd007c67384e031677cbc26dcb800efd5c141f5536bd588b33e4b6a2a4a567c826117aab2023cbc580f362d1a8423f5bc1a2287674f27487c386d28
2025-05-09 05:30:08 +02:00

56 lines
1.6 KiB
Plaintext

"use strict";
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const withSelector_js = require("use-sync-external-store/shim/with-selector.js");
const store = require("@tanstack/store");
function useStore(store2, selector = (d) => d) {
const slice = withSelector_js.useSyncExternalStoreWithSelector(
store2.subscribe,
() => store2.state,
() => store2.state,
selector,
shallow
);
return slice;
}
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;
}
const keysA = Object.keys(objA);
if (keysA.length !== Object.keys(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;
}
exports.shallow = shallow;
exports.useStore = useStore;
Object.keys(store).forEach((k) => {
if (k !== "default" && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
enumerable: true,
get: () => store[k]
});
});
//# sourceMappingURL=index.cjs.map