18c339a94Sopenharmony_ci# napi_generator-1.3(2022-01-30)
28c339a94Sopenharmony_ci
38c339a94Sopenharmony_ci## 版本概述<a name="section249611124916"></a>
48c339a94Sopenharmony_ci
58c339a94Sopenharmony_ci发布napi_generator-1.3。
68c339a94Sopenharmony_ci
78c339a94Sopenharmony_ci## 版本特性<a name="section249611124917"></a>
88c339a94Sopenharmony_ci**表 1**  已支持特性
98c339a94Sopenharmony_ci
108c339a94Sopenharmony_ci[当前已知不支持的推荐方案](https://gitee.com/openharmony/napi_generator/blob/master/docs/SOLUTION.md)
118c339a94Sopenharmony_ci
128c339a94Sopenharmony_ci<a name="table143385853320"></a>
138c339a94Sopenharmony_ci
148c339a94Sopenharmony_ci<table><thead align="center"><tr id="row53375863312"><th class="cellrowborder" valign="top" width="18%" id="mcps1.2.3.1.1"><p id="p20331858193317"><a name="p20331858193317"></a><a name="p20331858193317"></a><ul>类别</ul></p>
158c339a94Sopenharmony_ci</th>
168c339a94Sopenharmony_ci<th class="cellrowborder" valign="top" width="45%" id="mcps1.2.3.1.2"><p id="p1133115820331"><a name="p1133115820331"></a><a name="p1133115820331"></a><ul>支持特性</ul></p>
178c339a94Sopenharmony_ci</th>
188c339a94Sopenharmony_ci<th class="cellrowborder" valign="top" width="25%" id="mcps1.2.3.1.3"><p id="p1133115820331"><a name="p1133115820333"></a><a name="p1133115820333"></a><ul>用例</ul></p>
198c339a94Sopenharmony_ci</th>
208c339a94Sopenharmony_ci<th class="cellrowborder" valign="top" width="12%" id="mcps1.2.3.1.4"><p id="p1133115820332"><a name="p1133115820332"></a><a name="p1133115820332"></a><ul>版本号</ul></p>
218c339a94Sopenharmony_ci</th>
228c339a94Sopenharmony_ci</tr>
238c339a94Sopenharmony_ci</thead>
248c339a94Sopenharmony_ci<tbody><tr id="row333115812331"><td class="cellrowborder" valign="top" width="18%" headers="mcps1.2.3.1.1 "><p id="p2142111345714"><a name="p2142111345714"></a><a name="p2142111345714"></a><ul>变量/返回值</ul></p>
258c339a94Sopenharmony_ci</td>
268c339a94Sopenharmony_ci<td class="cellrowborder" valign="top" width="45%" headers="mcps1.2.3.1.2 "><a name="ul9264132010"></a><a name="ul9264132010"></a><ul id="ul9264132010"><li>支持ts语言中string、number、boolean基础类型的变量/函数入参自动转换为C++类型</li><li>支持ts语言中interface及匿名interface复合类型的变量/函数入参自动转换为C++类型</li><li>支持ts语言中enum复合类型变量/函数入参自动转换为C++类型 [注:enum基本类型支持string、number类型]</li><li>支持ts语言中string、number、boolean、enum、interface、map数组类型的变量/函数入参自动转换为C++类型,且数组书写方式可以为array<>或[]两种</li><li>支持ts语言中string、number、boolean、array、map、interface的map类型的变量/函数入参自动转换为C++类型,且map书写方式可以为{[key:string]:any}或Map<>两种 [注:map的key仅支持string类型,value支持string/number/boolean/map/array类型]</li>  <li>支持ts接口文件中namespace域的any类型变量或函数参数转换为对应C++类型变量 [注:any的范围为string/number/boolean/map(string/number/boolean/array类型map)/array类型(string/number/boolean/map类型array)]</li><li>支持ts接口文件中namespace域的object变量 转换为对应C++变量[注:object_value类型为string/number/boolean/object]</li><li>支持ts接口文件中namespace域的可选变量 转换为对应的C++变量</li><li>支持ts接口文件中namespace域的多类型合并成新类型的变量转换为对应C++类型变量 [注:类型范围为:number/string/boolean]</li></ul>
278c339a94Sopenharmony_ci</td>
288c339a94Sopenharmony_ci<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.3.1.3 ">
298c339a94Sopenharmony_ci<ul id="ult940244418001">
308c339a94Sopenharmony_ci<li><a href="https://gitee.com/openharmony/napi_generator/tree/master/test/storytest/test_string">string用例</a>、<a href="https://gitee.com/openharmony/napi_generator/tree/master/test/storytest/test_number">number用例</a>、<a href="https://gitee.com/openharmony/napi_generator/tree/master/test/storytest/test_bool">boolean用例</a>
318c339a94Sopenharmony_ci</li>
328c339a94Sopenharmony_ci<li><a href="https://gitee.com/openharmony/napi_generator/tree/master/test/storytest/test_interface">interface用例</a>、<a href="https://gitee.com/openharmony/napi_generator/tree/master/test/storytest/test_interface_no_name">匿名interface用例</a>
338c339a94Sopenharmony_ci</li>
348c339a94Sopenharmony_ci<li><a href="https://gitee.com/openharmony/napi_generator/tree/master/test/storytest/test_enum">enum用例</a>、<a href="https://gitee.com/openharmony/napi_generator/tree/master/test/storytest/test_enum_interface">enum_interface用例</a>、<a href="https://gitee.com/openharmony/napi_generator/tree/master/test/storytest/test_enum_js">enum_JS用例</a>
358c339a94Sopenharmony_ci</li>
368c339a94Sopenharmony_ci<li><a href="https://gitee.com/openharmony/napi_generator/tree/master/test/storytest/test_[]">[]数组用例</a>、<a href="https://gitee.com/openharmony/napi_generator/tree/master/test/storytest/test_array">array数组用例</a>
378c339a94Sopenharmony_ci</li>
388c339a94Sopenharmony_ci<li><a href="https://gitee.com/openharmony/napi_generator/tree/master/test/storytest/test_map">map用例</a>、<a href="https://gitee.com/openharmony/napi_generator/tree/master/test/storytest/test_array_map">array map用例</a>
398c339a94Sopenharmony_ci</li>
408c339a94Sopenharmony_ci<li><a href="https://gitee.com/openharmony/napi_generator/tree/master/test/storytest/test_any">any用例</a>、<a href="https://gitee.com/openharmony/napi_generator/tree/master/test/storytest/test_any[]">any[]用例</a>
418c339a94Sopenharmony_ci</li>
428c339a94Sopenharmony_ci<li><a href="https://gitee.com/openharmony/napi_generator/tree/master/test/storytest/test_object">object用例</a>
438c339a94Sopenharmony_ci</li>
448c339a94Sopenharmony_ci<li><a href="https://gitee.com/openharmony/napi_generator/tree/master/test/storytest/test_optional">可选变量用例</a>
458c339a94Sopenharmony_ci</li>
468c339a94Sopenharmony_ci<li><a href="https://gitee.com/openharmony/napi_generator/tree/master/test/storytest/test_union">union用例</a>
478c339a94Sopenharmony_ci</li>
488c339a94Sopenharmony_ci</ul>
498c339a94Sopenharmony_ci</td>
508c339a94Sopenharmony_ci<td class="cellrowborder" valign="top" width="12%" headers="mcps1.2.3.1.4 "><p id="p2142111345715"><a name="p2142111345715"></a><a name="p2142111345715"></a><ul>V1.2</ul></p>
518c339a94Sopenharmony_ci</td>
528c339a94Sopenharmony_ci</tr>
538c339a94Sopenharmony_ci<tr id="row334175803317"><td class="cellrowborder" valign="top" width="18%" headers="mcps1.2.3.1.1 "><p id="p382391145710"><a name="p382391145710"></a><a name="p382391145710"></a><ul>函数类型</ul></p>
548c339a94Sopenharmony_ci</td>
558c339a94Sopenharmony_ci<td class="cellrowborder" valign="top" width="45%" headers="mcps1.2.3.1.2 "><a name="ul334485413318"></a><a name="ul334485413318"></a><ul id="ul334485413318"><li>支持ts语言中返回值、callback类型的同步函数自动转换为C++类型 [注:同步callback类型特指模板中定义的export interface Callback<T> {
568c339a94Sopenharmony_ci    (data: T): void;
578c339a94Sopenharmony_ci}]</li><li>支持ts语言中callback、promise类型的异步函数自动转换为C++类型 [注:异步callback类型特指模板中定义的export interface AsyncCallback<T> {
588c339a94Sopenharmony_ci    (err: BusinessError, data: T): void;
598c339a94Sopenharmony_ci}]</li><li>支持ts接口文件中namespace域的static函数自动转换为对应C++的函数</li><li>支持ts接口文件中namespace域的以$开头的函数自动转换为对应C++的自动函数</li><li>支持ts接口文件中namespace域的on注册、off去注册函数 [注:on/off事件类型支持string类型泛值或string类型固定值,回调函数支持AsyncCallback、Callback模板]</li><li>支持ts接口文件中namespace域的箭头函数转换为对应C++的函数</li></ul>
608c339a94Sopenharmony_ci</td>
618c339a94Sopenharmony_ci<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.3.1.3 ">
628c339a94Sopenharmony_ci<ul id="ult940244418002">
638c339a94Sopenharmony_ci<li>
648c339a94Sopenharmony_ci<a href="https://gitee.com/openharmony/napi_generator/tree/master/test/storytest/test_callback">callback用例</a>
658c339a94Sopenharmony_ci</li>
668c339a94Sopenharmony_ci<li>
678c339a94Sopenharmony_ci<a href="https://gitee.com/openharmony/napi_generator/tree/master/test/storytest/test_promise">promise用例</a>
688c339a94Sopenharmony_ci</li>
698c339a94Sopenharmony_ci<li>
708c339a94Sopenharmony_ci<a href="https://gitee.com/openharmony/napi_generator/tree/master/test/storytest/test_static">static用例</a>
718c339a94Sopenharmony_ci</li>
728c339a94Sopenharmony_ci<li>
738c339a94Sopenharmony_ci<a href="https://gitee.com/openharmony/napi_generator/tree/master/test/storytest/test_$">$用例</a>
748c339a94Sopenharmony_ci</li>
758c339a94Sopenharmony_ci<li>
768c339a94Sopenharmony_ci<a href="https://gitee.com/openharmony/napi_generator/tree/master/test/storytest/test_on">on/off用例</a>
778c339a94Sopenharmony_ci</li>
788c339a94Sopenharmony_ci<li>
798c339a94Sopenharmony_ci<a href="https://gitee.com/openharmony/napi_generator/tree/master/test/storytest/test_class">arrow func用例</a>
808c339a94Sopenharmony_ci</li>
818c339a94Sopenharmony_ci</ul>
828c339a94Sopenharmony_ci</td>
838c339a94Sopenharmony_ci<td class="cellrowborder" valign="top" width="12%" headers="mcps1.2.3.1.4 "><p id="p2142111345716"><a name="p2142111345716"></a><a name="p2142111345716"></a><ul>V1.2</ul></p>
848c339a94Sopenharmony_ci</td>
858c339a94Sopenharmony_ci</tr>
868c339a94Sopenharmony_ci<tr id="row834358143319"><td class="cellrowborder" valign="top" width="18%" headers="mcps1.2.3.1.1 "><p id="p1818191195713"><a name="p1818191195713"></a><a name="p1818191195713"></a><ul>interface</ul></p>
878c339a94Sopenharmony_ci</td>
888c339a94Sopenharmony_ci<td class="cellrowborder" valign="top" width="45%" headers="mcps1.2.3.1.2 "><a name="ul4367144411512"></a><a name="ul4367144411512"></a><ul id="ul4367144411512"><li>支持ts语言中interface域的变量、函数自动转换为C++类型</li><li>支持ts接口文件中interface继承class方式的声明 对应的C++实现</li><li>支持ts接口文件中interface继承interface方式的声明 对应的C++实现</li></ul>
898c339a94Sopenharmony_ci</td>
908c339a94Sopenharmony_ci<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.3.1.3 ">
918c339a94Sopenharmony_ci<ul id="ult940244418003">
928c339a94Sopenharmony_ci<li>
938c339a94Sopenharmony_ci<a href="https://gitee.com/openharmony/napi_generator/tree/master/test/storytest/test_interface">interface用例</a>
948c339a94Sopenharmony_ci</li>
958c339a94Sopenharmony_ci<li>
968c339a94Sopenharmony_ci<a href="https://gitee.com/openharmony/napi_generator/tree/master/test/storytest/test_extends">extends用例</a>
978c339a94Sopenharmony_ci</li>
988c339a94Sopenharmony_ci</ul>
998c339a94Sopenharmony_ci</td>
1008c339a94Sopenharmony_ci<td class="cellrowborder" valign="top" width="12%" headers="mcps1.2.3.1.4 "><p id="p2142111345717"><a name="p2142111345717"></a><a name="p2142111345717"></a><ul>V1.2</ul></p>
1018c339a94Sopenharmony_ci</td>
1028c339a94Sopenharmony_ci</tr>
1038c339a94Sopenharmony_ci<tr id="row119944512385"><td class="cellrowborder" valign="top" width="18%" headers="mcps1.2.3.1.1 "><p id="p919862210573"><a name="p919862210573"></a><a name="p919862210573"></a><ul>namespace</ul></p>
1048c339a94Sopenharmony_ci</td>
1058c339a94Sopenharmony_ci<td class="cellrowborder" valign="top" width="45%" headers="mcps1.2.3.1.2 "><a name="ul12374158862"></a><a name="ul12374158862"></a><ul id="ul12374158862"><li>支持ts语言中namespace域的变量、函数、interface自动转换为C++类型</li><li>支持ts接口文件中namespace域class转换为C++的class</li><li>支持ts接口文件中namespace域class继承转换为C++中继承的class</li> </ul>
1068c339a94Sopenharmony_ci</td>
1078c339a94Sopenharmony_ci<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.3.1.3 ">
1088c339a94Sopenharmony_ci<ul id="ult940244418004">
1098c339a94Sopenharmony_ci<li>
1108c339a94Sopenharmony_ci<a href="https://gitee.com/openharmony/napi_generator/tree/master/test/storytest/test_namespace">namespace用例</a>
1118c339a94Sopenharmony_ci</li>
1128c339a94Sopenharmony_ci</ul>
1138c339a94Sopenharmony_ci</td>
1148c339a94Sopenharmony_ci<td class="cellrowborder" valign="top" width="12%" headers="mcps1.2.3.1.4 "><p id="p2142111345718"><a name="p2142111345718"></a><a name="p2142111345718"></a><ul>V1.2</ul></p>
1158c339a94Sopenharmony_ci</td>
1168c339a94Sopenharmony_ci</tr>
1178c339a94Sopenharmony_ci<tr id="row18711154213388"><td class="cellrowborder" valign="top" width="18%" headers="mcps1.2.3.1.1 " rowspan="2"><p id="p111921822185713"><a name="p111921822185713"></a><a name="p111921822185713"></a><ul>文件</ul></p>
1188c339a94Sopenharmony_ci</td>
1198c339a94Sopenharmony_ci<td class="cellrowborder" valign="top" width="45%" headers="mcps1.2.3.1.2 "><a name="ul94024441879"></a><a name="ul94024441879"></a><ul id="ul94024441879"><li>支持ts文件中namespace数据类型转换为C++类型</li><li>支持ts接口文件名格式如下ohos.A.B.C.d.ts的文件转换</li><li>支持命令行方式转换时参数为多个文件路径,相互之间用英文逗号分开</li><li>支持命令行方式转换时指定文件夹路径方式转换</li><li>支持ts文件中import自定义文件</li></ul>
1208c339a94Sopenharmony_ci</td>
1218c339a94Sopenharmony_ci<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.3.1.3 ">
1228c339a94Sopenharmony_ci<ul id="ult940244418005">
1238c339a94Sopenharmony_ci<li>
1248c339a94Sopenharmony_ci<a href="https://gitee.com/openharmony/napi_generator/tree/master/test/storytest/test_import">import用例</a>
1258c339a94Sopenharmony_ci</li>
1268c339a94Sopenharmony_ci</ul>
1278c339a94Sopenharmony_ci</td>
1288c339a94Sopenharmony_ci<td class="cellrowborder" valign="top" width="12%" headers="mcps1.2.3.1.4 "><p id="p2142111345718"><a name="p2142111345718"></a><a name="p2142111345718"></a><ul>V1.2</ul></p>
1298c339a94Sopenharmony_ci</td>
1308c339a94Sopenharmony_ci</tr>
1318c339a94Sopenharmony_ci<tr id="row18711154213389">
1328c339a94Sopenharmony_ci<td class="cellrowborder" valign="top" width="45%" headers="mcps1.2.3.1.2 "><a name="ul94024441880"></a><a name="ul94024441880"></a><ul id="ul94024441880"><li>DevEco Studio 上的IntelliJ插件支持如下文件名格式文件ohos.A.B.C.d.ts</li><li>VSCode插件支持如下文件名格式文件ohos.A.B.C.d.ts</li><li>命令行方式支持同时转换多个文件,相互之间用英文逗号分开</li><li>命令行方式支持文件夹转换</li></ul>
1338c339a94Sopenharmony_ci</td>
1348c339a94Sopenharmony_ci<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.3.1.3 ">
1358c339a94Sopenharmony_ci插件界面适配暂无用例
1368c339a94Sopenharmony_ci</td>
1378c339a94Sopenharmony_ci<td class="cellrowborder" valign="top" width="12%" headers="mcps1.2.3.1.4 "><p id="p2142111345719"><a name="p2142111345719"></a><a name="p2142111345719"></a><ul>V1.3</ul></p>
1388c339a94Sopenharmony_ci</td>
1398c339a94Sopenharmony_ci</tr>
1408c339a94Sopenharmony_ci<tr id="row119944512386"><td class="cellrowborder" valign="top" width="18%" headers="mcps1.2.3.1.1 "><p id="p919862210574"><a name="p919862210574"></a><a name="p919862210574"></a><ul>可靠性</ul></p>
1418c339a94Sopenharmony_ci</td>
1428c339a94Sopenharmony_ci<td class="cellrowborder" valign="top" width="45%" headers="mcps1.2.3.1.2 "><a name="ul12374158863"></a><a name="ul12374158863"></a><ul id="ul12374158863"><li>整改生成代码规范</li> </ul>
1438c339a94Sopenharmony_ci</td>
1448c339a94Sopenharmony_ci<td class="cellrowborder" valign="top" width="25%" headers="mcps1.2.3.1.3 ">
1458c339a94Sopenharmony_ci代码规范暂无用例
1468c339a94Sopenharmony_ci</td>
1478c339a94Sopenharmony_ci<td class="cellrowborder" valign="top" width="12%" headers="mcps1.2.3.1.4 "><p id="p2142111345720"><a name="p2142111345720"></a><a name="p2142111345720"></a><ul>V1.3</ul></p>
1488c339a94Sopenharmony_ci</td>
1498c339a94Sopenharmony_ci</tr>
1508c339a94Sopenharmony_ci</tbody>
1518c339a94Sopenharmony_ci</table>
1528c339a94Sopenharmony_ci
1538c339a94Sopenharmony_ci**表 2** 
1548c339a94Sopenharmony_ci
1558c339a94Sopenharmony_ci[待开发特性](https://gitee.com/openharmony/napi_generator/blob/master/docs/ROADMAP_ZH.md)
1568c339a94Sopenharmony_ci
157