-
Notifications
You must be signed in to change notification settings - Fork 285
/
pubnub-3.3.min.js
19 lines (19 loc) · 9.06 KB
/
pubnub-3.3.min.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
window.JSON&&window.JSON.stringify||function(){function u(c){w.lastIndex=0;return w.test(c)?'"'+c.replace(w,function(c){var d=D[c];return"string"===typeof d?d:"\\u"+("0000"+c.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+c+'"'}function q(r,p){var d,g,j,m,t=i,l,e=p[r];e&&("object"===typeof e&&"function"===typeof e.toJSON)&&(e=e.toJSON(r));"function"===typeof k&&(e=k.call(p,r,e));switch(typeof e){case "string":return u(e);case "number":return isFinite(e)?String(e):"null";case "boolean":case "null":return String(e);
case "object":if(!e)return"null";i+=c;l=[];if("[object Array]"===Object.prototype.toString.apply(e)){m=e.length;for(d=0;d<m;d+=1)l[d]=q(d,e)||"null";j=0===l.length?"[]":i?"[\n"+i+l.join(",\n"+i)+"\n"+t+"]":"["+l.join(",")+"]";i=t;return j}if(k&&"object"===typeof k){m=k.length;for(d=0;d<m;d+=1)g=k[d],"string"===typeof g&&(j=q(g,e))&&l.push(u(g)+(i?": ":":")+j)}else for(g in e)Object.hasOwnProperty.call(e,g)&&(j=q(g,e))&&l.push(u(g)+(i?": ":":")+j);j=0===l.length?"{}":i?"{\n"+i+l.join(",\n"+i)+"\n"+
t+"}":"{"+l.join(",")+"}";i=t;return j}}window.JSON||(window.JSON={});"function"!==typeof String.prototype.toJSON&&(String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(){return this.valueOf()});var w=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,i,c,D={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},k;"function"!==typeof JSON.stringify&&(JSON.stringify=function(r,
p,d){var g;c=i="";if(typeof d==="number")for(g=0;g<d;g=g+1)c=c+" ";else typeof d==="string"&&(c=d);if((k=p)&&typeof p!=="function"&&(typeof p!=="object"||typeof p.length!=="number"))throw Error("JSON.stringify");return q("",{"":r})});"function"!==typeof JSON.parse&&(JSON.parse=function(c){return eval("("+c+")")})}();
window.PUBNUB||function(){function u(){return"x"+ ++V+""+ +new Date}function q(){return+new Date}function w(a,b){var h,s=0,c=function(){s+b>q()?(clearTimeout(h),h=setTimeout(c,b)):(s=q(),a())};return c}function i(a){return document.getElementById(a)}function c(a){console.log(a)}function D(a,b){var h=[];k(a.split(/\s+/),function(a){k((b||document).getElementsByTagName(a),function(a){h.push(a)})});return h}function k(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var h=0,c=a.length;h<c;)b.call(a[h],a[h],
h++);else for(h in a)a.hasOwnProperty&&a.hasOwnProperty(h)&&b.call(a[h],h,a[h])}function r(a,b){var h=[];k(a||[],function(a,c){h.push(b(a,c))});return h}function p(a,b){return a.replace(W,function(a,c){return b[c]||a})}function d(a,b,c){k(a.split(","),function(a){var e=function(a){a||(a=window.event);c(a)||(a.cancelBubble=!0,a.returnValue=!1,a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation())};b.addEventListener?b.addEventListener(a,e,!1):b.attachEvent?b.attachEvent("on"+
a,e):b["on"+a]=e})}function g(){return D("head")[0]}function j(a,b,c){if(c)a.setAttribute(b,c);else return a&&a.getAttribute&&a.getAttribute(b)}function m(a,b){for(var c in b)if(b.hasOwnProperty(c))try{a.style[c]=b[c]+(0<"|width|height|top|left|".indexOf(c)&&"number"==typeof b[c]?"px":"")}catch(e){}}function t(a){return document.createElement(a)}function l(){return G||n()?0:u()}function e(a){return r(encodeURIComponent(a).split(""),function(a){return 0>"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}
function v(a){if(G||n()){a:{var b,c,e=function(){if(!l){l=1;clearTimeout(k);try{c=JSON.parse(b.responseText)}catch(a){return z(1)}X(c)}},d=0,l=0,k=setTimeout(function(){z(1)},H),p=a.fail||function(){},X=a.success||function(){},z=function(a){d||(d=1,clearTimeout(k),b&&(b.onerror=b.onload=null,b.abort&&b.abort(),b=null),a&&p())};try{b=n()||window.XDomainRequest&&new XDomainRequest||new XMLHttpRequest;b.onerror=b.onabort=function(){z(1)};b.onload=b.onloadend=e;b.timeout=H;url=a.url.join(M);if(a.data){e=
[];url+="?";for(key in a.data)e.push(key+"="+a.data[key]);url+=e.join(N)}b.open("GET",url,!0);b.send()}catch(O){z(0);G=0;a=v(a);break a}a=z}return a}var f=t("script"),e=a.callback,P=u(),Q=0,q=setTimeout(function(){E(1)},H),r=a.fail||function(){},Y=a.success||function(){},E=function(a,b){Q||(Q=1,a||Y(b),f.onerror=null,clearTimeout(q),setTimeout(function(){a&&r();var b=i(P),c=b&&b.parentNode;c&&c.removeChild(b)},B))};window[e]=function(a){E(0,a)};f[R]=R;f.onerror=function(){E(1)};f.src=a.url.join(M);
if(a.data){e=[];f.src+="?";for(key in a.data)e.push(key+"="+a.data[key]);f.src+=e.join(N)}j(f,"id",P);g().appendChild(f);return E}function I(){PUBNUB.time(q);PUBNUB.time(function(){setTimeout(function(){J||(J=1,k(S,function(a){a[2].subscribe(a[0],a[1])}))},B)})}function n(){if(!T.get)return 0;var a={id:n.id++,send:function(){},abort:function(){a.id={}},open:function(b,c){n[a.id]=a;T.get(a.id,c)}};return a}window.console||(window.console=window.console||{});console.log||(console.log=(window.opera||
{}).postError||function(){});var y,F=window.localStorage;y={get:function(a){try{return F?F.getItem(a):-1==document.cookie.indexOf(a)?null:((document.cookie||"").match(RegExp(a+"=([^;]+)"))||[])[1]||null}catch(b){}},set:function(a,b){try{if(F)return F.setItem(a,b)&&0;document.cookie=a+"="+b+"; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/"}catch(c){}}};var V=1,W=/{([\w\-]+)}/g,R="async",M="/",N="&",H=31E4,B=1E3,G=-1==navigator.userAgent.indexOf("MSIE 6"),K,L=Math.floor(9*Math.random())+1;K=function(a){return 0<
a.indexOf("pubsub")&&a.replace("pubsub","ps"+(10>++L?L:L=1))||a};var C={list:{},unbind:function(a){C.list[a]=[]},bind:function(a,b){(C.list[a]=C.list[a]||[]).push(b)},fire:function(a,b){k(C.list[a]||[],function(a){a(b)})}},o=i("pubnub")||{},J=0,S=[],U=function(a){var b={},h=a.publish_key||"",s=a.subscribe_key||"",n=a.ssl?"s":"",o=a.uuid||y.get(s+"uuid")||"",x="http"+n+"://"+(a.origin||"pubsub.pubnub.com"),A={history:function(a,b){var b=a.callback||b,O=a.limit||100,f=a.channel,d=l();if(!f)return c("Missing Channel");
if(!b)return c("Missing Callback");v({callback:d,url:[x,"history",s,e(f),d,O],success:function(a){b(a)},fail:function(a){c(a)}})},detailedHistory:function(a,b){var b=a.callback||b,d=a.count||100,f=a.channel,h=a.reverse||"false",i=a.start,k=a.end,j=l();if(!f)return c("Missing Channel");if(!b)return c("Missing Callback");var g={};g.count=d;g.reverse=h;i&&(g.start=i);k&&(g.end=k);v({callback:j,url:[x,"v2","history","sub-key",s,"channel",e(f)],data:g,success:function(a){b(a)},fail:function(a){c(a)}})},
time:function(a){var b=l();v({callback:b,url:[x,"time",b],success:function(b){a(b[0])},fail:function(){a(0)}})},uuid:function(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b},publish:function(a,b){var b=b||a.callback||function(){},d=a.message,f=a.channel,g=l();if(!d)return c("Missing Message");if(!f)return c("Missing Channel");if(!h)return c("Missing Publish Key");d=JSON.stringify(d);d=[x,"publish",
h,s,0,e(f),g,e(d)];v({callback:g,success:function(a){b(a)},fail:function(){b([0,"Disconnected"])},url:d,data:{uuid:o}})},unsubscribe:function(a){function c(a){a in b&&(b[a].connected=0,b[a].done&&b[a].done(0))}c(a.channel);c(a.channel+"-pnpres")},subscribe:function(a,d){function g(){var a=l();b[f].connected&&(b[f].done=v({callback:a,url:[w,"subscribe",h,e(f),a,j],data:{uuid:o},fail:function(){m||(m=1,r());setTimeout(g,B);A.time(function(a){if(a&&m){m=0;n()}else p()})},success:function(a){b[f].connected&&
(t||(t=1,q()),m&&(m=0,n()),i=y.set(s+f,j=i&&y.get(h+f)||a[1]),k(a[0],function(b){d(b,a)}),setTimeout(g,10))}}))}var f=a.channel,d=d||a.callback,h=a.subscribe_key||s,i=a.restore,j=0,p=a.error||function(){},q=a.connect||function(){},n=a.reconnect||function(){},r=a.disconnect||function(){},u=a.presence||function(){},m=0,t=0,w=K(x);if(!J)return S.push([a,d,A]);if(!f)return c("Missing Channel");if(!d)return c("Missing Callback");if(!s)return c("Missing Subscribe Key");f in b||(b[f]={});if(b[f].connected)return c("Already Connected");
b[f].connected=1;a.presence&&A.subscribe({channel:a.channel+"-pnpres",callback:u,restore:a.restore});g()},here_now:function(a,b){var b=a.callback||b,d=a.channel,f=l(),g=K(x);if(!d)return c("Missing Channel");if(!b)return c("Missing Callback");data=null;"0"!=f&&(data.callback=f);v({callback:f,url:[g,"v2","presence","sub_key",s,"channel",e(d)],data:data,success:function(a){b(a)},fail:function(a){c(a)}})},xdr:v,ready:I,db:y,each:k,map:r,css:m,$:i,create:t,bind:d,supplant:p,head:g,search:D,attr:j,now:q,
unique:u,events:C,updater:w,init:U};""==o&&(o=A.uuid());y.set(s+"uuid",o);return A};PUBNUB=U({publish_key:j(o,"pub-key"),subscribe_key:j(o,"sub-key"),ssl:"on"==j(o,"ssl"),origin:j(o,"origin"),uuid:j(o,"uuid")});m(o,{position:"absolute",top:-B});if("opera"in window||j(o,"flash"))o.innerHTML="<object id=pubnubs data=https://dh15atwfs066y.cloudfront.net/pubnub.swf><param name=movie value=https://dh15atwfs066y.cloudfront.net/pubnub.swf><param name=allowscriptaccess value=always></object>";var T=i("pubnubs")||
{};d("load",window,function(){setTimeout(I,0)});PUBNUB.rdx=function(a,b){if(!b)return n[a].onerror();n[a].responseText=unescape(b);n[a].onload()};n.id=B;window.jQuery&&(window.jQuery.PUBNUB=PUBNUB);"undefined"!==typeof module&&(module.exports=PUBNUB)&&I()}();