{
  "name": "use-deep-compare-effect",
  "author": "Brendan Dash (https://shadcn-hooks.com)",
  "description": "A hook to use a deep compare effect",
  "dependencies": [
    "dequal"
  ],
  "registryDependencies": [
    "@shadcnhooks/use-isomorphic-layout-effect"
  ],
  "files": [
    {
      "path": "registry/hooks/use-deep-compare-effect.ts",
      "content": "import { dequal } from 'dequal'\nimport { useRef } from 'react'\nimport { useIsomorphicLayoutEffect } from '@/registry/hooks/use-isomorphic-layout-effect'\nimport type { DependencyList, EffectCallback } from 'react'\n\nexport function useDeepCompareEffect(\n  effect: EffectCallback,\n  deps: DependencyList,\n) {\n  const ref = useRef<DependencyList>(deps)\n\n  if (!ref.current || !dequal(ref.current, deps)) {\n    ref.current = deps\n  }\n\n  useIsomorphicLayoutEffect(effect, ref.current)\n}\n",
      "type": "registry:hook"
    }
  ],
  "type": "registry:hook"
}
