UNPKG

@xmtp/content-type-text

Version:

An XMTP content type to support text messages

41 lines (38 loc) 1.04 kB
import { ContentTypeId } from '@xmtp/content-type-primitives'; const ContentTypeText = new ContentTypeId({ authorityId: "xmtp.org", typeId: "text", versionMajor: 1, versionMinor: 0, }); var Encoding; (function (Encoding) { Encoding["utf8"] = "UTF-8"; Encoding["unknown"] = "unknown"; })(Encoding || (Encoding = {})); class TextCodec { get contentType() { return ContentTypeText; } encode(content) { return { type: ContentTypeText, parameters: { encoding: Encoding.utf8 }, content: new TextEncoder().encode(content), }; } decode(content) { if (content.parameters.encoding !== Encoding.utf8) { throw new Error(`unrecognized encoding ${content.parameters.encoding}`); } return new TextDecoder().decode(content.content); } fallback() { return undefined; } shouldPush() { return true; } } export { ContentTypeText, Encoding, TextCodec }; //# sourceMappingURL=index.js.map