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

Обсуждение новостей, соответствующих тематике форума

Модератор: Модераторы разделов

Аватара пользователя
rssbot
Бот
Сообщения: 6004
ОС: gnu/linux

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

Сообщение rssbot »

Компания 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]






Источник: https://www.opennet.ru/opennews/art.shtml?num=55466
(opennet.ru, мини-новости)
Последний раз редактировалось rssbot 10.07.2021 22:04, всего редактировалось 1 раз.
Причина: Updated upstream
Спасибо сказали: