import * as check from "../../../../generated/sync/check/maybe/date"; import {AssertError} from "../../../../sync/error/AssertError"; export function assertMaybePotentiallyUnsafeDate (name : string, mixed : any) : (null|undefined|(Date))|never { const error = check.checkMaybePotentiallyUnsafeDate(mixed); if (error === undefined) { return mixed; } else { throw new AssertError(name, error, mixed); } } export function assertMaybeValidDate (name : string, mixed : any) : (null|undefined|(Date))|never { const error = check.checkMaybeValidDate(mixed); if (error === undefined) { return mixed; } else { throw new AssertError(name, error, mixed); } } export function assertMaybeBefore (name : string, mixed : any, x : Date) : (null|undefined|(Date))|never { const error = check.checkMaybeBefore(mixed, x); if (error === undefined) { return mixed; } else { throw new AssertError(name, error, mixed, x); } } export function assertMaybeBeforeHandler (x : Date) : (name : string, mixed : any) => (null|undefined|(Date))|never { return (name : string, mixed : any) : (null|undefined|(Date))|never => { return assertMaybeBefore(name, mixed, x); }; } export function assertMaybeAfter (name : string, mixed : any, x : Date) : (null|undefined|(Date))|never { const error = check.checkMaybeAfter(mixed, x); if (error === undefined) { return mixed; } else { throw new AssertError(name, error, mixed, x); } } export function assertMaybeAfterHandler (x : Date) : (name : string, mixed : any) => (null|undefined|(Date))|never { return (name : string, mixed : any) : (null|undefined|(Date))|never => { return assertMaybeAfter(name, mixed, x); }; } export function assertMaybeBeforeOrAt (name : string, mixed : any, x : Date) : (null|undefined|(Date))|never { const error = check.checkMaybeBeforeOrAt(mixed, x); if (error === undefined) { return mixed; } else { throw new AssertError(name, error, mixed, x); } } export function assertMaybeBeforeOrAtHandler (x : Date) : (name : string, mixed : any) => (null|undefined|(Date))|never { return (name : string, mixed : any) : (null|undefined|(Date))|never => { return assertMaybeBeforeOrAt(name, mixed, x); }; } export function assertMaybeAfterOrAt (name : string, mixed : any, x : Date) : (null|undefined|(Date))|never { const error = check.checkMaybeAfterOrAt(mixed, x); if (error === undefined) { return mixed; } else { throw new AssertError(name, error, mixed, x); } } export function assertMaybeAfterOrAtHandler (x : Date) : (name : string, mixed : any) => (null|undefined|(Date))|never { return (name : string, mixed : any) : (null|undefined|(Date))|never => { return assertMaybeAfterOrAt(name, mixed, x); }; } export function assertMaybeRange (name : string, mixed : any, args : { min? : Date, max? : Date }) : (null|undefined|(Date))|never { const error = check.checkMaybeRange(mixed, args); if (error === undefined) { return mixed; } else { throw new AssertError(name, error, mixed, args); } } export function assertMaybeRangeHandler (args : { min? : Date, max? : Date }) : (name : string, mixed : any) => (null|undefined|(Date))|never { return (name : string, mixed : any) : (null|undefined|(Date))|never => { return assertMaybeRange(name, mixed, args); }; }