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 */
|
2025-06-22 17:41:23 +02:00
|
|
|
/* eslint-disable import/consistent-type-specifier-style */
|
|
|
|
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
2022-09-19 16:20:33 +10:00
|
|
|
|
2025-06-22 17:41:23 +02:00
|
|
|
import { decodeMessage, encodeMessage, message } from 'protons-runtime'
|
|
|
|
|
import type { Codec, DecodeOptions } from 'protons-runtime'
|
2023-09-04 12:37:38 +05:30
|
|
|
import type { Uint8ArrayList } from 'uint8arraylist'
|
2022-09-19 16:20:33 +10:00
|
|
|
|
|
|
|
|
export interface TopicOnlyMessage {
|
2023-09-04 12:37:38 +05:30
|
|
|
contentTopic: string
|
2022-09-19 16:20:33 +10:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export namespace TopicOnlyMessage {
|
2023-09-04 12:37:38 +05:30
|
|
|
let _codec: Codec<TopicOnlyMessage>
|
2022-09-19 16:20:33 +10:00
|
|
|
|
|
|
|
|
export const codec = (): Codec<TopicOnlyMessage> => {
|
|
|
|
|
if (_codec == null) {
|
2023-09-04 12:37:38 +05:30
|
|
|
_codec = message<TopicOnlyMessage>((obj, w, opts = {}) => {
|
|
|
|
|
if (opts.lengthDelimited !== false) {
|
|
|
|
|
w.fork()
|
|
|
|
|
}
|
2022-09-19 16:20:33 +10:00
|
|
|
|
2023-09-04 12:37:38 +05:30
|
|
|
if ((obj.contentTopic != null && obj.contentTopic !== '')) {
|
|
|
|
|
w.uint32(18)
|
|
|
|
|
w.string(obj.contentTopic)
|
|
|
|
|
}
|
2022-09-19 16:20:33 +10:00
|
|
|
|
2023-09-04 12:37:38 +05:30
|
|
|
if (opts.lengthDelimited !== false) {
|
|
|
|
|
w.ldelim()
|
|
|
|
|
}
|
2024-04-07 10:55:09 +03:00
|
|
|
}, (reader, length, opts = {}) => {
|
2023-09-04 12:37:38 +05:30
|
|
|
const obj: any = {
|
|
|
|
|
contentTopic: ''
|
|
|
|
|
}
|
2022-09-19 16:20:33 +10:00
|
|
|
|
2023-09-04 12:37:38 +05:30
|
|
|
const end = length == null ? reader.len : reader.pos + length
|
2022-09-19 16:20:33 +10:00
|
|
|
|
2023-09-04 12:37:38 +05:30
|
|
|
while (reader.pos < end) {
|
|
|
|
|
const tag = reader.uint32()
|
2022-09-19 16:20:33 +10:00
|
|
|
|
2023-09-04 12:37:38 +05:30
|
|
|
switch (tag >>> 3) {
|
2024-04-07 10:55:09 +03:00
|
|
|
case 2: {
|
2023-09-04 12:37:38 +05:30
|
|
|
obj.contentTopic = reader.string()
|
|
|
|
|
break
|
2024-04-07 10:55:09 +03:00
|
|
|
}
|
|
|
|
|
default: {
|
2023-09-04 12:37:38 +05:30
|
|
|
reader.skipType(tag & 7)
|
|
|
|
|
break
|
2024-04-07 10:55:09 +03:00
|
|
|
}
|
2022-09-19 16:20:33 +10:00
|
|
|
}
|
2023-08-16 20:18:13 +05:30
|
|
|
}
|
2023-09-04 12:37:38 +05:30
|
|
|
|
|
|
|
|
return obj
|
|
|
|
|
})
|
2022-09-19 16:20:33 +10:00
|
|
|
}
|
|
|
|
|
|
2023-09-04 12:37:38 +05:30
|
|
|
return _codec
|
|
|
|
|
}
|
2022-09-19 16:20:33 +10:00
|
|
|
|
2023-02-10 16:40:03 +11:00
|
|
|
export const encode = (obj: Partial<TopicOnlyMessage>): Uint8Array => {
|
2023-09-04 12:37:38 +05:30
|
|
|
return encodeMessage(obj, TopicOnlyMessage.codec())
|
|
|
|
|
}
|
2022-09-19 16:20:33 +10:00
|
|
|
|
2024-04-07 10:55:09 +03:00
|
|
|
export const decode = (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<TopicOnlyMessage>): TopicOnlyMessage => {
|
|
|
|
|
return decodeMessage(buf, TopicOnlyMessage.codec(), opts)
|
2023-09-04 12:37:38 +05:30
|
|
|
}
|
2022-09-19 16:20:33 +10:00
|
|
|
}
|