Ich versuche, Dependency Injection zu einem Commonjs Modul hinzufügen, um es zu mock HTTP Anrufen einfach beim Testen.
Old - Code, der funktioniert (Flow weiß Typ http
):
const myModule = require('./my-module.js');
// my-module.js
const http = require('http');
module.exports = {
doSomething: () => http.get(...);
};
Neuer Code, der nicht funktioniert:
const myModule = require('./my-module.js')({http: require('http')});
// my-module.js
module.exports = ({ http }) => ({
doSomething: () => http.get(...);
});
Ich erhalte die Fehlermeldung „Fehlende Typanmerkung für Destrukturierung.“ Und ich weiß nicht, welche Art Anmerkung zu verwenden.
Ich habe versucht, die http-Eigenschaft mit verschiedenen Sachen mit Anmerkungen versehen und zu sehen, was passiert, aber ohne Erfolg, zum Beispiel:
type ModuleOptions = $ReadOnly<{
http: typeof require('http'),
}>;
module.exports = ({ http }: ModuleOptions) => ({
Irgendwelche Ideen?