{
  "version": 3,
  "sources": ["../../../src/binding/use-binding.ts"],
  "sourcesContent": ["import type { DependencyList } from 'react';\nimport { useMemo } from 'react';\n\nimport type { EmptyObject } from '../types/empty';\nimport { makeBinding } from './make-binding.mjs';\nimport type { Binding } from './types/binding';\nimport type { UseBindingArgs } from './types/binding-args';\nimport type { BindingInitializer } from './types/binding-initializer';\n\nconst emptyDeps: DependencyList = Object.freeze([]);\n\n/** Makes a binding memo'd using the specified dependencies */\nexport const useBinding = <GetType = any, ExtraFieldsT extends object = EmptyObject>(\n  initialValue: BindingInitializer<GetType>,\n  args: UseBindingArgs<GetType, ExtraFieldsT>\n  // eslint-disable-next-line react-hooks/exhaustive-deps\n): Binding<GetType> & ExtraFieldsT => useMemo(() => makeBinding<GetType, ExtraFieldsT>(initialValue, args), args.deps ?? emptyDeps);\n"],
  "mappings": "AACA,SAAS,eAAe;AAGxB,SAAS,mBAAmB;AAK5B,MAAM,YAA4B,OAAO,OAAO,CAAC,CAAC;AAG3C,MAAM,aAAa,CACxB,cACA,SAEoC,QAAQ,MAAM,YAAmC,cAAc,IAAI,GAAG,KAAK,QAAQ,SAAS;",
  "names": []
}
