UNPKG

@zedux/atoms

Version:

A Molecular State Engine for React

29 lines (23 loc) 786 B
import { AnyAtomInstance, AnyAtomTemplate, AtomParamsType, AtomStateType, ParamlessTemplate, } from '../types/index' import { injectAtomInstance } from './injectAtomInstance' export const injectAtomValue: { <A extends AnyAtomTemplate>( template: A, params: AtomParamsType<A> ): AtomStateType<A> <A extends AnyAtomTemplate<{ Params: [] }>>(template: A): AtomStateType<A> <A extends AnyAtomTemplate>(template: ParamlessTemplate<A>): AtomStateType<A> <I extends AnyAtomInstance>(instance: I): AtomStateType<I> } = <A extends AnyAtomTemplate>(atom: A, params?: AtomParamsType<A>) => { const instance = injectAtomInstance(atom, params as AtomParamsType<A>, { operation: 'injectAtomValue', subscribe: true, }) return instance.store.getState() }