import { createInjector } from '../factories/createInjector' import { MutableRefObject, PartialAtomInstance, RefObject, } from '../types/index' import { prefix } from '../utils/index' export const injectRef: { (initialVal: T): MutableRefObject (initialVal: T | null): RefObject (): MutableRefObject } = createInjector( 'injectRef', (instance: PartialAtomInstance, initialVal?: T) => ({ result: { current: initialVal as T }, type: `${prefix}/ref`, }) )