# idlize **Repository Path**: peterz_5686/idlize ## Basic Information - **Project Name**: idlize - **Description**: IDL tools - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 102 - **Created**: 2024-03-29 - **Last Updated**: 2024-10-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # IDLizer ## Description This folder contains collection of tools for analyzing and transformation of .d.ts files, with aim of exposing ArkUI interfaces to more languages and runtimes. ## Tools available ### .d.ts linter Tool checking that given folder (ArkUI interface declarations downloaded by Arkoala build by default) only contains reasonable set of TypeScript features allowed for usage in public interfaces. To run ```bash cd idlize npm i npm run compile node . --linter --input-dir ../arkui-common/ohos-sdk-ets/openharmony/10/ets/component ``` Results are in `.//linter.txt` if `--output-dir` parameter specified, otherwise printed to stdout. If there are no unsuppressed errors - exit code is 1, otherwise it is 0. Linter support whitelist files in JSON: ```json { "suppressErrors": ["TYPE_ELEMENT_TYPE", "INDEX_SIGNATURE"], "suppressIdentifiers": { "cursorControl": ["NAMESPACE"] } } ``` can be passed with `--linter-whitelist whitelist.json`. ### IDL generator Tool producing set of WebIDL-compatible interface definitions from .d.ts interface definitions. Still in progress, may produce incorrect IDL. ```bash cd idlize npm i npm run compile node . --dts2idl --input-dir ../arkui-common/ohos-sdk-ets/openharmony/10/ets/component ``` Results are in `./idl/` folder. ### C headers generator Tool producing set of C interface definitions from .d.ts interface definitions. Still in progress, will produce incorrect C now. ```bash cd idlize npm i npm run compile node . --idl2h --input-dir ../arkui-common/ohos-sdk-ets/openharmony/10/ets/component ``` Results are in `./headers/arkoala_api.h`. ### Typescript declaration files generator Tool producing set of typescript declaration files from .idl interface definitions. ```bash cd idlize npm i npm run compile node . --idl2dts --input-dir ./test/from-idl/idl ``` By default, results are in `./dts`.