Keluaran jsii 1.31, penjana kod C#, Go, Java dan Python daripada TypeScript

Amazon telah menerbitkan pengkompil jsii 1.31, yang merupakan pengubahsuaian pengkompil TypeScript yang membolehkan anda mengekstrak maklumat API daripada modul yang disusun dan menjana perwakilan universal API ini untuk mengakses kelas JavaScript daripada aplikasi dalam pelbagai bahasa pengaturcaraan. Kod projek ditulis dalam TypeScript dan diedarkan di bawah lesen Apache 2.0.

Jsii memungkinkan untuk mencipta perpustakaan kelas dalam TypeScript yang boleh digunakan dalam projek dalam C#, Go, Java dan Python dengan menterjemah ke dalam modul asli untuk bahasa ini yang menyediakan API yang sama. Perkakas digunakan dalam Kit Pembangunan Awan AWS untuk menyediakan perpustakaan bagi bahasa pengaturcaraan yang berbeza, dibina daripada asas kod tunggal.

Keluaran baharu ini terkenal dengan penambahan perintah "jsii-rosetta transliterate", yang membolehkan anda mentransliterasi fail ".jsii" dengan perwakilan kod perantaraan ke dalam satu atau lebih bahasa pengaturcaraan sasaran.

Contohnya, berdasarkan kod JavaScript/TypeScript: export class HelloWorld { public sayHello(name: string) { return `Hello, ${name}`; } fibonacci awam(nombor: nombor) { biarkan tatasusunan = [0, 1]; untuk (biar i = 2; i <num + 1; i++) { array.push(array[i - 2] + array[i - 1]); } kembali tatasusunan[bilangan]; } }

jsii akan menjana kod Python: class HelloWorld: def say_hello(self, name): return 'Hello, ' + name def fibonacci(self, n): table = [0, 1] untuk i dalam julat(2, n + 1) : table.append(jadual[i - 2] + jadual[i - 1]) kembalikan jadual[n]
Sumber: opennet.ru

Tambah komen