Випуск jsii 1.31, генератора коду C#, Go, Java та Python з TypeScript

Компанія Amazon опублікувала компілятор jsii 1.31, що є модифікацією компілятора TypeScript, що дозволяє витягти з компілюваних модулів інформацію про API і згенерувати універсальне представлення даного API для звернення до JavaScript-класів з програм на різних мовах програмування. Код проекту написано на TypeScript і розповсюджується під ліцензією Apache 2.0.

Jsii дає можливість створювати на мові TypeScript бібліотеки класів, які можуть використовуватися в проектах мовами C#, Go, Java та Python, завдяки трансляції в рідні для цих мов модулі, що надають той самий API. Інструментарій використовується в AWS Cloud Development Kit для постачання бібліотек для різних мов програмування, що формуються з однієї кодової бази.

Новий випуск примітний додаванням команди jsii-rosetta transliterate, що дозволяє провести транслітерацію файлів .jsiic проміжним поданням коду в одну або кілька цільових мов програмування.

Наприклад, на основі JavaScript/TypeScript-коду: export class HelloWorld { public sayHello(name: string) { return `Hello, ${name}`; } public fibonacci(num: number) { let array = [0, 1]; for (let i = 2; i < num + 1; i + +) { array.push (array [i - 2] + array [i - 1]); } return array [num]; } }

jsii згенерує Python-код: class HelloWorld: def say_hello(self, name): return 'Hello, ' + name def fibonacci(self, n): table = [0, 1] for i in range(2, n + 1) : table.append(table[i - 2] + table [i - 1]) return table [n]
Джерело: opennet.ru

Додати коментар або відгук