import { AnyAtomInstance, AnyAtomTemplate, AtomParamsType, AtomStateType, ParamlessTemplate, } from '../types/index' import { injectAtomInstance } from './injectAtomInstance' export const injectAtomValue: { ( template: A, params: AtomParamsType ): AtomStateType >(template: A): AtomStateType (template: ParamlessTemplate): AtomStateType (instance: I): AtomStateType } = (atom: A, params?: AtomParamsType) => { const instance = injectAtomInstance(atom, params as AtomParamsType, { operation: 'injectAtomValue', subscribe: true, }) return instance.store.getState() }