Расширить интерфейс, определенный в файле .d.ts

В моем проекте TypeScript я используюDefinitelyTyped определения для внешних JS-зависимостей.

Иногда может случиться, что эти определения устарели. Может также случиться, что некоторые библиотеки могут добавлять новые методы во время выполнения, напримерэкспресс-валидатор в котором вы можете определить пользовательские функции валидатора.

Поэтому я хотел бы расширить эти.d.ts определения, добавляющие новые методы и / или свойства.

Так что, если у меня есть определенное определение вexpress-validator.d.ts:

declare module ExpressValidator {
  export interface Validator {
    is(): Validator;
    not(): Validator;
    isEmail(): Validator;
    ...
  }
}

как я могу продлитьValidator интерфейс внутри, например, моегоapplication.ts ?

///<reference path='../typings/tsd.d.ts' />

import expressValidator = require('express-validator');
export var app = express();

app.use(expressValidator({
    customValidators: {
        isArray: function(value) {
            return Array.isArray(value);
        }
 }
}));

// How to extend Validator interface adding isArray() method??

Ответы на вопрос(1)

Ваш ответ на вопрос