import * as check from "../../../../generated/sync/check/maybe/dictionary"; import {AssertError} from "../../../../sync/error/AssertError"; export function assertMaybeHasKeys (name : string, mixed : any, keys : T[]) : (null|undefined|({ [key : string] : any }))|never { const error = check.checkMaybeHasKeys(mixed, keys); if (error === undefined) { return mixed; } else { throw new AssertError(name, error, mixed, keys); } } export function assertMaybeHasKeysHandler (keys : T[]) : (name : string, mixed : any) => (null|undefined|({ [key : string] : any }))|never { return (name : string, mixed : any) : (null|undefined|({ [key : string] : any }))|never => { return assertMaybeHasKeys(name, mixed, keys); }; } export function assertMaybeNotHasKeys (name : string, mixed : any, keys : T[]) : (null|undefined|({ [key : string] : any }))|never { const error = check.checkMaybeNotHasKeys(mixed, keys); if (error === undefined) { return mixed; } else { throw new AssertError(name, error, mixed, keys); } } export function assertMaybeNotHasKeysHandler (keys : T[]) : (name : string, mixed : any) => (null|undefined|({ [key : string] : any }))|never { return (name : string, mixed : any) : (null|undefined|({ [key : string] : any }))|never => { return assertMaybeNotHasKeys(name, mixed, keys); }; }