是的TypeScript枚举泛型函数之一

是的TypeScript枚举泛型函数之一,typescript,enums,yup,Typescript,Enums,Yup,对于使用TypeScript枚举为oneOf生成yup架构的函数,我无法找出正确的类型 follow按预期工作,返回类型为yup.MixSchema 您可以这样解决此问题(更改参数类型以匹配对象的参数。值): const oneOfEnum=(枚举对象:{[s:string]:T}| ArrayLike)=> yup.mixed().oneOf(Object.values(enumObject)); const schema1 = yup.mixed<SomeEnum>().on

对于使用TypeScript枚举为
oneOf
生成
yup
架构的函数,我无法找出正确的类型


follow按预期工作,返回类型为
yup.MixSchema

您可以这样解决此问题(更改参数类型以匹配
对象的参数。值
):

const oneOfEnum=(枚举对象:{[s:string]:T}| ArrayLike)=>
yup.mixed().oneOf(Object.values(enumObject));
const schema1 = yup.mixed<SomeEnum>().oneOf(Object.values(SomeEnum)); // yup.MixSchema<SomeEnum>
const oneOfEnum = <T>(enumObject: T) =>
  yup.mixed<T>().oneOf(Object.values(enumObject));

const schema2 = oneOfEnum(SomeEnum); // yup.MixSchema<typeof SomeEnum>