# napi_generator-1.4 ## 版本概述 发布napi_generator-1.4。 ## 版本特性 **表 1** 已支持特性 [当前已知不支持的推荐方案](https://gitee.com/openharmony/napi_generator/blob/master/docs/SOLUTION.md)

    类别

    支持特性

    用例

    版本号

    变量/返回值

  • 支持ts语言中type复合类型的变量/函数入参自动转换为C++类型 [注:type类型源范围基本类型(string/number/boolean)/map/array/enum]
  • 支持interface/type成员变量为基本类型(string/number/boolean)时,成员变量为可选的,如: interface Test { v1: string; v2?: boolean; }

    V1.4

    函数类型

  • 支持ts接口文件中namespace域中的registerXXX注册、unRegisterXXX去注册函数 [注:1.使用register标识当前回调只注册,业务决定触发时机,区别当前函数中触发回调场景; 2.当前注册回调支持单个参数,不支持多个参数,回调形式:1) registerCallbackfunc(cb : (wid: number) => string); 2) fun17(tt: Function): string; Function类型按 ()=>void 处理; 3.所有回调方式默认为同步]
  • 支持ts接口文件中namespace域中的addXXX注册、removeXXX去注册、onXXX定义回调的函数 [注:1.使用add标识当前函数为注册函数,且参数为接口类 2.当前注册回调支持单个参数,不支持多个参数;支持类型写法:addSayHelloListener(listener: NodeISayHelloListener); 3.注册的object回调函数写法不支持箭头函数写法, 只支持onSayHelloStart(info1: SayInfo, info2: string);这样的写法)
  • 支持on注册类型为固定值,注册回调为箭头函数:如function on(type: 'onEvents', callback: (wid: number) => void): void;
  • 支持文件中定义多个on注册函数
  • 支持callback方法为箭头函数:如function fun1(cb: (wid: boolean) => string): string;
  • 支持callback方法为Function关键字:如function fun2(tt: Function): void;
  • 支持Promise类型是匿名interface的函数。如:sayHi(from: string): Promise<{result: number, errMsg: string, response: string}>;

    V1.4

    interface

  • 支持class/interface成员方法不声明返回值,默认void
  • 支持后定义的class或interface被前面类引用

    V1.4

    namespace

  • 支持enum定义在interface后面
  • 支持namespace域中的interface/type/class/enum兼容大括号换行

    V1.4

    文件

  • 支持命令行方式ts接口文件转换时业务代码可配置
实现一键生成NAPI实现代码,目前仅支持命令行入口,DevEco Studio入口、VScode入口暂不支持

    V1.4

**表 2** [待开发特性](https://gitee.com/openharmony/napi_generator/blob/master/docs/ROADMAP_ZH.md)