acacode / acacode/swagger-typescript-api

Inherited/discriminated types are missing type information

未關閉
#565 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
主要語言
TypeScript
星號
4.1k
分支
436
PR 合併指標
30 天內沒有已合併 PR

描述

Command: `swagger-typescript-api --extract-enums --no-client --path https://raw.githubusercontent.com/europace/baufismart-kundenangaben-api/master/kundenangaben-openapi.yaml --name kundenangaben-api.model.ts`

This generates the following output:

```
/** Mögliche Typen: ArbeitserlaubnisVorhanden, KeineArbeitserlaubnis */
interface BaseArbeitserlaubnis {
"@type": string;
}

type BaseArbeitserlaubnisTypeMapping = {
"@type": Key;
} & Type;

/** Mögliche Typen: ArbeitserlaubnisVorhanden, KeineArbeitserlaubnis */
export type Arbeitserlaubnis = BaseArbeitserlaubnis &
(
| BaseArbeitserlaubnisTypeMapping<"ARBEITSERLAUBNIS_VORHANDEN", ArbeitserlaubnisVorhanden>
| BaseArbeitserlaubnisTypeMapping<"KEINE_ARBEITSERLAUBNIS", KeineArbeitserlaubnis>
);

export type ArbeitserlaubnisVorhanden = BaseArbeitserlaubnis & {
/**
* Die Befristung der Arbeitserlaubnis muss in der Zukunft liegen.
* @format date
*/
befristetBis?: string;
};

export type KeineArbeitserlaubnis = BaseArbeitserlaubnis;
```

The type `ArbeitserlaubnisVorhanden` is missing the information, that `@type` has to be `ARBEITSERLAUBNIS_VORHANDEN`, even though it is available in the discrimated type `Arbeitserlaubnis`.

```
const x: ArbeitserlaubnisVorhanden = { '@type': 'KEINE_ARBEITSERLAUBNIS' }; // should error
```

貢獻指南

這個儲存庫沒有索引到貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。