UNPKG

@politie/sherlock-utils

Version:

Utility functions that are designed to work with Sherlock. His toolbelt.

22 lines (21 loc) 1.02 kB
import { Derivable, DerivableAtom, ReactorOptions, State } from '@politie/sherlock'; export type StateObject<V> = { value: V; errored: false; resolved: true; } | { error: any; errored: true; resolved: true; } | { errored: false; resolved: false; }; export declare function getStateObject<V>(from: Derivable<V>): StateObject<V>; export declare function toStateObject<V>(state: State<V>): StateObject<V>; export declare function fromStateObject<V>(state: StateObject<V>): State<V>; export declare function materialize<V>(derivable: Derivable<V>): Derivable<StateObject<V>>; export declare function dematerialize<V>(derivable: Derivable<StateObject<V>>): Derivable<V>; export declare function setStateObject<V>(to: DerivableAtom<V>, state: StateObject<V>): void; export declare function syncState<V>(from: Derivable<V>, to: DerivableAtom<V>, opts?: Partial<ReactorOptions<StateObject<V>>>): () => void; export declare function copyState<V>(from: Derivable<V>, to: DerivableAtom<V>): void;