Extend-Schnittstelle in .d.ts-Datei definiert
In meinem TypeScript-Projekt verwende ich DefinitelyTyped Definitionen für externe js-Abhängigkeiten.
Manchmal kann es vorkommen, dass diese Definitionen veraltet sind. Es kann auch vorkommen, dass einige Bibliotheken zur Laufzeit neue Methoden hinzufügen können, z. B. express-validator, in dem Sie benutzerdefinierte Prüffunktionen definieren können.
Daher möchte ich diese erweitern.d.ts
Definitionen, die neue Methoden und / oder Eigenschaften hinzufügen.
Also wenn ich meine DefinitelyTyped defininiton in @ haexpress-validator.d.ts
:
declare module ExpressValidator {
export interface Validator {
is(): Validator;
not(): Validator;
isEmail(): Validator;
...
}
}
wie kann ich verlängernValidator
interface innerhalb von zum Beispiel meinemapplication.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??