UNPKG

vnopts

Version:
25 lines (24 loc) 1.08 kB
import { Schema, SchemaHandlers, SchemaParameters } from '../schema.js'; import { DeprecatedResult, ExpectedResult, ForwardResult, RedirectResult, TransferTo, Utils, ValidateResult } from '../types.js'; interface ChoiceInfo { value: ChoiceValue; deprecated?: boolean; redirect?: TransferTo; forward?: TransferTo; /** do not show this value in `expected` */ hidden?: boolean; } type ChoiceValue = undefined | null | boolean | number | string; interface ChoiceSchemaParameters extends SchemaParameters<ChoiceValue>, SchemaHandlers<ChoiceValue> { choices: Array<ChoiceValue | ChoiceInfo>; } export declare class ChoiceSchema extends Schema<ChoiceValue, ChoiceSchemaParameters> { private _choices; constructor(parameters: ChoiceSchemaParameters); expected({ descriptor }: Utils): ExpectedResult; validate(value: unknown): ValidateResult; deprecated(value: ChoiceValue): DeprecatedResult<ChoiceValue>; forward(value: ChoiceValue): ForwardResult<ChoiceValue>; redirect(value: ChoiceValue): RedirectResult<ChoiceValue>; } export {};