2022-09-19 16:20:33 +10:00
|
|
|
/* eslint-disable import/export */
|
2023-02-10 16:40:03 +11:00
|
|
|
/* eslint-disable complexity */
|
2022-09-19 16:20:33 +10:00
|
|
|
/* eslint-disable @typescript-eslint/no-namespace */
|
2023-02-10 16:40:03 +11:00
|
|
|
/* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */
|
|
|
|
|
/* eslint-disable @typescript-eslint/no-empty-interface */
|
2022-09-19 16:20:33 +10:00
|
|
|
|
|
|
|
|
import { encodeMessage, decodeMessage, message } from "protons-runtime";
|
|
|
|
|
import type { Codec } from "protons-runtime";
|
2023-02-10 16:40:03 +11:00
|
|
|
import type { Uint8ArrayList } from "uint8arraylist";
|
2022-09-19 16:20:33 +10:00
|
|
|
|
|
|
|
|
export interface TopicOnlyMessage {
|
2023-02-24 23:22:04 +11:00
|
|
|
contentTopic: string;
|
2022-09-19 16:20:33 +10:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export namespace TopicOnlyMessage {
|
|
|
|
|
let _codec: Codec<TopicOnlyMessage>;
|
|
|
|
|
|
|
|
|
|
export const codec = (): Codec<TopicOnlyMessage> => {
|
|
|
|
|
if (_codec == null) {
|
|
|
|
|
_codec = message<TopicOnlyMessage>(
|
2023-02-10 16:40:03 +11:00
|
|
|
(obj, w, opts = {}) => {
|
2022-09-19 16:20:33 +10:00
|
|
|
if (opts.lengthDelimited !== false) {
|
2023-02-10 16:40:03 +11:00
|
|
|
w.fork();
|
2022-09-19 16:20:33 +10:00
|
|
|
}
|
|
|
|
|
|
2023-02-24 23:22:04 +11:00
|
|
|
if (obj.contentTopic != null && obj.contentTopic !== "") {
|
2023-02-10 16:40:03 +11:00
|
|
|
w.uint32(18);
|
|
|
|
|
w.string(obj.contentTopic);
|
2022-09-19 16:20:33 +10:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (opts.lengthDelimited !== false) {
|
2023-02-10 16:40:03 +11:00
|
|
|
w.ldelim();
|
2022-09-19 16:20:33 +10:00
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
(reader, length) => {
|
2023-02-24 23:22:04 +11:00
|
|
|
const obj: any = {
|
|
|
|
|
contentTopic: "",
|
|
|
|
|
};
|
2022-09-19 16:20:33 +10:00
|
|
|
|
|
|
|
|
const end = length == null ? reader.len : reader.pos + length;
|
|
|
|
|
|
|
|
|
|
while (reader.pos < end) {
|
|
|
|
|
const tag = reader.uint32();
|
|
|
|
|
|
|
|
|
|
switch (tag >>> 3) {
|
|
|
|
|
case 2:
|
|
|
|
|
obj.contentTopic = reader.string();
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
reader.skipType(tag & 7);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return obj;
|
2023-08-11 15:14:02 +02:00
|
|
|
},
|
2022-09-19 16:20:33 +10:00
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return _codec;
|
|
|
|
|
};
|
|
|
|
|
|
2023-02-10 16:40:03 +11:00
|
|
|
export const encode = (obj: Partial<TopicOnlyMessage>): Uint8Array => {
|
2022-09-19 16:20:33 +10:00
|
|
|
return encodeMessage(obj, TopicOnlyMessage.codec());
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export const decode = (
|
2023-08-11 15:14:02 +02:00
|
|
|
buf: Uint8Array | Uint8ArrayList,
|
2022-09-19 16:20:33 +10:00
|
|
|
): TopicOnlyMessage => {
|
|
|
|
|
return decodeMessage(buf, TopicOnlyMessage.codec());
|
|
|
|
|
};
|
|
|
|
|
}
|