I am trying to use the element-resize-detector library ( https://github.com/wnr/element-resize-detector ) in an Angular2 application.
From my limited knowledge of the JS module, the library seems to be in CommonJS format. After several attempts, I created the following definition file (* .d.ts):
declare module ResizeDetector { function ResizeDetector(options: any): ResizeDetector.Erd; interface Erd { listenTo(element: any, resizeCallback: any): void; uninstall(element: any): void; } } export = ResizeDetector;
Then I use the following import statement in my TypeScript code:
import * as ResizeDetector from 'element-resize-detector';
When starting my application and using console.log('ResizeDetector', ResizeDetector) following output is written:
ResizeDetector function (options) { options = options || {};
This shows me that the library loaded successfully and returns the function as expected.
My question is: how can I start using a library in TypeScript? When I try something like:
private static resizeDetector = ResizeDetector({ strategy: 'scroll' });
I get the following forwarding error:
error TS2349: Cannot invoke an expression whose type lacks a call signature.
source share