UNPKG

147 kBSource Map (JSON)View Raw
1{"version":3,"file":"realtime-core.js","sources":["../proto/message-compiled.js","../proto/message.js","../src/utils/global.js","../src/utils/expirable.js","../src/utils/cache.js","../src/utils/index.js","../src/websocket-plus.js","../src/error.js","../src/connection.js","../src/plugin.js","../src/realtime.js","../src/core.js"],"sourcesContent":["module.exports = require('protobufjs/dist/protobuf-light')\n .newBuilder({})\n ['import']({\n package: 'push_server.messages2',\n syntax: 'proto2',\n options: {\n objc_class_prefix: 'AVIM',\n },\n messages: [\n {\n name: 'JsonObjectMessage',\n syntax: 'proto2',\n fields: [\n {\n rule: 'required',\n type: 'string',\n name: 'data',\n id: 1,\n },\n ],\n },\n {\n name: 'UnreadTuple',\n syntax: 'proto2',\n fields: [\n {\n rule: 'required',\n type: 'string',\n name: 'cid',\n id: 1,\n },\n {\n rule: 'required',\n type: 'int32',\n name: 'unread',\n id: 2,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'mid',\n id: 3,\n },\n {\n rule: 'optional',\n type: 'int64',\n name: 'timestamp',\n id: 4,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'from',\n id: 5,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'data',\n id: 6,\n },\n {\n rule: 'optional',\n type: 'int64',\n name: 'patchTimestamp',\n id: 7,\n },\n {\n rule: 'optional',\n type: 'bool',\n name: 'mentioned',\n id: 8,\n },\n {\n rule: 'optional',\n type: 'bytes',\n name: 'binaryMsg',\n id: 9,\n },\n {\n rule: 'optional',\n type: 'int32',\n name: 'convType',\n id: 10,\n },\n ],\n },\n {\n name: 'LogItem',\n syntax: 'proto2',\n fields: [\n {\n rule: 'optional',\n type: 'string',\n name: 'from',\n id: 1,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'data',\n id: 2,\n },\n {\n rule: 'optional',\n type: 'int64',\n name: 'timestamp',\n id: 3,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'msgId',\n id: 4,\n },\n {\n rule: 'optional',\n type: 'int64',\n name: 'ackAt',\n id: 5,\n },\n {\n rule: 'optional',\n type: 'int64',\n name: 'readAt',\n id: 6,\n },\n {\n rule: 'optional',\n type: 'int64',\n name: 'patchTimestamp',\n id: 7,\n },\n {\n rule: 'optional',\n type: 'bool',\n name: 'mentionAll',\n id: 8,\n },\n {\n rule: 'repeated',\n type: 'string',\n name: 'mentionPids',\n id: 9,\n },\n {\n rule: 'optional',\n type: 'bool',\n name: 'bin',\n id: 10,\n },\n {\n rule: 'optional',\n type: 'int32',\n name: 'convType',\n id: 11,\n },\n ],\n },\n {\n name: 'ConvMemberInfo',\n syntax: 'proto2',\n fields: [\n {\n rule: 'optional',\n type: 'string',\n name: 'pid',\n id: 1,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'role',\n id: 2,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'infoId',\n id: 3,\n },\n ],\n },\n {\n name: 'DataCommand',\n syntax: 'proto2',\n fields: [\n {\n rule: 'repeated',\n type: 'string',\n name: 'ids',\n id: 1,\n },\n {\n rule: 'repeated',\n type: 'JsonObjectMessage',\n name: 'msg',\n id: 2,\n },\n {\n rule: 'optional',\n type: 'bool',\n name: 'offline',\n id: 3,\n },\n ],\n },\n {\n name: 'SessionCommand',\n syntax: 'proto2',\n fields: [\n {\n rule: 'optional',\n type: 'int64',\n name: 't',\n id: 1,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'n',\n id: 2,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 's',\n id: 3,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'ua',\n id: 4,\n },\n {\n rule: 'optional',\n type: 'bool',\n name: 'r',\n id: 5,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'tag',\n id: 6,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'deviceId',\n id: 7,\n },\n {\n rule: 'repeated',\n type: 'string',\n name: 'sessionPeerIds',\n id: 8,\n },\n {\n rule: 'repeated',\n type: 'string',\n name: 'onlineSessionPeerIds',\n id: 9,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'st',\n id: 10,\n },\n {\n rule: 'optional',\n type: 'int32',\n name: 'stTtl',\n id: 11,\n },\n {\n rule: 'optional',\n type: 'int32',\n name: 'code',\n id: 12,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'reason',\n id: 13,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'deviceToken',\n id: 14,\n },\n {\n rule: 'optional',\n type: 'bool',\n name: 'sp',\n id: 15,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'detail',\n id: 16,\n },\n {\n rule: 'optional',\n type: 'int64',\n name: 'lastUnreadNotifTime',\n id: 17,\n },\n {\n rule: 'optional',\n type: 'int64',\n name: 'lastPatchTime',\n id: 18,\n },\n {\n rule: 'optional',\n type: 'int64',\n name: 'configBitmap',\n id: 19,\n },\n ],\n },\n {\n name: 'ErrorCommand',\n syntax: 'proto2',\n fields: [\n {\n rule: 'required',\n type: 'int32',\n name: 'code',\n id: 1,\n },\n {\n rule: 'required',\n type: 'string',\n name: 'reason',\n id: 2,\n },\n {\n rule: 'optional',\n type: 'int32',\n name: 'appCode',\n id: 3,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'detail',\n id: 4,\n },\n {\n rule: 'repeated',\n type: 'string',\n name: 'pids',\n id: 5,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'appMsg',\n id: 6,\n },\n ],\n },\n {\n name: 'DirectCommand',\n syntax: 'proto2',\n fields: [\n {\n rule: 'optional',\n type: 'string',\n name: 'msg',\n id: 1,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'uid',\n id: 2,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'fromPeerId',\n id: 3,\n },\n {\n rule: 'optional',\n type: 'int64',\n name: 'timestamp',\n id: 4,\n },\n {\n rule: 'optional',\n type: 'bool',\n name: 'offline',\n id: 5,\n },\n {\n rule: 'optional',\n type: 'bool',\n name: 'hasMore',\n id: 6,\n },\n {\n rule: 'repeated',\n type: 'string',\n name: 'toPeerIds',\n id: 7,\n },\n {\n rule: 'optional',\n type: 'bool',\n name: 'r',\n id: 10,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'cid',\n id: 11,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'id',\n id: 12,\n },\n {\n rule: 'optional',\n type: 'bool',\n name: 'transient',\n id: 13,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'dt',\n id: 14,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'roomId',\n id: 15,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'pushData',\n id: 16,\n },\n {\n rule: 'optional',\n type: 'bool',\n name: 'will',\n id: 17,\n },\n {\n rule: 'optional',\n type: 'int64',\n name: 'patchTimestamp',\n id: 18,\n },\n {\n rule: 'optional',\n type: 'bytes',\n name: 'binaryMsg',\n id: 19,\n },\n {\n rule: 'repeated',\n type: 'string',\n name: 'mentionPids',\n id: 20,\n },\n {\n rule: 'optional',\n type: 'bool',\n name: 'mentionAll',\n id: 21,\n },\n {\n rule: 'optional',\n type: 'int32',\n name: 'convType',\n id: 22,\n },\n ],\n },\n {\n name: 'AckCommand',\n syntax: 'proto2',\n fields: [\n {\n rule: 'optional',\n type: 'int32',\n name: 'code',\n id: 1,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'reason',\n id: 2,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'mid',\n id: 3,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'cid',\n id: 4,\n },\n {\n rule: 'optional',\n type: 'int64',\n name: 't',\n id: 5,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'uid',\n id: 6,\n },\n {\n rule: 'optional',\n type: 'int64',\n name: 'fromts',\n id: 7,\n },\n {\n rule: 'optional',\n type: 'int64',\n name: 'tots',\n id: 8,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'type',\n id: 9,\n },\n {\n rule: 'repeated',\n type: 'string',\n name: 'ids',\n id: 10,\n },\n {\n rule: 'optional',\n type: 'int32',\n name: 'appCode',\n id: 11,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'appMsg',\n id: 12,\n },\n ],\n },\n {\n name: 'UnreadCommand',\n syntax: 'proto2',\n fields: [\n {\n rule: 'repeated',\n type: 'UnreadTuple',\n name: 'convs',\n id: 1,\n },\n {\n rule: 'optional',\n type: 'int64',\n name: 'notifTime',\n id: 2,\n },\n ],\n },\n {\n name: 'ConvCommand',\n syntax: 'proto2',\n fields: [\n {\n rule: 'repeated',\n type: 'string',\n name: 'm',\n id: 1,\n },\n {\n rule: 'optional',\n type: 'bool',\n name: 'transient',\n id: 2,\n },\n {\n rule: 'optional',\n type: 'bool',\n name: 'unique',\n id: 3,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'cid',\n id: 4,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'cdate',\n id: 5,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'initBy',\n id: 6,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'sort',\n id: 7,\n },\n {\n rule: 'optional',\n type: 'int32',\n name: 'limit',\n id: 8,\n },\n {\n rule: 'optional',\n type: 'int32',\n name: 'skip',\n id: 9,\n },\n {\n rule: 'optional',\n type: 'int32',\n name: 'flag',\n id: 10,\n },\n {\n rule: 'optional',\n type: 'int32',\n name: 'count',\n id: 11,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'udate',\n id: 12,\n },\n {\n rule: 'optional',\n type: 'int64',\n name: 't',\n id: 13,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'n',\n id: 14,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 's',\n id: 15,\n },\n {\n rule: 'optional',\n type: 'bool',\n name: 'statusSub',\n id: 16,\n },\n {\n rule: 'optional',\n type: 'bool',\n name: 'statusPub',\n id: 17,\n },\n {\n rule: 'optional',\n type: 'int32',\n name: 'statusTTL',\n id: 18,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'uniqueId',\n id: 19,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'targetClientId',\n id: 20,\n },\n {\n rule: 'optional',\n type: 'int64',\n name: 'maxReadTimestamp',\n id: 21,\n },\n {\n rule: 'optional',\n type: 'int64',\n name: 'maxAckTimestamp',\n id: 22,\n },\n {\n rule: 'optional',\n type: 'bool',\n name: 'queryAllMembers',\n id: 23,\n },\n {\n rule: 'repeated',\n type: 'MaxReadTuple',\n name: 'maxReadTuples',\n id: 24,\n },\n {\n rule: 'repeated',\n type: 'string',\n name: 'cids',\n id: 25,\n },\n {\n rule: 'optional',\n type: 'ConvMemberInfo',\n name: 'info',\n id: 26,\n },\n {\n rule: 'optional',\n type: 'bool',\n name: 'tempConv',\n id: 27,\n },\n {\n rule: 'optional',\n type: 'int32',\n name: 'tempConvTTL',\n id: 28,\n },\n {\n rule: 'repeated',\n type: 'string',\n name: 'tempConvIds',\n id: 29,\n },\n {\n rule: 'repeated',\n type: 'string',\n name: 'allowedPids',\n id: 30,\n },\n {\n rule: 'repeated',\n type: 'ErrorCommand',\n name: 'failedPids',\n id: 31,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'next',\n id: 40,\n },\n {\n rule: 'optional',\n type: 'JsonObjectMessage',\n name: 'results',\n id: 100,\n },\n {\n rule: 'optional',\n type: 'JsonObjectMessage',\n name: 'where',\n id: 101,\n },\n {\n rule: 'optional',\n type: 'JsonObjectMessage',\n name: 'attr',\n id: 103,\n },\n {\n rule: 'optional',\n type: 'JsonObjectMessage',\n name: 'attrModified',\n id: 104,\n },\n ],\n },\n {\n name: 'RoomCommand',\n syntax: 'proto2',\n fields: [\n {\n rule: 'optional',\n type: 'string',\n name: 'roomId',\n id: 1,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 's',\n id: 2,\n },\n {\n rule: 'optional',\n type: 'int64',\n name: 't',\n id: 3,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'n',\n id: 4,\n },\n {\n rule: 'optional',\n type: 'bool',\n name: 'transient',\n id: 5,\n },\n {\n rule: 'repeated',\n type: 'string',\n name: 'roomPeerIds',\n id: 6,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'byPeerId',\n id: 7,\n },\n ],\n },\n {\n name: 'LogsCommand',\n syntax: 'proto2',\n fields: [\n {\n rule: 'optional',\n type: 'string',\n name: 'cid',\n id: 1,\n },\n {\n rule: 'optional',\n type: 'int32',\n name: 'l',\n id: 2,\n },\n {\n rule: 'optional',\n type: 'int32',\n name: 'limit',\n id: 3,\n },\n {\n rule: 'optional',\n type: 'int64',\n name: 't',\n id: 4,\n },\n {\n rule: 'optional',\n type: 'int64',\n name: 'tt',\n id: 5,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'tmid',\n id: 6,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'mid',\n id: 7,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'checksum',\n id: 8,\n },\n {\n rule: 'optional',\n type: 'bool',\n name: 'stored',\n id: 9,\n },\n {\n rule: 'optional',\n type: 'QueryDirection',\n name: 'direction',\n id: 10,\n options: {\n default: 'OLD',\n },\n },\n {\n rule: 'optional',\n type: 'bool',\n name: 'tIncluded',\n id: 11,\n },\n {\n rule: 'optional',\n type: 'bool',\n name: 'ttIncluded',\n id: 12,\n },\n {\n rule: 'optional',\n type: 'int32',\n name: 'lctype',\n id: 13,\n },\n {\n rule: 'repeated',\n type: 'LogItem',\n name: 'logs',\n id: 105,\n },\n ],\n enums: [\n {\n name: 'QueryDirection',\n syntax: 'proto2',\n values: [\n {\n name: 'OLD',\n id: 1,\n },\n {\n name: 'NEW',\n id: 2,\n },\n ],\n },\n ],\n },\n {\n name: 'RcpCommand',\n syntax: 'proto2',\n fields: [\n {\n rule: 'optional',\n type: 'string',\n name: 'id',\n id: 1,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'cid',\n id: 2,\n },\n {\n rule: 'optional',\n type: 'int64',\n name: 't',\n id: 3,\n },\n {\n rule: 'optional',\n type: 'bool',\n name: 'read',\n id: 4,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'from',\n id: 5,\n },\n ],\n },\n {\n name: 'ReadTuple',\n syntax: 'proto2',\n fields: [\n {\n rule: 'required',\n type: 'string',\n name: 'cid',\n id: 1,\n },\n {\n rule: 'optional',\n type: 'int64',\n name: 'timestamp',\n id: 2,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'mid',\n id: 3,\n },\n ],\n },\n {\n name: 'MaxReadTuple',\n syntax: 'proto2',\n fields: [\n {\n rule: 'optional',\n type: 'string',\n name: 'pid',\n id: 1,\n },\n {\n rule: 'optional',\n type: 'int64',\n name: 'maxAckTimestamp',\n id: 2,\n },\n {\n rule: 'optional',\n type: 'int64',\n name: 'maxReadTimestamp',\n id: 3,\n },\n ],\n },\n {\n name: 'ReadCommand',\n syntax: 'proto2',\n fields: [\n {\n rule: 'optional',\n type: 'string',\n name: 'cid',\n id: 1,\n },\n {\n rule: 'repeated',\n type: 'string',\n name: 'cids',\n id: 2,\n },\n {\n rule: 'repeated',\n type: 'ReadTuple',\n name: 'convs',\n id: 3,\n },\n ],\n },\n {\n name: 'PresenceCommand',\n syntax: 'proto2',\n fields: [\n {\n rule: 'optional',\n type: 'StatusType',\n name: 'status',\n id: 1,\n },\n {\n rule: 'repeated',\n type: 'string',\n name: 'sessionPeerIds',\n id: 2,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'cid',\n id: 3,\n },\n ],\n },\n {\n name: 'ReportCommand',\n syntax: 'proto2',\n fields: [\n {\n rule: 'optional',\n type: 'bool',\n name: 'initiative',\n id: 1,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'type',\n id: 2,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'data',\n id: 3,\n },\n ],\n },\n {\n name: 'PatchItem',\n syntax: 'proto2',\n fields: [\n {\n rule: 'optional',\n type: 'string',\n name: 'cid',\n id: 1,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'mid',\n id: 2,\n },\n {\n rule: 'optional',\n type: 'int64',\n name: 'timestamp',\n id: 3,\n },\n {\n rule: 'optional',\n type: 'bool',\n name: 'recall',\n id: 4,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'data',\n id: 5,\n },\n {\n rule: 'optional',\n type: 'int64',\n name: 'patchTimestamp',\n id: 6,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'from',\n id: 7,\n },\n {\n rule: 'optional',\n type: 'bytes',\n name: 'binaryMsg',\n id: 8,\n },\n {\n rule: 'optional',\n type: 'bool',\n name: 'mentionAll',\n id: 9,\n },\n {\n rule: 'repeated',\n type: 'string',\n name: 'mentionPids',\n id: 10,\n },\n {\n rule: 'optional',\n type: 'int64',\n name: 'patchCode',\n id: 11,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'patchReason',\n id: 12,\n },\n ],\n },\n {\n name: 'PatchCommand',\n syntax: 'proto2',\n fields: [\n {\n rule: 'repeated',\n type: 'PatchItem',\n name: 'patches',\n id: 1,\n },\n {\n rule: 'optional',\n type: 'int64',\n name: 'lastPatchTime',\n id: 2,\n },\n ],\n },\n {\n name: 'PubsubCommand',\n syntax: 'proto2',\n fields: [\n {\n rule: 'optional',\n type: 'string',\n name: 'cid',\n id: 1,\n },\n {\n rule: 'repeated',\n type: 'string',\n name: 'cids',\n id: 2,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'topic',\n id: 3,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'subtopic',\n id: 4,\n },\n {\n rule: 'repeated',\n type: 'string',\n name: 'topics',\n id: 5,\n },\n {\n rule: 'repeated',\n type: 'string',\n name: 'subtopics',\n id: 6,\n },\n {\n rule: 'optional',\n type: 'JsonObjectMessage',\n name: 'results',\n id: 7,\n },\n ],\n },\n {\n name: 'BlacklistCommand',\n syntax: 'proto2',\n fields: [\n {\n rule: 'optional',\n type: 'string',\n name: 'srcCid',\n id: 1,\n },\n {\n rule: 'repeated',\n type: 'string',\n name: 'toPids',\n id: 2,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'srcPid',\n id: 3,\n },\n {\n rule: 'repeated',\n type: 'string',\n name: 'toCids',\n id: 4,\n },\n {\n rule: 'optional',\n type: 'int32',\n name: 'limit',\n id: 5,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'next',\n id: 6,\n },\n {\n rule: 'repeated',\n type: 'string',\n name: 'blockedPids',\n id: 8,\n },\n {\n rule: 'repeated',\n type: 'string',\n name: 'blockedCids',\n id: 9,\n },\n {\n rule: 'repeated',\n type: 'string',\n name: 'allowedPids',\n id: 10,\n },\n {\n rule: 'repeated',\n type: 'ErrorCommand',\n name: 'failedPids',\n id: 11,\n },\n {\n rule: 'optional',\n type: 'int64',\n name: 't',\n id: 12,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'n',\n id: 13,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 's',\n id: 14,\n },\n ],\n },\n {\n name: 'GenericCommand',\n syntax: 'proto2',\n fields: [\n {\n rule: 'optional',\n type: 'CommandType',\n name: 'cmd',\n id: 1,\n },\n {\n rule: 'optional',\n type: 'OpType',\n name: 'op',\n id: 2,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'appId',\n id: 3,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'peerId',\n id: 4,\n },\n {\n rule: 'optional',\n type: 'int32',\n name: 'i',\n id: 5,\n },\n {\n rule: 'optional',\n type: 'string',\n name: 'installationId',\n id: 6,\n },\n {\n rule: 'optional',\n type: 'int32',\n name: 'priority',\n id: 7,\n },\n {\n rule: 'optional',\n type: 'int32',\n name: 'service',\n id: 8,\n },\n {\n rule: 'optional',\n type: 'int64',\n name: 'serverTs',\n id: 9,\n },\n {\n rule: 'optional',\n type: 'int64',\n name: 'clientTs',\n id: 10,\n },\n {\n rule: 'optional',\n type: 'int32',\n name: 'notificationType',\n id: 11,\n },\n {\n rule: 'optional',\n type: 'DataCommand',\n name: 'dataMessage',\n id: 101,\n },\n {\n rule: 'optional',\n type: 'SessionCommand',\n name: 'sessionMessage',\n id: 102,\n },\n {\n rule: 'optional',\n type: 'ErrorCommand',\n name: 'errorMessage',\n id: 103,\n },\n {\n rule: 'optional',\n type: 'DirectCommand',\n name: 'directMessage',\n id: 104,\n },\n {\n rule: 'optional',\n type: 'AckCommand',\n name: 'ackMessage',\n id: 105,\n },\n {\n rule: 'optional',\n type: 'UnreadCommand',\n name: 'unreadMessage',\n id: 106,\n },\n {\n rule: 'optional',\n type: 'ReadCommand',\n name: 'readMessage',\n id: 107,\n },\n {\n rule: 'optional',\n type: 'RcpCommand',\n name: 'rcpMessage',\n id: 108,\n },\n {\n rule: 'optional',\n type: 'LogsCommand',\n name: 'logsMessage',\n id: 109,\n },\n {\n rule: 'optional',\n type: 'ConvCommand',\n name: 'convMessage',\n id: 110,\n },\n {\n rule: 'optional',\n type: 'RoomCommand',\n name: 'roomMessage',\n id: 111,\n },\n {\n rule: 'optional',\n type: 'PresenceCommand',\n name: 'presenceMessage',\n id: 112,\n },\n {\n rule: 'optional',\n type: 'ReportCommand',\n name: 'reportMessage',\n id: 113,\n },\n {\n rule: 'optional',\n type: 'PatchCommand',\n name: 'patchMessage',\n id: 114,\n },\n {\n rule: 'optional',\n type: 'PubsubCommand',\n name: 'pubsubMessage',\n id: 115,\n },\n {\n rule: 'optional',\n type: 'BlacklistCommand',\n name: 'blacklistMessage',\n id: 116,\n },\n ],\n },\n ],\n enums: [\n {\n name: 'CommandType',\n syntax: 'proto2',\n values: [\n {\n name: 'session',\n id: 0,\n },\n {\n name: 'conv',\n id: 1,\n },\n {\n name: 'direct',\n id: 2,\n },\n {\n name: 'ack',\n id: 3,\n },\n {\n name: 'rcp',\n id: 4,\n },\n {\n name: 'unread',\n id: 5,\n },\n {\n name: 'logs',\n id: 6,\n },\n {\n name: 'error',\n id: 7,\n },\n {\n name: 'login',\n id: 8,\n },\n {\n name: 'data',\n id: 9,\n },\n {\n name: 'room',\n id: 10,\n },\n {\n name: 'read',\n id: 11,\n },\n {\n name: 'presence',\n id: 12,\n },\n {\n name: 'report',\n id: 13,\n },\n {\n name: 'echo',\n id: 14,\n },\n {\n name: 'loggedin',\n id: 15,\n },\n {\n name: 'logout',\n id: 16,\n },\n {\n name: 'loggedout',\n id: 17,\n },\n {\n name: 'patch',\n id: 18,\n },\n {\n name: 'pubsub',\n id: 19,\n },\n {\n name: 'blacklist',\n id: 20,\n },\n {\n name: 'goaway',\n id: 21,\n },\n ],\n },\n {\n name: 'OpType',\n syntax: 'proto2',\n values: [\n {\n name: 'open',\n id: 1,\n },\n {\n name: 'add',\n id: 2,\n },\n {\n name: 'remove',\n id: 3,\n },\n {\n name: 'close',\n id: 4,\n },\n {\n name: 'opened',\n id: 5,\n },\n {\n name: 'closed',\n id: 6,\n },\n {\n name: 'query',\n id: 7,\n },\n {\n name: 'query_result',\n id: 8,\n },\n {\n name: 'conflict',\n id: 9,\n },\n {\n name: 'added',\n id: 10,\n },\n {\n name: 'removed',\n id: 11,\n },\n {\n name: 'refresh',\n id: 12,\n },\n {\n name: 'refreshed',\n id: 13,\n },\n {\n name: 'start',\n id: 30,\n },\n {\n name: 'started',\n id: 31,\n },\n {\n name: 'joined',\n id: 32,\n },\n {\n name: 'members_joined',\n id: 33,\n },\n {\n name: 'left',\n id: 39,\n },\n {\n name: 'members_left',\n id: 40,\n },\n {\n name: 'results',\n id: 42,\n },\n {\n name: 'count',\n id: 43,\n },\n {\n name: 'result',\n id: 44,\n },\n {\n name: 'update',\n id: 45,\n },\n {\n name: 'updated',\n id: 46,\n },\n {\n name: 'mute',\n id: 47,\n },\n {\n name: 'unmute',\n id: 48,\n },\n {\n name: 'status',\n id: 49,\n },\n {\n name: 'members',\n id: 50,\n },\n {\n name: 'max_read',\n id: 51,\n },\n {\n name: 'is_member',\n id: 52,\n },\n {\n name: 'member_info_update',\n id: 53,\n },\n {\n name: 'member_info_updated',\n id: 54,\n },\n {\n name: 'member_info_changed',\n id: 55,\n },\n {\n name: 'join',\n id: 80,\n },\n {\n name: 'invite',\n id: 81,\n },\n {\n name: 'leave',\n id: 82,\n },\n {\n name: 'kick',\n id: 83,\n },\n {\n name: 'reject',\n id: 84,\n },\n {\n name: 'invited',\n id: 85,\n },\n {\n name: 'kicked',\n id: 86,\n },\n {\n name: 'upload',\n id: 100,\n },\n {\n name: 'uploaded',\n id: 101,\n },\n {\n name: 'subscribe',\n id: 120,\n },\n {\n name: 'subscribed',\n id: 121,\n },\n {\n name: 'unsubscribe',\n id: 122,\n },\n {\n name: 'unsubscribed',\n id: 123,\n },\n {\n name: 'is_subscribed',\n id: 124,\n },\n {\n name: 'modify',\n id: 150,\n },\n {\n name: 'modified',\n id: 151,\n },\n {\n name: 'block',\n id: 170,\n },\n {\n name: 'unblock',\n id: 171,\n },\n {\n name: 'blocked',\n id: 172,\n },\n {\n name: 'unblocked',\n id: 173,\n },\n {\n name: 'members_blocked',\n id: 174,\n },\n {\n name: 'members_unblocked',\n id: 175,\n },\n {\n name: 'check_block',\n id: 176,\n },\n {\n name: 'check_result',\n id: 177,\n },\n {\n name: 'add_shutup',\n id: 180,\n },\n {\n name: 'remove_shutup',\n id: 181,\n },\n {\n name: 'query_shutup',\n id: 182,\n },\n {\n name: 'shutup_added',\n id: 183,\n },\n {\n name: 'shutup_removed',\n id: 184,\n },\n {\n name: 'shutup_result',\n id: 185,\n },\n {\n name: 'shutuped',\n id: 186,\n },\n {\n name: 'unshutuped',\n id: 187,\n },\n {\n name: 'members_shutuped',\n id: 188,\n },\n {\n name: 'members_unshutuped',\n id: 189,\n },\n {\n name: 'check_shutup',\n id: 190,\n },\n ],\n },\n {\n name: 'StatusType',\n syntax: 'proto2',\n values: [\n {\n name: 'on',\n id: 1,\n },\n {\n name: 'off',\n id: 2,\n },\n ],\n },\n ],\n isNamespace: true,\n })\n .build();\n","import messages from './message-compiled';\n\nconst {\n JsonObjectMessage,\n UnreadTuple,\n LogItem,\n DataCommand,\n SessionCommand,\n ErrorCommand,\n DirectCommand,\n AckCommand,\n UnreadCommand,\n ConvCommand,\n RoomCommand,\n LogsCommand,\n RcpCommand,\n ReadTuple,\n MaxReadTuple,\n ReadCommand,\n PresenceCommand,\n ReportCommand,\n GenericCommand,\n BlacklistCommand,\n PatchCommand,\n PatchItem,\n ConvMemberInfo,\n CommandType,\n OpType,\n StatusType,\n} = messages.push_server.messages2;\n\nexport {\n JsonObjectMessage,\n UnreadTuple,\n LogItem,\n DataCommand,\n SessionCommand,\n ErrorCommand,\n DirectCommand,\n AckCommand,\n UnreadCommand,\n ConvCommand,\n RoomCommand,\n LogsCommand,\n RcpCommand,\n ReadTuple,\n MaxReadTuple,\n ReadCommand,\n PresenceCommand,\n ReportCommand,\n GenericCommand,\n BlacklistCommand,\n PatchCommand,\n PatchItem,\n ConvMemberInfo,\n CommandType,\n OpType,\n StatusType,\n};\n","/* eslint-disable */\nexport default (typeof global !== 'undefined'\n ? global\n : typeof window !== 'undefined' ? window : {});\n","import d from 'debug';\n\nconst EXPIRED = Symbol('expired');\nconst debug = d('LC:Expirable');\nexport default class Expirable {\n constructor(value, ttl) {\n this.originalValue = value;\n if (typeof ttl === 'number') {\n this.expiredAt = Date.now() + ttl;\n }\n }\n\n get value() {\n const expired = this.expiredAt && this.expiredAt <= Date.now();\n if (expired) debug(`expired: ${this.originalValue}`);\n return expired ? EXPIRED : this.originalValue;\n }\n}\nExpirable.EXPIRED = EXPIRED;\n","import d from 'debug';\nimport Expirable from './expirable';\n\nconst debug = d('LC:Cache');\nexport default class Cache {\n constructor(name = 'anonymous') {\n this.name = name;\n this._map = {};\n }\n\n get(key) {\n const cache = this._map[key];\n if (cache) {\n const { value } = cache;\n if (value !== Expirable.EXPIRED) {\n debug('[%s] hit: %s', this.name, key);\n return value;\n }\n delete this._map[key];\n }\n debug(`[${this.name}] missed: ${key}`);\n return null;\n }\n\n set(key, value, ttl) {\n debug('[%s] set: %s %d', this.name, key, ttl);\n this._map[key] = new Expirable(value, ttl);\n }\n}\n","import isPlainObject from 'lodash/isPlainObject';\nimport d from 'debug';\nimport global from './global';\n\nexport { global };\n\nexport const debug = {\n enable: (namespaces = 'LC*') => d.enable(namespaces),\n disable: d.disable,\n};\n\nexport const tryAll = promiseConstructors => {\n const promise = new Promise(promiseConstructors[0]);\n if (promiseConstructors.length === 1) {\n return promise;\n }\n return promise.catch(() => tryAll(promiseConstructors.slice(1)));\n};\n\n// eslint-disable-next-line no-sequences\nexport const tap = interceptor => value => (interceptor(value), value);\n\nexport const finalize = callback => [\n // eslint-disable-next-line no-sequences\n value => (callback(), value),\n error => {\n callback();\n throw error;\n },\n];\n\nexport { default as Expirable } from './expirable';\nexport { default as Cache } from './cache';\n\n/**\n * 将对象转换为 Date,支持 string、number、ProtoBuf Long 以及 LeanCloud 的 Date 类型,\n * 其他情况下(包括对象为 falsy)返回原值。\n * @private\n */\nexport const decodeDate = date => {\n if (!date) return date;\n if (typeof date === 'string' || typeof date === 'number') {\n return new Date(date);\n }\n if (date.__type === 'Date' && date.iso) {\n return new Date(date.iso);\n }\n // Long\n if (typeof date.toNumber === 'function') {\n return new Date(date.toNumber());\n }\n return date;\n};\n/**\n * 获取 Date 的毫秒数,如果不是一个 Date 返回 undefined。\n * @private\n */\nexport const getTime = date =>\n date && date.getTime ? date.getTime() : undefined;\n\n/**\n * 解码对象中的 LeanCloud 数据结构。\n * 目前仅会处理 Date 类型。\n * @private\n */\nexport const decode = value => {\n if (!value) return value;\n if (value.__type === 'Date' && value.iso) {\n return new Date(value.iso);\n }\n if (Array.isArray(value)) {\n return value.map(decode);\n }\n if (isPlainObject(value)) {\n return Object.keys(value).reduce(\n (result, key) => ({\n ...result,\n [key]: decode(value[key]),\n }),\n {}\n );\n }\n return value;\n};\n/**\n * 将对象中的特殊类型编码为 LeanCloud 数据结构。\n * 目前仅会处理 Date 类型。\n * @private\n */\nexport const encode = value => {\n if (value instanceof Date) return { __type: 'Date', iso: value.toJSON() };\n if (Array.isArray(value)) {\n return value.map(encode);\n }\n if (isPlainObject(value)) {\n return Object.keys(value).reduce(\n (result, key) => ({\n ...result,\n [key]: encode(value[key]),\n }),\n {}\n );\n }\n return value;\n};\n\nexport const keyRemap = (keymap, obj) =>\n Object.keys(obj).reduce((newObj, key) => {\n const newKey = keymap[key] || key;\n return Object.assign(newObj, {\n [newKey]: obj[key],\n });\n }, {});\n\nexport const isIE10 =\n global.navigator &&\n global.navigator.userAgent &&\n global.navigator.userAgent.indexOf('MSIE 10.') !== -1;\n\n/* eslint-disable no-proto */\nexport const getStaticProperty = (klass, property) =>\n klass[property] ||\n (klass.__proto__ ? getStaticProperty(klass.__proto__, property) : undefined);\n/* eslint-enable no-proto */\n\nexport const union = (a, b) => Array.from(new Set([...a, ...b]));\nexport const difference = (a, b) =>\n Array.from((bSet => new Set(a.filter(x => !bSet.has(x))))(new Set(b)));\n\nconst map = new WeakMap();\n\n// protected property helper\nexport const internal = object => {\n if (!map.has(object)) {\n map.set(object, {});\n }\n return map.get(object);\n};\n\nexport const compact = (obj, filter) => {\n if (!isPlainObject(obj)) return obj;\n const object = Object.assign({}, obj);\n // eslint-disable-next-line no-restricted-syntax\n for (const prop in object) {\n if ({}.hasOwnProperty.call(object, prop)) {\n const value = object[prop];\n if (value === filter) {\n delete object[prop];\n } else {\n object[prop] = compact(value, filter);\n }\n }\n }\n return object;\n};\n\n// debug utility\nconst removeNull = obj => compact(obj, null);\nexport const trim = message => removeNull(JSON.parse(JSON.stringify(message)));\n\nexport const ensureArray = target => {\n if (Array.isArray(target)) {\n return target;\n }\n if (target === undefined || target === null) {\n return [];\n }\n return [target];\n};\n\nexport const setValue = (target, key, value) => {\n // '.' is not allowed in Class keys, escaping is not in concern now.\n const segs = key.split('.');\n const lastSeg = segs.pop();\n let currentTarget = target;\n segs.forEach(seg => {\n if (currentTarget[seg] === undefined) currentTarget[seg] = {};\n currentTarget = currentTarget[seg];\n });\n currentTarget[lastSeg] = value;\n return target;\n};\n\nexport const isWeapp =\n // eslint-disable-next-line no-undef\n typeof wx === 'object' && typeof wx.connectSocket === 'function';\n\n// throttle decorator\nexport const throttle = wait => (target, property, descriptor) => {\n const callback = descriptor.value;\n // very naive, internal use only\n if (callback.length) {\n throw new Error('throttled function should not accept any arguments');\n }\n return {\n ...descriptor,\n value() {\n let { throttleMeta } = internal(this);\n if (!throttleMeta) {\n throttleMeta = {};\n internal(this).throttleMeta = throttleMeta;\n }\n let { [property]: propertyMeta } = throttleMeta;\n if (!propertyMeta) {\n propertyMeta = {};\n throttleMeta[property] = propertyMeta;\n }\n const { previouseTimestamp = 0, timeout } = propertyMeta;\n const now = Date.now();\n const remainingTime = wait - (now - previouseTimestamp);\n if (remainingTime <= 0) {\n throttleMeta[property].previouseTimestamp = now;\n callback.apply(this);\n } else if (!timeout) {\n propertyMeta.timeout = setTimeout(() => {\n propertyMeta.previouseTimestamp = Date.now();\n delete propertyMeta.timeout;\n callback.apply(this);\n }, remainingTime);\n }\n },\n };\n};\n\nexport const isCNApp = appId => appId.slice(-9) !== '-MdYXbMMI';\n","// WebSocket with auto reconnecting feature, backup endpoint and EventEmitter interface.\n\nimport d from 'debug';\nimport EventEmitter from 'eventemitter3';\nimport StateMachine from 'javascript-state-machine';\n\nimport WebSocket from 'ws';\n\nimport { ensureArray, tryAll, global } from './utils';\n\nconst debug = d('LC:WebSocketPlus');\n\nexport const OPEN = 'open';\nexport const DISCONNECT = 'disconnect';\nexport const RECONNECT = 'reconnect';\nexport const RETRY = 'retry';\nexport const SCHEDULE = 'schedule';\nexport const OFFLINE = 'offline';\nexport const ONLINE = 'online';\nexport const ERROR = 'error';\nexport const MESSAGE = 'message';\n\nconst HEARTBEAT_TIME = 180000;\nconst TIMEOUT_TIME = 380000;\n\nconst DEFAULT_RETRY_STRATEGY = attempt => Math.min(1000 * 2 ** attempt, 300000);\n\nconst requireConnected = (target, name, descriptor) =>\n Object.assign({}, descriptor, {\n value: function requireConnectedWrapper(...args) {\n this.checkConnectionAvailability(name);\n return descriptor.value.call(this, ...args);\n },\n });\n\nclass WebSocketPlus extends EventEmitter {\n get urls() {\n return this._urls;\n }\n\n set urls(urls) {\n this._urls = ensureArray(urls);\n }\n\n constructor(getUrls, protocol) {\n if (typeof WebSocket === 'undefined') {\n throw new Error(\n 'WebSocket is undefined. Polyfill is required in this runtime.'\n );\n }\n super();\n this.init();\n this._protocol = protocol;\n Promise.resolve(typeof getUrls === 'function' ? getUrls() : getUrls)\n .then(ensureArray)\n .then(urls => {\n this._urls = urls;\n return this._open();\n })\n .then(() => {\n this.__postponeTimeoutTimer = this._postponeTimeoutTimer.bind(this);\n if (global.addEventListener) {\n this.__pause = () => {\n if (this.can('pause')) this.pause();\n };\n this.__resume = () => {\n if (this.can('resume')) this.resume();\n };\n global.addEventListener('offline', this.__pause);\n global.addEventListener('online', this.__resume);\n }\n this.open();\n })\n .catch(this.throw.bind(this));\n }\n\n _open() {\n return this._createWs(this._urls, this._protocol).then(ws => {\n const [first, ...reset] = this._urls;\n this._urls = [...reset, first];\n return ws;\n });\n }\n\n _createWs(urls, protocol) {\n return tryAll(\n urls.map(url => (resolve, reject) => {\n debug(`connect [${url}] ${protocol}`);\n const ws = protocol ? new WebSocket(url, protocol) : new WebSocket(url);\n ws.binaryType = this.binaryType || 'arraybuffer';\n ws.onopen = () => resolve(ws);\n ws.onclose = error => {\n if (error instanceof Error) {\n return reject(error);\n }\n // in browser, error event is useless\n return reject(new Error(`Failed to connect [${url}]`));\n };\n ws.onerror = ws.onclose;\n })\n ).then(ws => {\n this._ws = ws;\n this._ws.onclose = this._handleClose.bind(this);\n this._ws.onmessage = this._handleMessage.bind(this);\n return ws;\n });\n }\n\n _destroyWs() {\n const ws = this._ws;\n if (!ws) return;\n ws.onopen = null;\n ws.onclose = null;\n ws.onerror = null;\n ws.onmessage = null;\n this._ws = null;\n ws.close();\n }\n\n // eslint-disable-next-line class-methods-use-this\n onbeforeevent(event, from, to, ...payload) {\n debug(`${event}: ${from} -> ${to} %o`, payload);\n }\n\n onopen() {\n this.emit(OPEN);\n }\n\n onconnected() {\n this._startConnectionKeeper();\n }\n\n onleaveconnected(event, from, to) {\n this._stopConnectionKeeper();\n this._destroyWs();\n if (to === 'offline' || to === 'disconnected') {\n this.emit(DISCONNECT);\n }\n }\n\n onpause() {\n this.emit(OFFLINE);\n }\n\n onbeforeresume() {\n this.emit(ONLINE);\n }\n\n onreconnect() {\n this.emit(RECONNECT);\n }\n\n ondisconnected(event, from, to, attempt = 0) {\n const delay = DEFAULT_RETRY_STRATEGY.call(null, attempt);\n debug(`schedule attempt=${attempt} delay=${delay}`);\n this.emit(SCHEDULE, attempt, delay);\n if (this.__scheduledRetry) {\n clearTimeout(this.__scheduledRetry);\n }\n this.__scheduledRetry = setTimeout(() => {\n if (this.is('disconnected')) {\n this.retry(attempt);\n }\n }, delay);\n }\n\n onretry(event, from, to, attempt = 0) {\n this.emit(RETRY, attempt);\n this._open().then(\n () => (this.can('reconnect') ? this.reconnect() : this._destroyWs()),\n () => this.can('fail') && this.fail(attempt + 1)\n );\n }\n\n onerror(event, from, to, error) {\n this.emit(ERROR, error);\n }\n\n onclose() {\n if (global.removeEventListener) {\n if (this.__pause) global.removeEventListener('offline', this.__pause);\n if (this.__resume) global.removeEventListener('online', this.__resume);\n }\n }\n\n checkConnectionAvailability(name = 'API') {\n if (!this.is('connected')) {\n const currentState = this.current;\n console.warn(\n `${name} should not be called when the connection is ${currentState}`\n );\n if (this.is('disconnected') || this.is('reconnecting')) {\n console.warn(\n 'disconnect and reconnect event should be handled to avoid such calls.'\n );\n }\n throw new Error('Connection unavailable');\n }\n }\n\n // jsdoc-ignore-start\n @requireConnected\n // jsdoc-ignore-end\n _ping() {\n debug('ping');\n try {\n this.ping();\n } catch (error) {\n console.warn(`websocket ping error: ${error.message}`);\n }\n }\n\n ping() {\n if (this._ws.ping) {\n this._ws.ping();\n } else {\n console.warn(`The WebSocket implement does not support sending ping frame.\n Override ping method to use application defined ping/pong mechanism.`);\n }\n }\n\n _postponeTimeoutTimer() {\n debug('_postponeTimeoutTimer');\n this._clearTimeoutTimers();\n this._timeoutTimer = setTimeout(() => {\n debug('timeout');\n this.disconnect();\n }, TIMEOUT_TIME);\n }\n\n _clearTimeoutTimers() {\n if (this._timeoutTimer) {\n clearTimeout(this._timeoutTimer);\n }\n }\n\n _startConnectionKeeper() {\n debug('start connection keeper');\n this._heartbeatTimer = setInterval(this._ping.bind(this), HEARTBEAT_TIME);\n const addListener = this._ws.addListener || this._ws.addEventListener;\n if (!addListener) {\n debug('connection keeper disabled due to the lack of #addEventListener.');\n return;\n }\n addListener.call(this._ws, 'message', this.__postponeTimeoutTimer);\n addListener.call(this._ws, 'pong', this.__postponeTimeoutTimer);\n this._postponeTimeoutTimer();\n }\n\n _stopConnectionKeeper() {\n debug('stop connection keeper');\n // websockets/ws#489\n const removeListener =\n this._ws.removeListener || this._ws.removeEventListener;\n if (removeListener) {\n removeListener.call(this._ws, 'message', this.__postponeTimeoutTimer);\n removeListener.call(this._ws, 'pong', this.__postponeTimeoutTimer);\n this._clearTimeoutTimers();\n }\n if (this._heartbeatTimer) {\n clearInterval(this._heartbeatTimer);\n }\n }\n\n _handleClose(event) {\n debug(`ws closed [${event.code}] ${event.reason}`);\n // socket closed manually, ignore close event.\n if (this.isFinished()) return;\n this.handleClose(event);\n }\n\n handleClose() {\n // reconnect\n this.disconnect();\n }\n\n // jsdoc-ignore-start\n @requireConnected\n // jsdoc-ignore-end\n send(data) {\n debug('send', data);\n this._ws.send(data);\n }\n\n _handleMessage(event) {\n debug('message', event.data);\n this.handleMessage(event.data);\n }\n\n handleMessage(message) {\n this.emit(MESSAGE, message);\n }\n}\n\nStateMachine.create({\n target: WebSocketPlus.prototype,\n initial: {\n state: 'initialized',\n event: 'init',\n defer: true,\n },\n terminal: 'closed',\n events: [\n {\n name: 'open',\n from: 'initialized',\n to: 'connected',\n },\n {\n name: 'disconnect',\n from: 'connected',\n to: 'disconnected',\n },\n {\n name: 'retry',\n from: 'disconnected',\n to: 'reconnecting',\n },\n {\n name: 'fail',\n from: 'reconnecting',\n to: 'disconnected',\n },\n {\n name: 'reconnect',\n from: 'reconnecting',\n to: 'connected',\n },\n {\n name: 'pause',\n from: ['connected', 'disconnected', 'reconnecting'],\n to: 'offline',\n },\n {},\n {\n name: 'resume',\n from: 'offline',\n to: 'disconnected',\n },\n {\n name: 'close',\n from: ['connected', 'disconnected', 'reconnecting', 'offline'],\n to: 'closed',\n },\n {\n name: 'throw',\n from: '*',\n to: 'error',\n },\n ],\n});\n\nexport default WebSocketPlus;\n","export const error = Object.freeze({\n 1000: {\n name: 'CLOSE_NORMAL',\n },\n 1006: {\n name: 'CLOSE_ABNORMAL',\n },\n 4100: {\n name: 'APP_NOT_AVAILABLE',\n message: 'App not exists or realtime message service is disabled.',\n },\n 4102: {\n name: 'SIGNATURE_FAILED',\n message: 'Login signature mismatch.',\n },\n 4103: {\n name: 'INVALID_LOGIN',\n message: 'Malformed clientId.',\n },\n 4105: {\n name: 'SESSION_REQUIRED',\n message: 'Message sent before session opened.',\n },\n 4107: {\n name: 'READ_TIMEOUT',\n },\n 4108: {\n name: 'LOGIN_TIMEOUT',\n },\n 4109: {\n name: 'FRAME_TOO_LONG',\n },\n 4110: {\n name: 'INVALID_ORIGIN',\n message: 'Access denied by domain whitelist.',\n },\n 4111: {\n name: 'SESSION_CONFLICT',\n },\n 4112: {\n name: 'SESSION_TOKEN_EXPIRED',\n },\n 4113: {\n name: 'APP_QUOTA_EXCEEDED',\n message: 'The daily active users limit exceeded.',\n },\n 4116: {\n name: 'MESSAGE_SENT_QUOTA_EXCEEDED',\n message: 'Command sent too fast.',\n },\n 4200: {\n name: 'INTERNAL_ERROR',\n message: 'Internal error, please contact LeanCloud for support.',\n },\n 4301: {\n name: 'CONVERSATION_API_FAILED',\n message: 'Upstream Conversatoin API failed, see error.detail for details.',\n },\n 4302: {\n name: 'CONVERSATION_SIGNATURE_FAILED',\n message: 'Conversation action signature mismatch.',\n },\n 4303: {\n name: 'CONVERSATION_NOT_FOUND',\n },\n 4304: {\n name: 'CONVERSATION_FULL',\n },\n 4305: {\n name: 'CONVERSATION_REJECTED_BY_APP',\n message: 'Conversation action rejected by hook.',\n },\n 4306: {\n name: 'CONVERSATION_UPDATE_FAILED',\n },\n 4307: {\n name: 'CONVERSATION_READ_ONLY',\n },\n 4308: {\n name: 'CONVERSATION_NOT_ALLOWED',\n },\n 4309: {\n name: 'CONVERSATION_UPDATE_REJECTED',\n message: 'Conversation update rejected because the client is not a member.',\n },\n 4310: {\n name: 'CONVERSATION_QUERY_FAILED',\n message: 'Conversation query failed because it is too expansive.',\n },\n 4311: {\n name: 'CONVERSATION_LOG_FAILED',\n },\n 4312: {\n name: 'CONVERSATION_LOG_REJECTED',\n message:\n 'Message query rejected because the client is not a member of the conversation.',\n },\n 4313: {\n name: 'SYSTEM_CONVERSATION_REQUIRED',\n },\n 4314: {\n name: 'NORMAL_CONVERSATION_REQUIRED',\n },\n 4315: {\n name: 'CONVERSATION_BLACKLISTED',\n message: 'Blacklisted in the conversation.',\n },\n 4316: {\n name: 'TRANSIENT_CONVERSATION_REQUIRED',\n },\n 4317: {\n name: 'CONVERSATION_MEMBERSHIP_REQUIRED',\n },\n 4318: {\n name: 'CONVERSATION_API_QUOTA_EXCEEDED',\n message: 'LeanCloud API quota exceeded. You may upgrade your plan.',\n },\n 4323: {\n name: 'TEMPORARY_CONVERSATION_EXPIRED',\n message: 'Temporary conversation expired or does not exist.',\n },\n 4401: {\n name: 'INVALID_MESSAGING_TARGET',\n message: 'Conversation does not exist or client is not a member.',\n },\n 4402: {\n name: 'MESSAGE_REJECTED_BY_APP',\n message: 'Message rejected by hook.',\n },\n 4403: {\n name: 'MESSAGE_OWNERSHIP_REQUIRED',\n },\n 4404: {\n name: 'MESSAGE_NOT_FOUND',\n },\n 4405: {\n name: 'MESSAGE_UPDATE_REJECTED_BY_APP',\n message: 'Message update rejected by hook.',\n },\n 4406: {\n name: 'MESSAGE_EDIT_DISABLED',\n },\n 4407: {\n name: 'MESSAGE_RECALL_DISABLED',\n },\n 5130: {\n name: 'OWNER_PROMOTION_NOT_ALLOWED',\n message: \"Updating a member's role to owner is not allowed.\",\n },\n});\n\nexport const ErrorCode = Object.freeze(\n Object.keys(error).reduce(\n (result, code) =>\n Object.assign(result, {\n [error[code].name]: Number(code),\n }),\n {}\n )\n);\n\nexport const createError = ({\n code,\n reason,\n appCode,\n detail,\n error: errorMessage,\n}) => {\n let message = reason || detail || errorMessage;\n let name = reason;\n if (!message && error[code]) {\n ({ name } = error[code]);\n message = error[code].message || name;\n }\n if (!message) {\n message = `Unknow Error: ${code}`;\n }\n const err = new Error(message);\n return Object.assign(err, {\n code,\n appCode,\n detail,\n name,\n });\n};\n","import d from 'debug';\nimport WebSocketPlus, {\n OPEN,\n DISCONNECT,\n RECONNECT,\n RETRY,\n SCHEDULE,\n OFFLINE,\n ONLINE,\n ERROR,\n MESSAGE,\n} from './websocket-plus';\nimport { createError } from './error';\nimport { GenericCommand, CommandType } from '../proto/message';\nimport { trim, isWeapp } from './utils';\n\nconst debug = d('LC:Connection');\n\nconst COMMAND_TIMEOUT = 20000;\n\nconst EXPIRE = Symbol('expire');\n\nexport {\n OPEN,\n DISCONNECT,\n RECONNECT,\n RETRY,\n SCHEDULE,\n OFFLINE,\n ONLINE,\n ERROR,\n MESSAGE,\n EXPIRE,\n};\n\nexport default class Connection extends WebSocketPlus {\n constructor(getUrl, { format, version }) {\n debug('initializing Connection');\n const protocolString = `lc.${format}.${version}`;\n if (!isWeapp) {\n super(getUrl, protocolString);\n } else {\n super(\n getUrl().then(urls =>\n urls.map(\n url =>\n `${url}${\n url.indexOf('?') === -1 ? '?' : '&'\n }subprotocol=${encodeURIComponent(protocolString)}`\n )\n )\n );\n }\n this._protocalFormat = format;\n this._commands = {};\n this._serialId = 0;\n }\n\n async send(command, waitingForRespond = true) {\n let serialId;\n if (waitingForRespond) {\n this._serialId += 1;\n serialId = this._serialId;\n command.i = serialId; // eslint-disable-line no-param-reassign\n }\n if (debug.enabled) debug('↑ %O sent', trim(command));\n\n let message;\n if (this._protocalFormat === 'proto2base64') {\n message = command.toBase64();\n } else if (command.toArrayBuffer) {\n message = command.toArrayBuffer();\n }\n if (!message) {\n throw new TypeError(`${command} is not a GenericCommand`);\n }\n\n super.send(message);\n\n if (!waitingForRespond) return undefined;\n return new Promise((resolve, reject) => {\n this._commands[serialId] = {\n resolve,\n reject,\n timeout: setTimeout(() => {\n if (this._commands[serialId]) {\n if (debug.enabled) debug('✗ %O timeout', trim(command));\n reject(\n createError({\n error: `Command Timeout [cmd:${command.cmd} op:${command.op}]`,\n name: 'COMMAND_TIMEOUT',\n })\n );\n delete this._commands[serialId];\n }\n }, COMMAND_TIMEOUT),\n };\n });\n }\n\n handleMessage(msg) {\n let message;\n try {\n message = GenericCommand.decode(msg);\n if (debug.enabled) debug('↓ %O received', trim(message));\n } catch (e) {\n console.warn('Decode message failed:', e.message, msg);\n return;\n }\n const serialId = message.i;\n if (serialId) {\n if (this._commands[serialId]) {\n clearTimeout(this._commands[serialId].timeout);\n if (message.cmd === CommandType.error) {\n this._commands[serialId].reject(createError(message.errorMessage));\n } else {\n this._commands[serialId].resolve(message);\n }\n delete this._commands[serialId];\n } else {\n console.warn(`Unexpected command received with serialId [${serialId}],\n which have timed out or never been requested.`);\n }\n } else {\n switch (message.cmd) {\n case CommandType.error: {\n this.emit(ERROR, createError(message.errorMessage));\n return;\n }\n case CommandType.goaway: {\n this.emit(EXPIRE);\n return;\n }\n default: {\n this.emit(MESSAGE, message);\n }\n }\n }\n }\n\n ping() {\n return this.send(\n new GenericCommand({\n cmd: CommandType.echo,\n })\n ).catch(error => debug('ping failed:', error));\n }\n}\n","/* eslint-disable max-len */\n\n/**\n * 插件接口\n *\n * <p>\n * 插件是由一个或多个扩展点组成的字典。SDK 的扩展点可以分为两类:\n * <p>\n * 第一类扩展点是类实例化之后的回调,包括 <code>Realtime</code>、<code>IMClient</code> 与 <code>Conversation</code>。这些扩展点可以通过一个同步的 Decorator 进行扩展。Decorator 接受一个对应的实例并对其进行一些操作。\n * 特别的,由于注册自定义消息类这个需求特别的常用,额外定义一个 messageClasses 扩展点来做这件事情。\n * <p>\n * 第二类扩展点是在某些事件处理前、后可以注入逻辑的点。\n * 其中 <code>beforeMessageParse</code>,<code>afterMessageParse</code> 可以通过一个异步的 Middleware 进行扩展。Middleware 接受一个对象,返回一个同类型对象或同类型对象的 Promise。\n * <code>beforeMessageDispatch</code> 可以通过返回一个 boolean 类型的 shouldDispatch 值来控制是否要继续派发收到的消息。\n * <p>\n * 如果使用了多个插件,这些 hook 会按照插件数组的顺序依次执行。前一个 Middleware 的返回值会作为参数传给后一个 Middleware。\n *\n * @interface Plugin\n * @since 3.1.0\n */\n\n/* eslint-enable max-len */\n\n/**\n * 插件名称,用于在日志中显示异常的插件\n *\n * @name Plugin.name\n * @type string\n */\n\n/**\n * 插件注册的消息类型\n *\n * @name Plugin.messageClasses\n * @type AVMessage[]\n */\n\n/**\n * 在 Realtime 实例化后对其进行修饰。\n * <p>\n * 接受一个参数为 Realtime 实例。\n *\n * @name Plugin.onRealtimeCreate\n * @type Function\n */\n\n/**\n * 在 IMClient 实例化后对其进行修饰。\n * <p>\n * 接受一个参数为 IMClient 实例。\n *\n * @name Plugin.onIMClientCreate\n * @type Function\n */\n\n/**\n * 在 Conversation 实例化后对其进行修饰。\n * <p>\n * 接受一个参数为 Conversation 实例。\n * 需要注意的是,该扩展点并不是在 <code>{@link IMClient#createConversation}</code> 方法创建成功后调用的 hook,\n * 而是所有的 Conversation 实例化的时候(包括但不限于 query 时)调用的 hook。\n *\n * @name Plugin.onConversationCreate\n * @type Function\n */\n\n/**\n * 在对消息进行 parse 之前,对原始消息进行修改。\n * <p>\n * 接受一个参数为原始消息,是某个消息的内容,一般是一个 JSON 对象。\n * 该方法需要返回一个 JSON 对象。如果这个结果是异步得到的,也可以返回一个 Promise(fulfilled with a JSON)。\n *\n * @name Plugin.beforeMessageParse\n * @type Function\n */\n\n/**\n * 在对消息进行 parse 之后,对消息实例进行修改。\n * <p>\n * 接受一个参数为消息实例,一般是一个已注册的 Message 类或其子类的实例。\n * 该方法需要返回一个同类型的消息实例。如果这个结果是异步得到的,也可以返回一个 Promise。\n *\n * @name Plugin.afterMessageParse\n * @type Function\n */\n\n/**\n * 在收到消息之后,派发消息之前,控制是否派发这条消息。\n * <p>\n * 接受参数为 message 与 conversation。\n * 该方法需要返回 boolean 类型的值,如果返回 false 则 SDK 不再派发这条消息,后续的 beforeMessageDispatch 也不会执行。\n * 如果这个结果是异步得到的,也可以返回一个 Promise。\n *\n * @name Plugin.beforeMessageDispatch\n * @type Function\n * @since 3.4.0\n */\n\nimport { ensureArray, tap } from './utils';\n\nconst checkType = middleware => param => {\n const { constructor } = param;\n return Promise.resolve(param)\n .then(middleware)\n .then(\n tap(result => {\n if (result === undefined || result === null) {\n // eslint-disable-next-line max-len\n return console.warn(\n `Middleware[${middleware._pluginName ||\n 'anonymous plugin'}:${middleware.name ||\n 'anonymous middleware'}] param/return types not match. It returns ${result} while a ${\n param.constructor.name\n } expected.`\n );\n }\n if (!(result instanceof constructor)) {\n // eslint-disable-next-line max-len\n return console.warn(\n `Middleware[${middleware._pluginName ||\n 'anonymous plugin'}:${middleware.name ||\n 'anonymous middleware'}] param/return types not match. It returns a ${\n result.constructor.name\n } while a ${param.constructor.name} expected.`\n );\n }\n return 0;\n })\n );\n};\n\nexport const applyDecorators = (decorators, target) => {\n if (decorators) {\n decorators.forEach(decorator => {\n try {\n decorator(target);\n } catch (error) {\n if (decorator._pluginName) {\n error.message += `[${decorator._pluginName}]`;\n }\n throw error;\n }\n });\n }\n};\n\nexport const applyMiddlewares = middlewares => target =>\n ensureArray(middlewares).reduce(\n (previousPromise, middleware) =>\n previousPromise.then(checkType(middleware)).catch(error => {\n if (middleware._pluginName) {\n // eslint-disable-next-line no-param-reassign\n error.message += `[${middleware._pluginName}]`;\n }\n throw error;\n }),\n Promise.resolve(target)\n );\n\nexport const applyDispatcher = (dispatchers, payload) =>\n ensureArray(dispatchers).reduce(\n (resultPromise, dispatcher) =>\n resultPromise\n .then(\n shouldDispatch =>\n shouldDispatch === false ? false : dispatcher(...payload)\n )\n .catch(error => {\n if (dispatcher._pluginName) {\n // eslint-disable-next-line no-param-reassign\n error.message += `[${dispatcher._pluginName}]`;\n }\n throw error;\n }),\n Promise.resolve(true)\n );\n","import d from 'debug';\nimport EventEmitter from 'eventemitter3';\nimport superagent from 'superagent';\nimport shuffle from 'lodash/shuffle';\nimport Connection, {\n OPEN,\n DISCONNECT,\n RECONNECT,\n RETRY,\n SCHEDULE,\n OFFLINE,\n ONLINE,\n ERROR,\n MESSAGE,\n EXPIRE,\n} from './connection';\nimport { ErrorCode, createError } from './error';\nimport {\n tap,\n Cache,\n trim,\n internal,\n ensureArray,\n isWeapp,\n isCNApp,\n} from './utils';\nimport { applyDecorators, applyDispatcher } from './plugin';\nimport { version as VERSION } from '../package.json';\n\nconst debug = d('LC:Realtime');\nconst debugRequest = d('LC:request');\n\nconst routerCache = new Cache('push-router');\n\nexport default class Realtime extends EventEmitter {\n /**\n * @extends EventEmitter\n * @param {Object} options\n * @param {String} options.appId\n * @param {String} options.appKey (since 4.0.0)\n * @param {String|Object} [options.server] 指定服务器域名,中国节点应用此参数必填(since 4.0.0)\n * @param {Boolean} [options.pushOfflineMessages=false] 启用推送离线消息模式(默认为发送未读消息通知模式)\n * @param {Boolean} [options.noBinary=false] 设置 WebSocket 使用字符串格式收发消息(默认为二进制格式)。\n * 适用于 WebSocket 实现不支持二进制数据格式的情况\n * @param {Boolean} [options.ssl=true] 使用 wss 进行连接\n * @param {String|String[]} [options.RTMServers] 指定私有部署的 RTM 服务器地址(since 4.0.0)\n * @param {Plugin[]} [options.plugins] 加载插件(since 3.1.0)\n */\n constructor({ plugins, ...options }) {\n debug('initializing Realtime %s %O', VERSION, options);\n super();\n if (typeof options.appId !== 'string') {\n throw new TypeError(`appId [${options.appId}] is not a string`);\n }\n if (typeof options.appKey !== 'string') {\n throw new TypeError(`appKey [${options.appKey}] is not a string`);\n }\n if (isCNApp(options.appId)) {\n if (!options.server) {\n throw new TypeError(\n `server option is required for apps from CN region`\n );\n }\n }\n this._options = Object.assign(\n {\n appId: undefined,\n appKey: undefined,\n pushOfflineMessages: false,\n noBinary: false,\n ssl: true,\n RTMServerName: process.env.RTM_SERVER_NAME, // undocumented on purpose, internal use only\n },\n options\n );\n this._cache = new Cache('endpoints');\n const _this = internal(this);\n _this.clients = new Set();\n _this.pendingClients = new Set();\n const mergedPlugins = [\n ...ensureArray(Realtime.__preRegisteredPlugins),\n ...ensureArray(plugins),\n ];\n debug('Using plugins %o', mergedPlugins.map(plugin => plugin.name));\n this._plugins = mergedPlugins.reduce((result, plugin) => {\n // eslint-disable-next-line no-restricted-syntax\n for (const hook in plugin) {\n if ({}.hasOwnProperty.call(plugin, hook) && hook !== 'name') {\n if (plugin.name) {\n ensureArray(plugin[hook]).forEach(value => {\n // eslint-disable-next-line no-param-reassign\n value._pluginName = plugin.name;\n });\n }\n // eslint-disable-next-line no-param-reassign\n result[hook] = ensureArray(result[hook]).concat(plugin[hook]);\n }\n }\n return result;\n }, {});\n // onRealtimeCreate hook\n applyDecorators(this._plugins.onRealtimeCreate, this);\n }\n\n async _request({ method, version = '1.1', path, query, headers, data = {} }) {\n const { appId, server } = this._options;\n const { api } = await this.constructor._getServerUrls({\n appId,\n server,\n });\n const url = `${api}/${version}${path}`;\n debugRequest('Req: %O %O %O', method, url, { query, headers, data });\n return superagent(method, url)\n .set({\n 'X-LC-Id': this._options.appId,\n 'X-LC-Key': this._options.appKey,\n ...headers,\n })\n .query(query)\n .send(data)\n .then(\n response => {\n debugRequest('Res: %O %O %O', url, response.status, response.body);\n return response.body;\n },\n error => {\n debugRequest(\n 'Error: %O %O %O',\n url,\n error.response.status,\n error.response.body\n );\n if (\n error.response &&\n error.response.body &&\n error.response.body.code\n ) {\n throw createError(error.response.body);\n }\n throw error;\n }\n );\n }\n\n _open() {\n if (this._openPromise) return this._openPromise;\n\n let format = 'protobuf2';\n if (this._options.noBinary) {\n // 不发送 binary data,fallback to base64 string\n format = 'proto2base64';\n }\n let version = 3;\n if (this._options.pushOfflineMessages) {\n // 不推送离线消息,而是发送对话的未读通知\n version = 1;\n }\n const protocol = {\n format,\n version,\n };\n this._openPromise = new Promise((resolve, reject) => {\n debug('No connection established, create a new one.');\n const connection = new Connection(\n () => this._getRTMServers(this._options),\n protocol\n );\n connection\n .on(OPEN, () => resolve(connection))\n .on(ERROR, reject)\n .on(EXPIRE, async () => {\n debug('Connection expired. Refresh endpoints.');\n this._cache.set('endpoints', null, 0);\n connection.urls = await this._getRTMServers(this._options);\n connection.disconnect();\n })\n .on(MESSAGE, this._dispatchCommand.bind(this));\n /**\n * 连接断开。\n * 连接断开可能是因为 SDK 进入了离线状态(see {@link Realtime#event:OFFLINE}),或长时间没有收到服务器心跳。\n * 连接断开后所有的网络操作都会失败,请在连接断开后禁用相关的 UI 元素。\n * @event Realtime#DISCONNECT\n */\n /**\n * 计划在一段时间后尝试重新连接\n * @event Realtime#SCHEDULE\n * @param {Number} attempt 尝试重连的次数\n * @param {Number} delay 延迟的毫秒数\n */\n /**\n * 正在尝试重新连接\n * @event Realtime#RETRY\n * @param {Number} attempt 尝试重连的次数\n */\n /**\n * 连接恢复正常。\n * 请重新启用在 {@link Realtime#event:DISCONNECT} 事件中禁用的相关 UI 元素\n * @event Realtime#RECONNECT\n */\n\n /**\n * 客户端连接断开\n * @event IMClient#DISCONNECT\n * @see Realtime#event:DISCONNECT\n * @since 3.2.0\n */\n /**\n * 计划在一段时间后尝试重新连接\n * @event IMClient#SCHEDULE\n * @param {Number} attempt 尝试重连的次数\n * @param {Number} delay 延迟的毫秒数\n * @since 3.2.0\n */\n /**\n * 正在尝试重新连接\n * @event IMClient#RETRY\n * @param {Number} attempt 尝试重连的次数\n * @since 3.2.0\n */\n\n /**\n * 客户端进入离线状态。\n * 这通常意味着网络已断开,或者 {@link Realtime#pause} 被调用\n * @event Realtime#OFFLINE\n * @since 3.4.0\n */\n /**\n * 客户端恢复在线状态\n * 这通常意味着网络已恢复,或者 {@link Realtime#resume} 被调用\n * @event Realtime#ONLINE\n * @since 3.4.0\n */\n /**\n * 进入离线状态。\n * 这通常意味着网络已断开,或者 {@link Realtime#pause} 被调用\n * @event IMClient#OFFLINE\n * @since 3.4.0\n */\n /**\n * 恢复在线状态\n * 这通常意味着网络已恢复,或者 {@link Realtime#resume} 被调用\n * @event IMClient#ONLINE\n * @since 3.4.0\n */\n\n // event proxy\n [DISCONNECT, RECONNECT, RETRY, SCHEDULE, OFFLINE, ONLINE].forEach(event =>\n connection.on(event, (...payload) => {\n debug(`${event} event emitted. %o`, payload);\n this.emit(event, ...payload);\n if (event !== RECONNECT) {\n internal(this).clients.forEach(client => {\n client.emit(event, ...payload);\n });\n }\n })\n );\n // override handleClose\n connection.handleClose = function handleClose(event) {\n const isFatal = [\n ErrorCode.APP_NOT_AVAILABLE,\n ErrorCode.INVALID_LOGIN,\n ErrorCode.INVALID_ORIGIN,\n ].some(errorCode => errorCode === event.code);\n if (isFatal) {\n // in these cases, SDK should throw.\n this.throw(createError(event));\n } else {\n // reconnect\n this.disconnect();\n }\n };\n internal(this).connection = connection;\n });\n\n return this._openPromise;\n }\n\n async _getRTMServers(options) {\n if (options.RTMServers) return shuffle(ensureArray(options.RTMServers));\n let info;\n const cachedEndPoints = this._cache.get('endpoints');\n if (cachedEndPoints) {\n info = await cachedEndPoints;\n } else {\n info = await this.constructor._fetchRTMServers(options);\n this._cache.set('endpoints', info, info.ttl * 1000);\n }\n debug('endpoint info: %O', info);\n return [info.server, info.secondary];\n }\n\n static async _getServerUrls({ appId, server }) {\n debug('fetch server urls');\n if (server) {\n if (typeof server !== 'string') return server;\n return {\n RTMRouter: server,\n api: server,\n };\n }\n const cachedRouter = routerCache.get(appId);\n if (cachedRouter) return cachedRouter;\n const defaultProtocol = 'https://';\n return superagent\n .get('https://app-router.com/2/route')\n .query({\n appId,\n })\n .timeout(20000)\n .then(res => res.body)\n .then(tap(debug))\n .then(\n ({\n rtm_router_server: RTMRouterServer,\n api_server: APIServer,\n ttl = 3600,\n }) => {\n if (!RTMRouterServer) {\n throw new Error('rtm router not exists');\n }\n const serverUrls = {\n RTMRouter: `${defaultProtocol}${RTMRouterServer}`,\n api: `${defaultProtocol}${APIServer}`,\n };\n routerCache.set(appId, serverUrls, ttl * 1000);\n return serverUrls;\n }\n )\n .catch(() => {\n const id = appId.slice(0, 8).toLowerCase();\n const domain = 'lncldglobal.com';\n return {\n RTMRouter: `${defaultProtocol}${id}.rtm.${domain}`,\n api: `${defaultProtocol}${id}.api.${domain}`,\n };\n });\n }\n\n static _fetchRTMServers({ appId, ssl, server, RTMServerName }) {\n debug('fetch endpoint info');\n return this._getServerUrls({ appId, server })\n .then(tap(debug))\n .then(({ RTMRouter }) =>\n superagent\n .get(`${RTMRouter}/v1/route`)\n .query({\n appId,\n secure: ssl,\n features: isWeapp ? 'wechat' : undefined,\n server: RTMServerName,\n _t: Date.now(),\n })\n .timeout(20000)\n .then(res => res.body)\n .then(tap(debug))\n );\n }\n\n _close() {\n if (this._openPromise) {\n this._openPromise.then(connection => connection.close());\n }\n delete this._openPromise;\n }\n\n /**\n * 手动进行重连。\n * SDK 在网络出现异常时会自动按照一定的时间间隔尝试重连,调用该方法会立即尝试重连并重置重连尝试计数器。\n * 只能在 `SCHEDULE` 事件之后,`RETRY` 事件之前调用,如果当前网络正常或者正在进行重连,调用该方法会抛异常。\n */\n retry() {\n const { connection } = internal(this);\n if (!connection) {\n throw new Error('no connection established');\n }\n if (connection.cannot('retry')) {\n throw new Error(\n `retrying not allowed when not disconnected. the connection is now ${\n connection.current\n }`\n );\n }\n return connection.retry();\n }\n\n /**\n * 暂停,使 SDK 进入离线状态。\n * 你可以在网络断开、应用进入后台等时刻调用该方法让 SDK 进入离线状态,离线状态下不会尝试重连。\n * 在浏览器中 SDK 会自动监听网络变化,因此无需手动调用该方法。\n *\n * @since 3.4.0\n * @see Realtime#event:OFFLINE\n */\n pause() {\n // 这个方法常常在网络断开、进入后台时被调用,此时 connection 可能没有建立或者已经 close。\n // 因此不像 retry,这个方法应该尽可能 loose\n const { connection } = internal(this);\n if (!connection) return;\n if (connection.can('pause')) connection.pause();\n }\n\n /**\n * 恢复在线状态。\n * 你可以在网络恢复、应用回到前台等时刻调用该方法让 SDK 恢复在线状态,恢复在线状态后 SDK 会开始尝试重连。\n *\n * @since 3.4.0\n * @see Realtime#event:ONLINE\n */\n resume() {\n // 与 pause 一样,这个方法应该尽可能 loose\n const { connection } = internal(this);\n if (!connection) return;\n if (connection.can('resume')) connection.resume();\n }\n\n _registerPending(value) {\n internal(this).pendingClients.add(value);\n }\n\n _deregisterPending(client) {\n internal(this).pendingClients.delete(client);\n }\n\n _register(client) {\n internal(this).clients.add(client);\n }\n\n _deregister(client) {\n const _this = internal(this);\n _this.clients.delete(client);\n if (_this.clients.size + _this.pendingClients.size === 0) {\n this._close();\n }\n }\n\n _dispatchCommand(command) {\n return applyDispatcher(this._plugins.beforeCommandDispatch, [\n command,\n this,\n ]).then(shouldDispatch => {\n // no plugin handled this command\n if (shouldDispatch)\n return debug('[WARN] Unexpected message received: %O', trim(command));\n return false;\n });\n }\n}\n","import './polyfills/polyfills';\nimport * as Protocals from '../proto/message';\n\nexport { Protocals };\n\nexport { default as EventEmitter } from 'eventemitter3';\n\nconst polyfilledPromise = Promise;\nexport { polyfilledPromise as Promise };\n\nexport {\n /**\n * @name Realtime\n * @memberof module:leancloud-realtime\n * @see Realtime\n */\n default as Realtime,\n} from './realtime';\n\nexport { debug } from './utils';\n"],"names":["module","require","newBuilder","package","syntax","options","objc_class_prefix","messages","name","fields","rule","type","id","default","enums","values","isNamespace","build","push_server","messages2","JsonObjectMessage","UnreadTuple","LogItem","DataCommand","SessionCommand","ErrorCommand","DirectCommand","AckCommand","UnreadCommand","ConvCommand","RoomCommand","LogsCommand","RcpCommand","ReadTuple","MaxReadTuple","ReadCommand","PresenceCommand","ReportCommand","GenericCommand","BlacklistCommand","PatchCommand","PatchItem","ConvMemberInfo","CommandType","OpType","StatusType","global","window","EXPIRED","Symbol","debug","d","Expirable","value","ttl","originalValue","expiredAt","Date","now","expired","Cache","_map","get","key","cache","set","enable","namespaces","disable","tryAll","promiseConstructors","promise","Promise","length","catch","slice","tap","interceptor","isIE10","navigator","userAgent","indexOf","map","WeakMap","internal","object","has","compact","obj","filter","isPlainObject","Object","assign","prop","hasOwnProperty","call","removeNull","trim","message","JSON","parse","stringify","ensureArray","target","Array","isArray","undefined","isWeapp","wx","connectSocket","isCNApp","appId","OPEN","DISCONNECT","RECONNECT","RETRY","SCHEDULE","OFFLINE","ONLINE","ERROR","MESSAGE","HEARTBEAT_TIME","TIMEOUT_TIME","DEFAULT_RETRY_STRATEGY","attempt","Math","min","requireConnected","descriptor","requireConnectedWrapper","checkConnectionAvailability","args","WebSocketPlus","_urls","urls","getUrls","protocol","WebSocket","Error","init","_protocol","resolve","then","_open","__postponeTimeoutTimer","_postponeTimeoutTimer","bind","addEventListener","__pause","can","pause","__resume","resume","open","throw","_createWs","ws","first","reset","url","reject","binaryType","onopen","onclose","error","onerror","_ws","_handleClose","onmessage","_handleMessage","_destroyWs","close","onbeforeevent","event","from","to","payload","emit","onconnected","_startConnectionKeeper","onleaveconnected","_stopConnectionKeeper","onpause","onbeforeresume","onreconnect","ondisconnected","delay","__scheduledRetry","clearTimeout","setTimeout","is","retry","onretry","reconnect","fail","removeEventListener","currentState","current","console","warn","_ping","ping","_clearTimeoutTimers","_timeoutTimer","disconnect","_heartbeatTimer","setInterval","addListener","removeListener","clearInterval","code","reason","isFinished","handleClose","send","data","handleMessage","EventEmitter","StateMachine","create","prototype","initial","state","defer","terminal","events","freeze","ErrorCode","keys","reduce","result","Number","createError","appCode","detail","errorMessage","err","COMMAND_TIMEOUT","EXPIRE","Connection","getUrl","format","version","protocolString","encodeURIComponent","_protocalFormat","_commands","_serialId","command","waitingForRespond","serialId","i","enabled","toBase64","toArrayBuffer","TypeError","timeout","cmd","op","msg","decode","e","goaway","echo","applyDecorators","decorators","forEach","decorator","_pluginName","applyDispatcher","dispatchers","resultPromise","dispatcher","shouldDispatch","debugRequest","routerCache","Realtime","plugins","VERSION","appKey","server","_options","pushOfflineMessages","noBinary","ssl","RTMServerName","process","env","RTM_SERVER_NAME","_cache","_this","clients","Set","pendingClients","mergedPlugins","__preRegisteredPlugins","plugin","_plugins","hook","concat","onRealtimeCreate","_request","method","path","query","headers","constructor","_getServerUrls","api","superagent","response","status","body","_openPromise","connection","_getRTMServers","on","_dispatchCommand","client","isFatal","APP_NOT_AVAILABLE","INVALID_LOGIN","INVALID_ORIGIN","some","errorCode","RTMServers","shuffle","cachedEndPoints","info","_fetchRTMServers","secondary","RTMRouter","cachedRouter","defaultProtocol","res","RTMRouterServer","rtm_router_server","APIServer","api_server","serverUrls","toLowerCase","domain","secure","features","_t","_close","cannot","_registerPending","add","_deregisterPending","delete","_register","_deregister","size","beforeCommandDispatch","polyfilledPromise"],"mappings":"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"}
\No newline at end of file