@epikodelabs/streamix / src/public-api / Atom
Interface: Atom<T>
Defined in: projects/libraries/streamix/src/lib/atoms/atom.ts:56
Readable reactive value.
Atoms expose the current value synchronously through value, can be subscribed to, and are also async iterable for for await...of consumers.
Extended by
Type Parameters
T
T = any
Properties
type
readonlytype:"atom"
Defined in: projects/libraries/streamix/src/lib/atoms/atom.ts:58
Runtime discriminator for atom-like values.
name?
readonlyoptionalname?:string
Defined in: projects/libraries/streamix/src/lib/atoms/atom.ts:60
Optional human-readable name used by integrations and diagnostics.
value
readonlyvalue:T
Defined in: projects/libraries/streamix/src/lib/atoms/atom.ts:62
Current value. Throws if the atom is currently in an error state.
safeValue
readonlysafeValue:T
Defined in: projects/libraries/streamix/src/lib/atoms/atom.ts:64
Current value, returning the last safe value when the atom has errored.
previous
readonlyprevious:T
Defined in: projects/libraries/streamix/src/lib/atoms/atom.ts:66
Previously emitted value.
disposed
readonlydisposed:boolean
Defined in: projects/libraries/streamix/src/lib/atoms/atom.ts:68
True after the atom has been disposed.
dirty
readonlydirty:boolean
Defined in: projects/libraries/streamix/src/lib/atoms/atom.ts:70
True when reactive work is queued but not flushed yet.
error?
readonlyoptionalerror?:any
Defined in: projects/libraries/streamix/src/lib/atoms/atom.ts:72
Last error captured by this atom, if any.
subscriberCount?
readonlyoptionalsubscriberCount?:number
Defined in: projects/libraries/streamix/src/lib/atoms/atom.ts:74
Number of active subscribers, when exposed by the implementation.
Methods
subscribe()
subscribe(
callback?):Subscription
Defined in: projects/libraries/streamix/src/lib/atoms/atom.ts:84
Subscribes to this atom's current state and future value changes.
If the atom already has a current value, the callback is invoked synchronously once with (current, previous) during subscription. Atoms that have not produced a value yet wait for their first emission. The returned subscription must be disposed when the listener is no longer needed.
Parameters
callback?
(current, previous) => any
Returns
onError()
onError(
handler):Subscription
Defined in: projects/libraries/streamix/src/lib/atoms/atom.ts:86
Subscribes to atom errors.
Parameters
handler
(error) => void
Returns
dispose()
dispose():
void
Defined in: projects/libraries/streamix/src/lib/atoms/atom.ts:88
Stops the atom and releases all subscribers/resources.
Returns
void
[asyncIterator]()
[asyncIterator]():
AsyncIterator<T>
Defined in: projects/libraries/streamix/src/lib/atoms/atom.ts:90
Iterates emitted values until the atom is disposed or iteration is closed.
Returns
AsyncIterator<T>