OverviewFilesCommitsIssuesDocsReleasesPeers

holepunchto-deps / @holepunchto / keet-core / schema / versions.js

1 lines · javascript ref:
const E={DMS:1,LEAVE_ROOM:2,V2_CONFIG:3,PINNED_MESSAGES:4,ROOM_RENAME_EVENT:5,REPLY_TO:6,PERMISSION_DOWNGRADE:7,REMOVE_MEMBER:8,MUTE_MEMBER:9,V2_PRIVATE_PROFILE:10,ROOM_LOCKING:11,DISABLE_MEMBERSHIP_EVENTS:12,DISPLAY_NAME_VALIDATION:13,CALL_HANGUP_EVENT:14,CALL_MISSED_EVENT:15,UNREADS:16,PRIVATE_PROFILE_SETTINGS:17,READ_LENGTH:18,REMOVE_MEMBER_V2:19,CHAT_LABELS:20,MULTI_FILES:21,REPORTED_MSG_INDEX:22,REPORTED_MEMBER_INDEX:23,LOCATION_SHARED_EVENT:24,FAVORITE_ROOMS:25,FORWARDED_MESSAGE:26,CALLS_V2:27,MOVE_INDEXER:28,DISABLE_FILE_ATTACHMENTS:29,DISABLE_LINKS:30,DM_PEERS_TO_MODS:31,V2_UNREADS:32,ROOM_MARK_UNREAD:33,STRIP_ATTACHMENT_METADATA:34,SHORTEN_ATTESTATION:34,CALLS_HEARTBEAT:35,CONTACT_BOOK:36,HIDE_ROOM_INVITE:37,CALL_RECORDING:38,PROFILE_SNOOZE_TIME:39,CROSS_DEVICE_RENAME:40,DISMISS_CHAT_REPORTS:41,TYPING_INDICATOR:42,CONTACT_ALIAS:43,ROOM_SNOOZE_TIME:44,CALL_STREAM_STATUS:45,CALLS_V3:46,PREVIEWS:47,ADMIN_DEVICE_INDEXING:48},_={},A=[{abi:1,features:[E.LEAVE_ROOM,E.V2_CONFIG]},{abi:2,features:[E.PINNED_MESSAGES,E.ROOM_RENAME_EVENT,E.REPLY_TO]},{abi:3,features:[E.MUTE_MEMBER]},{abi:4,features:[E.DMS]},{abi:5,features:[E.PERMISSION_DOWNGRADE]},{abi:6,features:[E.REMOVE_MEMBER]},{abi:7,features:[E.ROOM_LOCKING]},{abi:8,features:[E.V2_PRIVATE_PROFILE]},{abi:9,features:[]},{abi:10,features:[]},{abi:11,features:[]},{abi:12,features:[]},{abi:13,features:[]},{abi:14,features:[]},{abi:15,features:[E.UNREADS]},{abi:16,features:[]},{abi:17,features:[E.PRIVATE_PROFILE_SETTINGS,E.READ_LENGTH,E.REMOVE_MEMBER_V2,E.CHAT_LABELS]},{abi:18,features:[E.MULTI_FILES]},{abi:19,features:[E.REPORTED_MSG_INDEX]},{abi:20,features:[E.REPORTED_MEMBER_INDEX]},{abi:21,features:[E.LOCATION_SHARED_EVENT,E.FAVORITE_ROOMS,E.FORWARDED_MESSAGE]},{abi:22,features:[]},{abi:23,features:[E.CALLS_V2,E.MOVE_INDEXER],autoupgrade:!0},{abi:24,features:[E.DISABLE_FILE_ATTACHMENTS,E.DISABLE_LINKS,E.DM_PEERS_TO_MODS]},{abi:25,features:[]},{abi:26,features:[]},{abi:27,features:[]},{abi:28,features:[E.V2_UNREADS]},{abi:29,features:[E.ROOM_MARK_UNREAD,E.STRIP_ATTACHMENT_METADATA,E.SHORTEN_ATTESTATION]},{abi:30,features:[E.CALLS_HEARTBEAT,E.CONTACT_BOOK]},{abi:31,features:[E.HIDE_ROOM_INVITE,E.CALL_RECORDING,E.PROFILE_SNOOZE_TIME]},{abi:32,features:[E.CROSS_DEVICE_RENAME,E.DISMISS_CHAT_REPORTS,E.TYPING_INDICATOR]},{abi:33,features:[E.CONTACT_ALIAS]},{abi:34,features:[E.ROOM_SNOOZE_TIME]},{abi:35,stable:!0,features:[E.CALL_STREAM_STATUS,E.CALLS_V3]},{abi:36,features:[]},{abi:37,stable:!0,features:[E.PREVIEWS,E.ADMIN_DEVICE_INDEXING]}],R=new Map;let T=-1,O=-1,I=-1;for(const{abi:E,features:_,stable:e,autoupgrade:S}of A){for(const A of _)R.set(A,E);S&&(I=E),e&&(T=E),O=E}const e=O;for(const[A,T]of Object.entries(E))R.has(T)&&(_[A]=R.get(T));module.exports={isFeatureSupported:function(E,_){const A=R.get(_);return!!A&&A<=E},FEATURES_TO_ABI:_,FEATURES:E,STABLE:T,AUTOUPGRADE:I,MINIMUM:e,MIN_AUTOBEE_ABI:36,EXPERIMENTAL:O,FORCE_UPDATE:1};