I have just downloaded the TypeScript documentation. I have a some JavaScript classes and I would like to create and use these class in a TypeScript test application
How can I call a JavaScript function of an included JavaScript from TypeScript. I do not want to create a "d.ts" file. Just to create my classes, call its methods, access its properties.
How do I do that?
I am trying to use kendoUI with TypeScript.
For instance to show a window I have to do:
logonDlg.show();
Example
var logonDlg = $("logonDialog");
if (!logonDlg.data("kendoWindow")) {
logonDlg.kendoWindow(logOnParams);
logonDlg.show();
}
It is working OK. The JS is generated as I want but I receive an error since The property 'kendoWindow' does not exist on value of type 'JQuery'.
How can I disable this kind of error. I could not make, what Ryan said, to work.
You can call JavaScript functions from external files with no worries. But you have to declare them so TypeScript knows about them. If you dont, your code will work, but you will get an error while compiling.
First, we read the file content of TS and use the transpileModule method provided by the typescript module to compile the TS code into JS code, get the JS code string of outputText , and finally use the native API Module. prototype. _compile provided by Node. js to compile and execute the JS code string.
The TypeScript compiler supports a mix of JavaScript and TypeScript files if we use the compiler option --allowJs : TypeScript files are compiled. JavaScript files are simply copied over to the output directory (after a few simple type checks).
If you want to stop the errors without doing much else extra work, you can 'declare' the objects from your JS code:
declare var w; // implicit type here is 'any' // (later, anywhere in your file...) var x = new w(); // you can do whatever you want with w now without getting errors w.x = 4; // etc.
There is a better solution. Just cast the jQuery logonDlg to any like this:
(<any>logonDlg).kendoWindow(logOnParams);
The code will be a bit different but will work the same.
Both work OK.
Regards
You just do it. TypeScript won't stop you. You will see warnings in the compiler output but tsc
will generate your JS file just fine.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With