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
JavaScript
;
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