Ich versuche, die Sinon Typdefinition für unser Projekt zu erweitern, ist hier, wie die Sinon.d.ts
ein Typoskript Modul augmentierenden
declare module 'sinon' {
module Sinon {
interface SinonStub extends SinonSpy {
...
}
interface SinonStatic { ... }
...
}
var Sinon: Sinon.SinonStatic;
export = Sinon;
}
Ich habe ein definitions.d.ts
, die ich in meinem Projekt für alle kundenspezifischen Definitionen verwenden. Hier ist, wie ich versuchte, es zu tun:
declare module 'sinon' {
module Sinon {
interface SinonPromise {
resolves(value?: any): void;
rejects(value?: any): void;
}
interface SinonStub {
returnsPromise(): SinonPromise;
}
}
}
Aber der Compiler nicht die neuen returnsPromise
in der SinonStub
Schnittstelle erkennt, noch übernehmen sie den neuen SinonPromise
Typen erkennen.
Was ist falsch an dieser Definition?
ich das gleiche Problem haben, wenn die Definitionen zu schreiben für "sinon-as-promised" und "sinon-mongoose", wenn ich typings verwendet habe, um die npm-Definitionen zu erhalten. – stevehipwell
N.B. Von Modulen (internen Modulen) wird in TypeScript abgeraten, sie empfehlen ES6-JavaScript-Module (externe Module oder nur Module) anstelle des alten namespace-basierten. Siehe https://www.typescriptlang.org/docs/handbook/modules.html und https://www.typescriptlang.org/docs/handbook/namespaces-and-modules.html –
@JuanMendes das hilft nicht, ich habe nicht tu die typings für sinon, ich benutze sie und muss mit einigen benutzerdefinierten Funktionen erweitern. – vintem