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

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

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

Пример исходного кода на TypeScript:


   export class Greeter {
     public greet(name: string) {
       return `Hello, ${name}!`;
     }
   }

Представление, скомпилированное в C#

   var greeter = new Greeter();
   greeter.Greet("World"); // => Hello, World!

Представление, скомпилированное в Go

   greeter := NewGreeter()
   greeter.Greet("World") // => Hello, World!

Представление, скомпилированное в Java

   final Greeter greeter = new Greeter();
   greeter.greet("World"); // => Hello, World!

Представление, скомпилированное в JavaScript

   const greeter = new Greeter();
   greeter.greet("World"); // => Hello, World!

Представление, скомпилированное в Python

   greeter = Greeter()
   greeter.greet("World") # => Hello, World!





    

Источник: http://www.opennet.ru/opennews/art.shtml?num=59884

© OpenNet