У меня есть пакет, где src
со следующей структурой:
┌────────┐ ┌───────┐
│moduleA │─┬── │code.ts│
└────────┘ │ └───────┘
│ ┌──────────┐
├── │code.d.ts │
│ └──────────┘
│ ┌──────────┐
└── │types.d.ts│
└──────────┘
, где code.d.ts
имеет определения экспорта code.ts
, а types.d.ts
содержит namespace
для типов, используемых в code.d.ts
. Это хорошо работает в пакете, но когда я экспортирую его, пространство имен больше не распознается в файле code.d.ts
. Также каждая статья о том, как экспортировать типы, довольно запутанная. Может кто-нибудь указать мне направление, с которого можно начать выяснять это.
code.ts
export default class MyClass {
createSubject(id: string): Promise<MyNamespace.Subject> {
return this.put(`/subjects/${id}`)
}
code.d.ts
export default class MyClass {
createSubject(id: string): Promise<MyNamespace.Subject>
type.d.ts
declare namespace MyNamespace {
export interface Subject {
id: String
}
}
Код автоматически генерируется из файлов openAPI, поэтому type.d.ts
просто представляет типы из файла openAPI, а code.ts
- простой класс с методом для каждой существующей конечной точки.