HashMap
Constructors
Signature
declare const empty: <K = never, V = never>() => HashMap<K, V>;fromIterable
Creates a new HashMap from an iterable collection of key/value pairs.
Signature
declare const fromIterable: <K, V>(entries: Iterable<readonly [K, V]>) => HashMap<K, V>;Constructs a new HashMap from an array of key/value pairs.
Signature
declare const make: <Entries extends ReadonlyArray<readonly [any, any]>>(
...entries: Entries
) => HashMap<
Entries[number] extends readonly [infer K, any] ? K : never,
Entries[number] extends readonly [any, infer V] ? V : never
>;Elements
Checks if all entries in a hashmap meets a specific condition.
Signature
declare const every: {
<K, A>(predicate: (a: NoInfer<A>, k: K) => boolean): (self: HashMap<K, A>) => boolean;
<K, A>(self: HashMap<K, A>, predicate: (a: A, k: K) => boolean): boolean;
};Returns the first element that satisfies the specified predicate, or None if no such element exists.
Signature
declare const findFirst: {
<K, A, B>(predicate: (a: NoInfer<A>, k: K) => a is B): (self: HashMap<K, A>) => Option<[K, B]>;
<K, A>(predicate: (a: NoInfer<A>, k: K) => boolean): (self: HashMap<K, A>) => Option<[K, A]>;
<K, A, B>(self: HashMap<K, A>, predicate: (a: A, k: K) => a is B): Option<[K, B]>;
<K, A>(self: HashMap<K, A>, predicate: (a: A, k: K) => boolean): Option<[K, A]>;
};Safely lookup the value for the specified key in the HashMap using the internal hashing function.
Signature
declare const get: {
<K1, K>(key: K1): <V>(self: HashMap<K, V>) => Option<V>;
<K1, K, V>(self: HashMap<K, V>, key: K1): Option<V>;
};Lookup the value for the specified key in the HashMap using a custom hash.
Signature
declare const getHash: {
<K1, K>(key: K1, hash: number): <V>(self: HashMap<K, V>) => Option<V>;
<K1, K, V>(self: HashMap<K, V>, key: K1, hash: number): Option<V>;
};Checks if the specified key has an entry in the HashMap.
Signature
declare const has: {
<K1, K>(key: K1): <K, V>(self: HashMap<K, V>) => boolean;
<K1, K, V>(self: HashMap<K, V>, key: K1): boolean;
};Checks if an element matching the given predicate exists in the given HashMap.
Signature
declare const hasBy: {
<K, V>(
predicate: (value: NoInfer<V>, key: NoInfer<K>) => boolean,
): (self: HashMap<K, V>) => boolean;
<K, V>(self: HashMap<K, V>, predicate: (value: NoInfer<V>, key: NoInfer<K>) => boolean): boolean;
};Example
import { HashMap } from "effect"
const hm = HashMap.make([1, "a"])
HashMap.hasBy(hm, (value, key) => value === "a" && key === 1) // -> true
HashMap.hasBy(hm, (value) => value === "b") // -> falseChecks if the specified key has an entry in the HashMap using a custom hash.
Signature
declare const hasHash: {
<K1, K>(key: K1, hash: number): <V>(self: HashMap<K, V>) => boolean;
<K1, K, V>(self: HashMap<K, V>, key: K1, hash: number): boolean;
};Checks if the HashMap contains any entries.
Signature
declare const isEmpty: <K, V>(self: HashMap<K, V>) => boolean;Checks if any entry in a hashmap meets a specific condition.
Signature
declare const some: {
<K, A>(predicate: (a: NoInfer<A>, k: K) => boolean): (self: HashMap<K, A>) => boolean;
<K, A>(self: HashMap<K, A>, predicate: (a: A, k: K) => boolean): boolean;
};Filtering
Filters out None values from a HashMap of Optionss.
Signature
declare const compact: <K, A>(self: HashMap<K, Option<A>>) => HashMap<K, A>;Filters entries out of a HashMap using the specified predicate.
Signature
declare const filter: {
<K, A, B>(f: (a: NoInfer<A>, k: K) => a is B): (self: HashMap<K, A>) => HashMap<K, B>;
<K, A>(f: (a: NoInfer<A>, k: K) => boolean): (self: HashMap<K, A>) => HashMap<K, A>;
<K, A, B>(self: HashMap<K, A>, f: (a: A, k: K) => a is B): HashMap<K, B>;
<K, A>(self: HashMap<K, A>, f: (a: A, k: K) => boolean): HashMap<K, A>;
};Maps over the entries of the HashMap using the specified partial function and filters out None values.
Signature
declare const filterMap: {
<A, K, B>(f: (value: A, key: K) => Option<B>): (self: HashMap<K, A>) => HashMap<K, B>;
<K, A, B>(self: HashMap<K, A>, f: (value: A, key: K) => Option<B>): HashMap<K, B>;
};Folding
Counts all the element of the given HashMap that pass the given predicate
Signature
declare const countBy: {
<K, V>(
predicate: (value: NoInfer<V>, key: NoInfer<K>) => boolean,
): (self: HashMap<K, V>) => number;
<K, V>(self: HashMap<K, V>, predicate: (value: NoInfer<V>, key: NoInfer<K>) => boolean): number;
};Example
import { HashMap } from "effect"
const map = HashMap.make([1, "a"], [2, "b"], [3, "c"])
const result = HashMap.countBy(map, (_v, key) => key % 2 === 1)
console.log(result) // 2Reduces the specified state over the entries of the HashMap.
Signature
declare const reduce: {
<Z, V, K>(zero: Z, f: (accumulator: Z, value: V, key: K) => Z): (self: HashMap<K, V>) => Z;
<K, V, Z>(self: HashMap<K, V>, zero: Z, f: (accumulator: Z, value: V, key: K) => Z): Z;
};Getter
Getters
Returns an IterableIterator of the entries within the HashMap.
Signature
declare const entries: <K, V>(self: HashMap<K, V>) => IterableIterator<[K, V]>;Returns an IterableIterator of the keys within the HashMap.
Signature
declare const keys: <K, V>(self: HashMap<K, V>) => IterableIterator<K>;Returns the number of entries within the HashMap.
Signature
declare const size: <K, V>(self: HashMap<K, V>) => number;Returns an Array<[K, V]> of the entries within the HashMap.
Signature
declare function toEntries<K, V>(self: HashMap<K, V>): Array<[K, V]>;Returns an Array of the values within the HashMap.
Signature
declare function toValues<K, V>(self: HashMap<K, V>): Array<V>;Returns an IterableIterator of the values within the HashMap.
Signature
declare const values: <K, V>(self: HashMap<K, V>) => IterableIterator<V>;Mapping
Models
Other
beginMutation
Marks the HashMap as mutable.
Signature
declare const beginMutation: <K, V>(self: HashMap<K, V>) => HashMap<K, V>;endMutation
Marks the HashMap as immutable.
Signature
declare const endMutation: <K, V>(self: HashMap<K, V>) => HashMap<K, V>;Updates the value of the specified key within the HashMap if it exists.
Signature
declare const modify: {
<K, V>(key: K, f: (v: V) => V): (self: HashMap<K, V>) => HashMap<K, V>;
<K, V>(self: HashMap<K, V>, key: K, f: (v: V) => V): HashMap<K, V>;
};Set or remove the specified key in the HashMap using the specified update function. The value of the specified key will be computed using the provided hash.
The update function will be invoked with the current value of the key if it exists, or None if no such value exists.
Signature
declare const modifyAt: {
<K, V>(key: K, f: UpdateFn<V>): (self: HashMap<K, V>) => HashMap<K, V>;
<K, V>(self: HashMap<K, V>, key: K, f: UpdateFn<V>): HashMap<K, V>;
};modifyHash
Alter the value of the specified key in the HashMap using the specified update function. The value of the specified key will be computed using the provided hash.
The update function will be invoked with the current value of the key if it exists, or None if no such value exists.
This function will always either update or insert a value into the HashMap.
Signature
declare const modifyHash: {
<K, V>(key: K, hash: number, f: UpdateFn<V>): (self: HashMap<K, V>) => HashMap<K, V>;
<K, V>(self: HashMap<K, V>, key: K, hash: number, f: UpdateFn<V>): HashMap<K, V>;
};Mutates the HashMap within the context of the provided function.
Signature
declare const mutate: {
<K, V>(f: (self: HashMap<K, V>) => void): (self: HashMap<K, V>) => HashMap<K, V>;
<K, V>(self: HashMap<K, V>, f: (self: HashMap<K, V>) => void): HashMap<K, V>;
};Remove the entry for the specified key in the HashMap using the internal hashing function.
Signature
declare const remove: {
<K>(key: K): <V>(self: HashMap<K, V>) => HashMap<K, V>;
<K, V>(self: HashMap<K, V>, key: K): HashMap<K, V>;
};removeMany
Removes all entries in the HashMap which have the specified keys.
Signature
declare const removeMany: {
<K>(keys: Iterable<K>): <V>(self: HashMap<K, V>) => HashMap<K, V>;
<K, V>(self: HashMap<K, V>, keys: Iterable<K>): HashMap<K, V>;
};Sets the specified key to the specified value using the internal hashing function.
Signature
declare const set: {
<K, V>(key: K, value: V): (self: HashMap<K, V>) => HashMap<K, V>;
<K, V>(self: HashMap<K, V>, key: K, value: V): HashMap<K, V>;
};Performs a union of this HashMap and that HashMap.
Signature
declare const union: {
<K1, V1>(that: HashMap<K1, V1>): <K0, V0>(self: HashMap<K0, V0>) => HashMap<K1 | K0, V1 | V0>;
<K0, V0, K1, V1>(self: HashMap<K0, V0>, that: HashMap<K1, V1>): HashMap<K0 | K1, V0 | V1>;
};Refinements
Sequencing
Chains over the entries of the HashMap using the specified function.
NOTE: the hash and equal of both maps have to be the same.
Signature
declare const flatMap: {
<A, K, B>(f: (value: A, key: K) => HashMap<K, B>): (self: HashMap<K, A>) => HashMap<K, B>;
<K, A, B>(self: HashMap<K, A>, f: (value: A, key: K) => HashMap<K, B>): HashMap<K, B>;
};
Creates a new
HashMap.