UNPKG

rn-webim-chat

Version:

Webim chat wrapper for React-Native. Supports Android and iOS. Fixed issues for native platforms build that are present in the official package.

195 lines (194 loc) 7.53 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _exportNames = { RNWebim: true }; exports.default = exports.RNWebim = void 0; var _reactNative = require("react-native"); var _types = require("./types"); Object.keys(_types).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === _types[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function () { return _types[key]; } }); }); var _utils = require("./utils"); Object.keys(_utils).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === _utils[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function () { return _utils[key]; } }); }); var _webimNativeError = require("./webimNativeError"); Object.keys(_webimNativeError).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === _webimNativeError[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function () { return _webimNativeError[key]; } }); }); const LINKING_ERROR = `The package 'rn-webim-chat' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({ ios: "- You have run 'pod install'\n", default: '' }) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n'; const RnWebimChat = _reactNative.NativeModules.RnWebimChat ? _reactNative.NativeModules.RnWebimChat : new Proxy({}, { get() { throw new Error(LINKING_ERROR); } }); const emitter = new _reactNative.NativeEventEmitter(RnWebimChat); const DEFAULT_MESSAGES_LIMIT = 100; class RNWebim { static initSession(params) { return RnWebimChat.initSession(params).catch(_utils.webimErrorHandler).then(() => { return; }); } static resumeSession() { return RnWebimChat.resumeSession().catch(_utils.webimErrorHandler).then(() => { return; }); } static pauseSession() { return RnWebimChat.pauseSession(); } static destroySession() { let clearData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; return RnWebimChat.destroySession(clearData).catch(_utils.webimErrorHandler).then(() => { return; }); } static getLastMessages() { let limit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_MESSAGES_LIMIT; return RnWebimChat.getLastMessages(limit).catch(_utils.webimErrorHandler).then(messages => { return messages || []; }); } static getNextMessages() { let limit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_MESSAGES_LIMIT; return RnWebimChat.getNextMessages(limit).catch(_utils.webimErrorHandler).then(messages => { return messages || []; }); } static getAllMessages() { return RnWebimChat.getAllMessages().catch(_utils.webimErrorHandler).then(messages => { return messages || []; }); } static send(message) { return RnWebimChat.send(message).catch(_utils.webimErrorHandler).then(id => { return id; }); } static readMessages() { return RnWebimChat.readMessages().catch(_utils.webimErrorHandler).then(() => { return; }); } static rateOperator(rate) { return RnWebimChat.rateOperator(rate).catch(_utils.webimErrorHandler).then(() => { return; }); } static getCurrentOperator() { return RnWebimChat.getCurrentOperator().catch(_utils.webimErrorHandler).then(result => { return result; }); } static tryAttachFile() { return new Promise((resolve, reject) => { RnWebimChat.tryAttachFile(error => reject((0, _utils.webimErrorHandler)(error, false)), result => resolve(result)); }); } static sendFile(uri, name, mime, extension) { return new Promise((resolve, reject) => RnWebimChat.sendFile(uri, name, mime, extension, error => reject((0, _utils.webimErrorHandler)(error, false)), result => resolve(result))); } static tryAttachAndSendFile() { return new Promise((resolve, reject) => { RnWebimChat.tryAttachFile(error => reject((0, _utils.webimErrorHandler)(error, false)), async file => { const { uri, name, mime, extension } = file; try { const result = await RNWebim.sendFile(uri, name, mime, extension); resolve(result); } catch (e) { reject((0, _utils.webimErrorHandler)(e, false)); } }); }); } static addTypingListener(listener) { const subscription = emitter.addListener(_types.WebimEvents.TYPING, listener); return new _utils.WebimSubscription(() => RNWebim.removeListener(subscription)); } static addFileUploadingListener(listener) { const subscription = emitter.addListener(_types.WebimEvents.FILE_UPLOADING_PROGRESS, listener); return new _utils.WebimSubscription(() => RNWebim.removeListener(subscription)); } static addUnreadCountListener(listener) { const subscription = emitter.addListener(_types.WebimEvents.UNREAD_COUNTER, listener); return new _utils.WebimSubscription(() => RNWebim.removeListener(subscription)); } static addNewMessageListener(listener) { const subscription = emitter.addListener(_types.WebimEvents.NEW_MESSAGE, listener); return new _utils.WebimSubscription(() => RNWebim.removeListener(subscription)); } static addRemoveMessageListener(listener) { const subscription = emitter.addListener(_types.WebimEvents.REMOVE_MESSAGE, listener); return new _utils.WebimSubscription(() => RNWebim.removeListener(subscription)); } static addEditMessageListener(listener) { const subscription = emitter.addListener(_types.WebimEvents.EDIT_MESSAGE, listener); return new _utils.WebimSubscription(() => RNWebim.removeListener(subscription)); } static addDialogClearedListener(listener) { const subscription = emitter.addListener(_types.WebimEvents.CLEAR_DIALOG, listener); return new _utils.WebimSubscription(() => RNWebim.removeListener(subscription)); } static addTokenUpdatedListener(listener) { const subscription = emitter.addListener(_types.WebimEvents.TOKEN_UPDATED, listener); return new _utils.WebimSubscription(() => RNWebim.removeListener(subscription)); } static addErrorListener(listener) { const subscription = emitter.addListener(_types.WebimEvents.ERROR, listener); return new _utils.WebimSubscription(() => RNWebim.removeListener(subscription)); } static addSateListener(listener) { const subscription = emitter.addListener(_types.WebimEvents.STATE, listener); return new _utils.WebimSubscription(() => RNWebim.removeListener(subscription)); } static addListener(event, listener) { const subscription = emitter.addListener(event, listener); return new _utils.WebimSubscription(() => RNWebim.removeListener(subscription)); } static removeListener(listener) { emitter.removeSubscription(listener); } static removeAllListeners(event) { emitter.removeAllListeners(event); } } exports.RNWebim = RNWebim; var _default = RNWebim; exports.default = _default; //# sourceMappingURL=index.js.map