I use a node module that's not found by typings and doesn't exist in definelytyped.
the basic use of the module is:
import * as SomeClass from 'some-module'; var someObject = new SomeClass("some string"); someObject.someMethod();
As you can see, this module exports a class as its default. I haven't figured out how to write the declaration file for it.
This is the best I managed to do:
declare module 'some-module' { export default class SomeClass { constructor (someArg: string); someMethod(): void; } }
BTW it does work JavaScriptly. It's only the TypeScript bothers me.
Any ideas how to solve that?
2 Answers
Answers 1
For the declaration, you need to do this:
declare module 'some-module' { class SomeClass { constructor (someArg: string); someMethod(): void; } export = SomeClass; }
But I'll add more to this answer if you are tranpiling to ES5 (the right way).
Answers 2
If you just want to avoid TypeScript error and do not worry about ItelliSense just declare your class library like that in the begining of you file for example:
declare var SomeClass: any;
0 comments:
Post a Comment