@xmtp/content-type-group-updated
Version:
An XMTP content type to support group updated messages
44 lines (36 loc) • 951 B
text/typescript
import {
ContentTypeId,
type ContentCodec,
type EncodedContent,
} from "@xmtp/content-type-primitives";
import { mlsTranscriptMessages } from "@xmtp/proto";
export const ContentTypeGroupUpdated = new ContentTypeId({
authorityId: "xmtp.org",
typeId: "group_updated",
versionMajor: 1,
versionMinor: 0,
});
export type GroupUpdated = mlsTranscriptMessages.GroupUpdated;
export class GroupUpdatedCodec
implements ContentCodec<GroupUpdated, Record<string, never>>
{
get contentType(): ContentTypeId {
return ContentTypeGroupUpdated;
}
encode(content: GroupUpdated) {
return {
type: this.contentType,
parameters: {},
content: mlsTranscriptMessages.GroupUpdated.encode(content).finish(),
};
}
decode(content: EncodedContent) {
return mlsTranscriptMessages.GroupUpdated.decode(content.content);
}
fallback(): undefined {
return undefined;
}
shouldPush() {
return false;
}
}