UNPKG

nativescript-pubnub

Version:
793 lines 33 kB
"use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; var common = require('./pubnub.common'); var helper = require('./helpers/jsonHelper'); var PubNub = (function (_super) { __extends(PubNub, _super); function PubNub() { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i - 0] = arguments[_i]; } _super.call(this); if (args.length > 1) { this.pubKey = args[0]; this.subKey = args[1]; } var enableSSL; var secretKey; var cipherKey; var iv; switch (arguments.length) { case 1: this.pubnub = args[0]; break; case 2: if (typeof this.pubKey === 'string' && typeof this.subKey === 'string') { this.pubnub = new com.pubnub.api.Pubnub(this.pubKey, this.subKey); } break; case 3: if (typeof arguments[2] === 'boolean') { enableSSL = args[2]; this.pubnub = new com.pubnub.api.Pubnub(this.pubKey, this.subKey, enableSSL); } else if (typeof arguments[2] === 'string') { secretKey = args[2]; this.pubnub = new com.pubnub.api.Pubnub(this.pubKey, this.subKey, secretKey); } break; case 4: secretKey = args[2]; enableSSL = args[3]; this.pubnub = new com.pubnub.api.Pubnub(this.pubKey, this.subKey, secretKey, enableSSL); break; case 5: secretKey = args[2]; cipherKey = args[3]; enableSSL = args[4]; this.pubnub = new com.pubnub.api.Pubnub(this.pubKey, this.subKey, secretKey, cipherKey, enableSSL); break; case 6: secretKey = args[2]; cipherKey = args[3]; enableSSL = args[4]; iv = args[5]; this.pubnub = new com.pubnub.api.Pubnub(this.pubKey, this.subKey, secretKey, cipherKey, enableSSL, iv); break; } } ; PubNub.prototype.subscribe = function () { var _this = this; var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i - 0] = arguments[_i]; } var channels; var channel; var timetoken; return new Promise(function (resolve, reject) { var _cb = com.pubnub.api.Callback.extend({ connectCallback: function (channel, message) { resolve({ type: 'connect', channel: channel, message: helper.deserialize(message) }); }, disconnectCallback: function (channel, message) { resolve({ type: 'disconnect', channel: channel, message: helper.deserialize(message) }); }, reconnectCallback: function (channel, message) { resolve({ type: 'reconnect', channel: channel, message: helper.deserialize(message) }); }, successCallback: function (channel, message) { resolve({ type: 'success', channel: channel, message: helper.deserialize(message) }); }, errorCallback: function (channel, message) { console.log(message.toString()); reject({ type: 'error', channel: channel, message: helper.deserialize(message) }); } }); switch (args.length) { case 1: if (typeof args[0] === 'string') { channel = args[0]; _this.pubnub.subscribe(channel, new _cb()); } else if (Array.isArray(args[0])) { channels = Array.create(java.lang.String, args[0].length); args[0].forEach(function (item, key) { channels[key] = item; }); _this.pubnub.subscribe(channels, new _cb()); } break; case 2: timetoken = args[1]; if (typeof args[1] === 'number') { channel = args[0]; _this.pubnub.subscribe(channel, new _cb(), timetoken); } else if (typeof args[1] === 'string') { channel = args[0]; _this.pubnub.subscribe(channel, new _cb(), timetoken); } else if (Array.isArray(args[0]) && typeof args[1] === 'string') { channels = Array.create(java.lang.String, args[0].length); args[0].forEach(function (item, key) { channels[key] = item; }); _this.pubnub.subscribe(channels, new _cb(), timetoken); } else if (Array.isArray(args[0]) && typeof args[1] === 'number') { channels = Array.create(java.lang.String, args[0].length); args[0].forEach(function (item, key) { channels[key] = item; }); _this.pubnub.subscribe(channels, new _cb(), timetoken); } break; } }); }; ; PubNub.prototype.publish = function () { var _this = this; var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i - 0] = arguments[_i]; } var channel = args[0]; var message = helper.serialize(args[1]); return new Promise(function (resolve, reject) { var _cb = com.pubnub.api.Callback.extend({ successCallback: function (channel, message) { resolve({ type: 'success', channel: channel, message: helper.deserialize(message) }); }, errorCallback: function (channel, message) { reject({ type: 'error', channel: channel, message: helper.deserialize(message) }); } }); switch (args.length) { case 2: _this.pubnub.publish(channel, message, new _cb()); break; case 3: if (typeof args[2] === 'object') { var metadata_1 = helper.serialize(args[2]); _this.pubnub.publish(channel, message, metadata_1, new _cb()); } else if (typeof args[2] === 'boolean') { var storeInHistory_1 = args[2]; _this.pubnub.publish(channel, message, storeInHistory_1, new _cb()); } break; case 4: var metadata = helper.serialize(args[3]); var storeInHistory = args[2]; _this.pubnub.publish(channel, message, storeInHistory, metadata, new _cb()); break; } }); }; ; PubNub.prototype.time = function () { var _this = this; return new Promise(function (resolve, reject) { var _cb = com.pubnub.api.Callback.extend({ successCallback: function (channel, message) { resolve({ type: 'success', channel: channel, message: helper.deserialize(message) }); }, errorCallback: function (channel, message) { resolve({ type: 'error', channel: channel, message: helper.deserialize(message) }); } }); _this.pubnub.time(new _cb()); }); }; ; PubNub.prototype.unsubscribe = function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i - 0] = arguments[_i]; } var channel; var channels; if (Array.isArray(args[0])) { channels = Array.create(java.lang.String, args[0].length); args[0].forEach(function (item, key) { channels[key] = item; }); this.pubnub.unsubscribe(channels); } else if (typeof args[0] === 'string') { channel = args[0]; this.pubnub.unsubscribe(channel); } }; ; PubNub.prototype.unsubscribeAll = function () { this.pubnub.unsubscribeAll(); }; ; PubNub.prototype.globalHereNow = function () { var _this = this; return new Promise(function (resolve, reject) { var _cb = com.pubnub.api.Callback.extend({ successCallback: function (channel, message) { resolve({ type: 'success', channel: channel, message: helper.deserialize(message) }); }, errorCallback: function (channel, message) { reject({ type: 'error', channel: channel, message: helper.deserialize(message) }); } }); _this.pubnub.hereNow(true, true, new _cb()); }); }; ; PubNub.prototype.hereNow = function () { var _this = this; var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i - 0] = arguments[_i]; } var channel; var state; var disable_uuids; return new Promise(function (resolve, reject) { var _cb = com.pubnub.api.Callback.extend({ successCallback: function (channel, message) { resolve({ type: 'success', channel: channel, message: helper.deserialize(message) }); }, errorCallback: function (channel, message) { reject({ type: 'error', channel: channel, message: helper.deserialize(message) }); } }); switch (args.length) { case 1: channel = args[0]; _this.pubnub.hereNow(channel, new _cb()); break; case 2: state = args[0]; disable_uuids = args[1]; _this.pubnub.hereNow(state, disable_uuids, new _cb()); break; case 3: channel = args[0]; state = args[1]; disable_uuids = args[2]; _this.pubnub.hereNow(channel, state, disable_uuids, new _cb()); break; } }); }; ; PubNub.prototype.whereNow = function () { var _this = this; var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i - 0] = arguments[_i]; } var uuid; return new Promise(function (resolve, reject) { var _cb = com.pubnub.api.Callback.extend({ successCallback: function (channel, message) { resolve({ type: 'success', channel: channel, message: helper.deserialize(message) }); }, errorCallback: function (channel, message) { reject({ type: 'error', channel: channel, message: helper.deserialize(message) }); } }); switch (args.length) { case 1: uuid = args[0]; _this.pubnub.whereNow(uuid, new _cb()); break; default: _this.pubnub.whereNow(new _cb()); break; } }); }; ; PubNub.prototype.presence = function (channel) { var _this = this; return new Promise(function (resolve, reject) { var _cb = com.pubnub.api.Callback.extend({ connectCallback: function (channel, message) { resolve({ type: 'connect', channel: channel, message: helper.deserialize(message) }); }, disconnectCallback: function (channel, message) { resolve({ type: 'disconnect', channel: channel, message: helper.deserialize(message) }); }, reconnectCallback: function (channel, message) { resolve({ type: 'reconnect', channel: channel, message: helper.deserialize(message) }); }, successCallback: function (channel, message) { resolve({ type: 'success', channel: channel, message: helper.deserialize(message) }); }, errorCallback: function (channel, message) { reject({ type: 'error', channel: channel, message: helper.deserialize(message) }); } }); _this.pubnub.presence(channel, new _cb()); }); }; ; PubNub.prototype.uuid = function () { return this.pubnub.uuid(); }; ; PubNub.prototype.getUUID = function () { return this.pubnub.getUUID(); }; ; PubNub.prototype.setUUID = function (uuid) { this.pubnub.setUUID(uuid); }; ; PubNub.prototype.setAuthKey = function (key) { this.pubnub.setAuthKey(key); }; ; PubNub.prototype.getAuthKey = function () { return this.pubnub.getAuthKey(); }; ; PubNub.prototype.unsetAuthKey = function () { this.pubnub.unsetAuthKey(); }; ; PubNub.prototype.setFilter = function (filter) { this.pubnub.filer(filter); }; ; PubNub.prototype.getFilter = function () { return this.pubnub.getFilter(); }; ; PubNub.prototype.getState = function (channel, uuid) { var _this = this; return new Promise(function (resolve, reject) { var _cb = com.pubnub.api.Callback.extend({ successCallback: function (channel, message) { resolve({ type: 'success', channel: channel, message: helper.deserialize(message) }); }, errorCallback: function (channel, message) { reject({ type: 'error', channel: channel, message: helper.deserialize(message) }); } }); _this.pubnub.getState(channel, uuid, new _cb()); }); }; ; PubNub.prototype.setState = function (channel, uuid, state) { var _this = this; return new Promise(function (resolve, reject) { if (typeof state === 'object' && Boolean(state)) { var _cb = com.pubnub.api.Callback.extend({ successCallback: function (channel, message) { resolve({ type: 'success', channel: channel, message: helper.deserialize(message) }); }, errorCallback: function (channel, message) { reject({ type: 'error', channel: channel, message: helper.deserialize(message) }); } }); var _state = helper.serialize(state); _this.pubnub.setState(channel, uuid, _state, new _cb()); } }); }; ; PubNub.prototype.history = function () { var _this = this; var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i - 0] = arguments[_i]; } var channel = args[0]; var start; var end; var count; var reverse; var includeTimetoken; return new Promise(function (resolve, reject) { var _cb = com.pubnub.api.Callback.extend({ successCallback: function (channel, message) { resolve({ type: 'success', channel: channel, message: helper.deserialize(message) }); }, errorCallback: function (channel, message) { reject({ type: 'error', channel: channel, message: helper.deserialize(message) }); } }); switch (args.length) { case 2: if (typeof args[1] === 'number') { count = args[1]; _this.pubnub.history(channel, count, new _cb()); } else if (typeof args[1] === 'boolean') { reverse = args[1]; _this.pubnub.history(channel, reverse, new _cb()); } break; case 3: if ((typeof args[1] === 'number' && args[1] > 100) && (typeof args[2] === 'number' && args[2] > 100)) { start = args[1]; end = args[2]; _this.pubnub.history(channel, start, end, new _cb()); } else if ((typeof args[1] === 'number' && args[1] > 100) && (typeof args[2] === 'number' && args[2] <= 100)) { start = args[1]; count = args[2]; _this.pubnub.history(channel, start, count, new _cb()); } else if ((typeof args[1] === 'number' && args[1] > 100) && typeof args[2] === 'boolean') { start = args[1]; reverse = args[2]; _this.pubnub.history(channel, start, reverse, new _cb()); } else if ((typeof args[1] === 'number' && args[1] <= 100) && typeof args[2] === 'boolean') { count = args[1]; reverse = args[2]; _this.pubnub.history(channel, count, reverse, new _cb()); } else if (typeof args[1] === 'boolean') { includeTimetoken = args[1]; count = args[2]; _this.pubnub.history(channel, includeTimetoken, count, new _cb()); } break; case 4: if ((typeof args[2] === 'number' && args[1] <= 100) && typeof args[3] === 'boolean') { start = args[1]; count = args[2]; reverse = args[3]; _this.pubnub.history(channel, start, count, reverse, new _cb()); } else if ((typeof args[2] === 'number' && args[1] > 100) && (typeof args[1] === 'number' && args[3] <= 100)) { start = args[1]; end = args[2]; count = args[3]; _this.pubnub.history(channel, start, end, count, new _cb()); } break; case 6: start = args[1]; end = args[2]; count = args[3]; reverse = args[4]; includeTimetoken = args[5]; _this.pubnub.history(channel, start, end, count, reverse, includeTimetoken, new _cb()); break; } }); }; ; PubNub.prototype.setHeartbeat = function (beat) { this.pubnub.setHeartbeat(beat); }; ; PubNub.prototype.setHeartbeatInterval = function (beatInt) { this.pubnub.setHeartbeatInterval(beatInt); }; ; PubNub.prototype.setResumeOnReconnect = function (value) { this.pubnub.setResumeOnReconnect(value); }; ; PubNub.prototype.channelGroupAddChannel = function () { var _this = this; var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i - 0] = arguments[_i]; } var group = args[0]; var channel; var channels; return new Promise(function (resolve, reject) { var _cb = com.pubnub.api.Callback.extend({ successCallback: function (channel, message) { resolve({ type: 'success', channel: channel, message: helper.deserialize(message) }); }, errorCallback: function (channel, message) { reject({ type: 'error', channel: channel, message: helper.deserialize(message) }); } }); switch (args.length) { case 2: if (typeof args[1] === 'string') { channel = args[1]; _this.pubnub.channelGroupAddChannel(group, channel, new _cb()); } else if (Array.isArray(channels)) { channels = Array.create(java.lang.String, args[1].length); args[1].forEach(function (item, key) { channels[key] = item; }); _this.pubnub.channelGroupAddChannel(group, channels, new _cb()); } break; } }); }; ; PubNub.prototype.pamGrant = function () { var _this = this; var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i - 0] = arguments[_i]; } var channel = args[0]; var auth_key; var read; var write; var int; return new Promise(function (resolve, reject) { var _cb = com.pubnub.api.Callback.extend({ successCallback: function (channel, message) { resolve({ type: 'success', channel: channel, message: helper.deserialize(message) }); }, errorCallback: function (channel, message) { reject({ type: 'error', channel: channel, message: helper.deserialize(message) }); } }); switch (args.length) { case 3: read = args[1]; write = args[2]; _this.pubnub.pamGrant(channel, read, write, new _cb()); break; case 4: if (typeof args[1] === 'string' && typeof args[1] === 'boolean') { auth_key = args[1]; read = args[2]; write = args[3]; _this.pubnub.pamGrant(channel, auth_key, read, write, new _cb()); } else if (typeof args[1] === 'boolean' && typeof args[3] === 'number') { read = args[1]; write = args[2]; int = args[3]; _this.pubnub.pamGrant(channel, read, write, int, new _cb()); } break; case 6: auth_key = args[1]; read = args[2]; write = args[3]; int = args[4]; _this.pubnub.pamGrant(channel, auth_key, read, write, int, new _cb()); break; } }); }; ; PubNub.prototype.pamAuditChannelGroup = function () { var _this = this; var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i - 0] = arguments[_i]; } var group = args[0]; var auth_key; return new Promise(function (resolve, reject) { var _cb = com.pubnub.api.Callback.extend({ successCallback: function (channel, message) { resolve({ type: 'success', channel: channel, message: helper.deserialize(message) }); }, errorCallback: function (channel, message) { reject({ type: 'error', channel: channel, message: helper.deserialize(message) }); } }); switch (args.length) { case 1: _this.pubnub.pamAuditChannelGroup(group, new _cb()); break; case 2: auth_key = args[1]; _this.pubnub.pamAuditChannelGroup(group, auth_key, new _cb()); break; } }); }; ; PubNub.prototype.pamGrantChannelGroup = function () { var _this = this; var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i - 0] = arguments[_i]; } var group = args[0]; var auth_key; var read; var management; var ttl; return new Promise(function (resolve, reject) { var _cb = com.pubnub.api.Callback.extend({ successCallback: function (channel, message) { resolve({ type: 'success', channel: channel, message: helper.deserialize(message) }); }, errorCallback: function (channel, message) { reject({ type: 'error', channel: channel, message: helper.deserialize(message) }); } }); switch (args.length) { case 3: read = args[1]; management = args[2]; _this.pubnub.pamAuditChannelGroup(group, read, management, new _cb()); break; case 4: if (typeof args[1] === 'boolean' && typeof args[2] === 'boolean' && typeof args[3] === 'number') { read = args[1]; management = args[2]; ttl = args[3]; _this.pubnub.pamAuditChannelGroup(group, read, management, ttl, new _cb()); } else if (typeof args[1] === 'string' && typeof args[1] === 'boolean' && typeof args[1] === 'boolean') { auth_key = args[1]; read = args[2]; management = args[3]; _this.pubnub.pamAuditChannelGroup(group, read, management, ttl, new _cb()); } break; case 5: auth_key = args[1]; read = args[2]; management = args[3]; ttl = args[4]; _this.pubnub.pamGrantChannelGroup(group, auth_key, read, management, ttl, new _cb()); break; } }); }; ; PubNub.prototype.channelGroupListChannels = function (group) { var _this = this; return new Promise(function (resolve, reject) { var _cb = com.pubnub.api.Callback.extend({ successCallback: function (channel, message) { resolve({ type: 'success', channel: channel, message: helper.deserialize(message) }); }, errorCallback: function (channel, message) { reject({ type: 'error', channel: channel, message: helper.deserialize(message) }); } }); _this.pubnub.channelGroupListChannels(group, new _cb()); }); }; ; PubNub.prototype.channelGroupSubscribe = function (group) { var _this = this; return new Promise(function (resolve, reject) { var _cb = com.pubnub.api.Callback.extend({ connectCallback: function (channel, message) { resolve({ type: 'connect', channel: channel, message: helper.deserialize(message) }); }, disconnectCallback: function (channel, message) { resolve({ type: 'disconnect', channel: channel, message: helper.deserialize(message) }); }, reconnectCallback: function (channel, message) { resolve({ type: 'reconnect', channel: channel, message: helper.deserialize(message) }); }, successCallback: function (channel, message) { resolve({ type: 'success', channel: channel, message: helper.deserialize(message) }); }, errorCallback: function (channel, message) { reject({ type: 'error', channel: channel, message: helper.deserialize(message) }); } }); _this.pubnub.channelGroupSubscribe(group, new _cb()); }); }; ; PubNub.prototype.channelGroupRemoveGroup = function (group) { var _this = this; return new Promise(function (resolve, reject) { var _cb = com.pubnub.api.Callback.extend({ successCallback: function (channel, message) { resolve({ type: 'success', channel: channel, message: helper.deserialize(message) }); }, errorCallback: function (channel, message) { reject({ type: 'error', channel: channel, message: helper.deserialize(message) }); } }); _this.pubnub.channelGroupRemoveGroup(group, new _cb()); }); }; ; PubNub.prototype.channelGroupRemoveChannel = function () { var _this = this; var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i - 0] = arguments[_i]; } var group = args[0]; var channel; var channels; return new Promise(function (resolve, reject) { var _cb = com.pubnub.api.Callback.extend({ successCallback: function (channel, message) { resolve({ type: 'success', channel: channel, message: helper.deserialize(message) }); }, errorCallback: function (channel, message) { reject({ type: 'error', channel: channel, message: helper.deserialize(message) }); } }); switch (args.length) { case 2: if (typeof args[1] === 'string') { channel = args[1]; _this.pubnub.channelGroupRemoveChannel(group, channel, new _cb()); } else if (Array.isArray(args[1])) { channels = Array.create(java.lang.String, args[1].length); args[1].forEach(function (item, key) { channels[key] = item; }); _this.pubnub.channelGroupRemoveChannel(group, channels, new _cb()); } break; } }); }; ; PubNub.prototype.channelGroupSetState = function (group, uuid, state) { var _this = this; return new Promise(function (resolve, reject) { var _cb = com.pubnub.api.Callback.extend({ successCallback: function (channel, message) { resolve({ type: 'success', channel: channel, message: helper.deserialize(message) }); }, errorCallback: function (channel, message) { reject({ type: 'error', channel: channel, message: helper.deserialize(message) }); } }); _this.pubnub.channelGroupSetState(group, uuid, helper.serialize(state), new _cb()); }); }; ; PubNub.prototype.channelGroupUnsubscribe = function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i - 0] = arguments[_i]; } if (typeof args[0] === 'string') { this.pubnub.channelGroupUnsubscribe(args[0]); } else if (Array.isArray(args[0])) { var channels_1 = Array.create(java.lang.String, args[0].length); args[0].forEach(function (item, key) { channels_1[key] = item; }); this.pubnub.channelGroupUnsubscribe(channels_1); } }; ; PubNub.prototype.unsubscribeAllChannels = function () { this.pubnub.unsubscribeAllChannels(); }; ; PubNub.prototype.shutdown = function () { this.pubnub.shutdown(); }; ; Object.defineProperty(PubNub.prototype, "instance", { get: function () { return this.pubnub; }, set: function (instance) { this.pubnub = instance; }, enumerable: true, configurable: true }); ; return PubNub; }(common.PubNub)); exports.PubNub = PubNub; //# sourceMappingURL=pubnub.android.js.map