Tars IDL 定义文件转换工具
Go to file
2020-02-06 15:23:20 +08:00
build version: 20191108 2019-11-08 14:21:41 +08:00
include version: 20190108 2019-01-09 11:45:21 +08:00
src version: 20191108 2019-11-08 14:21:41 +08:00
third_partly version: 20180713 2018-07-27 12:33:14 +08:00
CMakeLists.txt version: 20190529 2019-05-29 14:35:10 +08:00
LICENSE Initial commit 2018-07-27 12:31:02 +08:00
README.md Update README.md 2020-02-04 13:04:17 +08:00

Tars2Node

tars2node can convert the Tars IDL definition file to the version used by the JavaScript language, combined with the [@ tars / stream] (https://www.npmjs.com/package/@tars/stream) module to perform codec operations.

If you have Tars RPC requirements, you can call it in conjunction with the [@ tars / rpc] (https://www.npmjs.com/package/@tars/rpc) module.

Usage

Just use the tars2node precompiler in the build directory (Linux platform).

`bash tars2node [OPTIONS] tarsfile `

options

Options Functions
--stream-path = [DIRECTORY] Specify the codec module name, the default is @ tars / stream.
--rpc-path = [DIRECTORY] Specify the RPC module name. The default is @ tars / rpc.
--allow-reserved-namespace Whether to allow tars as a namespace (because this namespace is mainly used for tars file definitions for framework services).
--dir = [DIRECTORY] Output directory for generated files.
--relative Limits all .tars files to look in the current directory.
--tarsBase = [DIRECTORY] Specify the search directory for .tars files.
--r Convert nested .tars files.
--r-minimal Reduce dependent files and remove unnecessary members.
--r-reserved Members to keep when thinning dependent files.
--client Generate the calling class code for the client.
--server Generate server-side framework code.
--ts Turning on this option will only generate TypeScript (.ts) code.
--dts Append a TypeScript description file (.d.ts) when generating.
--long-type = [number string
--string-binary-encoding When you encounter character encoding problems or need to access the original data, turn on this option to use \ <buffer > to store \ <string >.
--enum-reverse-mappings Output code \ <enum > supports reverse mapping of enum values to enum names.
--optimize = [0 \ s]

Examples

`bash tars2node Protocol.tars `

The above command will convert the constants, enumerations, and structures defined in the Protocol.tars file to generate ProtocolTars.js for encoding and decoding. For usage, please refer to the [@ tars / stream] (https://www.npmjs.com/package/@tars/stream) module documentation.

`bash tars2node Protocol.tars --client `

The above command will convert the data types such as constant, enumeration value, structure defined in the file, and convert the interface description section into a Tars RPC client interface file, and finally generate ProtocolProxy.js for Used by the caller. For usage, please refer to [@ tars / rpc] (https://www.npmjs.com/package/@tars/rpc) module documentation.

`bash tars2node Protocol.tars --server `

The above command will convert data types such as constant, enumeration value, struct defined in the file, and convert the interface description section into a Tars RPC server interface file, and finally generate Protocol.js and ProtocolImp.js is used by the service provider. Developers do not need to change Protocol.js, they only need to continue to improve the specific functions in the ProtocolImp.js implementation file to provide services as Tars RPC server. For usage, please refer to [@ tars / rpc] (https://www.npmjs.com/package/@tars/rpc) module documentation.

Compile from source

  1. Install build-essential for the corresponding platform
  2. Install [CMake] (https://cmake.org/)
  3. Execute cmake ../ && make in the source build directory