OverviewFilesCommitsIssuesDocsReleasesPeers

keet-deobfuscated / @holepunchto / keet-schemas / packages / schema / versions.js

84 lines · javascript ref:
const E = 1,
  _ = {
    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,
  },
  e = {},
  R = [
    { abi: 1, features: [_.LEAVE_ROOM, _.V2_CONFIG] },
    { abi: 2, features: [_.PINNED_MESSAGES, _.ROOM_RENAME_EVENT, _.REPLY_TO] },
    { abi: 3, features: [_.MUTE_MEMBER] },
    { abi: 4, features: [_.DMS] },
    { abi: 5, features: [_.PERMISSION_DOWNGRADE] },
    { abi: 6, features: [_.REMOVE_MEMBER] },
    { abi: 7, features: [_.ROOM_LOCKING] },
    { abi: 8, features: [_.V2_PRIVATE_PROFILE] },
    { abi: 9, features: [] },
    { abi: 10, features: [] },
    { abi: 11, features: [] },
    { abi: 12, features: [] },
    { abi: 13, features: [] },
    { abi: 14, features: [] },
    { abi: 15, features: [_.UNREADS] },
    { abi: 16, features: [] },
    {
      abi: 17,
      features: [_.PRIVATE_PROFILE_SETTINGS, _.READ_LENGTH, _.REMOVE_MEMBER_V2, _.CHAT_LABELS],
    },
    { abi: 18, features: [_.MULTI_FILES] },
    { abi: 19, features: [_.REPORTED_MSG_INDEX] },
    { abi: 20, features: [_.REPORTED_MEMBER_INDEX] },
    { abi: 21, features: [_.LOCATION_SHARED_EVENT, _.FAVORITE_ROOMS, _.FORWARDED_MESSAGE] },
    { abi: 22, features: [] },
    { abi: 23, features: [_.CALLS_V2, _.MOVE_INDEXER], autoupgrade: !0, stable: !0 },
    { abi: 24, features: [] },
  ],
  a = new Map()
let O = -1,
  M = -1,
  A = -1
for (const { abi: E, features: _, stable: e, autoupgrade: t } of R) {
  for (const e of _) a.set(e, E)
  ;(t && (A = E), e && (O = E), (M = E))
}
for (const [E, R] of Object.entries(_)) a.has(R) && (e[E] = a.get(R))
function t(E, _) {
  const e = a.get(_)
  return !!e && e <= E
}
module.exports = {
  isFeatureSupported: t,
  FEATURES_TO_ABI: e,
  FEATURES: _,
  STABLE: O,
  AUTOUPGRADE: A,
  EXPERIMENTAL: M,
  FORCE_UPDATE: 1,
}