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()
}