Package: effect
Module: TxHashMap
Checks whether all entries in the TxHashMap satisfy the given predicate.
Example (Checking whether every entry matches)
import { Effect, TxHashMap } from "effect"
const program = Effect.gen(function*() {
// Create a user permissions map
const permissions = yield* TxHashMap.make(
["alice", { canRead: true, canWrite: true, canDelete: false }],
["bob", { canRead: true, canWrite: false, canDelete: false }],
["charlie", { canRead: true, canWrite: true, canDelete: true }]
)
// Check if all users can read
const allCanRead = yield* TxHashMap.every(
permissions,
(perms) => perms.canRead
)
console.log(allCanRead) // true
// Check if all users can write
const allCanWrite = yield* TxHashMap.every(
permissions,
(perms) => perms.canWrite
)
console.log(allCanWrite) // false
// Data-last usage with pipe
const allHaveBasicAccess = yield* permissions.pipe(
TxHashMap.every((perms, username) => perms.canRead && username.length > 2)
)
console.log(allHaveBasicAccess) // true
})
Signature
declare const every: { <K, V>(predicate: (value: V, key: K) => boolean): (self: TxHashMap<K, V>) => Effect.Effect<boolean>; <K, V>(self: TxHashMap<K, V>, predicate: (value: V, key: K) => boolean): Effect.Effect<boolean>; }
Since v4.0.0