Skip to content

@epikodelabs/streamix


@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 ​

readonly type: "atom"

Defined in: projects/libraries/streamix/src/lib/atoms/atom.ts:58

Runtime discriminator for atom-like values.


name? ​

readonly optional name?: string

Defined in: projects/libraries/streamix/src/lib/atoms/atom.ts:60

Optional human-readable name used by integrations and diagnostics.


value ​

readonly value: 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 ​

readonly safeValue: 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 ​

readonly previous: T

Defined in: projects/libraries/streamix/src/lib/atoms/atom.ts:66

Previously emitted value.


disposed ​

readonly disposed: boolean

Defined in: projects/libraries/streamix/src/lib/atoms/atom.ts:68

True after the atom has been disposed.


dirty ​

readonly dirty: boolean

Defined in: projects/libraries/streamix/src/lib/atoms/atom.ts:70

True when reactive work is queued but not flushed yet.


error? ​

readonly optional error?: any

Defined in: projects/libraries/streamix/src/lib/atoms/atom.ts:72

Last error captured by this atom, if any.


subscriberCount? ​

readonly optional subscriberCount?: 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 ​

Subscription


onError() ​

onError(handler): Subscription

Defined in: projects/libraries/streamix/src/lib/atoms/atom.ts:86

Subscribes to atom errors.

Parameters ​

handler ​

(error) => void

Returns ​

Subscription


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>

Released under the MIT License.