{"version":3,"file":"hooks.cjs","sources":["../../../src/lib/hooks.ts"],"sourcesContent":["\"use client\";\n\nimport { signal, computed, effect } from \"@preact/signals-core\";\nimport { useRef, useMemo, useEffect } from \"react\";\n\nconst Empty = [] as const;\nexport function useSignal<T>(value: T) {\n  return useMemo(() => signal<T>(value), Empty);\n}\n\nexport function useComputed<T>(compute: () => T) {\n  const $compute = useRef(compute);\n  $compute.current = compute;\n  return useMemo(() => computed<T>(() => $compute.current()), Empty);\n}\n\nexport function useSignalEffect(cb: () => void | (() => void)) {\n  const callback = useRef(cb);\n  callback.current = cb;\n\n  useEffect(() => {\n    return effect(() => callback.current());\n  }, Empty);\n}\n"],"names":["useMemo","signal","useRef","computed","useEffect","effect"],"mappings":";;;;;AAKA,MAAM,QAAQ,EAAC;AACR,SAAS,UAAa,KAAA,EAAU;AACrC,EAAA,OAAOA,aAAA,CAAQ,MAAMC,kBAAA,CAAU,KAAK,GAAG,KAAK,CAAA;AAC9C;AAEO,SAAS,YAAe,OAAA,EAAkB;AAC/C,EAAA,MAAM,QAAA,GAAWC,aAAO,OAAO,CAAA;AAC/B,EAAA,QAAA,CAAS,OAAA,GAAU,OAAA;AACnB,EAAA,OAAOF,aAAA,CAAQ,MAAMG,oBAAA,CAAY,MAAM,SAAS,OAAA,EAAS,GAAG,KAAK,CAAA;AACnE;AAEO,SAAS,gBAAgB,EAAA,EAA+B;AAC7D,EAAA,MAAM,QAAA,GAAWD,aAAO,EAAE,CAAA;AAC1B,EAAA,QAAA,CAAS,OAAA,GAAU,EAAA;AAEnB,EAAAE,eAAA,CAAU,MAAM;AACd,IAAA,OAAOC,kBAAA,CAAO,MAAM,QAAA,CAAS,OAAA,EAAS,CAAA;AAAA,EACxC,GAAG,KAAK,CAAA;AACV;;;;;;"}