Импорт исправлений для созданных файлов - PullRequest
0 голосов
/ 14 апреля 2020

Я генерирую машинописный клиент (с openapi-генератором) из описания OpenApi, но у генератора есть известная проблема с полиморфизмом.

Конечная точка Http:

public Shape get();
public IList<Circle> getCircles();

Модели:

public Shape { ... }
public Circle : Shape { ... }
public Rectangle : Shape { ... }

Сгенерированный клиент Typescript

import { Circle | Rectangle } from '../model/models';
import { Circle } from '../model/models';

public get() : Observable<Circle | Rectangle>;
public getCircles() : Observavle<Circle[]>;

Как видите, проблема заключается в импорте. Один из моих коллег предложил исправить это с помощью пользовательского задания «глоток» с помощью Regex magi c. Поскольку я совершенно незнаком с Regex, я не знаю, как собирать каждый импорт и заменять его одной допустимой строкой импорта, разделенной запятыми.

import { Circle, Rectangle } from '../model/models';

То, что я уже достиг, это сопоставление строк импорта с этим:

/import \{ (?<model>[A-Za-z0-9|, ]+) \} from \'\.\.\/model\/models\'\;/g

Найден этот npm пакет для замены регулярных выражений gulp-replace

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...