import * as check from "../../../../../generated/sync/check/maybe/generic/object"; import {AssertError} from "../../../../../sync/error/AssertError"; export function assertMaybeInstanceOf (name : string, mixed : any, clazz : { new(...args : any[]) : T, name : string }) : (null|undefined|(T))|never { const error = check.checkMaybeInstanceOf(mixed, clazz); if (error === undefined) { return mixed; } else { throw new AssertError(name, error, mixed, clazz); } } export function assertMaybeInstanceOfHandler (clazz : { new(...args : any[]) : T, name : string }) : (name : string, mixed : any) => (null|undefined|(T))|never { return (name : string, mixed : any) : (null|undefined|(T))|never => { return assertMaybeInstanceOf(name, mixed, clazz); }; }