import * as check from "../../../../sync/check/generic/number"; import {AssertError} from "../../../../sync/error/AssertError"; export function assertOneOf (name : string, mixed : any, arr : T[]) : (T)|never { const error = check.checkOneOf(mixed, arr); if (error === undefined) { return mixed; } else { throw new AssertError(name, error, mixed, arr); } } export function assertOneOfHandler (arr : T[]) : (name : string, mixed : any) => (T)|never { return (name : string, mixed : any) : (T)|never => { return assertOneOf(name, mixed, arr); }; }