acacode / acacode/swagger-typescript-api
Inherited/discriminated types are missing type information
- 主要語言
- 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 還沒有評估資料。