vnopts
Version:
validate and normalize options
22 lines (21 loc) • 2.46 kB
TypeScript
import { DefaultResult, DeprecatedResult, ExpectedResult, ForwardResult, InvalidHandler, NormalizedDefaultResult, NormalizedDeprecatedResult, NormalizedDeprecatedResultWithTrue, NormalizedExpectedResult, NormalizedForwardResult, NormalizedInvalidHandler, NormalizedRedirectResult, NormalizedTransferResult, NormalizedValidateResult, Options, RedirectResult, TransferResult, ValidateResult } from './types.js';
export type NotEmptyArray<T> = [T, ...T[]];
export type RecordFromUnion<T extends Options, K extends keyof T> = {
[X in T[K]]: Extract<T, Record<K, X>>;
};
export declare function recordFromArray<T extends Record<string, any>, K extends keyof T & string>(array: T[], mainKey: K): RecordFromUnion<T, K>;
export declare function mapFromArray<T extends Record<string, any>, K extends keyof T & string>(array: T[], mainKey: K): Map<T[K], T>;
export declare function createAutoChecklist(): (id: any) => boolean;
export declare function partition<T>(array: T[], predicate: (x: T) => boolean): [T[], T[]];
export declare function isInt(value: number): boolean;
export declare function comparePrimitive(a: undefined | null | boolean | number | string, b: undefined | null | boolean | number | string): number;
export declare function normalizeInvalidHandler(invalidHandler: InvalidHandler): NormalizedInvalidHandler;
export declare function normalizeDefaultResult<$Value>(result: DefaultResult<$Value>): NormalizedDefaultResult<$Value>;
export declare function normalizeExpectedResult(result: ExpectedResult): NormalizedExpectedResult;
export declare function normalizeValidateResult(result: ValidateResult, value: unknown): NormalizedValidateResult;
export declare function normalizeDeprecatedResult<$Value>(result: DeprecatedResult<$Value>, value: $Value): NormalizedDeprecatedResult<$Value>;
export declare function normalizeDeprecatedResult<$Value>(result: DeprecatedResult<$Value>, value: $Value, doNotNormalizeTrue: true): NormalizedDeprecatedResultWithTrue<$Value>;
export declare function normalizeTransferResult<$Value>(result: TransferResult<$Value>, value: $Value): NormalizedTransferResult<$Value>;
export declare function normalizeForwardResult<$Value>(result: ForwardResult<$Value>, value: $Value): NormalizedForwardResult<$Value>;
export declare function normalizeRedirectResult<$Value>(result: RedirectResult<$Value>, value: $Value): NormalizedRedirectResult<$Value>;
export declare function assert(isValid: boolean, message: string): void;