jsii 1.31-ի թողարկում, C#, Go, Java և Python կոդերի գեներատոր TypeScript-ից

Amazon-ը հրապարակել է jsii 1.31 կոմպիլյատորը, որը TypeScript կոմպիլյատորի փոփոխությունն է, որը թույլ է տալիս հավաքագրված մոդուլներից հանել API-ի տեղեկատվությունը և ստեղծել այս API-ի համընդհանուր ներկայացում տարբեր ծրագրավորման լեզուների հավելվածներից JavaScript դասեր մուտք գործելու համար: Ծրագրի կոդը գրված է TypeScript-ով և տարածվում է Apache 2.0 լիցենզիայի ներքո:

Jsii-ն հնարավորություն է տալիս TypeScript-ում ստեղծել դասերի գրադարաններ, որոնք կարող են օգտագործվել C#, Go, Java և Python նախագծերում՝ թարգմանելով այս լեզուների համար նախատեսված բնիկ մոդուլներ, որոնք ապահովում են նույն API-ն: Tooling-ը օգտագործվում է AWS Cloud Development Kit-ում՝ տարբեր ծրագրավորման լեզուների համար գրադարաններ տրամադրելու համար, որոնք կառուցված են մեկ կոդային բազայից:

Նոր թողարկումն աչքի է ընկնում «jsii-rosetta transliterate» հրամանի ավելացմամբ, որը թույլ է տալիս տառադարձել «.jsii» ֆայլերը միջանկյալ կոդերի ներկայացմամբ մեկ կամ մի քանի թիրախային ծրագրավորման լեզուներով:

Օրինակ, JavaScript/TypeScript կոդի հիման վրա՝ export class HelloWorld { public sayHello(name: string) { return `Hello, ${name}`; } public fibonacci(num: number) { let array = [0, 1]; for (թող i = 2; i < num + 1; i++) {array.push(array[i - 2] + array[i - 1]); } վերադարձի զանգված[num]; } }

jsii-ն կստեղծի Python կոդը՝ դասը HelloWorld. def say_hello(self, name). վերադարձնել 'Hello,' + name def fibonacci(self, n): աղյուսակ = [0, 1] i-ի համար տիրույթում (2, n + 1) : table.append(table[i - 2] + table[i - 1]) վերադարձի աղյուսակ[n]
Source: opennet.ru

Добавить комментарий