Включить комментарий JSDoc от другого объекта (такой же комментарий "recycle") - PullRequest
0 голосов
/ 04 апреля 2019

Когда мы создаем некоторый класс Typescript, мы также обычно создаем интерфейс «options» и затем используем его в конструкторе в качестве параметра, копируя и устанавливая поля в классе, используя параметр интерфейса.Я считаю, что это довольно распространенная модель.Мы хотим прокомментировать (JSDoc) все возможные опции.

На данный момент мы используем один и тот же комментарий к полям Interface, а также к полям Class, поскольку они фактически представляют одну и ту же вещь.Но это не СУХОЙ.Однако мы НЕ хотим, чтобы Class расширял Interface, потому что фактический тип поля в Class может отличаться от типа 100 * *.

export interface Interface
{
  /** some comment */
  foo?: number[] | string[];
  /** some comment */
  bar?: string;
}
export class Class
{
  /** some comment - same as in Interface */
  foo?: ko.ObservableArray<number|string>;
  /** some comment - same as in Interface */
  bar?: string;
  constructor(options: Interface)
  {
     this.foo = ko.observableArray(options.foo);
     this.bar = options.bar;
     ...
  }
}

Как мы аннотируемполя класса, чтобы они перерабатывали комментарий из полей интерфейса?Или есть какой-то другой способ один раз прокомментировать поле и повторно использовать его?

Спасибо.

...