Derxistina jsii 1.31, çêkerek koda C#, Go, Java û Python ji TypeScript

Amazon berhevkarê jsii 1.31 weşandiye, ku guheztinek berhevkarê TypeScript-ê ye ku dihêle hûn agahdariya API-ê ji modulên berhevkirî derxînin û nûneriyek gerdûnî ya vê API-yê ji bo gihîştina dersên JavaScript-ê ji serîlêdanên bi zimanên cûrbecûr bernamesaziyê biafirînin. Koda projeyê di TypeScript-ê de hatî nivîsandin û di bin lîsansa Apache 2.0 de tê belav kirin.

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

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

Например, на основе 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]
Source: opennet.ru

Add a comment