将函数重载添加到现有node_module中的现有类型

时间:2020-07-23 11:45:48

标签: typescript typescript-typings

我想从FormBuilder.group(..)import { FormGroup } from "@angular/forms";函数添加重载声明:

这似乎可行:

declare module '@angular/forms' {
  interface FormBuilder {
    group<T extends object>(
      controlsConfig: { [key in keyof T]: any; },
      options?: AbstractControlOptions | { [key: string]: any; } | null
    ): FormGroup;
  }
}

但是,当我将其添加到src\typings.d.ts时,其他全局类型定义将丢失。该文件的全部内容是:

import { AbstractControlOptions, FormGroup } from "@angular/forms";

type Public<T> = { [K in keyof T]: T[K] };
type Enum<T extends string> = { [K in T]: K};


declare module '@angular/forms' {
  interface FormBuilder {
    group<T extends object>(
      controlsConfig: { [key in keyof T]: any; },
      options?: AbstractControlOptions | { [key: string]: any; } | null
    ): FormGroup;
  }
}

我收到类似找不到名称'Enum'或找不到名称'Public'的错误。

我猜想通过使用import语句,打字稿会将文件识别为ES6模块。如何解决?

0 个答案:

没有答案