acacode / acacode/swagger-typescript-api

Inherited/discriminated types are missing type information

オープン
#565 コメント 0 件 リアクション 0 件 担当者 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 を短くまとめたダイジェスト。