Skip to main content
Module

x/value_schema/dist-deno/appliers/converter.ts

simple, easy-to-use, and declarative input validator; supports Node.js, TypeScript, and Deno
Go to Latest
File
import { Key, Values } from "../libs/types.ts";import { CAUSE, ValueSchemaError } from "../libs/ValueSchemaError.ts";export interface Options<T> { converter?: (value: T, fail: () => never) => T;}/** * apply schema * @param values input/output values * @param options options * @param keyStack key stack for error handling * @returns applied value */export function applyTo<T>(values: Values, options: Options<T>, keyStack: Key[]): values is Values<T> { if (options.converter === undefined) { return false; } values.output = options.converter(values.output as T, () => { return ValueSchemaError.raise(CAUSE.CONVERTER, values, keyStack); }); return true;}