@cheqd/ts-proto
Version:
A TypeScript package for all transpiled cheqd ProtoBuf definitions.
82 lines • 2.67 kB
JavaScript
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
// versions:
// protoc-gen-ts_proto v2.6.1
// protoc unknown
// source: google/protobuf/timestamp.proto
/* eslint-disable */
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
function createBaseTimestamp() {
return { seconds: 0n, nanos: 0 };
}
export const Timestamp = {
encode(message, writer = new BinaryWriter()) {
if (message.seconds !== 0n) {
if (BigInt.asIntN(64, message.seconds) !== message.seconds) {
throw new globalThis.Error("value provided for field message.seconds of type int64 too large");
}
writer.uint32(8).int64(message.seconds);
}
if (message.nanos !== 0) {
writer.uint32(16).int32(message.nanos);
}
return writer;
},
decode(input, length) {
const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = createBaseTimestamp();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1: {
if (tag !== 8) {
break;
}
message.seconds = reader.int64();
continue;
}
case 2: {
if (tag !== 16) {
break;
}
message.nanos = reader.int32();
continue;
}
}
if ((tag & 7) === 4 || tag === 0) {
break;
}
reader.skip(tag & 7);
}
return message;
},
fromJSON(object) {
return {
seconds: isSet(object.seconds) ? BigInt(object.seconds) : 0n,
nanos: isSet(object.nanos) ? globalThis.Number(object.nanos) : 0,
};
},
toJSON(message) {
const obj = {};
if (message.seconds !== 0n) {
obj.seconds = message.seconds.toString();
}
if (message.nanos !== 0) {
obj.nanos = Math.round(message.nanos);
}
return obj;
},
create(base) {
return Timestamp.fromPartial(base ?? {});
},
fromPartial(object) {
const message = createBaseTimestamp();
message.seconds = object.seconds ?? 0n;
message.nanos = object.nanos ?? 0;
return message;
},
};
function isSet(value) {
return value !== null && value !== undefined;
}
//# sourceMappingURL=timestamp.js.map