发布 jsii 1.31,一个来自 TypeScript 的 C#、Go、Java 和 Python 代码生成器

Amazon 发布了 jsii 1.31 编译器,它是 TypeScript 编译器的修改版,允许您从编译的模块中提取 API 信息并生成此 API 的通用表示,以便从各种编程语言的应用程序访问 JavaScript 类。 该项目代码是用 TypeScript 编写的,并根据 Apache 2.0 许可证分发。

Jsii 可以通过将 TypeScript 转换为提供相同 API 的语言的本机模块,在 C#、Go、Java 和 Python 项目中使用这些类库。 AWS 云开发套件中使用工具为不同编程语言提供从单一代码库构建的库。

新版本的值得注意之处在于添加了“jsii-rosetta transliterate”命令,该命令允许您将具有中间代码表示形式的“.jsii”文件音译为一种或多种目标编程语言。

例如,基于 JavaScript/TypeScript 代码: export class HelloWorld { public sayHello(name: string) { return `Hello, ${name}`; } public fibonacci(num: number) { 让 array = [0, 1]; for (let i = 2; i < num + 1; i++) { array.push(array[i - 2] + array[i - 1]); } 返回数组[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]) 返回 table[n]
来源: opennet.ru

添加评论