import * as check from "../../../../generated/sync/check/array-of/array"; import {AssertError} from "../../../../sync/error/AssertError"; export function assertArrayOfArray (name : string, mixed : any) : ((any[])[])|never { const error = check.checkArrayOfArray(mixed); if (error === undefined) { return mixed; } else { throw new AssertError(name, error, mixed); } } export function assertArrayOfMinLength (name : string, mixed : any, min : number) : ((any[])[])|never { const error = check.checkArrayOfMinLength(mixed, min); if (error === undefined) { return mixed; } else { throw new AssertError(name, error, mixed, min); } } export function assertArrayOfMinLengthHandler (min : number) : (name : string, mixed : any) => ((any[])[])|never { return (name : string, mixed : any) : ((any[])[])|never => { return assertArrayOfMinLength(name, mixed, min); }; } export function assertArrayOfMaxLength (name : string, mixed : any, max : number) : ((any[])[])|never { const error = check.checkArrayOfMaxLength(mixed, max); if (error === undefined) { return mixed; } else { throw new AssertError(name, error, mixed, max); } } export function assertArrayOfMaxLengthHandler (max : number) : (name : string, mixed : any) => ((any[])[])|never { return (name : string, mixed : any) : ((any[])[])|never => { return assertArrayOfMaxLength(name, mixed, max); }; } export function assertArrayOfLength (name : string, mixed : any, args : { min? : number, max? : number }) : ((any[])[])|never { const error = check.checkArrayOfLength(mixed, args); if (error === undefined) { return mixed; } else { throw new AssertError(name, error, mixed, args); } } export function assertArrayOfLengthHandler (args : { min? : number, max? : number }) : (name : string, mixed : any) => ((any[])[])|never { return (name : string, mixed : any) : ((any[])[])|never => { return assertArrayOfLength(name, mixed, args); }; } export function assertArrayOfNonEmpty (name : string, mixed : any) : ((any[])[])|never { const error = check.checkArrayOfNonEmpty(mixed); if (error === undefined) { return mixed; } else { throw new AssertError(name, error, mixed); } } export function assertArrayOfContains (name : string, mixed : any, x : any) : ((any[])[])|never { const error = check.checkArrayOfContains(mixed, x); if (error === undefined) { return mixed; } else { throw new AssertError(name, error, mixed, x); } } export function assertArrayOfContainsHandler (x : any) : (name : string, mixed : any) => ((any[])[])|never { return (name : string, mixed : any) : ((any[])[])|never => { return assertArrayOfContains(name, mixed, x); }; } export function assertArrayOfNoDuplicate (name : string, mixed : any) : ((any[])[])|never { const error = check.checkArrayOfNoDuplicate(mixed); if (error === undefined) { return mixed; } else { throw new AssertError(name, error, mixed); } }