代码之家  ›  专栏  ›  技术社区  ›  David Liu

如何流式输入一个接受一个类并输出另一个类的函数?

  •  1
  • David Liu  · 技术社区  · 6 年前

    我有一个函数,它用一些助手包装了一个给定的类,但我不知道如何使用Flow对它进行注释。

    class SomeClass<T> {
      a:T
    }
    
    // Erroneous flow annotations here
    const Wrapper = (SuperClass: Class<SomeClass>) : Class<SomeClass> => {
      return class NewClass<Props> extends SuperClass<Props>{
        helper(){}
      }
    }
    
    const Wrapped = Wrapper(SomeClass)
    
    class ExtendedClass extends Wrapped<number>{
    }
    
    let actual = new ExtendedClass()
    actual.a = 1234
    

    具有讽刺意味的是,如果我从包装函数中取出流注释,它实际上运行得非常好,但是我想自己弄清楚如何做到这一点,这样我就可以显式地将参数限制在 SomeClass .

    0 回复  |  直到 6 年前