Dict
constDict:object
Defined in: Data/Dict.ts:607
Type Declaration
Section titled “Type Declaration”compact
Section titled “compact”compact: <
K,A>(dict) =>ReadonlyMap<K,A>
Removes all None values from a dictionary, unwrapping Some values.
Type Parameters
Section titled “Type Parameters”K
A
Parameters
Section titled “Parameters”ReadonlyMap<K, Maybe<A>>
Returns
Section titled “Returns”ReadonlyMap<K, A>
difference
Section titled “difference”difference: <
K,V>(other) => (dict) =>ReadonlyMap<K,V>
Returns a new dictionary containing keys from dict that are not in other.
Type Parameters
Section titled “Type Parameters”K
V
Parameters
Section titled “Parameters”ReadonlyMap<K, V>
Returns
Section titled “Returns”(dict) => ReadonlyMap<K, V>
- union for combining all keys.
- intersection for keeping only common keys.
empty: <
K,V>() =>ReadonlyMap<K,V>
Creates an empty dictionary.
Type Parameters
Section titled “Type Parameters”K
V
Returns
Section titled “Returns”ReadonlyMap<K, V>
Example
Section titled “Example”entries
Section titled “entries”entries: <
K,V>(dict) => readonly (readonly [K,V])[]
Returns all key-value pairs of a dictionary.
Type Parameters
Section titled “Type Parameters”K
V
Parameters
Section titled “Parameters”ReadonlyMap<K, V>
Returns
Section titled “Returns”readonly (readonly [K, V])[]
filter
Section titled “filter”filter: <
A>(predicate) => <K>(dict) =>ReadonlyMap<K,A>
Filters dictionary entries by a predicate on values.
Type Parameters
Section titled “Type Parameters”A
Parameters
Section titled “Parameters”predicate
Section titled “predicate”(value) => boolean
Returns
Section titled “Returns”<K>(dict) => ReadonlyMap<K, A>
filterWithKey for filtering with key access.
filterMap
Section titled “filterMap”filterMap: <
A,B>(transform) => <K>(dict) =>ReadonlyMap<K,B>
Transforms values with a function returning Maybe, keeping only Some values.
Type Parameters
Section titled “Type Parameters”A
B
Parameters
Section titled “Parameters”transform
Section titled “transform”(value) => Maybe<B>
Returns
Section titled “Returns”<K>(dict) => ReadonlyMap<K, B>
filter for filtering without transformation.
filterWithKey
Section titled “filterWithKey”filterWithKey: <
K,A>(predicate) => (dict) =>ReadonlyMap<K,A>
Filters dictionary entries by a predicate that also receives the key.
Type Parameters
Section titled “Type Parameters”K
A
Parameters
Section titled “Parameters”predicate
Section titled “predicate”(key, value) => boolean
Returns
Section titled “Returns”(dict) => ReadonlyMap<K, A>
filter for filtering values without key access.
from:
object=DictFrom
from.entries
Section titled “from.entries”entries: <
K,V>(entries) =>ReadonlyMap<K,V>
Creates a dictionary from an array of key-value tuples.
Type Parameters
Section titled “Type Parameters”K
V
Parameters
Section titled “Parameters”entries
Section titled “entries”readonly (readonly [K, V])[]
Returns
Section titled “Returns”ReadonlyMap<K, V>
Example
Section titled “Example”from.nullable
Section titled “from.nullable”nullable: <
K,V>(dict) =>Maybe<ReadonlyMap<K,V>>
Lifts a nullable dictionary into a Maybe. Returns None if null or undefined.
Type Parameters
Section titled “Type Parameters”K
V
Parameters
Section titled “Parameters”ReadonlyMap<K, V> | null | undefined
Returns
Section titled “Returns”Maybe<ReadonlyMap<K, V>>
Example
Section titled “Example”from.record
Section titled “from.record”record: <
K,V>(record) =>ReadonlyMap<K,V>
Creates a dictionary from a plain record.
Type Parameters
Section titled “Type Parameters”K extends string
V
Parameters
Section titled “Parameters”record
Section titled “record”Readonly<Record<K, V>>
Returns
Section titled “Returns”ReadonlyMap<K, V>
Example
Section titled “Example”groupBy
Section titled “groupBy”groupBy: <
A,K>(keySelector) => (items) =>ReadonlyMap<K,NonEmptyArr<A>>
Groups elements of an array into a dictionary using a key selector function. Each key maps to a non-empty array of items that produced it.
Type Parameters
Section titled “Type Parameters”A
K
Parameters
Section titled “Parameters”keySelector
Section titled “keySelector”(item) => K
Returns
Section titled “Returns”(items) => ReadonlyMap<K, NonEmptyArr<A>>
Example
Section titled “Example”has: <
K>(key) => <V>(dict) =>boolean
Returns true when the dictionary contains the specified key.
Type Parameters
Section titled “Type Parameters”K
Parameters
Section titled “Parameters”K
Returns
Section titled “Returns”<V>(dict) => boolean
lookup for retrieving the value associated with a key.
insert
Section titled “insert”insert: <
K,V>(key,value) => (dict) =>ReadonlyMap<K,V>
Returns a new dictionary with the key set to value.
Type Parameters
Section titled “Type Parameters”K
V
Parameters
Section titled “Parameters”K
V
Returns
Section titled “Returns”(dict) => ReadonlyMap<K, V>
intersection
Section titled “intersection”intersection: <
K,V>(other) => (dict) =>ReadonlyMap<K,V>
Returns a new dictionary containing only keys present in both dictionaries.
Type Parameters
Section titled “Type Parameters”K
V
Parameters
Section titled “Parameters”ReadonlyMap<K, V>
Returns
Section titled “Returns”(dict) => ReadonlyMap<K, V>
- union for combining all keys from both dictionaries.
- difference for subtracting keys.
is:
object=DictIs
is.empty
Section titled “is.empty”empty: <
K,V>(dict) =>boolean
Returns true when the dictionary contains zero entries.
Type Parameters
Section titled “Type Parameters”K
V
Parameters
Section titled “Parameters”ReadonlyMap<K, V>
Returns
Section titled “Returns”boolean
nonEmpty for checking if a dictionary contains entries.
is.nonEmpty
Section titled “is.nonEmpty”nonEmpty: <
K,V>(dict) =>dict is NonEmptyMap<K, V>
Returns true when the dictionary contains at least one entry.
Type Parameters
Section titled “Type Parameters”K
V
Parameters
Section titled “Parameters”ReadonlyMap<K, V>
Returns
Section titled “Returns”dict is NonEmptyMap<K, V>
empty for checking if a dictionary is empty.
keys: <
K,V>(dict) => readonlyK[]
Returns all keys of a dictionary.
Type Parameters
Section titled “Type Parameters”K
V
Parameters
Section titled “Parameters”ReadonlyMap<K, V>
Returns
Section titled “Returns”readonly K[]
lookup
Section titled “lookup”lookup: <
K>(key) => <V>(dict) =>Maybe<V>
Retrieves the value associated with a key wrapped in a Maybe.
Type Parameters
Section titled “Type Parameters”K
Parameters
Section titled “Parameters”K
Returns
Section titled “Returns”<V>(dict) => Maybe<V>
has for checking key existence without retrieving the value.
map: <
A,B>(transform) => <K>(dict) =>ReadonlyMap<K,B>
Transforms each value in the dictionary.
Type Parameters
Section titled “Type Parameters”A
B
Parameters
Section titled “Parameters”transform
Section titled “transform”(value) => B
Returns
Section titled “Returns”<K>(dict) => ReadonlyMap<K, B>
mapWithKey for transforming values with key access.
mapEntries
Section titled “mapEntries”mapEntries: <
K1,V1,K2,V2>(transform) => (dict) =>ReadonlyMap<K2,V2>
Transforms key and value pairs simultaneously into a new dictionary.
Type Parameters
Section titled “Type Parameters”K1
V1
K2
V2
Parameters
Section titled “Parameters”transform
Section titled “transform”(key, value) => readonly [K2, V2]
Returns
Section titled “Returns”(dict) => ReadonlyMap<K2, V2>
Example
Section titled “Example”mapKeys
Section titled “mapKeys”mapKeys: <
K1,K2,V>(transform) => (dict) =>ReadonlyMap<K2,V>
Transforms dictionary keys while preserving values.
Type Parameters
Section titled “Type Parameters”K1
K2
V
Parameters
Section titled “Parameters”transform
Section titled “transform”(key) => K2
Returns
Section titled “Returns”(dict) => ReadonlyMap<K2, V>
Example
Section titled “Example”mapWithKey
Section titled “mapWithKey”mapWithKey: <
K,A,B>(transform) => (dict) =>ReadonlyMap<K,B>
Transforms each value in the dictionary, also receiving the key.
Type Parameters
Section titled “Type Parameters”K
A
B
Parameters
Section titled “Parameters”transform
Section titled “transform”(key, value) => B
Returns
Section titled “Returns”(dict) => ReadonlyMap<K, B>
map for transforming values without key access.
mergeWith
Section titled “mergeWith”mergeWith: <
V>(combine) => {<K>(first,second):ReadonlyMap<K,V>; <K>(second): (first) =>ReadonlyMap<K,V>; }
Merges two dictionaries using a combination function on collisions.
Supports both uncurried (first, second) and curried (second)(first) invocation.
Type Parameters
Section titled “Type Parameters”V
Parameters
Section titled “Parameters”combine
Section titled “combine”(first, second) => V
Returns
Section titled “Returns”{<K>(first, second): ReadonlyMap<K, V>; <K>(second): (first) => ReadonlyMap<K, V>; }
Example
Section titled “Example”NonEmpty
Section titled “NonEmpty”NonEmpty:
object=DictNonEmptyConst
Utilities for working with guaranteed non-empty dictionaries (NonEmptyMap).
NonEmpty.entries
Section titled “NonEmpty.entries”entries: <
K,V>(dict) =>NonEmptyArr<readonly [K,V]> =_nonEmptyEntries
Returns all entries of a non-empty dictionary as a NonEmptyArr.
Type Parameters
Section titled “Type Parameters”K
V
Parameters
Section titled “Parameters”NonEmptyMap<K, V>
Returns
Section titled “Returns”NonEmptyArr<readonly [K, V]>
Example
Section titled “Example”NonEmpty.from
Section titled “NonEmpty.from”from:
object
NonEmpty.from.map
Section titled “NonEmpty.from.map”map: <
K,V>(dict) =>Maybe<NonEmptyMap<K,V>> =_nonEmptyFromMap
Refines a standard Map to a NonEmptyMap, returning Some if size > 0, None otherwise.
Type Parameters
Section titled “Type Parameters”K
V
Parameters
Section titled “Parameters”ReadonlyMap<K, V>
Returns
Section titled “Returns”Maybe<NonEmptyMap<K, V>>
Example
Section titled “Example”NonEmpty.keys
Section titled “NonEmpty.keys”keys: <
K,V>(dict) =>NonEmptyArr<K> =_nonEmptyKeys
Returns all keys of a non-empty dictionary as a NonEmptyArr.
Type Parameters
Section titled “Type Parameters”K
V
Parameters
Section titled “Parameters”NonEmptyMap<K, V>
Returns
Section titled “Returns”NonEmptyArr<K>
Example
Section titled “Example”NonEmpty.map
Section titled “NonEmpty.map”map: <
A,B>(transform) => <K>(dict) =>NonEmptyMap<K,B> =_nonEmptyMap
Transforms each value of a non-empty dictionary, preserving non-emptiness.
Type Parameters
Section titled “Type Parameters”A
B
Parameters
Section titled “Parameters”transform
Section titled “transform”(value) => B
Returns
Section titled “Returns”<K>(dict) => NonEmptyMap<K, B>
Example
Section titled “Example”NonEmpty.mapWithKey
Section titled “NonEmpty.mapWithKey”mapWithKey: <
K,A,B>(transform) => (dict) =>NonEmptyMap<K,B> =_nonEmptyMapWithKey
Transforms each value with key access, preserving non-emptiness.
Type Parameters
Section titled “Type Parameters”K
A
B
Parameters
Section titled “Parameters”transform
Section titled “transform”(key, value) => B
Returns
Section titled “Returns”(dict) => NonEmptyMap<K, B>
Example
Section titled “Example”NonEmpty.reduce
Section titled “NonEmpty.reduce”reduce: <
V>(reducer) => <K>(dict) =>V=_nonEmptyReduce
Reduces values of a non-empty dictionary using the first value as initial accumulator.
Type Parameters
Section titled “Type Parameters”V
Parameters
Section titled “Parameters”reducer
Section titled “reducer”(accumulator, value) => V
Returns
Section titled “Returns”<K>(dict) => V
Example
Section titled “Example”NonEmpty.singleton
Section titled “NonEmpty.singleton”singleton: <
K,V>(key,value) =>NonEmptyMap<K,V> =_nonEmptySingleton
Creates a NonEmptyMap containing a single entry.
Type Parameters
Section titled “Type Parameters”K
V
Parameters
Section titled “Parameters”K
V
Returns
Section titled “Returns”NonEmptyMap<K, V>
Example
Section titled “Example”NonEmpty.values
Section titled “NonEmpty.values”values: <
K,V>(dict) =>NonEmptyArr<V> =_nonEmptyValues
Returns all values of a non-empty dictionary as a NonEmptyArr.
Type Parameters
Section titled “Type Parameters”K
V
Parameters
Section titled “Parameters”NonEmptyMap<K, V>
Returns
Section titled “Returns”NonEmptyArr<V>
Example
Section titled “Example”reduce
Section titled “reduce”reduce: <
B,V>(initial,reducer) => <K>(dict) =>B
Reduces dictionary values from an initial value.
Type Parameters
Section titled “Type Parameters”B
V
Parameters
Section titled “Parameters”initial
Section titled “initial”B
reducer
Section titled “reducer”(accumulator, value) => B
Returns
Section titled “Returns”<K>(dict) => B
Example
Section titled “Example”reduceWithKey
Section titled “reduceWithKey”reduceWithKey: <
B,K,V>(initial,reducer) => (dict) =>B
Reduces dictionary entries from an initial value, passing value and key to the reducer.
Type Parameters
Section titled “Type Parameters”B
K
V
Parameters
Section titled “Parameters”initial
Section titled “initial”B
reducer
Section titled “reducer”(accumulator, value, key) => B
Returns
Section titled “Returns”(dict) => B
Example
Section titled “Example”remove
Section titled “remove”remove: <
K>(key) => <V>(dict) =>ReadonlyMap<K,V>
Returns a new dictionary with the specified key removed.
Type Parameters
Section titled “Type Parameters”K
Parameters
Section titled “Parameters”K
Returns
Section titled “Returns”<V>(dict) => ReadonlyMap<K, V>
insert for adding or replacing a key in a dictionary.
singleton
Section titled “singleton”singleton: <
K,V>(key,value) =>ReadonlyMap<K,V>
Creates a dictionary with a single key-value entry.
Type Parameters
Section titled “Type Parameters”K
V
Parameters
Section titled “Parameters”K
V
Returns
Section titled “Returns”ReadonlyMap<K, V>
Example
Section titled “Example”size: <
K,V>(dict) =>number
Returns the number of entries in the dictionary.
Type Parameters
Section titled “Type Parameters”K
V
Parameters
Section titled “Parameters”ReadonlyMap<K, V>
Returns
Section titled “Returns”number
Example
Section titled “Example”to:
object=DictTo
to.record
Section titled “to.record”record: <
K,V>(dict) =>Readonly<Record<K,V>>
Converts a dictionary to a plain record.
Protects against prototype pollution when keys equal __proto__.
Type Parameters
Section titled “Type Parameters”K extends string
V
Parameters
Section titled “Parameters”ReadonlyMap<K, V>
Returns
Section titled “Returns”Readonly<Record<K, V>>
Example
Section titled “Example”union: <
K,V>(other) => (dict) =>ReadonlyMap<K,V>
Combines two dictionaries, preferring entries from other on key collisions.
Type Parameters
Section titled “Type Parameters”K
V
Parameters
Section titled “Parameters”ReadonlyMap<K, V>
Returns
Section titled “Returns”(dict) => ReadonlyMap<K, V>
- intersection for keeping only common keys.
- difference for removing keys present in the other dictionary.
upsert
Section titled “upsert”upsert: <
K,V>(key,update) => (dict) =>ReadonlyMap<K,V>
Inserts or updates a key using a callback that receives the existing value if present.
Type Parameters
Section titled “Type Parameters”K
V
Parameters
Section titled “Parameters”K
update
Section titled “update”(existing) => V
Returns
Section titled “Returns”(dict) => ReadonlyMap<K, V>
insert for unconditional key setting.
values
Section titled “values”values: <
K,V>(dict) => readonlyV[]
Returns all values of a dictionary.
Type Parameters
Section titled “Type Parameters”K
V
Parameters
Section titled “Parameters”ReadonlyMap<K, V>
Returns
Section titled “Returns”readonly V[]