API reference › @evolu/common › Type › base
function base<Name, T, Error>(
name: Name,
fromUnknown: (value: unknown) => Result<T, Error>,
): Type<Name, T, T, Error>;
Defined in: packages/common/src/Type.ts:706
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`,
);