// src/useIsStrictMode.ts import * as React from "react"; var getCurrentOwner = () => React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner.current; var REACT_STRICT_MODE_TYPE = /* @__PURE__ */ Symbol.for("react.strict_mode"); var useIsStrictMode = () => { if (process.env.NODE_ENV === "production") { return false; } const isStrictMode = React.useRef(void 0); const reactMajorVersion = React.useMemo(() => { return Number(React.version.split(".")[0]); }, [React.version]); if (isNaN(reactMajorVersion) || reactMajorVersion < 18) { return false; } if (isStrictMode.current === void 0) { let currentOwner = getCurrentOwner(); while (currentOwner && currentOwner.return) { currentOwner = currentOwner.return; if (currentOwner.type === REACT_STRICT_MODE_TYPE || currentOwner.elementType === REACT_STRICT_MODE_TYPE) { isStrictMode.current = true; } } } return !!isStrictMode.current; }; // src/useDisposable.ts import * as React4 from "react"; // src/useStrictEffect.ts import * as React2 from "react"; var effectSet = /* @__PURE__ */ new WeakSet(); function useStrictEffect(effect, deps) { const currentOwner = getCurrentOwner(); React2.useEffect(() => { if (!effectSet.has(currentOwner)) { effectSet.add(currentOwner); effect(); return; } const dispose = effect(); return dispose; }, deps); } // src/useStrictMemo.ts import * as React3 from "react"; var memoSet = /* @__PURE__ */ new WeakSet(); function useStrictMemo(factory, deps) { return React3.useMemo(() => { const currentOwner = getCurrentOwner(); if (!memoSet.has(currentOwner)) { memoSet.add(currentOwner); return null; } return factory(); }, deps); } // src/useDisposable.ts function useDisposable(factory, deps) { var _a; const isStrictMode = useIsStrictMode() && process.env.NODE_ENV !== "production"; const useMemo4 = isStrictMode ? useStrictMemo : React4.useMemo; const useEffect3 = isStrictMode ? useStrictEffect : React4.useEffect; const [disposable, dispose] = (_a = useMemo4(() => factory(), deps)) != null ? _a : [ null, () => null ]; useEffect3(() => { return dispose; }, deps); return disposable; } export { useDisposable, useIsStrictMode }; //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3VzZUlzU3RyaWN0TW9kZS50cyIsICIuLi9zcmMvdXNlRGlzcG9zYWJsZS50cyIsICIuLi9zcmMvdXNlU3RyaWN0RWZmZWN0LnRzIiwgIi4uL3NyYy91c2VTdHJpY3RNZW1vLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcblxuLyoqXG4gKiBAcmV0dXJucyBDdXJyZW50IHJlYWN0IGZpYmVyIGJlaW5nIHJlbmRlcmVkXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRDdXJyZW50T3duZXIgPSAoKSA9PlxuICAvLyBAdHMtaWdub3JlIC0gdXNpbmcgcmVhY3QgaW50ZXJuYWxzXG4gIFJlYWN0Ll9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVELlJlYWN0Q3VycmVudE93bmVyXG4gICAgLmN1cnJlbnQ7XG5cbmNvbnN0IFJFQUNUX1NUUklDVF9NT0RFX1RZUEUgPSAvKiNfX1BVUkVfXyovIFN5bWJvbC5mb3IoXCJyZWFjdC5zdHJpY3RfbW9kZVwiKTtcblxuLyoqXG4gKiBUcmF2ZXJzZXMgdXAgdGhlIFJlYWN0IGZpYmVyIHRyZWUgdG8gZmluZCB0aGUgU3RyaWN0TW9kZSBjb21wb25lbnQuXG4gKiBOb3RlOiBUaGlzIG9ubHkgZGV0ZWN0cyBzdHJpY3QgbW9kZSBmcm9tIFJlYWN0ID49IDE4XG4gKiBodHRwczovL2dpdGh1Yi5jb20vcmVhY3R3Zy9yZWFjdC0xOC9kaXNjdXNzaW9ucy8xOVxuICogQHJldHVybnMgSWYgc3RyaWN0IG1vZGUgaXMgYmVpbmcgdXNlZCBpbiB0aGUgUmVhY3QgdHJlZVxuICovXG5leHBvcnQgY29uc3QgdXNlSXNTdHJpY3RNb2RlID0gKCk6IGJvb2xlYW4gPT4ge1xuICAvLyBUaGlzIGNoZWNrIHZpb2xhdGVzIFJ1bGVzIG9mIEhvb2tzLCBidXQgXCJwcm9jZXNzLmVudi5OT0RFX0VOVlwiIGRvZXMgbm90IGNoYW5nZSBpbiBidW5kbGVcbiAgLy8gb3IgZHVyaW5nIGFwcGxpY2F0aW9uIGxpZmVjeWNsZVxuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgaXNTdHJpY3RNb2RlID0gUmVhY3QudXNlUmVmPGJvb2xlYW4gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIGNvbnN0IHJlYWN0TWFqb3JWZXJzaW9uID0gUmVhY3QudXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIE51bWJlcihSZWFjdC52ZXJzaW9uLnNwbGl0KFwiLlwiKVswXSk7XG4gIH0sIFtSZWFjdC52ZXJzaW9uXSk7XG5cbiAgaWYgKGlzTmFOKHJlYWN0TWFqb3JWZXJzaW9uKSB8fCByZWFjdE1ham9yVmVyc2lvbiA8IDE4KSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKGlzU3RyaWN0TW9kZS5jdXJyZW50ID09PSB1bmRlZmluZWQpIHtcbiAgICBsZXQgY3VycmVudE93bmVyID0gZ2V0Q3VycmVudE93bmVyKCk7XG4gICAgd2hpbGUgKGN1cnJlbnRPd25lciAmJiBjdXJyZW50T3duZXIucmV0dXJuKSB7XG4gICAgICBjdXJyZW50T3duZXIgPSBjdXJyZW50T3duZXIucmV0dXJuO1xuICAgICAgaWYgKFxuICAgICAgICBjdXJyZW50T3duZXIudHlwZSA9PT0gUkVBQ1RfU1RSSUNUX01PREVfVFlQRSB8fFxuICAgICAgICBjdXJyZW50T3duZXIuZWxlbWVudFR5cGUgPT09IFJFQUNUX1NUUklDVF9NT0RFX1RZUEVcbiAgICAgICkge1xuICAgICAgICBpc1N0cmljdE1vZGUuY3VycmVudCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuICEhaXNTdHJpY3RNb2RlLmN1cnJlbnQ7XG59O1xuIiwgImltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHR5cGUgeyBEaXNwb3NhYmxlRmFjdG9yeSB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgeyB1c2VJc1N0cmljdE1vZGUgfSBmcm9tIFwiLi91c2VJc1N0cmljdE1vZGVcIjtcbmltcG9ydCB7IHVzZVN0cmljdEVmZmVjdCB9IGZyb20gXCIuL3VzZVN0cmljdEVmZmVjdFwiO1xuaW1wb3J0IHsgdXNlU3RyaWN0TWVtbyB9IGZyb20gXCIuL3VzZVN0cmljdE1lbW9cIjtcblxuLyoqXG4gKiBDcmVhdGVzIGEgZGlzcG9zYWJsZSBpbnN0YW5jZSBkdXJpbmcgKipyZW5kZXIgdGltZSoqIHRoYXQgd2lsbFxuICogYmUgY3JlYXRlZCBvbmNlIChiYXNlZCBvbiBkZXBlbmRlbmN5IGFycmF5KSBldmVuIGR1cmluZyBzdHJpY3QgbW9kZS5cbiAqIFRoZSBkaXNwb3NhYmxlIHdpbGwgYmUgZGlzcG9zZWQgYmFzZWQgb24gdGhlIGRlcGVuZGVuY3kgYXJyYXkgc2ltaWxhciB0b1xuICogdXNlRWZmZWN0LlxuICpcbiAqIFx1MjZBMFx1RkUwRiBUaGlzIGNhbiBvbmx5IGJlIGNhbGxlZCAqKm9uY2UqKiBwZXIgY29tcG9uZW50XG4gKiBAcGFyYW0gZmFjdG9yeSAtIGZhY3RvcnkgZm9yIGRpc3Bvc2FibGUgYW5kIGl0cyBkaXNwb3NlIGZ1bmN0aW9uXG4gKiBAcGFyYW0gZGVwcyAtIFNpbWlsYXIgdG8gYSBSZWFjdCBkZXBlbmRlbmN5IGFycmF5XG4gKiBAcmV0dXJucyAtIFRoZSBkaXNwb3NhYmxlIGluc3RhbmNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VEaXNwb3NhYmxlPFRJbnN0YW5jZT4oXG4gIGZhY3Rvcnk6IERpc3Bvc2FibGVGYWN0b3J5PFRJbnN0YW5jZT4sXG4gIGRlcHM6IGFueVtdXG4pIHtcbiAgLy8gSW4gcHJvZHVjdGlvbiwgc3RyaWN0IG1vZGUgZG9lcyBub3QgcmVxdWlyZSBzcGVjaWFsIGhhbmRsaW5nXG4gIGNvbnN0IGlzU3RyaWN0TW9kZSA9XG4gICAgdXNlSXNTdHJpY3RNb2RlKCkgJiYgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiO1xuXG4gIGNvbnN0IHVzZU1lbW8gPSBpc1N0cmljdE1vZGUgPyB1c2VTdHJpY3RNZW1vIDogUmVhY3QudXNlTWVtbztcbiAgY29uc3QgdXNlRWZmZWN0ID0gaXNTdHJpY3RNb2RlID8gdXNlU3RyaWN0RWZmZWN0IDogUmVhY3QudXNlRWZmZWN0O1xuXG4gIGNvbnN0IFtkaXNwb3NhYmxlLCBkaXNwb3NlXSA9IHVzZU1lbW8oKCkgPT4gZmFjdG9yeSgpLCBkZXBzKSA/PyBbXG4gICAgbnVsbCxcbiAgICAoKSA9PiBudWxsLFxuICBdO1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJldHVybiBkaXNwb3NlO1xuICB9LCBkZXBzKTtcblxuICByZXR1cm4gZGlzcG9zYWJsZTtcbn1cbiIsICJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IGdldEN1cnJlbnRPd25lciB9IGZyb20gXCIuL3VzZUlzU3RyaWN0TW9kZVwiO1xuXG4vLyB3ZSBrbm93IHN0cmljdCBtb2RlIHdpbGwgcmVuZGVyIHVzZU1lbW8gZmFjb3J5IHR3aWNlXG4vLyBrZWVwIGEgd2VhayBzZXQgdG8gZGV0ZWN0IHdoZW4gdGhlIHNlY29uZCByZW5kZXIgaGFwcGVuc1xuY29uc3QgZWZmZWN0U2V0ID0gbmV3IFdlYWtTZXQoKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHVzZVN0cmljdEVmZmVjdChcbiAgZWZmZWN0OiAoKSA9PiAoKSA9PiB2b2lkLFxuICBkZXBzOiBSZWFjdC5EZXBlbmRlbmN5TGlzdCB8IHVuZGVmaW5lZFxuKSB7XG4gIGNvbnN0IGN1cnJlbnRPd25lciA9IGdldEN1cnJlbnRPd25lcigpO1xuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghZWZmZWN0U2V0LmhhcyhjdXJyZW50T3duZXIpKSB7XG4gICAgICBlZmZlY3RTZXQuYWRkKGN1cnJlbnRPd25lcik7XG4gICAgICBlZmZlY3QoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkaXNwb3NlID0gZWZmZWN0KCk7XG4gICAgcmV0dXJuIGRpc3Bvc2U7XG4gIH0sIGRlcHMpO1xufVxuIiwgImltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgZ2V0Q3VycmVudE93bmVyIH0gZnJvbSBcIi4vdXNlSXNTdHJpY3RNb2RlXCI7XG5cbi8vIHdlIGtub3cgc3RyaWN0IG1vZGUgd2lsbCByZW5kZXIgdXNlTWVtbyBmYWNvcnkgdHdpY2Vcbi8vIGtlZXAgYSB3ZWFrIHNldCB0byBkZXRlY3Qgd2hlbiB0aGUgc2Vjb25kIHJlbmRlciBoYXBwZW5zXG5jb25zdCBtZW1vU2V0ID0gbmV3IFdlYWtTZXQoKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHVzZVN0cmljdE1lbW88VE1lbW9pemVkPihcbiAgZmFjdG9yeTogKCkgPT4gYW55LFxuICBkZXBzOiBSZWFjdC5EZXBlbmRlbmN5TGlzdCB8IHVuZGVmaW5lZFxuKTogVE1lbW9pemVkIHwgbnVsbCB7XG4gIHJldHVybiBSZWFjdC51c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBjdXJyZW50T3duZXIgPSBnZXRDdXJyZW50T3duZXIoKTtcbiAgICBpZiAoIW1lbW9TZXQuaGFzKGN1cnJlbnRPd25lcikpIHtcbiAgICAgIG1lbW9TZXQuYWRkKGN1cnJlbnRPd25lcik7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFjdG9yeSgpO1xuICB9LCBkZXBzKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7QUFBQSxZQUFZLFdBQVc7QUFLaEIsSUFBTSxrQkFBa0IsTUFFdkIseURBQW1ELGtCQUN0RDtBQUVMLElBQU0seUJBQXVDLHVCQUFPLElBQUksbUJBQW1CO0FBUXBFLElBQU0sa0JBQWtCLE1BQWU7QUFHNUMsTUFBSSxRQUFRLElBQUksYUFBYSxjQUFjO0FBQ3pDLFdBQU87QUFBQSxFQUNUO0FBRUEsUUFBTSxlQUFxQixhQUE0QixNQUFTO0FBQ2hFLFFBQU0sb0JBQTBCLGNBQVEsTUFBTTtBQUM1QyxXQUFPLE9BQWEsY0FBUSxNQUFNLEdBQUcsRUFBRSxFQUFFO0FBQUEsRUFDM0MsR0FBRyxDQUFPLGFBQU8sQ0FBQztBQUVsQixNQUFJLE1BQU0saUJBQWlCLEtBQUssb0JBQW9CLElBQUk7QUFDdEQsV0FBTztBQUFBLEVBQ1Q7QUFFQSxNQUFJLGFBQWEsWUFBWSxRQUFXO0FBQ3RDLFFBQUksZUFBZSxnQkFBZ0I7QUFDbkMsV0FBTyxnQkFBZ0IsYUFBYSxRQUFRO0FBQzFDLHFCQUFlLGFBQWE7QUFDNUIsVUFDRSxhQUFhLFNBQVMsMEJBQ3RCLGFBQWEsZ0JBQWdCLHdCQUM3QjtBQUNBLHFCQUFhLFVBQVU7QUFBQSxNQUN6QjtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBRUEsU0FBTyxDQUFDLENBQUMsYUFBYTtBQUN4Qjs7O0FDaERBLFlBQVlBLFlBQVc7OztBQ0F2QixZQUFZQyxZQUFXO0FBS3ZCLElBQU0sWUFBWSxvQkFBSSxRQUFRO0FBRXZCLFNBQVMsZ0JBQ2QsUUFDQSxNQUNBO0FBQ0EsUUFBTSxlQUFlLGdCQUFnQjtBQUNyQyxFQUFNLGlCQUFVLE1BQU07QUFDcEIsUUFBSSxDQUFDLFVBQVUsSUFBSSxZQUFZLEdBQUc7QUFDaEMsZ0JBQVUsSUFBSSxZQUFZO0FBQzFCLGFBQU87QUFDUDtBQUFBLElBQ0Y7QUFFQSxVQUFNLFVBQVUsT0FBTztBQUN2QixXQUFPO0FBQUEsRUFDVCxHQUFHLElBQUk7QUFDVDs7O0FDdEJBLFlBQVlDLFlBQVc7QUFLdkIsSUFBTSxVQUFVLG9CQUFJLFFBQVE7QUFFckIsU0FBUyxjQUNkLFNBQ0EsTUFDa0I7QUFDbEIsU0FBYSxlQUFRLE1BQU07QUFDekIsVUFBTSxlQUFlLGdCQUFnQjtBQUNyQyxRQUFJLENBQUMsUUFBUSxJQUFJLFlBQVksR0FBRztBQUM5QixjQUFRLElBQUksWUFBWTtBQUN4QixhQUFPO0FBQUEsSUFDVDtBQUVBLFdBQU8sUUFBUTtBQUFBLEVBQ2pCLEdBQUcsSUFBSTtBQUNUOzs7QUZITyxTQUFTLGNBQ2QsU0FDQSxNQUNBO0FBcEJGO0FBc0JFLFFBQU0sZUFDSixnQkFBZ0IsS0FBSyxRQUFRLElBQUksYUFBYTtBQUVoRCxRQUFNQyxXQUFVLGVBQWUsZ0JBQXNCO0FBQ3JELFFBQU1DLGFBQVksZUFBZSxrQkFBd0I7QUFFekQsUUFBTSxDQUFDLFlBQVksT0FBTyxLQUFJLEtBQUFELFNBQVEsTUFBTSxRQUFRLEdBQUcsSUFBSSxNQUE3QixZQUFrQztBQUFBLElBQzlEO0FBQUEsSUFDQSxNQUFNO0FBQUEsRUFDUjtBQUNBLEVBQUFDLFdBQVUsTUFBTTtBQUNkLFdBQU87QUFBQSxFQUNULEdBQUcsSUFBSTtBQUVQLFNBQU87QUFDVDsiLAogICJuYW1lcyI6IFsiUmVhY3QiLCAiUmVhY3QiLCAiUmVhY3QiLCAidXNlTWVtbyIsICJ1c2VFZmZlY3QiXQp9Cg==