import * as check from "../../../../../generated/sync/check/maybe/dictionary-of/array-like"; import {AssertError} from "../../../../../sync/error/AssertError"; export function assertMaybeDictionaryOfArrayLike (name : string, mixed : any) : (null|undefined|({ [key : string] : { [index : number] : any, length : number, indexOf : (item : any) => number } }))|never { const error = check.checkMaybeDictionaryOfArrayLike(mixed); if (error === undefined) { return mixed; } else { throw new AssertError(name, error, mixed); } } export function assertMaybeDictionaryOfMinLength (name : string, mixed : any, min : number) : (null|undefined|({ [key : string] : { [index : number] : any, length : number, indexOf : (item : any) => number } }))|never { const error = check.checkMaybeDictionaryOfMinLength(mixed, min); if (error === undefined) { return mixed; } else { throw new AssertError(name, error, mixed, min); } } export function assertMaybeDictionaryOfMinLengthHandler (min : number) : (name : string, mixed : any) => (null|undefined|({ [key : string] : { [index : number] : any, length : number, indexOf : (item : any) => number } }))|never { return (name : string, mixed : any) : (null|undefined|({ [key : string] : { [index : number] : any, length : number, indexOf : (item : any) => number } }))|never => { return assertMaybeDictionaryOfMinLength(name, mixed, min); }; } export function assertMaybeDictionaryOfMaxLength (name : string, mixed : any, max : number) : (null|undefined|({ [key : string] : { [index : number] : any, length : number, indexOf : (item : any) => number } }))|never { const error = check.checkMaybeDictionaryOfMaxLength(mixed, max); if (error === undefined) { return mixed; } else { throw new AssertError(name, error, mixed, max); } } export function assertMaybeDictionaryOfMaxLengthHandler (max : number) : (name : string, mixed : any) => (null|undefined|({ [key : string] : { [index : number] : any, length : number, indexOf : (item : any) => number } }))|never { return (name : string, mixed : any) : (null|undefined|({ [key : string] : { [index : number] : any, length : number, indexOf : (item : any) => number } }))|never => { return assertMaybeDictionaryOfMaxLength(name, mixed, max); }; } export function assertMaybeDictionaryOfLength (name : string, mixed : any, args : { min? : number, max? : number }) : (null|undefined|({ [key : string] : { [index : number] : any, length : number, indexOf : (item : any) => number } }))|never { const error = check.checkMaybeDictionaryOfLength(mixed, args); if (error === undefined) { return mixed; } else { throw new AssertError(name, error, mixed, args); } } export function assertMaybeDictionaryOfLengthHandler (args : { min? : number, max? : number }) : (name : string, mixed : any) => (null|undefined|({ [key : string] : { [index : number] : any, length : number, indexOf : (item : any) => number } }))|never { return (name : string, mixed : any) : (null|undefined|({ [key : string] : { [index : number] : any, length : number, indexOf : (item : any) => number } }))|never => { return assertMaybeDictionaryOfLength(name, mixed, args); }; } export function assertMaybeDictionaryOfNonEmpty (name : string, mixed : any) : (null|undefined|({ [key : string] : { [index : number] : any, length : number, indexOf : (item : any) => number } }))|never { const error = check.checkMaybeDictionaryOfNonEmpty(mixed); if (error === undefined) { return mixed; } else { throw new AssertError(name, error, mixed); } } export function assertMaybeDictionaryOfContains (name : string, mixed : any, x : any) : (null|undefined|({ [key : string] : { [index : number] : any, length : number, indexOf : (item : any) => number } }))|never { const error = check.checkMaybeDictionaryOfContains(mixed, x); if (error === undefined) { return mixed; } else { throw new AssertError(name, error, mixed, x); } } export function assertMaybeDictionaryOfContainsHandler (x : any) : (name : string, mixed : any) => (null|undefined|({ [key : string] : { [index : number] : any, length : number, indexOf : (item : any) => number } }))|never { return (name : string, mixed : any) : (null|undefined|({ [key : string] : { [index : number] : any, length : number, indexOf : (item : any) => number } }))|never => { return assertMaybeDictionaryOfContains(name, mixed, x); }; } export function assertMaybeDictionaryOfNoDuplicate (name : string, mixed : any) : (null|undefined|({ [key : string] : { [index : number] : any, length : number, indexOf : (item : any) => number } }))|never { const error = check.checkMaybeDictionaryOfNoDuplicate(mixed); if (error === undefined) { return mixed; } else { throw new AssertError(name, error, mixed); } }