vnopts
Version:
validate and normalize options
36 lines (35 loc) • 1.3 kB
TypeScript
import { Schema } from './schema.js';
import { DeprecatedHandler, Descriptor, IdentifyMissing, IdentifyRequired, InvalidHandler, Logger, Options, Postprocess, Preprocess, UnknownHandler } from './types.js';
export interface NormalizerOptions {
logger?: false | Logger;
loggerPrintWidth?: number;
descriptor?: Descriptor;
unknown?: UnknownHandler;
invalid?: InvalidHandler;
deprecated?: DeprecatedHandler;
missing?: IdentifyMissing;
required?: IdentifyRequired;
preprocess?: Preprocess;
postprocess?: Postprocess;
}
export declare const normalize: (options: Options, schemas: Array<Schema<any>>, opts?: NormalizerOptions) => Options;
export declare class Normalizer {
private _utils;
private _unknownHandler;
private _invalidHandler;
private _deprecatedHandler;
private _hasDeprecationWarned;
private _identifyMissing;
private _identifyRequired;
private _preprocess;
private _postprocess;
constructor(schemas: Array<Schema<any>>, opts?: NormalizerOptions);
cleanHistory(): void;
normalize(options: Options): Options;
private _applyNormalization;
private _applyRequiredCheck;
private _partitionOptionKeys;
private _applyValidation;
private _applyUnknownHandler;
private _applyPostprocess;
}