UNPKG

@tgrospic/rnode-grpc-js

Version:
72 lines (71 loc) 1.97 kB
/** * Converts `Par` object to JSON returned from the RNode gRPC API. * * Example of Rholang return values. * ```scala * new return(`rho:rchain:deployId`) in { * return!("One argument") | // monadic * return!((true, "A", "B")) | // monadic as tuple * return!(true, "A", "B") | // polyadic * return!(true) | return!("A") // multiple values * } * ``` * And the corresponding converted JSON objects. * * ```js * [ 'One argument' ] // return!("One argument") * [ [ true, 'A', 'B' ] ] // return!((true, "A", "B")) * [ true, 'A', 'B' ] // return!(true, "A", "B") * [ true, 'A' ] // return!(true) | return!("A") * ``` */ export declare const rhoParToJson: (input: Par) => any; /** * Types copied from generated JS code from protobuf * - depends on specific version of specific RNode version but not changed often */ export interface Par { readonly exprsList?: Expr[]; readonly unforgeablesList?: GUnforgeable[]; } export interface Expr { readonly gBool?: boolean; readonly gInt?: number; readonly gString?: string; readonly gUri?: string; readonly gByteArray?: Uint8Array; readonly eListBody?: EList; readonly eTupleBody?: ETuple; readonly eSetBody?: ESet; readonly eMapBody?: EMap; } export interface EList { readonly psList?: Par[]; } export interface ETuple { readonly psList?: Par[]; } export interface ESet { readonly psList?: Par[]; } export interface EMap { readonly kvsList?: KeyValuePair[]; } export interface KeyValuePair { readonly key: Par; readonly value: Par; } export interface GUnforgeable { readonly gPrivateBody?: GPrivate; readonly gDeployIdBody?: GDeployId; readonly gDeployerIdBody?: GDeployerId; } export interface GPrivate { readonly id?: Uint8Array; } export interface GDeployId { readonly sig?: Uint8Array; } export interface GDeployerId { readonly publickey?: Uint8Array; }