typescript 重新导出类型,使其不再位于命名空间下

y3bcpkx1  于 2023-03-19  发布在  TypeScript
关注(0)|答案(1)|浏览(144)

我有一个自动生成的 typescript 文件types.d.ts,其结构如下:

declare namespace Definitions {
  export interface Foo { ... }
  export interface Bar { ... }
}

由于这个文件已经生成,我不想编辑它。不幸的是,生成器工具创建了这些命名空间,它不在我的控制之下。
我的最终目标是能够使用接口FooBar,而不必使用Definitions名称空间前缀。

import { Definitions } from 'my-package-with-the-defs'

const foo: Definitions.Foo = { ... }

但我想说的是

import { Foo } from 'my-package-with-the-defs'

const foo: Foo = { ... }

我知道我可以从my-package-with-the-defs再输出东西(如用

import { Definitions } from './types'
export type Foo = Definitions.Foo

在一些主(index.ts)文件中,我可以随意使用Foo。但是Definitions命名空间包含几个接口,我希望将它们全部重新导出到“global”命名空间中。
是否有一种方法可以做到这一点,既不单独添加每个重新导出,也不自动生成此重新导出文件?

z4iuyo4d

z4iuyo4d1#

是否有一种方法可以做到这一点,既不单独添加每个重新导出,也不自动生成此重新导出文件?
目前没有。备选方案包括:
1.提交请购单以更改上游导出的类型

  1. Using the compiler API以标识所需的命名空间类型并以编程方式重新导出它们

相关问题