Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
58 views
in Technique[技术] by (71.8m points)

Kotlin JavaScript to TypeScript Definition File

I have found the ts2kt library which will create Kotlin header files from arbitrary .d.ts files. But, I want to go in the opposite direction.

I want to build a Kotlin library that will compile to JavaScript, but I want to use it from TypeScript. Is there a way to make Kotlin generate a .d.ts file(s) from its exposed interfaces? Am I approaching this the right way?

question from:https://stackoverflow.com/questions/42537677/kotlin-javascript-to-typescript-definition-file

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

In Kotlin 1.4-M1 support for exporting TypeScript definitions was added:

Preview: TypeScript definitions Another feature in the new Kotlin/JS IR compiler we’re excited to show off is the generation of TypeScript definitions from Kotlin code. These definitions can be used by JavaScript tools and IDEs when working on hybrid apps to provide autocompletion, support static analyzers, and make it easier to include Kotlin code in JS and TS projects. For top-level declarations marked with @JsExport (see above) in a project configured to use produceExecutable(), a .d.ts file with the TypeScript definitions will be generated. For the snippet above, they look like this:

    // [...]

    namespace blogpost {

        class KotlinGreeter {


            constructor(who: string)

            greet(): string

        }

        function farewell(who: string): string

    }

    // [...]
   In Kotlin 1.4-M1, these declarations can be found in build/js/packages/<package_name>/kotlin alongside the corresponding,

un-webpacked JavaScript code. Please note that since this is only a preview, they are not added to the distributions folder by default for now. You can expect this behavior to change in the future.

Source:

https://blog.jetbrains.com/kotlin/2020/03/kotlin-1-4-m1-released/


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...