Amazon je objavil prevajalnik jsii 1.31, ki je modifikacija prevajalnika TypeScript, ki omogoča ekstrahiranje informacij API-ja iz prevedenih modulov in ustvarjanje univerzalne predstavitve tega API-ja za dostop do razredov JavaScript iz aplikacij v različnih programskih jezikih. Projektna koda je napisana v TypeScriptu in se distribuira pod licenco Apache 2.0.
Jsii omogoča ustvarjanje knjižnic razredov v TypeScriptu, ki se lahko uporabljajo v projektih v C#, Go, Javi in Pythonu s prevajanjem v izvorne module za te jezike, ki zagotavljajo isti API. Orodja se uporabljajo v AWS Cloud Development Kit za zagotavljanje knjižnic za različne programske jezike, zgrajenih iz ene same kodne baze.
Nova izdaja je znana po dodajanju ukaza »jsii-rosetta transliterate«, ki omogoča prečrkovanje datotek ».jsii« z vmesno predstavitvijo kode v enega ali več ciljnih programskih jezikov.
Na primer, na podlagi kode JavaScript/TypeScript: export class HelloWorld { public sayHello(name: string) { return `Hello, ${name}`; } public fibonacci(num: number) { let array = [0, 1]; for (naj bo i = 2; i < num + 1; i++) { array.push(array[i - 2] + array[i - 1]); } vrni polje[število]; }}
jsii bo ustvaril kodo 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]
Vir: opennet.ru