-
Notifications
You must be signed in to change notification settings - Fork 285
/
pubnub.min.js
16 lines (16 loc) · 6.69 KB
/
pubnub.min.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function v(){return function(){}}
window.JSON&&window.JSON.stringify||function(){function t(h){return h<10?"0"+h:h}function C(h){y.lastIndex=0;return y.test(h)?'"'+h.replace(y,function(q){var g=D[q];return typeof g==="string"?g:"\\u"+("0000"+q.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+h+'"'}function m(h,q){var g,n,j,z,A=f,k,d=q[h];if(d&&typeof d==="object"&&typeof d.toJSON==="function")d=d.toJSON(h);if(typeof s==="function")d=s.call(q,h,d);switch(typeof d){case "string":return C(d);case "number":return isFinite(d)?String(d):
"null";case "boolean":case "null":return String(d);case "object":if(!d)return"null";f+=B;k=[];if(Object.prototype.toString.apply(d)==="[object Array]"){z=d.length;for(g=0;g<z;g+=1)k[g]=m(g,d)||"null";j=k.length===0?"[]":f?"[\n"+f+k.join(",\n"+f)+"\n"+A+"]":"["+k.join(",")+"]";f=A;return j}if(s&&typeof s==="object"){z=s.length;for(g=0;g<z;g+=1){n=s[g];if(typeof n==="string")if(j=m(n,d))k.push(C(n)+(f?": ":":")+j)}}else for(n in d)if(Object.hasOwnProperty.call(d,n))if(j=m(n,d))k.push(C(n)+(f?": ":":")+
j);j=k.length===0?"{}":f?"{\n"+f+k.join(",\n"+f)+"\n"+A+"}":"{"+k.join(",")+"}";f=A;return j}}window.JSON||(window.JSON={});if(typeof Date.prototype.toJSON!=="function"){Date.prototype.toJSON=function(){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+t(this.getUTCMonth()+1)+"-"+t(this.getUTCDate())+"T"+t(this.getUTCHours())+":"+t(this.getUTCMinutes())+":"+t(this.getUTCSeconds())+"Z":null};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(){return this.valueOf()}}var y=
/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,f,B,D={"\u0008":"\\b","\t":"\\t","\n":"\\n","\u000c":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},s;if(typeof JSON.stringify!=="function")JSON.stringify=function(h,q,g){var n;B=f="";if(typeof g==="number")for(n=0;n<g;n+=1)B+=" ";else if(typeof g==="string")B=g;if((s=q)&&typeof q!=="function"&&(typeof q!=="object"||typeof q.length!=="number"))throw Error("JSON.stringify");return m("",
{"":h})};if(typeof JSON.parse!=="function")JSON.parse=function(h){return eval("("+h+")")}}();
window.PUBNUB||function(){window.console||(window.console=window.console||{});console.log||(console.log=(window.opera||{}).postError||v());function t(){return++C+""+ +new Date}var C=1;function m(a){console.log(a)}function y(a){var b=[];f(a.split(/\s+/),function(c){f(document.getElementsByTagName(c),function(e){b.push(e)})});return b}function f(a,b){if(a&&b)if(typeof a[0]!="undefined")for(var c=0,e=a.length;c<e;)b.call(a[c],a[c],c++);else for(c in a)a.hasOwnProperty&&a.hasOwnProperty(c)&&b.call(a[c],
c,a[c])}function B(a,b){b.call(a,a);for(a=a.firstChild;a;){B(a,b);a=a.nextSibling}}var D=/\$?{([\w\-]+)}/g;function s(a,b,c){f(a.split(","),function(e){function o(i){if(!i)i=window.event;if(!c(i)){i.cancelBubble=true;i.returnValue=false;i.preventDefault&&i.preventDefault();i.stopPropagation&&i.stopPropagation()}}if(b.addEventListener)b.addEventListener(e,o,false);else if(b.attachEvent)b.attachEvent("on"+e,o);else b["on"+e]=o})}function h(){return y("head")[0]}function q(a,b){if(!a)return"";var c=
[],e="";for(e in a)c.push(escape(e)+"="+escape(a[e]));return(b.indexOf("?")===-1?"?":"&")+c.join("&")}function g(a){return document.createElement(a)}var n=1;function j(a){if(n)return A(a);var b=g("script"),c="x"+t(),e=100,o=setTimeout(function(){x("timeout")},a.timeout||3E4),i=a.url,w=a.data||{},l=a.b||v(),r=a.c||v();function p(){setTimeout(function(){e*=2;try{var u=h(),E=u.firstChild;E?u.insertBefore(b,E):u.appendChild(b)}catch(F){p()}},e)}function x(u){clearTimeout(o);if(b){u&&l.call(u,b,unescape(b.src));
b.onerror=null;try{h().removeChild(b)}catch(E){}}}b.async="async";window[c]=function(u){if(!u)return x("no data");r.call(b,u);window[c]=null;x(0)};s("error",b,function(){x("error")});w.unique=c;b.src=i+q(w,i);p();return x}var z=/^[^\(]+\((.+?)\)$/;function A(a){var b=window.ActiveXObject?new window.ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest,c=a.b||v(),e=a.c||v(),o=0,i=a.data||{},w=a.url,l=setInterval(function(){if(b&&b.readyState==4&&!o){var p=b.status;o=1;if(l){clearInterval(l);l=null}p>=
200&&p<300||p==304||p==1223?e(JSON.parse(b.responseText.replace(z,"$1"))):c(b);b=null}},14);i.unique="x"+t();try{b.open("GET",w+q(i,w),true);b.send()}catch(r){n=0;return j(a)}return function(){o=1;b&&b.abort&&b.abort()}}var k="http://{{ORIGIN}}/",d={history:function(a,b){b=b||v();a.limit=a.limit||100;if(!a.channel)return m("Must Specify a Channel");a.channel=d.d+"/"+a.channel;j({url:k+"pubnub-history",data:a,c:function(c){b(c.messages)},b:function(c){m(c)}})},time:function(a){j({url:k+"pubnub-time",
c:function(b){a(b.time)},b:function(){a(0)}})},uuid:function(a){j({url:k+"pubnub-uuid",c:function(b){a(b.uuid)},b:function(){a(0)}})},publish:function(a,b){b=b||v()||a.callback;var c=a.message;if(!c)return m("Must Specify a Message");if(!a.channel)return m("Must Specify a Channel");c=JSON.stringify(c);if(c.length>1700)return m("Message exceeded limit 1700");if(!d.g)return m("Missing Publish Key");a.publish_key=d.g;a.channel=d.d+"/"+a.channel;a.message=c;j({url:k+"pubnub-publish",data:a,c:function(e){b(e)},
b:function(e){b(e)}})},unsubscribe:function(a){a=d.d+"/"+a.channel;if(a in d.a){d.a[a].disabled=1;d.a[a].e=0;d.a[a].f&&d.a[a].f(0)}},h:0,i:[],subscribe:function(a,b){function c(){i*=2;setTimeout(function(){j({url:k+"pubnub-subscribe",data:a,c:function(r){r&&r.server?e(r.server):c()},b:function(r){c();w(r)}})},i)}function e(r){if(!(l in d.a&&d.a[l].disabled))d.a[l].f=j({url:"http://"+r+"/",data:{channel:l,timetoken:o},c:function(p){o=p.timetoken;e(r);p.messages[0]!="xdr.timeout"&&f(p.messages,function(x){b(x)})},
b:function(p){if(p=="timeout")e(r);else{c();w(p)}}})}if(!d.h)return d.i.push([a,b]);if(!a.channel)return m("Must Specify a Channel");b=b||a.callback;delete a.callback;if(!b)return m("Must Specify a Callback");if(!d.d)return m("Missing Subscribe Key");var o=0,i=50,w=a.error||v(),l=a.channel=d.d+"/"+a.channel;l in d.a||(d.a[l]={});if(d.a[l].e)return m("Already Connected to this Channel: "+l);d.a[l].disabled=0;d.a[l].e=1;c()},g:"{{pub_key}}",d:"{{sub_key}}",j:"{{app_key}}",a:{},xdr:j,each:f,map:function(a,
b){var c=[];f(a||[],function(e,o){c.push(b(e,o))});return c},css:function(a,b){for(var c in b)if(b.hasOwnProperty(c))try{a.style[c]=b[c]+("|width|height|top|left|".indexOf(c)>0?"px":"")}catch(e){}},$:function(a){return document.getElementById(a)},create:g,bind:s,supplant:function(a,b){return a.replace(D,function(c,e){return""+b[e]||""})},head:h,search:y,attr:function(a,b,c){if(c)a.setAttribute(b,c);else return a&&a.getAttribute&&a.getAttribute(b)},now:t};s("load",window,function(){setTimeout(function(){d.h=
1;f(d.i,function(a){d.subscribe(a[0],a[1])})},100)});window.jQuery&&(window.jQuery.PUBNUB=d);window.PUBNUB=d}();