UNPKG

@typed/fp

Version:

Data Structures and Resources for fp-ts

63 lines 2.15 kB
/** * RefMap is a collection of helpers for working with Refs that manage a ReadonlyMap. * @since 0.12.0 */ import { Endomorphism } from 'fp-ts/Endomorphism'; import { Eq } from 'fp-ts/Eq'; import * as O from 'fp-ts/Option'; import { Predicate } from 'fp-ts/Predicate'; import * as E from './Env'; import * as EO from './EnvOption'; import * as Ref from './Ref'; /** * @since 0.12.0 * @category Model */ export interface RefMap<E, K, V> extends Ref.Ref<E, ReadonlyMap<K, V>> { } /** * @since 0.12.0 * @category Combinator */ export declare const deleteAt: <K>(Eq: Eq<K>) => (key: K) => <E, V>(rm: RefMap<E, K, V>) => EO.EnvOption<E, ReadonlyMap<K, V>>; /** * @since 0.12.0 * @category Combinator */ export declare function filter<A>(predicate: Predicate<A>): <E, K>(rm: RefMap<E, K, A>) => E.Env<E, ReadonlyMap<K, A>>; /** * @since 0.12.0 * @category Combinator */ export declare function filterWithIndex<K, V>(predicate: (k: K, v: V) => boolean): <E>(rm: RefMap<E, K, V>) => E.Env<E, ReadonlyMap<K, V>>; /** * @since 0.12.0 * @category Combinator */ export declare const insertAt: <K>(Eq: Eq<K>) => <V>(key: K, value: V) => <E>(rm: RefMap<E, K, V>) => EO.EnvOption<E, ReadonlyMap<K, V>>; /** * @since 0.12.0 * @category Combinator */ export declare const modifyAt: <K>(Eq: Eq<K>) => <V>(key: K, f: Endomorphism<V>) => <E>(rm: RefMap<E, K, V>) => EO.EnvOption<E, ReadonlyMap<K, V>>; /** * @since 0.12.0 * @category Combinator */ export declare const pop: <K>(Eq: Eq<K>) => (k: K) => <E, A>(rm: RefMap<E, K, A>) => E.Env<E, O.Option<A>>; /** * @since 0.12.0 * @category Combinator */ export declare const updateAt: <K>(Eq: Eq<K>) => <V>(key: K, value: V) => <E>(rm: RefMap<E, K, V>) => EO.EnvOption<E, ReadonlyMap<K, V>>; /** * @since 0.12.0 * @category Combinator */ export declare const upsertAt: <K>(Eq: Eq<K>) => <V>(key: K, value: V) => <E>(rm: RefMap<E, K, V>) => E.Env<E, ReadonlyMap<K, V>>; /** * @since 0.12.1 * @category Combinator */ export declare const getOrCreate: <K>(Eq: Eq<K>) => <E1, V>(key: K, create: E.Env<E1, V>) => <E2>(rm: RefMap<E2, K, V>) => E.Env<E2 & E1, V>; //# sourceMappingURL=RefMap.d.ts.map