Как опубликовать sh несколько файлов .d.ts - PullRequest
1 голос
/ 31 января 2020

У меня есть пакет, где 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 - простой класс с методом для каждой существующей конечной точки.

...