UNPKG

@bemedev/app-react

Version:
22 lines (21 loc) 968 B
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const require_utils_getSnapshot = require("./utils/getSnapshot.cjs"); require("./utils/index.cjs"); let _bemedev_react_sync = require("@bemedev/react-sync"); let dequal = require("dequal"); let react = require("react"); //#region src/useSelector.ts const useSelector = (service, selector, compare = dequal.dequal) => { const initialStateCacheRef = (0, react.useRef)(void 0); const subscribe = (0, react.useCallback)((listerner) => { const subscriber = service.subscribe(listerner); return () => subscriber.unsubscribe(); }, [service]); const boundGetSnapshot = (0, react.useCallback)(() => { return require_utils_getSnapshot.getSnapshot(service, initialStateCacheRef); }, [service]); return (0, _bemedev_react_sync.useSync)(subscribe, boundGetSnapshot, boundGetSnapshot, selector, compare); }; //#endregion exports.useSelector = useSelector; //# sourceMappingURL=useSelector.cjs.map