API reference / @evolu/common / Type / base
Function: base()
function base<Name, T, Error>(name, fromUnknown): Type<Name, T, T, Error>;
Defined in: packages/common/src/Type.ts:597
Base Type.
A Base Type validates that a value conforms to a specific TypeScript type.
Example
const String = base("String", (value) =>
typeof value === "string"
? ok(value)
: err<StringError>({ type: "String", value }),
);
interface StringError extends TypeError<"String"> {}
const formatStringError = createTypeErrorFormatter<StringError>(
(error) => `A value ${error.value} is not a string`,
);
Type Parameters
| Type Parameter |
|---|
Name extends string |
T |
Error extends TypeError<Capitalize<string>> |
Parameters
| Parameter | Type |
|---|---|
name | Name |
fromUnknown | (value) => Result<T, Error> |
Returns
Type<Name, T, T, Error>