{
  "version": 3,
  "sources": ["../../../../src/specialized-bindings/transient-derived-binding/use-transient-derived-binding.ts"],
  "sourcesContent": ["import type { DependencyList } from 'react';\nimport { useMemo } from 'react';\n\nimport type { BindingDependencies } from '../../binding/types/binding-dependencies';\nimport type { ReadonlyBinding } from '../../binding/types/readonly-binding';\nimport type { UseDerivedBindingTransformer } from '../derived-binding/use-derived-binding';\nimport { makeTransientDerivedBinding } from './make-transient-derived-binding.mjs';\nimport type { UseTransientDerivedBindingArgs } from './types/transient-derived-binding-args';\n\nconst emptyDeps: DependencyList = Object.freeze([]);\n\n/**\n * Similar to `useDerivedBinding` except that this binding doesn't persist any values internally.  The derivative is computed each time the\n * getter is accessed and listeners are immediately triggered any time any of the dependencies change.\n *\n * This is most useful for cases where bindings need to have up to date values even when unmounted (though this still wont be proactively\n * triggered when unmounted).\n */\nexport const useTransientDerivedBinding = <GetT, DependenciesT extends BindingDependencies>(\n  bindings: DependenciesT | undefined,\n  transformer: UseDerivedBindingTransformer<GetT, DependenciesT>,\n  args: UseTransientDerivedBindingArgs = {}\n): ReadonlyBinding<GetT> =>\n  // eslint-disable-next-line react-hooks/exhaustive-deps\n  useMemo(() => makeTransientDerivedBinding<GetT, DependenciesT>(bindings, transformer, args), args.deps ?? emptyDeps);\n"],
  "mappings": "AACA,SAAS,eAAe;AAKxB,SAAS,mCAAmC;AAG5C,MAAM,YAA4B,OAAO,OAAO,CAAC,CAAC;AAS3C,MAAM,6BAA6B,CACxC,UACA,aACA,OAAuC,CAAC;AAAA;AAAA,EAGxC,QAAQ,MAAM,4BAAiD,UAAU,aAAa,IAAI,GAAG,KAAK,QAAQ,SAAS;AAAA;",
  "names": []
}
