Phát hành jsii 1.31, trình tạo mã C#, Go, Java và Python từ TypeScript

Amazon đã xuất bản trình biên dịch jsii 1.31, đây là một bản sửa đổi của trình biên dịch TypeScript cho phép bạn trích xuất thông tin API từ các mô-đun đã biên dịch và tạo ra một bản trình bày chung của API này để truy cập các lớp JavaScript từ các ứng dụng bằng nhiều ngôn ngữ lập trình khác nhau. Mã dự án được viết bằng TypeScript và được phân phối theo giấy phép Apache 2.0.

Jsii cho phép tạo các thư viện lớp trong TypeScript có thể được sử dụng trong các dự án trong C#, Go, Java và Python bằng cách dịch sang các mô-đun gốc cho các ngôn ngữ cung cấp cùng một API này. Công cụ được sử dụng trong Bộ công cụ phát triển đám mây AWS để cung cấp thư viện cho các ngôn ngữ lập trình khác nhau, được xây dựng từ một cơ sở mã duy nhất.

Bản phát hành mới đáng chú ý là có thêm lệnh "jsii-rosetta transliterate", cho phép bạn chuyển ngữ các tệp ".jsii" với biểu diễn mã trung gian sang một hoặc nhiều ngôn ngữ lập trình mục tiêu.

Ví dụ: dựa trên mã JavaScript/TypeScript: xuất lớp 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]); } trả về mảng[num]; } }

jsii sẽ tạo mã 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]
Nguồn: opennet.ru

Thêm một lời nhận xét