nativescript-pubnub
Version:
A NativeScript plugin to use pubnub
793 lines • 33 kB
JavaScript
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
;