Skip to main content
Module

x/fun/mod.ts>refinement.record

A collection of algebraic data types, lenses, and schemables based on a light weight higher kinded type implementation. Written for deno.
Latest
function refinement.record
import { refinement } from "https://deno.land/x/fun@v2.0.0/mod.ts";
const { record } = refinement;

Turn a Refinement<unknown, A> into Refinement<unknown, ReadonlyRecord<A>>.

Examples

Example 1

import * as R from "./refinement.ts";

const numbers = R.record(R.number);

const result1 = numbers(null); // false
const result2 = numbers({}); // true, {} has type ReadonlyRecord<number>
const result3 = numbers({ hello: "world" }); // false
const result4 = numbers({ hello: 1 });
// true, variable has type ReadonlyRecord<number>

Parameters

codomain: Refinement<unknown, A>

Returns

Refinement<unknown, ReadonlyRecord<A>>