frontend/.pnpm-store/v3/files/3a/2d0426f5b3514b2ad3c3367f130d26515fe7532b4dd800b43fd0e4c4c0b556caf6c516b7e8e650380eef12cb78b53aba39a108cba3015e22691e6ff2a601f0

25 lines
714 B
Plaintext

export type EnsureFunction = (...args: any[]) => any;
export interface EnsureBaseOptions {
name?: string;
errorMessage?: string;
errorCode?: number;
Error?: ErrorConstructor;
}
export interface EnsureIsOptional {
isOptional: boolean;
}
export interface EnsureDefault<T> {
default: T;
}
type EnsureOptions = EnsureBaseOptions & { isOptional?: boolean } & { default?: any };
type ValidationDatum = [argumentName: string, inputValue: any, ensureFunction: EnsureFunction, options?: object];
type ValidationDatumList = ValidationDatum[];
declare function ensure<T>(...args: [...ValidationDatumList, EnsureOptions]): T;
declare function ensure<T>(...args: [...ValidationDatumList]): T;
export default ensure;