I use Espruino with TypeScript and was a bit disappointed at the time that the Typescript goal of the last campaign was not reached.
So I tried to generated a file espruino.d.ts by myself but gave up. It's seems not possible to generate good TypeScript definitions from the other type files (e.g. espruino.json). There are more informations required than available:
// This class should be automatically generated.
class I2C {
// ...
readFrom( address: number | { address: number, stop: boolean }, quantity: number ): Uint8Array;
}
But the corresponding jswrap comment is
/*JSON{
"type" : "method",
"class" : "I2C",
"name" : "readFrom",
"generate" : "jswrap_i2c_readFrom",
"params" : [
["address","JsVar","The 7 bit address of the device to request bytes from, or an object of the form `{address:12, stop:false}` to send this data without a STOP signal."],
["quantity","int32","The number of bytes to request"]
],
"return" : ["JsVar","The data that was returned - as a Uint8Array"],
"return_object" : "Uint8Array"
}
Request bytes from the given slave device, and return them as a Uint8Array (packed array of bytes). This is like using Arduino Wire's requestFrom, available and read functions. Sends a STOP
*/
The important information of parameter address is only in the description. :-(
Currently it is required to write the TypeScript type definition by hand but there is always the risk that the type file will become outdated.
@Gordon: Do you have an idea how it can go on in the long term?
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
I use Espruino with TypeScript and was a bit disappointed at the time that the Typescript goal of the last campaign was not reached.
So I tried to generated a file
espruino.d.ts
by myself but gave up. It's seems not possible to generate good TypeScript definitions from the other type files (e.g. espruino.json). There are more informations required than available:But the corresponding jswrap comment is
The important information of parameter address is only in the description. :-(
Currently it is required to write the TypeScript type definition by hand but there is always the risk that the type file will become outdated.
@Gordon: Do you have an idea how it can go on in the long term?