import * as check from "../../../../../generated/sync/check/dictionary-of/generic/mixed"; import {AssertError} from "../../../../../sync/error/AssertError"; export function assertDictionaryOfOneOf (name : string, mixed : any, arr : T[]) : ({ [key : string] : T })|never { const error = check.checkDictionaryOfOneOf(mixed, arr); if (error === undefined) { return mixed; } else { throw new AssertError(name, error, mixed, arr); } } export function assertDictionaryOfOneOfHandler (arr : T[]) : (name : string, mixed : any) => ({ [key : string] : T })|never { return (name : string, mixed : any) : ({ [key : string] : T })|never => { return assertDictionaryOfOneOf(name, mixed, arr); }; } export function assertDictionaryOfNotOneOf (name : string, mixed : any, arr : NotT[]) : ({ [key : string] : T })|never { const error = check.checkDictionaryOfNotOneOf(mixed, arr); if (error === undefined) { return mixed; } else { throw new AssertError(name, error, mixed, arr); } } export function assertDictionaryOfNotOneOfHandler (arr : NotT[]) : (name : string, mixed : any) => ({ [key : string] : T })|never { return (name : string, mixed : any) : ({ [key : string] : T })|never => { return assertDictionaryOfNotOneOf(name, mixed, arr); }; }