import * as check from "../../../../generated/sync/check/dictionary-of/array-like"; import {AssertError} from "../../../../sync/error/AssertError"; export function assertDictionaryOfArrayLike (name : string, mixed : any) : ({ [key : string] : { [index : number] : any, length : number, indexOf : (item : any) => number } })|never { const error = check.checkDictionaryOfArrayLike(mixed); if (error === undefined) { return mixed; } else { throw new AssertError(name, error, mixed); } } export function assertDictionaryOfMinLength (name : string, mixed : any, min : number) : ({ [key : string] : { [index : number] : any, length : number, indexOf : (item : any) => number } })|never { const error = check.checkDictionaryOfMinLength(mixed, min); if (error === undefined) { return mixed; } else { throw new AssertError(name, error, mixed, min); } } export function assertDictionaryOfMinLengthHandler (min : number) : (name : string, mixed : any) => ({ [key : string] : { [index : number] : any, length : number, indexOf : (item : any) => number } })|never { return (name : string, mixed : any) : ({ [key : string] : { [index : number] : any, length : number, indexOf : (item : any) => number } })|never => { return assertDictionaryOfMinLength(name, mixed, min); }; } export function assertDictionaryOfMaxLength (name : string, mixed : any, max : number) : ({ [key : string] : { [index : number] : any, length : number, indexOf : (item : any) => number } })|never { const error = check.checkDictionaryOfMaxLength(mixed, max); if (error === undefined) { return mixed; } else { throw new AssertError(name, error, mixed, max); } } export function assertDictionaryOfMaxLengthHandler (max : number) : (name : string, mixed : any) => ({ [key : string] : { [index : number] : any, length : number, indexOf : (item : any) => number } })|never { return (name : string, mixed : any) : ({ [key : string] : { [index : number] : any, length : number, indexOf : (item : any) => number } })|never => { return assertDictionaryOfMaxLength(name, mixed, max); }; } export function assertDictionaryOfLength (name : string, mixed : any, args : { min? : number, max? : number }) : ({ [key : string] : { [index : number] : any, length : number, indexOf : (item : any) => number } })|never { const error = check.checkDictionaryOfLength(mixed, args); if (error === undefined) { return mixed; } else { throw new AssertError(name, error, mixed, args); } } export function assertDictionaryOfLengthHandler (args : { min? : number, max? : number }) : (name : string, mixed : any) => ({ [key : string] : { [index : number] : any, length : number, indexOf : (item : any) => number } })|never { return (name : string, mixed : any) : ({ [key : string] : { [index : number] : any, length : number, indexOf : (item : any) => number } })|never => { return assertDictionaryOfLength(name, mixed, args); }; } export function assertDictionaryOfNonEmpty (name : string, mixed : any) : ({ [key : string] : { [index : number] : any, length : number, indexOf : (item : any) => number } })|never { const error = check.checkDictionaryOfNonEmpty(mixed); if (error === undefined) { return mixed; } else { throw new AssertError(name, error, mixed); } } export function assertDictionaryOfContains (name : string, mixed : any, x : any) : ({ [key : string] : { [index : number] : any, length : number, indexOf : (item : any) => number } })|never { const error = check.checkDictionaryOfContains(mixed, x); if (error === undefined) { return mixed; } else { throw new AssertError(name, error, mixed, x); } } export function assertDictionaryOfContainsHandler (x : any) : (name : string, mixed : any) => ({ [key : string] : { [index : number] : any, length : number, indexOf : (item : any) => number } })|never { return (name : string, mixed : any) : ({ [key : string] : { [index : number] : any, length : number, indexOf : (item : any) => number } })|never => { return assertDictionaryOfContains(name, mixed, x); }; } export function assertDictionaryOfNoDuplicate (name : string, mixed : any) : ({ [key : string] : { [index : number] : any, length : number, indexOf : (item : any) => number } })|never { const error = check.checkDictionaryOfNoDuplicate(mixed); if (error === undefined) { return mixed; } else { throw new AssertError(name, error, mixed); } }