@web3api/schema-bind
v0.0.1-prealpha.85
Published
Web3API Schema Binding
Downloads
40
Readme
Web3API Binding
Generates Web3API schema bindings for supported guest languages.
Details
Web3API uses MessagePack as a common data interchange format between languages. This allows Web3API WASM modules, authored in different languages, to be run within a single host language (JS, Rust, Python, Go, C#, C++).
MessagePack encoded data is sent between module boundaries. Decoding of the message will happen in the destination environment, using generated binding code, created by this package.
Supported Schema Types
| GraphQL Schema Type | MessagePack Type | Description | |-|-|-| | UInt | uint 32 | 32-bit unsigned integer. | | UInt8 | uint 8 | 8-bit unsigned integer. | | UInt16 | uint 16 | 16-bit unsigned integer. | | UInt32 | uint 32 | 32-bit unsigned integer. | | Int | int 32 | 32-bit signed integer. | | Int8 | int 8 | 8-bit signed integer. | | Int16 | int 16 | 16-bit signed integer. | | Int32 | int 32 | 32-bit signed integer. | | String | fixstr or str 8/16/32 | UTF-8 string. | | Boolean | bool | true or false stored as 1 byte. | | Bytes | bin 8/16/32 | array of 8-bit unsigned integer. | | BigInt | fixstr or str 8/16/32 | UTF-8 string. | | BigNumber | fixstr or str 8/16/32 | UTF-8 string. | | JSON | fixstr or str 8/16/32 | UTF-8 string. | | [Type] | fixarray or array 16/32 | Array of elements. | | Map | Msgpack extention type | Map of key-value pairs. | | type CustomObject { prop: Type} | fixmap or map 16/32 | Structured object. |
Usage
TODO