Skip to main content Link Search Menu Expand Document (external link)

AtomRef overview

Added in v1.0.0


Table of contents


constructors

collection

Signature

export declare const collection: <A>(items: Iterable<A>) => Collection<A>

Added in v1.0.0

make

Signature

export declare const make: <A>(value: A) => AtomRef<A>

Added in v1.0.0

models

AtomRef (interface)

Signature

export interface AtomRef<A> extends ReadonlyRef<A> {
  readonly prop: <K extends keyof A>(prop: K) => AtomRef<A[K]>
  readonly set: (value: A) => AtomRef<A>
  readonly update: (f: (value: A) => A) => AtomRef<A>
}

Added in v1.0.0

Collection (interface)

Signature

export interface Collection<A> extends ReadonlyRef<ReadonlyArray<AtomRef<A>>> {
  readonly push: (item: A) => Collection<A>
  readonly insertAt: (index: number, item: A) => Collection<A>
  readonly remove: (ref: AtomRef<A>) => Collection<A>
  readonly toArray: () => Array<A>
}

Added in v1.0.0

ReadonlyRef (interface)

Signature

export interface ReadonlyRef<A> extends Equal.Equal {
  readonly [TypeId]: TypeId
  readonly key: string
  readonly value: A
  readonly subscribe: (f: (a: A) => void) => () => void
  readonly map: <B>(f: (a: A) => B) => ReadonlyRef<B>
}

Added in v1.0.0

type ids

TypeId

Signature

export declare const TypeId: "~effect-atom/atom/AtomRef"

Added in v1.0.0

TypeId (type alias)

Signature

export type TypeId = "~effect-atom/atom/AtomRef"

Added in v1.0.0