/* IMPORT */ import isObservableWritable from '~/methods/is_observable_writable' import target from '~/methods/target' import { readable } from '~/objects/callable' import type { Observable, ObservableReadonly } from '~/types' import type { Stack } from './debugger' /* MAIN */ const readonly = (observable: Observable | ObservableReadonly, stack?: Stack): ObservableReadonly => { if (isObservableWritable(observable)) { return readable(target(observable), stack) } else { return observable } } /* EXPORT */ export default readonly