theatre/packages/dataverse/api/classes/Atom.md
2023-08-10 13:48:06 +02:00

5.5 KiB

@theatre/dataverse / Atom

Class: Atom<State>

Wraps an object whose (sub)properties can be individually tracked.

Type parameters

Name
State

Implements

Table of contents

Constructors

Properties

Methods

Constructors

constructor

new Atom<State>(initialState)

Type parameters

Name
State

Parameters

Name Type
initialState State

Defined in

Atom.ts:119

Properties

pointer

Readonly pointer: Pointer<State>

Convenience property that gives you a pointer to the root of the atom.

Defined in

Atom.ts:113


prism

Readonly prism: Prism<State>

Defined in

Atom.ts:115

Methods

get

get(): State

Returns

State

Defined in

Atom.ts:136


getByPointer

getByPointer<S>(pointerOrFn): S

Returns the value at the given pointer

Type parameters

Name
S

Parameters

Name Type Description
pointerOrFn Pointer<S> | (p: Pointer<State>) => Pointer<S> A pointer to the desired path. Could also be a function returning a pointer Example ts const atom = atom({ a: { b: 1 } }) atom.getByPointer(atom.pointer.a.b) // 1 atom.getByPointer((p) => p.a.b) // 1

Returns

S

Defined in

Atom.ts:152


pointerToPrism

pointerToPrism<P>(pointer): Prism<P>

Returns a new prism of the value at the provided path.

Type parameters

Name
P

Parameters

Name Type Description
pointer Pointer<P> The path to create the prism at. ts const pr = atom({ a: { b: 1 } }).pointerToPrism(atom.pointer.a.b) pr.getValue() // 1

Returns

Prism<P>

Implementation of

PointerToPrismProvider.pointerToPrism

Defined in

Atom.ts:271


reduce

reduce(fn): void

Parameters

Name Type
fn (state: State) => State

Returns

void

Defined in

Atom.ts:170


reduceByPointer

reduceByPointer<S>(pointerOrFn, reducer): void

Reduces the value at the given pointer

Type parameters

Name
S

Parameters

Name Type Description
pointerOrFn Pointer<S> | (p: Pointer<State>) => Pointer<S> A pointer to the desired path. Could also be a function returning a pointer Example ts const atom = atom({ a: { b: 1 } }) atom.reduceByPointer(atom.pointer.a.b, (b) => b + 1) // atom.get().a.b === 2 atom.reduceByPointer((p) => p.a.b, (b) => b + 1) // atom.get().a.b === 2
reducer (s: S) => S -

Returns

void

Defined in

Atom.ts:186


set

set(newState): void

Sets the state of the atom.

Parameters

Name Type Description
newState State The new state of the atom.

Returns

void

Defined in

Atom.ts:129


setByPointer

setByPointer<S>(pointerOrFn, val): void

Sets the value at the given pointer

Type parameters

Name
S

Parameters

Name Type Description
pointerOrFn Pointer<S> | (p: Pointer<State>) => Pointer<S> A pointer to the desired path. Could also be a function returning a pointer Example ts const atom = atom({ a: { b: 1 } }) atom.setByPointer(atom.pointer.a.b, 2) // atom.get().a.b === 2 atom.setByPointer((p) => p.a.b, 2) // atom.get().a.b === 2
val S -

Returns

void

Defined in

Atom.ts:211