From 2af1712b2fb8aabeb0b28f9edfd1e1080029ccc5 Mon Sep 17 00:00:00 2001 From: Nikos M Date: Tue, 19 Jul 2016 18:41:36 +0300 Subject: [PATCH] update UMD templates --- src/RT.BOSH.js | 16 ++++++++-------- src/RT.BOSH.min.js | 2 +- src/RT.Poll.js | 16 ++++++++-------- src/RT.Poll.min.js | 2 +- src/RT.WebRTC.js | 16 +++++++++++++--- src/RT.WebSocket.js | 18 +++++++++--------- src/RT.WebSocket.min.js | 2 +- src/RT.js | 20 +++++++++++--------- src/RT.min.js | 2 +- 9 files changed, 53 insertions(+), 41 deletions(-) diff --git a/src/RT.BOSH.js b/src/RT.BOSH.js index 1926830..63c74ce 100644 --- a/src/RT.BOSH.js +++ b/src/RT.BOSH.js @@ -7,15 +7,15 @@ * https://github.com/foo123/RT * **/ -!function( root, factory ) { +!function( root, factory ){ "use strict"; -if ( ('undefined'!==typeof Components)&&('object'===typeof Components.classes)&&('object'===typeof Components.classesByID)&&Components.utils&&('function'===typeof Components.utils['import']) ) - factory( root, root['RT'] ); -else if ( 'object' === typeof exports ) - factory( root, require('./RT.js') ); -else - factory( root, root['RT'] ) && ('function' === typeof define) && define.amd && define(function( ){ return root['RT']; }); -}(this, function( root, RT ) { +if ( ('object'===typeof module) && module.exports ) /* CommonJS */ + module.exports = factory.call(root,(module.$deps && module.$deps["RT"]) || require("./RT")); +else if ( ("function"===typeof define) && define.amd && ("function"===typeof require) && ("function"===typeof require.specified) && require.specified("RT_BOSH") /*&& !require.defined("RT_BOSH")*/ ) + define("RT_BOSH",['module',"RT"],function(mod,module){factory.moduleUri = mod.uri; factory.call(root,module); return module;}); +else /* Browser/WebWorker/.. */ + (factory.call(root,root["RT"])||1)&&('function'===typeof define)&&define.amd&&define(function(){return root["RT"];} ); +}(this, function ModuleFactory__RT_BOSH( RT ){ "use strict"; var PROTO = 'prototype', HAS = 'hasOwnProperty', toString = Object[PROTO].toString, diff --git a/src/RT.BOSH.min.js b/src/RT.BOSH.min.js index 2084769..94803b8 100644 --- a/src/RT.BOSH.min.js +++ b/src/RT.BOSH.min.js @@ -7,4 +7,4 @@ * https://github.com/foo123/RT * **/ -!function(e,n){"use strict";"undefined"!=typeof Components&&"object"==typeof Components.classes&&"object"==typeof Components.classesByID&&Components.utils&&"function"==typeof Components.utils["import"]?n(e,e.RT):"object"==typeof exports?n(e,require("./RT.js")):n(e,e.RT)&&"function"==typeof define&&define.amd&&define(function(){return e.RT})}(this,function(e,n){"use strict";var t="prototype",$=(Object[t].toString,n.Client),r=$[t],o=n.Util,s=n.XHR,c=$.BOSH=function i(e){var n=this;return n instanceof i?(r.constructor.call(n,e),n.$cfg$.timeout=n.$cfg$.timeout||5e3,n.$send$=null,n.$recv$=null,n.$queue$=[],void(n.$mID$=0)):new i(e)};return $.Impl.bosh=$.Impl["long-poll"]=c,c[t]=Object.create(r),c[t].constructor=c,c[t].$send$=null,c[t].$recv$=null,c[t].$queue$=null,c[t].$mID$=null,c[t].dispose=function(){var e=this;return e.$recv$&&(e.$recv$.abort().dispose(),e.$recv$=null),e.$send$&&(e.$send$.abort().dispose(),e.$send$=null),e.$queue$=null,e.$mID$=null,r.dispose.call(e)},c[t].abort=function(e){var n=this;return n.$recv$&&(n.$recv$.abort().dispose(),n.$recv$=null),n.$send$&&(n.$send$.abort().dispose(),n.$send$=null),r.abort.call(n,!0===e)},c[t].send=function(e){var t=this,$=function r(){var e="urlencoded"===t.$cfg$.contentType,$="xml"===t.$cfg$.contentType,c=t.$cfg$.charset?"charset="+String(t.$cfg$.charset):"charset=utf8",i=$?"text/xml":e?"application/x-www-form-urlencoded":"text/plain",u={Connection:"Keep-Alive","Content-Type":i+"; "+c,"X-RT--BOSH":"1","X-RT--Receive":"1","X-RT--mID":t.$mID$},l=t.$queue$.slice(),p=null,d=null;$?(u["X-RT--Send"]="1",d=l.join("")):e?(u["X-RT--Send"]="x-rt--payload",u["X-RT--Message"]=p=n.UUID("------_rt_msg_","_------"),d="x-rt--payload="+o.Url.encode(l.join(p))):(u["X-RT--Send"]="1",u["X-RT--Message"]=p=n.UUID("------_rt_msg_","_------"),d=l.join(p)),t.$send$=s.create({url:t.$cfg$.endpoint+(-1c;c++)t.emit("receive",u[c])}else e.responseText&&t.emit("receive",e.responseText);t.$queue$.length?setTimeout(r,100):t.$recv$||setTimeout(function(){t.$receive$()},100)}},d)};return t.$queue$.push(String(e)),t.$send$||setTimeout($,0),t},c[t].$receive$=function(){var e=this;if(!e.$recv$){var n="urlencoded"===e.$cfg$.contentType,t="xml"===e.$cfg$.contentType,$=e.$cfg$.charset?"charset="+String(e.$cfg$.charset):"charset=utf8",r=t?"text/xml":n?"application/x-www-form-urlencoded":"text/plain",o={Connection:"Keep-Alive","Content-Type":r+"; "+$,"X-RT--BOSH":"1","X-RT--Receive":"1","X-RT--mID":e.$mID$};e.$recv$=s.create({url:e.$cfg$.endpoint+(-1s;s++)e.emit("receive",i[s])}else n.responseText&&e.emit("receive",n.responseText);e.$recv$||setTimeout(function(){e.$receive$()},100)}},null)}},c[t].listen=function(){var e=this;return setTimeout(function(){e.$receive$()},10),e.open()},n}); \ No newline at end of file +!function(e,n){"use strict";"object"==typeof module&&module.exports?module.exports=n.call(e,module.$deps&&module.$deps.RT||require("./RT")):"function"==typeof define&&define.amd&&"function"==typeof require&&"function"==typeof require.specified&&require.specified("RT_BOSH")?define("RT_BOSH",["module","RT"],function(t,$){return n.moduleUri=t.uri,n.call(e,$),$}):(n.call(e,e.RT)||1)&&"function"==typeof define&&define.amd&&define(function(){return e.RT})}(this,function(e){"use strict";var n="prototype",t=(Object[n].toString,e.Client),$=t[n],r=e.Util,o=e.XHR,i=t.BOSH=function s(e){var n=this;return n instanceof s?($.constructor.call(n,e),n.$cfg$.timeout=n.$cfg$.timeout||5e3,n.$send$=null,n.$recv$=null,n.$queue$=[],void(n.$mID$=0)):new s(e)};return t.Impl.bosh=t.Impl["long-poll"]=i,i[n]=Object.create($),i[n].constructor=i,i[n].$send$=null,i[n].$recv$=null,i[n].$queue$=null,i[n].$mID$=null,i[n].dispose=function(){var e=this;return e.$recv$&&(e.$recv$.abort().dispose(),e.$recv$=null),e.$send$&&(e.$send$.abort().dispose(),e.$send$=null),e.$queue$=null,e.$mID$=null,$.dispose.call(e)},i[n].abort=function(e){var n=this;return n.$recv$&&(n.$recv$.abort().dispose(),n.$recv$=null),n.$send$&&(n.$send$.abort().dispose(),n.$send$=null),$.abort.call(n,!0===e)},i[n].send=function(n){var t=this,$=function i(){var n="urlencoded"===t.$cfg$.contentType,$="xml"===t.$cfg$.contentType,s=t.$cfg$.charset?"charset="+String(t.$cfg$.charset):"charset=utf8",c=$?"text/xml":n?"application/x-www-form-urlencoded":"text/plain",u={Connection:"Keep-Alive","Content-Type":c+"; "+s,"X-RT--BOSH":"1","X-RT--Receive":"1","X-RT--mID":t.$mID$},l=t.$queue$.slice(),d=null,f=null;$?(u["X-RT--Send"]="1",f=l.join("")):n?(u["X-RT--Send"]="x-rt--payload",u["X-RT--Message"]=d=e.UUID("------_rt_msg_","_------"),f="x-rt--payload="+r.Url.encode(l.join(d))):(u["X-RT--Send"]="1",u["X-RT--Message"]=d=e.UUID("------_rt_msg_","_------"),f=l.join(d)),t.$send$=o.create({url:t.$cfg$.endpoint+(-1s;s++)t.emit("receive",u[s])}else e.responseText&&t.emit("receive",e.responseText);t.$queue$.length?setTimeout(i,100):t.$recv$||setTimeout(function(){t.$receive$()},100)}},f)};return t.$queue$.push(String(n)),t.$send$||setTimeout($,0),t},i[n].$receive$=function(){var e=this;if(!e.$recv$){var n="urlencoded"===e.$cfg$.contentType,t="xml"===e.$cfg$.contentType,$=e.$cfg$.charset?"charset="+String(e.$cfg$.charset):"charset=utf8",r=t?"text/xml":n?"application/x-www-form-urlencoded":"text/plain",i={Connection:"Keep-Alive","Content-Type":r+"; "+$,"X-RT--BOSH":"1","X-RT--Receive":"1","X-RT--mID":e.$mID$};e.$recv$=o.create({url:e.$cfg$.endpoint+(-1i;i++)e.emit("receive",c[i])}else n.responseText&&e.emit("receive",n.responseText);e.$recv$||setTimeout(function(){e.$receive$()},100)}},null)}},i[n].listen=function(){var e=this;return setTimeout(function(){e.$receive$()},10),e.open()},e}); \ No newline at end of file diff --git a/src/RT.Poll.js b/src/RT.Poll.js index e6b04b4..fcc68f6 100644 --- a/src/RT.Poll.js +++ b/src/RT.Poll.js @@ -7,15 +7,15 @@ * https://github.com/foo123/RT * **/ -!function( root, factory ) { +!function( root, factory ){ "use strict"; -if ( ('undefined'!==typeof Components)&&('object'===typeof Components.classes)&&('object'===typeof Components.classesByID)&&Components.utils&&('function'===typeof Components.utils['import']) ) - factory( root, root['RT'] ); -else if ( 'object' === typeof exports ) - factory( root, require('./RT.js') ); -else - factory( root, root['RT'] ) && ('function' === typeof define) && define.amd && define(function( ){ return root['RT']; }); -}(this, function( root, RT ) { +if ( ('object'===typeof module) && module.exports ) /* CommonJS */ + module.exports = factory.call(root,(module.$deps && module.$deps["RT"]) || require("./RT")); +else if ( ("function"===typeof define) && define.amd && ("function"===typeof require) && ("function"===typeof require.specified) && require.specified("RT_Poll") /*&& !require.defined("RT_Poll")*/ ) + define("RT_Poll",['module',"RT"],function(mod,module){factory.moduleUri = mod.uri; factory.call(root,module); return module;}); +else /* Browser/WebWorker/.. */ + (factory.call(root,root["RT"])||1)&&('function'===typeof define)&&define.amd&&define(function(){return root["RT"];} ); +}(this, function ModuleFactory__RT_Poll( RT ){ "use strict"; var PROTO = 'prototype', HAS = 'hasOwnProperty', toString = Object[PROTO].toString, diff --git a/src/RT.Poll.min.js b/src/RT.Poll.min.js index 1c3430b..e614868 100644 --- a/src/RT.Poll.min.js +++ b/src/RT.Poll.min.js @@ -7,4 +7,4 @@ * https://github.com/foo123/RT * **/ -!function(e,t){"use strict";"undefined"!=typeof Components&&"object"==typeof Components.classes&&"object"==typeof Components.classesByID&&Components.utils&&"function"==typeof Components.utils["import"]?t(e,e.RT):"object"==typeof exports?t(e,require("./RT.js")):t(e,e.RT)&&"function"==typeof define&&define.amd&&define(function(){return e.RT})}(this,function(e,t){"use strict";var n="prototype",r=(Object[n].toString,t.Client),o=r[n],l=t.Util,$=t.XHR,i=r.Poll=function s(e){var t=this;return t instanceof s?(o.constructor.call(t,e),t.$cfg$.pollInterval=t.$cfg$.pollInterval||1e3,t.$timer$=null,t.$xhr$=null,t.$mID$=0,void(t.$queue$=[])):new s(e)};return r.Impl.poll=r.Impl["short-poll"]=i,i[n]=Object.create(o),i[n].constructor=i,i[n].$timer$=null,i[n].$xhr$=null,i[n].$queue$=null,i[n].$mID$=null,i[n].dispose=function(){var e=this;return e.$timer$&&(clearTimeout(e.$timer$),e.$timer$=null),e.$xhr$&&(e.$xhr$.abort().dispose(),e.$xhr$=null),e.$mID$=null,e.$queue$=null,o.dispose.call(e)},i[n].abort=function(e){var t=this;return t.$timer$&&(clearTimeout(t.$timer$),t.$timer$=null),t.$xhr$&&(t.$xhr$.abort().dispose(),t.$xhr$=null),o.abort.call(t,!0===e)},i[n].send=function(e){var t=this;return t.$queue$.push(String(e)),t},i[n].listen=function(){var e=this,n=function r(){var n="urlencoded"===e.$cfg$.contentType,o="xml"===e.$cfg$.contentType,i=e.$cfg$.charset?"charset="+String(e.$cfg$.charset):"charset=utf8",s=o?"text/xml":n?"application/x-www-form-urlencoded":"text/plain",u={"Content-Type":s+"; "+i,"X-RT--Poll":"1","X-RT--Receive":"1","X-RT--mID":e.$mID$},c=null,p=null,a=null;e.$queue$.length&&(p=e.$queue$.slice(),o?(u["X-RT--Send"]="1",a=p.join("")):n?(u["X-RT--Send"]="x-rt--payload",u["X-RT--Message"]=c=t.UUID("------_rt_msg_","_------"),a="x-rt--payload="+l.Url.encode(p.join(c))):(u["X-RT--Send"]="1",u["X-RT--Message"]=c=t.UUID("------_rt_msg_","_------"),a=p.join(c))),e.$xhr$=$.create({url:e.$cfg$.endpoint+(-1i;i++)e.emit("receive",u[i])}else t.responseText&&e.emit("receive",t.responseText);e.$timer$=setTimeout(r,e.$cfg$.pollInterval)}},a)};return e.$timer$=setTimeout(n,10),e.open()},t}); \ No newline at end of file +!function(e,t){"use strict";"object"==typeof module&&module.exports?module.exports=t.call(e,module.$deps&&module.$deps.RT||require("./RT")):"function"==typeof define&&define.amd&&"function"==typeof require&&"function"==typeof require.specified&&require.specified("RT_Poll")?define("RT_Poll",["module","RT"],function(r,n){return t.moduleUri=r.uri,t.call(e,n),n}):(t.call(e,e.RT)||1)&&"function"==typeof define&&define.amd&&define(function(){return e.RT})}(this,function(e){"use strict";var t="prototype",r=(Object[t].toString,e.Client),n=r[t],l=e.Util,o=e.XHR,i=r.Poll=function $(e){var t=this;return t instanceof $?(n.constructor.call(t,e),t.$cfg$.pollInterval=t.$cfg$.pollInterval||1e3,t.$timer$=null,t.$xhr$=null,t.$mID$=0,void(t.$queue$=[])):new $(e)};return r.Impl.poll=r.Impl["short-poll"]=i,i[t]=Object.create(n),i[t].constructor=i,i[t].$timer$=null,i[t].$xhr$=null,i[t].$queue$=null,i[t].$mID$=null,i[t].dispose=function(){var e=this;return e.$timer$&&(clearTimeout(e.$timer$),e.$timer$=null),e.$xhr$&&(e.$xhr$.abort().dispose(),e.$xhr$=null),e.$mID$=null,e.$queue$=null,n.dispose.call(e)},i[t].abort=function(e){var t=this;return t.$timer$&&(clearTimeout(t.$timer$),t.$timer$=null),t.$xhr$&&(t.$xhr$.abort().dispose(),t.$xhr$=null),n.abort.call(t,!0===e)},i[t].send=function(e){var t=this;return t.$queue$.push(String(e)),t},i[t].listen=function(){var t=this,r=function n(){var r="urlencoded"===t.$cfg$.contentType,i="xml"===t.$cfg$.contentType,$=t.$cfg$.charset?"charset="+String(t.$cfg$.charset):"charset=utf8",u=i?"text/xml":r?"application/x-www-form-urlencoded":"text/plain",s={"Content-Type":u+"; "+$,"X-RT--Poll":"1","X-RT--Receive":"1","X-RT--mID":t.$mID$},c=null,a=null,p=null;t.$queue$.length&&(a=t.$queue$.slice(),i?(s["X-RT--Send"]="1",p=a.join("")):r?(s["X-RT--Send"]="x-rt--payload",s["X-RT--Message"]=c=e.UUID("------_rt_msg_","_------"),p="x-rt--payload="+l.Url.encode(a.join(c))):(s["X-RT--Send"]="1",s["X-RT--Message"]=c=e.UUID("------_rt_msg_","_------"),p=a.join(c))),t.$xhr$=o.create({url:t.$cfg$.endpoint+(-1$;$++)t.emit("receive",s[$])}else e.responseText&&t.emit("receive",e.responseText);t.$timer$=setTimeout(n,t.$cfg$.pollInterval)}},p)};return t.$timer$=setTimeout(r,10),t.open()},e}); \ No newline at end of file diff --git a/src/RT.WebRTC.js b/src/RT.WebRTC.js index 775b167..034c157 100644 --- a/src/RT.WebRTC.js +++ b/src/RT.WebRTC.js @@ -7,7 +7,18 @@ * https://github.com/foo123/RT * **/ -!function( root, factory ) { +!function( root, factory ){ +"use strict"; +if ( ('object'===typeof module) && module.exports ) /* CommonJS */ + module.exports = factory.call(root,(module.$deps && module.$deps["RT"]) || require("./RT")); +else if ( ("function"===typeof define) && define.amd && ("function"===typeof require) && ("function"===typeof require.specified) && require.specified("RT_WebRTC") /*&& !require.defined("RT_WebRTC")*/ ) + define("RT_WebRTC",['module',"RT"],function(mod,module){factory.moduleUri = mod.uri; factory.call(root,module); return module;}); +else /* Browser/WebWorker/.. */ + (factory.call(root,root["RT"])||1)&&('function'===typeof define)&&define.amd&&define(function(){return root["RT"];} ); +}(this, function ModuleFactory__RT_WebRTC( RT ){ +"use strict"; + +/* !function( root, factory ) { "use strict"; if ( ('undefined'!==typeof Components)&&('object'===typeof Components.classes)&&('object'===typeof Components.classesByID)&&Components.utils&&('function'===typeof Components.utils['import']) ) factory( root, root['RT'] ); @@ -15,8 +26,7 @@ else if ( 'object' === typeof exports ) factory( root, require('./RT.js') ); else factory( root, root['RT'] ) && ('function' === typeof define) && define.amd && define(function( ){ return root['RT']; }); -}(this, function( root, RT ) { -"use strict"; +}(this, function( root, RT ) {*/ // TODO return RT; diff --git a/src/RT.WebSocket.js b/src/RT.WebSocket.js index 490bf8f..27b1f58 100644 --- a/src/RT.WebSocket.js +++ b/src/RT.WebSocket.js @@ -7,18 +7,18 @@ * https://github.com/foo123/RT * **/ -!function( root, factory ) { +!function( root, factory ){ "use strict"; -if ( ('undefined'!==typeof Components)&&('object'===typeof Components.classes)&&('object'===typeof Components.classesByID)&&Components.utils&&('function'===typeof Components.utils['import']) ) - factory( root, root['RT'] ); -else if ( 'object' === typeof exports ) - factory( root, require('./RT.js') ); -else - factory( root, root['RT'] ) && ('function' === typeof define) && define.amd && define(function( ){ return root['RT']; }); -}(this, function( root, RT ) { +if ( ('object'===typeof module) && module.exports ) /* CommonJS */ + module.exports = factory.call(root,(module.$deps && module.$deps["RT"]) || require("./RT")); +else if ( ("function"===typeof define) && define.amd && ("function"===typeof require) && ("function"===typeof require.specified) && require.specified("RT_WebSocket") /*&& !require.defined("RT_WebSocket")*/ ) + define("RT_WebSocket",['module',"RT"],function(mod,module){factory.moduleUri = mod.uri; factory.call(root,module); return module;}); +else /* Browser/WebWorker/.. */ + (factory.call(root,root["RT"])||1)&&('function'===typeof define)&&define.amd&&define(function(){return root["RT"];} ); +}(this, function ModuleFactory__RT_WebSocket( RT ){ "use strict"; -var PROTO = 'prototype', HAS = 'hasOwnProperty', toString = Object[PROTO].toString, +var root = this, PROTO = 'prototype', HAS = 'hasOwnProperty', toString = Object[PROTO].toString, RT_Client = RT.Client, __super__ = RT_Client[PROTO], WebSocket ; diff --git a/src/RT.WebSocket.min.js b/src/RT.WebSocket.min.js index 3c9d672..0ce2da7 100644 --- a/src/RT.WebSocket.min.js +++ b/src/RT.WebSocket.min.js @@ -7,4 +7,4 @@ * https://github.com/foo123/RT * **/ -!function(t,e){"use strict";"undefined"!=typeof Components&&"object"==typeof Components.classes&&"object"==typeof Components.classesByID&&Components.utils&&"function"==typeof Components.utils["import"]?e(t,t.RT):"object"==typeof exports?e(t,require("./RT.js")):e(t,t.RT)&&"function"==typeof define&&define.amd&&define(function(){return t.RT})}(this,function(t,e){"use strict";function n(t,e,n){var o,s,r=document.getElementsByTagName("script"),i=r[r.length-1],c=i.src.split("/").slice(0,-1).join("/"),a=document.getElementsByTagName("head")[0];t=t||"./","."===t.charAt(0)&&(t=t.slice(1),t=c+("/"==t.charAt(0)?"":"/")+t),"/"!==t.charAt(t.length-1)&&(t+="/"),window.swfobject||(o=document.createElement("script"),o.setAttribute("type","text/javascript"),o.setAttribute("language","javascript"),o.setAttribute("src",i.hasAttribute("data-swfobject")?i.getAttribute("data-swfobject"):t+"swfobject.js"),a.appendChild(o)),window.WEB_SOCKET_SWF_LOCATION=t+"WebSocketMain.swf",window.WEB_SOCKET_FORCE_FLASH=!1,window.WEB_SOCKET_DEBUG=!1,s=document.createElement("script"),s.setAttribute("type","text/javascript"),s.setAttribute("language","javascript"),s.onload=s.onreadystatechange=function(){"loaded"!=s.readyState&&"complete"!=s.readyState||(s.onload=s.onreadystatechange=null,n&&n())},s.setAttribute("src",t+e),a.appendChild(s)}var o,s="prototype",r=(Object[s].toString,e.Client),i=r[s];e.Platform.XPCOM?(Components.utils["import"]("resource://gre/modules/XPCOMUtils.jsm"),XPCOMUtils.importRelative(t,"lib/ws/ws.xpcom.js"),o=t.WebSocket):e.Platform.Node?o=require("./lib/ws/ws.node.js"):(o=window.WebSocket||window.MozWebSocket||window.WebkitWebSocket,o||e.Platform.WebWorker||n("./lib/ws/","ws.flash.js",function(){o=window.WebSocket}));var c=r.WS=function a(t){var e=this;return e instanceof a?(i.constructor.call(e,t),void(e.$ws$=null)):new a(t)};return r.Impl.ws=r.Impl.websocket=r.Impl["web-socket"]=c,c[s]=Object.create(i),c[s].constructor=c,c[s].$ws$=null,c[s].dispose=function(){var t=this;return t.$ws$=null,i.dispose.call(t)},c[s].abort=function(){var t=this,e=t.$ws$;return e&&o.OPEN===e.readyState&&(e.close(),i.abort.call(t,!0)),t.$ws$=null,t},c[s].close=function(t){var e=this,n=e.$ws$;return n&&o.OPEN===n.readyState&&n.close(),i.close.call(e,t),e},c[s].send=function(t){var e=this,n=e.$ws$;return n&&o.OPEN===n.readyState&&n.send(String(t)),e},c[s].listen=function(){var t,n=this;return o||e.Platform.XPCOM||e.Platform.Node?(t=n.$ws$=new o(n.$cfg$.endpoint,n.$cfg$.protocol||null),t.addEventListener("open",function(t){n.open(t)}),t.addEventListener("close",function(t){n.close(t)}),t.addEventListener("error",function(t){n.emit("error",t)}),t.addEventListener("message",function(t){n.emit("receive",t.data)}),n):(setTimeout(function(){n.listen()},100),n)},e}); \ No newline at end of file +!function(e,t){"use strict";"object"==typeof module&&module.exports?module.exports=t.call(e,module.$deps&&module.$deps.RT||require("./RT")):"function"==typeof define&&define.amd&&"function"==typeof require&&"function"==typeof require.specified&&require.specified("RT_WebSocket")?define("RT_WebSocket",["module","RT"],function(n,o){return t.moduleUri=n.uri,t.call(e,o),o}):(t.call(e,e.RT)||1)&&"function"==typeof define&&define.amd&&define(function(){return e.RT})}(this,function(e){"use strict";function t(e,t,n){var o,i,r=document.getElementsByTagName("script"),s=r[r.length-1],c=s.src.split("/").slice(0,-1).join("/"),a=document.getElementsByTagName("head")[0];e=e||"./","."===e.charAt(0)&&(e=e.slice(1),e=c+("/"==e.charAt(0)?"":"/")+e),"/"!==e.charAt(e.length-1)&&(e+="/"),window.swfobject||(o=document.createElement("script"),o.setAttribute("type","text/javascript"),o.setAttribute("language","javascript"),o.setAttribute("src",s.hasAttribute("data-swfobject")?s.getAttribute("data-swfobject"):e+"swfobject.js"),a.appendChild(o)),window.WEB_SOCKET_SWF_LOCATION=e+"WebSocketMain.swf",window.WEB_SOCKET_FORCE_FLASH=!1,window.WEB_SOCKET_DEBUG=!1,i=document.createElement("script"),i.setAttribute("type","text/javascript"),i.setAttribute("language","javascript"),i.onload=i.onreadystatechange=function(){"loaded"!=i.readyState&&"complete"!=i.readyState||(i.onload=i.onreadystatechange=null,n&&n())},i.setAttribute("src",e+t),a.appendChild(i)}var n,o=this,i="prototype",r=(Object[i].toString,e.Client),s=r[i];e.Platform.XPCOM?(Components.utils["import"]("resource://gre/modules/XPCOMUtils.jsm"),XPCOMUtils.importRelative(o,"lib/ws/ws.xpcom.js"),n=o.WebSocket):e.Platform.Node?n=require("./lib/ws/ws.node.js"):(n=window.WebSocket||window.MozWebSocket||window.WebkitWebSocket,n||e.Platform.WebWorker||t("./lib/ws/","ws.flash.js",function(){n=window.WebSocket}));var c=r.WS=function a(e){var t=this;return t instanceof a?(s.constructor.call(t,e),void(t.$ws$=null)):new a(e)};return r.Impl.ws=r.Impl.websocket=r.Impl["web-socket"]=c,c[i]=Object.create(s),c[i].constructor=c,c[i].$ws$=null,c[i].dispose=function(){var e=this;return e.$ws$=null,s.dispose.call(e)},c[i].abort=function(){var e=this,t=e.$ws$;return t&&n.OPEN===t.readyState&&(t.close(),s.abort.call(e,!0)),e.$ws$=null,e},c[i].close=function(e){var t=this,o=t.$ws$;return o&&n.OPEN===o.readyState&&o.close(),s.close.call(t,e),t},c[i].send=function(e){var t=this,o=t.$ws$;return o&&n.OPEN===o.readyState&&o.send(String(e)),t},c[i].listen=function(){var t,o=this;return n||e.Platform.XPCOM||e.Platform.Node?(t=o.$ws$=new n(o.$cfg$.endpoint,o.$cfg$.protocol||null),t.addEventListener("open",function(e){o.open(e)}),t.addEventListener("close",function(e){o.close(e)}),t.addEventListener("error",function(e){o.emit("error",e)}),t.addEventListener("message",function(e){o.emit("receive",e.data)}),o):(setTimeout(function(){o.listen()},100),o)},e}); \ No newline at end of file diff --git a/src/RT.js b/src/RT.js index ddfded9..420d750 100644 --- a/src/RT.js +++ b/src/RT.js @@ -6,18 +6,20 @@ * https://github.com/foo123/RT * **/ -!function( root, name, factory ) { +!function( root, name, factory ){ "use strict"; -if ( ('undefined'!==typeof Components)&&('object'===typeof Components.classes)&&('object'===typeof Components.classesByID)&&Components.utils&&('function'===typeof Components.utils['import']) ) - (root.EXPORTED_SYMBOLS = [ name ]) && (root[ name ] = factory( root )); -else if ( 'object' === typeof exports ) - module.exports = factory( root ); -else - (root[name] = factory( root )) && ('function' === typeof define) && define.amd && define(function( ){ return root[name]; }); -}(this, 'RT', function( root ) { +if ( ('undefined'!==typeof Components)&&('object'===typeof Components.classes)&&('object'===typeof Components.classesByID)&&Components.utils&&('function'===typeof Components.utils['import']) ) /* XPCOM */ + (root.$deps = root.$deps||{}) && (root.EXPORTED_SYMBOLS = [name]) && (root[name] = root.$deps[name] = factory.call(root)); +else if ( ('object'===typeof module)&&module.exports ) /* CommonJS */ + (module.$deps = module.$deps||{}) && (module.exports = module.$deps[name] = factory.call(root)); +else if ( ('function'===typeof define)&&define.amd&&('function'===typeof require)&&('function'===typeof require.specified)&&require.specified(name) /*&& !require.defined(name)*/ ) /* AMD */ + define(name,['module'],function(module){factory.moduleUri = module.uri; return factory.call(root);}); +else if ( !(name in root) ) /* Browser/WebWorker/.. */ + (root[name] = factory.call(root)||1)&&('function'===typeof(define))&&define.amd&&define(function(){return root[name];} ); +}(this, 'RT', function ModuleFactory__RT( ){ "use strict"; -var PROTO = 'prototype', HAS = 'hasOwnProperty', +var root = this, PROTO = 'prototype', HAS = 'hasOwnProperty', KEYS = Object.keys, toString = Object[PROTO].toString, isXPCOM = ('undefined' !== typeof Components) && ('object' === typeof Components.classes) && ('object' === typeof Components.classesByID) && Components.utils && ('function' === typeof Components.utils['import']), isNode = ('undefined' !== typeof global) && ('[object global]' === toString.call(global)), diff --git a/src/RT.min.js b/src/RT.min.js index a50c66a..b5c3fe6 100644 --- a/src/RT.min.js +++ b/src/RT.min.js @@ -6,4 +6,4 @@ * https://github.com/foo123/RT * **/ -!function(e,t,n){"use strict";"undefined"!=typeof Components&&"object"==typeof Components.classes&&"object"==typeof Components.classesByID&&Components.utils&&"function"==typeof Components.utils["import"]?(e.EXPORTED_SYMBOLS=[t])&&(e[t]=n(e)):"object"==typeof exports?module.exports=n(e):(e[t]=n(e))&&"function"==typeof define&&define.amd&&define(function(){return e[t]})}(this,"RT",function(e){"use strict";function t(e){e=e||{};var n=(e.use||e.rt_type||"default").toLowerCase();return t.Client.Impl[s](n)?new t.Client.Impl[n](e):new t.Client(e)}var n,r,o="prototype",s="hasOwnProperty",a=Object.keys,i=Object[o].toString,u="undefined"!=typeof Components&&"object"==typeof Components.classes&&"object"==typeof Components.classesByID&&Components.utils&&"function"==typeof Components.utils["import"],l="undefined"!=typeof global&&"[object global]"===i.call(global),c=!u&&!l&&"undefined"!=typeof WorkerGlobalScope&&"function"==typeof importScripts&&navigator instanceof WorkerNavigator,d=!u&&!l&&!c&&"undefined"!=typeof navigator,p=String.fromCharCode,f=/^\s+|\s+$/g,h=String[o].trim?function(e){return e.trim()}:function(e){return e.replace(f,"")},g=/[^A-Za-z0-9\+\/\=]/g,C=/\x0d\x0a/g,E=0;return t.VERSION="1.0.1",t.Platform={XPCOM:u,Node:l,WebWorker:c,Browser:d},n=t.XHR=function m(e,t){var n=this,r=!1;n.readyState=m.UNSENT,n.status=null,n.statusText=null,n.responseType="text",n.responseURL=null,n.response=null,n.responseText=null,n.responseXml=null,n._rawHeaders=null,n._headers=null,n.send=function(t){return r||m.UNSENT!==n.readyState?n:(e&&e(t),n.readyState=m.OPENED,n)},n.abort=function(){return r?n:(r=!0,t&&t(),n)},n.getAllResponseHeaders=function(e){return m.DONE!==n.readyState?null:!0===e?n._headers:n._rawHeaders},n.getResponseHeader=function(e,t){if(null==e||m.DONE!==n.readyState)return null;var r=n._headers||{};return!1!==t&&(e=e.toLowerCase()),r[s](e)?r[e]:null},n.dispose=function(){return n.readyState=null,n.status=null,n.statusText=null,n.responseType=null,n.responseURL=null,n.response=null,n.responseText=null,n.responseXml=null,n._rawHeaders=null,n._headers=null,n.getAllResponseHeaders=null,n.getResponseHeader=null,n.send=null,n.abort=null,n}},n.UNSENT=0,n.OPENED=1,n.HEADERS_RECEIVED=2,n.LOADING=3,n.DONE=4,n.create=u?function(e,o){if(e=e||{},!e.url)return null;var s=Components.classes["@mozilla.org/xmlextras/xmlhttprequest;1"].createInstance(),a=new n(function(e){s.send(e)},function(){s.abort()}),i=function(e,t){return e.readyState=t.readyState,e.responseType=t.responseType,e.responseURL=t.responseURL,e.response=t.response,e.responseText=t.responseText,e.responseXml=t.responseXml,e.status=t.status,e.statusText=t.statusText,e};return a.getAllResponseHeaders=function(e){var t=s.getAllResponseHeaders();return!0===e?r.Header.decode(t):t},a.getResponseHeader=function(e){return s.getResponseHeader(e)},s.open(e.method||"GET",e.url,!e.sync),a.responseType=s.responseType=e.responseType||"text",s.timeout=e.timeout||3e4,e.onProgress&&s.addEventListener("progress",function(){e.onProgress(i(a,s))}),e.onLoadStart&&s.addEventListener("loadstart",function(){e.onLoadStart(i(a,s))}),!e.sync&&e.onStateChange&&s.addEventListener("readystatechange",function(){e.onStateChange(i(a,s))}),s.addEventListener("load",function(){i(a,s),t.XHR.DONE===s.readyState&&(200===s.status?e.onComplete&&e.onComplete(a):e.onRequestError?e.onRequestError(a):e.onError&&e.onError(a))}),s.addEventListener("abort",function(){e.onAbort&&e.onAbort(i(a,s))}),s.addEventListener("error",function(){e.onError&&e.onError(i(a,s))}),s.addEventListener("timeout",function(){e.onTimeout&&e.onTimeout(i(a,s))}),e.headers&&r.Header.encode(e.headers,s),e.mimeType&&s.overrideMimeType(e.mimeType),arguments.length>1&&a.send(o),a}:l?function(e,o){if(e=e||{},!e.url)return null;var s,a,u="[object Object]"===i.call(e.url)?e.url:require("url").parse(e.url),l={method:e.method||"GET",agent:!1,protocol:u.protocol,host:u.hostname,hostname:u.hostname,port:u.port||80,path:(u.pathname||"/")+(u.query?"?"+u.query:"")};return a=new n(function(e){null!=e&&(e=String(e),s.setHeader("Content-Length",String(e.length)),s.write(e)),s.end()},function(){s.abort()}),s=("https:"===l.protocol?require("https").request:require("http").request)(l,function(n){var r="",o=0;a.readyState=t.XHR.OPENED,e.onStateChange&&e.onStateChange(a),a.readyState=t.XHR.HEADERS_RECEIVED,a._rawHeaders=n.rawHeaders.join("\r\n"),a._headers=n.headers,a.responseURL=n.url||null,a.status=n.statusCode||null,a.statusText=n.statusMessage||null,e.onStateChange&&e.onStateChange(a),n.on("data",function(n){r+=n.toString(),o||(o=1,a.readyState=t.XHR.LOADING,e.onStateChange&&e.onStateChange(a),e.onLoadStart&&e.onLoadStart(a)),e.onProgress&&e.onProgress(a)}),n.on("end",function(){a.readyState=t.XHR.DONE,a.responseType="text",a.response=a.responseText=r,e.onStateChange&&e.onStateChange(a),e.onLoadEnd&&e.onLoadEnd(a),t.XHR.DONE===a.readyState&&(200===a.status?e.onComplete&&e.onComplete(a):e.onRequestError?e.onRequestError(a):e.onError&&e.onError(a))}),n.on("error",function(t){a.statusText=t.toString(),e.onError&&e.onError(a)})}),s.setTimeout(e.timeout||3e4,function(t){e.onTimeout&&e.onTimeout(a)}),s.on("abort",function(t){e.onAbort&&e.onAbort(a)}),s.on("error",function(t){a.statusText=t.toString(),e.onError&&e.onError(a)}),e.headers&&r.Header.encode(e.headers,null,s),arguments.length>1&&a.send(o),a}:function(e,o){if(e=e||{},!e.url)return null;var s="undefined"!=typeof XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP"),a=new n(function(e){s.send(e)},function(){s.abort()}),i=function(e,t){return e.readyState=t.readyState,e.responseType=t.responseType,e.responseURL=t.responseURL,e.response=t.response,e.responseText=t.responseText,e.responseXml=t.responseXml,e.status=t.status,e.statusText=t.statusText,e};return a.getAllResponseHeaders=function(e){var t=s.getAllResponseHeaders();return!0===e?r.Header.decode(t):t},a.getResponseHeader=function(e){return s.getResponseHeader(e)},s.open(e.method||"GET",e.url,!e.sync),a.responseType=s.responseType=e.responseType||"text",s.timeout=e.timeout||3e4,e.onProgress&&(s.onprogress=function(){e.onProgress(i(a,s))}),e.onLoadStart&&(s.onloadstart=function(){e.onLoadStart(i(a,s))}),e.onLoadEnd&&(s.onloadend=function(){e.onLoadEnd(i(a,s))}),!e.sync&&e.onStateChange&&(s.onreadystatechange=function(){e.onStateChange(i(a,s))}),s.onload=function(){i(a,s),t.XHR.DONE===s.readyState&&(200===s.status?e.onComplete&&e.onComplete(a):e.onRequestError?e.onRequestError(a):e.onError&&e.onError(a))},s.onabort=function(){e.onAbort&&e.onAbort(i(a,s))},s.onerror=function(){e.onError&&e.onError(i(a,s))},s.ontimeout=function(){e.onTimeout&&e.onTimeout(i(a,s))},e.headers&&r.Header.encode(e.headers,s),e.mimeType&&s.overrideMimeType(e.mimeType),arguments.length>1&&a.send(o),a},t.UUID=function(e,t){return(e||"")+ ++E+"_"+Date.now()+"_"+Math.floor(1e3*Math.random())+(t||"")},t.Const={BASE64:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",CRLF:"\r\n",CRLF_RE:/(\r\n)|\r|\n/g,COOKIE_RE:/([^=]+)(?:=(.*))?/},r=t.Util={String:{trim:h},Utf8:{encode:function(e){e=e.replace(C,"\n");var t,n,r,o="";for(t=0,n=e.length;n>t;t++)r=e.charCodeAt(t),o+=128>r?p(r):r>127&&2048>r?p(r>>6|192)+p(63&r|128):p(r>>12|224)+p(r>>6&63|128)+p(63&r|128);return o},decode:function(e){for(var t="",n=0,r=c1=c2=0,o=e.length;o>n;)r=e.charCodeAt(n),128>r?(t+=p(r),n++):r>191&&224>r?(c2=e.charCodeAt(n+1),t+=p((31&r)<<6|63&c2),n+=2):(c2=e.charCodeAt(n+1),c3=e.charCodeAt(n+2),t+=p((15&r)<<12|(63&c2)<<6|63&c3),n+=3);return t}},Base64:{encode:function(e){e=r.Utf8.encode(e);for(var n,o,s,a,i,u,l,c="",d=0,p=e.length,f=t.Const.BASE64;p>d;)n=e.charCodeAt(d++),o=e.charCodeAt(d++),s=e.charCodeAt(d++),a=n>>2,i=(3&n)<<4|o>>4,u=(15&o)<<2|s>>6,l=63&s,isNaN(o)?u=l=64:isNaN(s)&&(l=64),c=c+f.charAt(a)+f.charAt(i)+f.charAt(u)+f.charAt(l);return c},decode:function(e){e=e.replace(g,"");for(var t,n,o,s,a,i,u,l="",c=0,d=e.length;d>c;)s=keyString.indexOf(e.charAt(c++)),a=keyString.indexOf(e.charAt(c++)),i=keyString.indexOf(e.charAt(c++)),u=keyString.indexOf(e.charAt(c++)),t=s<<2|a>>4,n=(15&a)<<4|i>>2,o=(3&i)<<6|u,l+=p(t),64!=i&&(l+=p(n)),64!=u&&(l+=p(o));return l=r.Utf8.decode(l)}},Json:{encode:JSON.stringify,decode:JSON.parse},Url:{create:function(e){if(!e)return"";var t,n,o,s,u,l,c,d,p,f=[],h=a(e),g=h.length,C=r.Url.encode;for(s=0,t=g>s?[[n=h[s++],e[n]]]:[];t.length;){if(u=t.shift(),n=u[0],o=u[1],p=i.call(o),"[object Array]"===p)for(n+="[]",l=0,c=o.length;c>l;l++)t.unshift([n,o[l]]);else if("[object Object]"===p)for(d=a(o),l=0,c=d.length;c>l;l++)t.unshift([n+"["+d[l]+"]",o[d[l]]]);else f.push(C(n)+"="+C(o));!t.length&&g>s&&t.unshift([n=h[s++],e[n]])}return f.join("&")},rawencode:function(e){return encodeURIComponent(""+e).split("!").join("%21").split("'").join("%27").split("(").join("%28").split(")").join("%29").split("*").join("%2A")},rawdecode:function(e){return decodeURIComponent(""+e)},encode:function(e){return r.Url.rawencode(e).split("%20").join("+")},decode:function(e){return r.Url.rawdecode((""+e).split("+").join("%20"))}},Cookie:{create:function(e,t,n,r,o,s,a){var i=arguments.length;return{name:i>0?e:"",value:i>1?t:"",domain:i>2?n:"",path:i>3?r:"/",expires:i>4?o:new Date(Date.now()+31536e6),secure:i>5?!!s:!1,httponly:i>6?!!a:!1}},encode:function(e){if(e&&e.name){var t=String(e.name)+"="+String(e.value);return t+="; Domain="+String(e.domain),t+="; Path="+String(e.path),t+="; Expires="+String(e.expires),e.secure&&(t+="; Secure"),e.httponly&&(t+="; HttpOnly"),t}},decode:function(e){var n,o,a,i,u=r.Cookie.create(),l=t.Const.COOKIE_RE,c=String(e).split("; ");if(null!=(n=c.shift().match(l))){for(u.name=n[1],u.value=n[2],a=0,i=c.length;i>a;a++)n=c[a].match(l),null!=n&&n.length&&(o=n[1].toLowerCase(),u[s](o)&&(u[o]="string"==typeof n[2]?n[2]:!0));return"string"==typeof u.expires&&(u.expires=new Date(u.expires)),u}}},Header:{encode:function(e,n,r){var o="";if(!e)return xhr?xhr:o;var s,u,l,c,d,p=a(e),f=t.Const.CRLF;if(r){for(u=0,l=p.length;l>u;u++)s=p[u],r.setHeader(s,e[s]);return r}if(n){for(u=0,l=p.length;l>u;u++)if(s=p[u],"[object Array]"===i.call(e[s]))for(c=0,d=e[s].length;d>c;c++)n.setRequestHeader(s,String(e[s][c]));else n.setRequestHeader(s,String(e[s]));return n}for(u=0,l=p.length;l>u;u++)if(s=p[u],"[object Array]"===i.call(e[s]))for(o.length&&(o+=f),o+=s+": "+String(e[s][0]),c=1,d=e[s].length;d>c;c++)o+=f+String(e[s][c]);else o.length&&(o+=f),o+=s+": "+String(e[s]);return o},decode:function(e,n){var r,o,a,i,u={},l=null,c=t.Const.CRLF;if(e)for(n=!0===n,e=e.split(c),o=0,a=e.length;a>o;o++)i=e[o],r=i.split(":"),r.length>1?(l=h(r.shift()),n&&(l=l.toLowerCase()),u[s](l)?("string"==typeof u[l]&&(u[l]=[u[l]]),u[l].push(h(r.join(":")))):u[l]=h(r.join(":"))):r[0].length&&l&&(u[l]=c+r[0]);return u}}},t.Client=function y(e){var n=this;return n instanceof y?(n.$cfg$=e||{},n.$event$={},void(n.status=t.Client.CREATED)):new y(e)},t.Client.Impl={},t.Client.CREATED=1,t.Client.DESTROYED=0,t.Client.OPENED=2,t.Client.CLOSED=4,t.Client.PENDING=8,t.Client.ABORTED=16,t.Client[o]={constructor:t.Client,status:t.Client.CREATED,$cfg$:null,$event$:null,dispose:function(){var e=this;return e.status=t.Client.DESTROYED,e.$cfg$=null,e.$event$=null,e},config:function(e,t){var n=this,r=n.$cfg$;return e?arguments.length>1?(r[e]=t,n):r[e]:void 0},on:function(e,t,n){var r=this;return e&&t?(r.$event$[s](e)?r.$event$[e].push([t,!0===n,0]):r.$event$[e]=[[t,!0===n,0]],r):r},one:function(e,t){return this.on(e,t,!0)},off:function(e,t){var n=this;if(!e||!n.$event$[s](e))return n;if(null==t)delete n.$event$[e];else{for(var r=n.$event$[e],o=r.length-1;o>=0;o--)r[o][0]===t&&t.splice(o,1);r.length||delete n.$event$[e]}return n},emit:function(e,t){var n=this;if(!e||!n.$event$[s](e))return n;var r,o,a=n.$event$[e].slice(),i=a.length,u=[],l={event:e,data:t,target:n};for(r=0;i>r;r++)o=a[r],o[1]&&u.push(r),o[1]&&o[2]||(o[2]=1,o[0](l));for(a=n.$event$[e],r=u.length-1;r>=0;r--)a.splice(u[r],1);return a.length||delete n.$event$[e],n},abort:function(e,n){return this.status=t.Client.ABORTED,!0===e?this.emit("abort",n):this},open:function(e){return this.status=t.Client.OPENED,this.emit("open",e)},close:function(e){return this.status=t.Client.CLOSED,this.emit("close",e)},send:function(e){return this},listen:function(){return this},init:function(){var e=this;return setTimeout(function(){e.listen()},40),e}},t.Client[o].addEventListener=t.Client[o].on,t.Client[o].removeEventListener=t.Client[o].off,t.Client[o].trigger=t.Client[o].dispatchEvent=t.Client[o].emit,t}); \ No newline at end of file +!function(e,t,n){"use strict";"undefined"!=typeof Components&&"object"==typeof Components.classes&&"object"==typeof Components.classesByID&&Components.utils&&"function"==typeof Components.utils["import"]?(e.$deps=e.$deps||{})&&(e.EXPORTED_SYMBOLS=[t])&&(e[t]=e.$deps[t]=n.call(e)):"object"==typeof module&&module.exports?(module.$deps=module.$deps||{})&&(module.exports=module.$deps[t]=n.call(e)):"function"==typeof define&&define.amd&&"function"==typeof require&&"function"==typeof require.specified&&require.specified(t)?define(t,["module"],function(t){return n.moduleUri=t.uri,n.call(e)}):t in e||(e[t]=n.call(e)||1)&&"function"==typeof define&&define.amd&&define(function(){return e[t]})}(this,"RT",function(){"use strict";function e(t){t=t||{};var n=(t.use||t.rt_type||"default").toLowerCase();return e.Client.Impl[o](n)?new e.Client.Impl[n](t):new e.Client(t)}var t,n,r="prototype",o="hasOwnProperty",s=Object.keys,i=Object[r].toString,a="undefined"!=typeof Components&&"object"==typeof Components.classes&&"object"==typeof Components.classesByID&&Components.utils&&"function"==typeof Components.utils["import"],u="undefined"!=typeof global&&"[object global]"===i.call(global),l=!a&&!u&&"undefined"!=typeof WorkerGlobalScope&&"function"==typeof importScripts&&navigator instanceof WorkerNavigator,d=!a&&!u&&!l&&"undefined"!=typeof navigator,c=String.fromCharCode,p=/^\s+|\s+$/g,f=String[r].trim?function(e){return e.trim()}:function(e){return e.replace(p,"")},h=/[^A-Za-z0-9\+\/\=]/g,g=/\x0d\x0a/g,m=0;return e.VERSION="1.0.1",e.Platform={XPCOM:a,Node:u,WebWorker:l,Browser:d},t=e.XHR=function C(e,t){var n=this,r=!1;n.readyState=C.UNSENT,n.status=null,n.statusText=null,n.responseType="text",n.responseURL=null,n.response=null,n.responseText=null,n.responseXml=null,n._rawHeaders=null,n._headers=null,n.send=function(t){return r||C.UNSENT!==n.readyState?n:(e&&e(t),n.readyState=C.OPENED,n)},n.abort=function(){return r?n:(r=!0,t&&t(),n)},n.getAllResponseHeaders=function(e){return C.DONE!==n.readyState?null:!0===e?n._headers:n._rawHeaders},n.getResponseHeader=function(e,t){if(null==e||C.DONE!==n.readyState)return null;var r=n._headers||{};return!1!==t&&(e=e.toLowerCase()),r[o](e)?r[e]:null},n.dispose=function(){return n.readyState=null,n.status=null,n.statusText=null,n.responseType=null,n.responseURL=null,n.response=null,n.responseText=null,n.responseXml=null,n._rawHeaders=null,n._headers=null,n.getAllResponseHeaders=null,n.getResponseHeader=null,n.send=null,n.abort=null,n}},t.UNSENT=0,t.OPENED=1,t.HEADERS_RECEIVED=2,t.LOADING=3,t.DONE=4,t.create=a?function(r,o){if(r=r||{},!r.url)return null;var s=Components.classes["@mozilla.org/xmlextras/xmlhttprequest;1"].createInstance(),i=new t(function(e){s.send(e)},function(){s.abort()}),a=function(e,t){return e.readyState=t.readyState,e.responseType=t.responseType,e.responseURL=t.responseURL,e.response=t.response,e.responseText=t.responseText,e.responseXml=t.responseXml,e.status=t.status,e.statusText=t.statusText,e};return i.getAllResponseHeaders=function(e){var t=s.getAllResponseHeaders();return!0===e?n.Header.decode(t):t},i.getResponseHeader=function(e){return s.getResponseHeader(e)},s.open(r.method||"GET",r.url,!r.sync),i.responseType=s.responseType=r.responseType||"text",s.timeout=r.timeout||3e4,r.onProgress&&s.addEventListener("progress",function(){r.onProgress(a(i,s))}),r.onLoadStart&&s.addEventListener("loadstart",function(){r.onLoadStart(a(i,s))}),!r.sync&&r.onStateChange&&s.addEventListener("readystatechange",function(){r.onStateChange(a(i,s))}),s.addEventListener("load",function(){a(i,s),e.XHR.DONE===s.readyState&&(200===s.status?r.onComplete&&r.onComplete(i):r.onRequestError?r.onRequestError(i):r.onError&&r.onError(i))}),s.addEventListener("abort",function(){r.onAbort&&r.onAbort(a(i,s))}),s.addEventListener("error",function(){r.onError&&r.onError(a(i,s))}),s.addEventListener("timeout",function(){r.onTimeout&&r.onTimeout(a(i,s))}),r.headers&&n.Header.encode(r.headers,s),r.mimeType&&s.overrideMimeType(r.mimeType),arguments.length>1&&i.send(o),i}:u?function(r,o){if(r=r||{},!r.url)return null;var s,a,u="[object Object]"===i.call(r.url)?r.url:require("url").parse(r.url),l={method:r.method||"GET",agent:!1,protocol:u.protocol,host:u.hostname,hostname:u.hostname,port:u.port||80,path:(u.pathname||"/")+(u.query?"?"+u.query:"")};return a=new t(function(e){null!=e&&(e=String(e),s.setHeader("Content-Length",String(e.length)),s.write(e)),s.end()},function(){s.abort()}),s=("https:"===l.protocol?require("https").request:require("http").request)(l,function(t){var n="",o=0;a.readyState=e.XHR.OPENED,r.onStateChange&&r.onStateChange(a),a.readyState=e.XHR.HEADERS_RECEIVED,a._rawHeaders=t.rawHeaders.join("\r\n"),a._headers=t.headers,a.responseURL=t.url||null,a.status=t.statusCode||null,a.statusText=t.statusMessage||null,r.onStateChange&&r.onStateChange(a),t.on("data",function(t){n+=t.toString(),o||(o=1,a.readyState=e.XHR.LOADING,r.onStateChange&&r.onStateChange(a),r.onLoadStart&&r.onLoadStart(a)),r.onProgress&&r.onProgress(a)}),t.on("end",function(){a.readyState=e.XHR.DONE,a.responseType="text",a.response=a.responseText=n,r.onStateChange&&r.onStateChange(a),r.onLoadEnd&&r.onLoadEnd(a),e.XHR.DONE===a.readyState&&(200===a.status?r.onComplete&&r.onComplete(a):r.onRequestError?r.onRequestError(a):r.onError&&r.onError(a))}),t.on("error",function(e){a.statusText=e.toString(),r.onError&&r.onError(a)})}),s.setTimeout(r.timeout||3e4,function(e){r.onTimeout&&r.onTimeout(a)}),s.on("abort",function(e){r.onAbort&&r.onAbort(a)}),s.on("error",function(e){a.statusText=e.toString(),r.onError&&r.onError(a)}),r.headers&&n.Header.encode(r.headers,null,s),arguments.length>1&&a.send(o),a}:function(r,o){if(r=r||{},!r.url)return null;var s="undefined"!=typeof XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP"),i=new t(function(e){s.send(e)},function(){s.abort()}),a=function(e,t){return e.readyState=t.readyState,e.responseType=t.responseType,e.responseURL=t.responseURL,e.response=t.response,e.responseText=t.responseText,e.responseXml=t.responseXml,e.status=t.status,e.statusText=t.statusText,e};return i.getAllResponseHeaders=function(e){var t=s.getAllResponseHeaders();return!0===e?n.Header.decode(t):t},i.getResponseHeader=function(e){return s.getResponseHeader(e)},s.open(r.method||"GET",r.url,!r.sync),i.responseType=s.responseType=r.responseType||"text",s.timeout=r.timeout||3e4,r.onProgress&&(s.onprogress=function(){r.onProgress(a(i,s))}),r.onLoadStart&&(s.onloadstart=function(){r.onLoadStart(a(i,s))}),r.onLoadEnd&&(s.onloadend=function(){r.onLoadEnd(a(i,s))}),!r.sync&&r.onStateChange&&(s.onreadystatechange=function(){r.onStateChange(a(i,s))}),s.onload=function(){a(i,s),e.XHR.DONE===s.readyState&&(200===s.status?r.onComplete&&r.onComplete(i):r.onRequestError?r.onRequestError(i):r.onError&&r.onError(i))},s.onabort=function(){r.onAbort&&r.onAbort(a(i,s))},s.onerror=function(){r.onError&&r.onError(a(i,s))},s.ontimeout=function(){r.onTimeout&&r.onTimeout(a(i,s))},r.headers&&n.Header.encode(r.headers,s),r.mimeType&&s.overrideMimeType(r.mimeType),arguments.length>1&&i.send(o),i},e.UUID=function(e,t){return(e||"")+ ++m+"_"+Date.now()+"_"+Math.floor(1e3*Math.random())+(t||"")},e.Const={BASE64:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",CRLF:"\r\n",CRLF_RE:/(\r\n)|\r|\n/g,COOKIE_RE:/([^=]+)(?:=(.*))?/},n=e.Util={String:{trim:f},Utf8:{encode:function(e){e=e.replace(g,"\n");var t,n,r,o="";for(t=0,n=e.length;n>t;t++)r=e.charCodeAt(t),o+=128>r?c(r):r>127&&2048>r?c(r>>6|192)+c(63&r|128):c(r>>12|224)+c(r>>6&63|128)+c(63&r|128);return o},decode:function(e){for(var t="",n=0,r=c1=c2=0,o=e.length;o>n;)r=e.charCodeAt(n),128>r?(t+=c(r),n++):r>191&&224>r?(c2=e.charCodeAt(n+1),t+=c((31&r)<<6|63&c2),n+=2):(c2=e.charCodeAt(n+1),c3=e.charCodeAt(n+2),t+=c((15&r)<<12|(63&c2)<<6|63&c3),n+=3);return t}},Base64:{encode:function(t){t=n.Utf8.encode(t);for(var r,o,s,i,a,u,l,d="",c=0,p=t.length,f=e.Const.BASE64;p>c;)r=t.charCodeAt(c++),o=t.charCodeAt(c++),s=t.charCodeAt(c++),i=r>>2,a=(3&r)<<4|o>>4,u=(15&o)<<2|s>>6,l=63&s,isNaN(o)?u=l=64:isNaN(s)&&(l=64),d=d+f.charAt(i)+f.charAt(a)+f.charAt(u)+f.charAt(l);return d},decode:function(e){e=e.replace(h,"");for(var t,r,o,s,i,a,u,l="",d=0,p=e.length;p>d;)s=keyString.indexOf(e.charAt(d++)),i=keyString.indexOf(e.charAt(d++)),a=keyString.indexOf(e.charAt(d++)),u=keyString.indexOf(e.charAt(d++)),t=s<<2|i>>4,r=(15&i)<<4|a>>2,o=(3&a)<<6|u,l+=c(t),64!=a&&(l+=c(r)),64!=u&&(l+=c(o));return l=n.Utf8.decode(l)}},Json:{encode:JSON.stringify,decode:JSON.parse},Url:{create:function(e){if(!e)return"";var t,r,o,a,u,l,d,c,p,f=[],h=s(e),g=h.length,m=n.Url.encode;for(a=0,t=g>a?[[r=h[a++],e[r]]]:[];t.length;){if(u=t.shift(),r=u[0],o=u[1],p=i.call(o),"[object Array]"===p)for(r+="[]",l=0,d=o.length;d>l;l++)t.unshift([r,o[l]]);else if("[object Object]"===p)for(c=s(o),l=0,d=c.length;d>l;l++)t.unshift([r+"["+c[l]+"]",o[c[l]]]);else f.push(m(r)+"="+m(o));!t.length&&g>a&&t.unshift([r=h[a++],e[r]])}return f.join("&")},rawencode:function(e){return encodeURIComponent(""+e).split("!").join("%21").split("'").join("%27").split("(").join("%28").split(")").join("%29").split("*").join("%2A")},rawdecode:function(e){return decodeURIComponent(""+e)},encode:function(e){return n.Url.rawencode(e).split("%20").join("+")},decode:function(e){return n.Url.rawdecode((""+e).split("+").join("%20"))}},Cookie:{create:function(e,t,n,r,o,s,i){var a=arguments.length;return{name:a>0?e:"",value:a>1?t:"",domain:a>2?n:"",path:a>3?r:"/",expires:a>4?o:new Date(Date.now()+31536e6),secure:a>5?!!s:!1,httponly:a>6?!!i:!1}},encode:function(e){if(e&&e.name){var t=String(e.name)+"="+String(e.value);return t+="; Domain="+String(e.domain),t+="; Path="+String(e.path),t+="; Expires="+String(e.expires),e.secure&&(t+="; Secure"),e.httponly&&(t+="; HttpOnly"),t}},decode:function(t){var r,s,i,a,u=n.Cookie.create(),l=e.Const.COOKIE_RE,d=String(t).split("; ");if(null!=(r=d.shift().match(l))){for(u.name=r[1],u.value=r[2],i=0,a=d.length;a>i;i++)r=d[i].match(l),null!=r&&r.length&&(s=r[1].toLowerCase(),u[o](s)&&(u[s]="string"==typeof r[2]?r[2]:!0));return"string"==typeof u.expires&&(u.expires=new Date(u.expires)),u}}},Header:{encode:function(t,n,r){var o="";if(!t)return xhr?xhr:o;var a,u,l,d,c,p=s(t),f=e.Const.CRLF;if(r){for(u=0,l=p.length;l>u;u++)a=p[u],r.setHeader(a,t[a]);return r}if(n){for(u=0,l=p.length;l>u;u++)if(a=p[u],"[object Array]"===i.call(t[a]))for(d=0,c=t[a].length;c>d;d++)n.setRequestHeader(a,String(t[a][d]));else n.setRequestHeader(a,String(t[a]));return n}for(u=0,l=p.length;l>u;u++)if(a=p[u],"[object Array]"===i.call(t[a]))for(o.length&&(o+=f),o+=a+": "+String(t[a][0]),d=1,c=t[a].length;c>d;d++)o+=f+String(t[a][d]);else o.length&&(o+=f),o+=a+": "+String(t[a]);return o},decode:function(t,n){var r,s,i,a,u={},l=null,d=e.Const.CRLF;if(t)for(n=!0===n,t=t.split(d),s=0,i=t.length;i>s;s++)a=t[s],r=a.split(":"),r.length>1?(l=f(r.shift()),n&&(l=l.toLowerCase()),u[o](l)?("string"==typeof u[l]&&(u[l]=[u[l]]),u[l].push(f(r.join(":")))):u[l]=f(r.join(":"))):r[0].length&&l&&(u[l]=d+r[0]);return u}}},e.Client=function E(t){var n=this;return n instanceof E?(n.$cfg$=t||{},n.$event$={},void(n.status=e.Client.CREATED)):new E(t)},e.Client.Impl={},e.Client.CREATED=1,e.Client.DESTROYED=0,e.Client.OPENED=2,e.Client.CLOSED=4,e.Client.PENDING=8,e.Client.ABORTED=16,e.Client[r]={constructor:e.Client,status:e.Client.CREATED,$cfg$:null,$event$:null,dispose:function(){var t=this;return t.status=e.Client.DESTROYED,t.$cfg$=null,t.$event$=null,t},config:function(e,t){var n=this,r=n.$cfg$;return e?arguments.length>1?(r[e]=t,n):r[e]:void 0},on:function(e,t,n){var r=this;return e&&t?(r.$event$[o](e)?r.$event$[e].push([t,!0===n,0]):r.$event$[e]=[[t,!0===n,0]],r):r},one:function(e,t){return this.on(e,t,!0)},off:function(e,t){var n=this;if(!e||!n.$event$[o](e))return n;if(null==t)delete n.$event$[e];else{for(var r=n.$event$[e],s=r.length-1;s>=0;s--)r[s][0]===t&&t.splice(s,1);r.length||delete n.$event$[e]}return n},emit:function(e,t){var n=this;if(!e||!n.$event$[o](e))return n;var r,s,i=n.$event$[e].slice(),a=i.length,u=[],l={event:e,data:t,target:n};for(r=0;a>r;r++)s=i[r],s[1]&&u.push(r),s[1]&&s[2]||(s[2]=1,s[0](l));for(i=n.$event$[e],r=u.length-1;r>=0;r--)i.splice(u[r],1);return i.length||delete n.$event$[e],n},abort:function(t,n){return this.status=e.Client.ABORTED,!0===t?this.emit("abort",n):this},open:function(t){return this.status=e.Client.OPENED,this.emit("open",t)},close:function(t){return this.status=e.Client.CLOSED,this.emit("close",t)},send:function(e){return this},listen:function(){return this},init:function(){var e=this;return setTimeout(function(){e.listen()},40),e}},e.Client[r].addEventListener=e.Client[r].on,e.Client[r].removeEventListener=e.Client[r].off,e.Client[r].trigger=e.Client[r].dispatchEvent=e.Client[r].emit,e}); \ No newline at end of file