Skip to content

Commit

Permalink
Add arguments model
Browse files Browse the repository at this point in the history
  • Loading branch information
sidenaio committed Dec 20, 2022
1 parent 172d054 commit 784d315
Showing 1 changed file with 84 additions and 0 deletions.
84 changes: 84 additions & 0 deletions sdk-core/assembly/proto/callargs.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
import { Writer, Reader } from "as-proto";
export class Argument {
static encode(message: Argument, writer: Writer): void {
if (message.value.length > 0) {
writer.uint32(10);
writer.bytes(message.value);
}

if (message.is_nil) {
writer.uint32(16);
writer.bool(message.is_nil);
}
}

static decode(reader: Reader, length: i32): Argument {
const end: usize = length < 0 ? reader.end : reader.ptr + length;
const message = new Argument();

while (reader.ptr < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.value = reader.bytes();
break;

case 2:
message.is_nil = reader.bool();
break;

default:
reader.skipType(tag & 7);
break;
}
}

return message;
}

value: Uint8Array;
is_nil: bool;

constructor(value: Uint8Array = new Uint8Array(0), is_nil: bool = false) {
this.value = value;
this.is_nil = is_nil;
}
}

export class ProtoArgs {
static encode(message: ProtoArgs, writer: Writer): void {
const args = message.args;
for (let i = 0; i < args.length; ++i) {
writer.uint32(10);
writer.fork();
Argument.encode(args[i], writer);
writer.ldelim();
}
}

static decode(reader: Reader, length: i32): ProtoArgs {
const end: usize = length < 0 ? reader.end : reader.ptr + length;
const message = new ProtoArgs();

while (reader.ptr < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.args.push(Argument.decode(reader, reader.uint32()));
break;

default:
reader.skipType(tag & 7);
break;
}
}

return message;
}

args: Array<Argument>;

constructor(args: Array<Argument> = []) {
this.args = args;
}
}

0 comments on commit 784d315

Please sign in to comment.