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

10 июля 2021 года

Компания 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", позволяющий провести транслитерацию файлов ".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]

Источники править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Выпуск jsii 1.31, генератора кода C#, Go, Java и Python из TypeScript», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.