OverviewFilesCommitsIssuesDocsReleasesPeers

holepunchto-deps / @holepunchto / legacy-keet-core-schemas / lib / config / index.js

1 lines · javascript ref:
const e=require("compact-encoding"),{CONFIG:a}=require("@holepunchto/keet-core-api"),r=require("../internal"),{UpdateConfigOperationV1:t,UpdateConfigOperationV2:s}=require("./ops"),{MirrorRecord:n}=require("./messages.js"),{MessageId:c}=require("../chat/messages.js");module.exports=class i{static Encoding=r.ConfigEncoding;static Operations={UpdateConfigOperationV1:t,UpdateConfigOperationV2:s};static Collection={keyEncoding:e.uint,valueEncoding:e.any};static PinnedMessages=e.array(c);static Mirrors=e.array(n);static getValue(e){if(!e||!e.value)return null;const{key:a,value:r}=e;return i.decodeValue(a,r)}static decodeValue(e,a){return i.encodeValue(e,a,!0)}static encodeValue(r,t,s=!1){const n=s?e.decode:e.encode;switch(r){case a.ID_PUBLIC_KEY:case a.ID_SHARED_INVITE_SEED:case a.ID_RECOVERY_PHRASE:case a.ROOM_TITLE:case a.ROOM_DESCRIPTION:case a.ROOM_AVATAR:case a.ROOM_TYPE:case a.ROOM_CAN_CALL:return n(e.string,t);case a.PINNED_MESSAGES:return n(i.PinnedMessages,t);case a.ROOM_MIRRORS:return n(i.Mirrors,t);case a.ROOM_LOCKED:case a.DISABLE_MEMBERSHIP_EVENTS:return n(e.uint,t);default:return n(e.string,t)}}};