futoin-invoker
Advanced tools
Comparing version 2.3.0 to 2.3.1
@@ -0,1 +1,4 @@ | ||
=== 2.3.1 (2019-09-27) === | ||
CHANGED: dependency maintenance | ||
=== 2.3.0 (2019-07-17) === | ||
@@ -2,0 +5,0 @@ CHANGED: dependency maintenance |
@@ -1,1 +0,1 @@ | ||
!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n(require("futoin-asyncsteps"),require("futoin-asyncevent")):"function"==typeof define&&define.amd?define(["futoin-asyncsteps","futoin-asyncevent"],n):"object"==typeof exports?exports["futoin-invoker"]=n(require("futoin-asyncsteps"),require("futoin-asyncevent")):e.FutoInInvoker=n(e.$as,e.$asyncevent)}(window,function(__WEBPACK_EXTERNAL_MODULE__7__,__WEBPACK_EXTERNAL_MODULE__8__){return function(e){var n={};function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}return t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:r})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var o in e)t.d(r,o,function(n){return e[n]}.bind(null,o));return r},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p="",t(t.s=170)}([function(e,n,t){"use strict";var r=t(7);n.AsyncSteps=r,n.FutoInError=r.FutoInError,n.Options={SAFE_PAYLOAD_LIMIT:65536,SVC_RESOLVER:"#resolver",SVC_AUTH:"#auth",SVC_DEFENSE:"#defense",SVC_ACL:"#acl",SVC_LOG:"#log",SVC_CACHE_:"#cache."},n._ifacever_pattern=/^(([a-z][a-z0-9]*)(\.[a-z][a-z0-9]*)*):(([0-9]+)\.([0-9]+))$/,n._ifacever_pattern_name=1,n._ifacever_pattern_ver=4,n._ifacever_pattern_mjr=5,n._ifacever_pattern_mnr=6,n._isNode="undefined"==typeof window&&t(43)},function(e,n,t){var r=t(24),o="object"==typeof self&&self&&self.Object===Object&&self,i=r||o||Function("return this")();e.exports=i},function(e,n){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,n,t){"use strict";function r(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var o={},i=function(){function e(){!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e)}var n,t,i;return n=e,i=[{key:"detect",value:function(e){if("string"==typeof e&&"{"==e[0])return o.JSON;for(var n in o){var t=o[n];if(t.detect(e))return t}return o.JSON}},{key:"registerCoder",value:function(e,n){o[e]=n}},{key:"get",value:function(e){var n=o.hasOwnProperty(e)&&o[e];if(!n)throw new Error("Missing coder: ".concat(e));return n}}],(t=[{key:"isBinary",value:function(){return!1}},{key:"name",value:function(){return"Unknown"}}])&&r(n.prototype,t),i&&r(n,i),e}();e.exports=i},function(e,n){e.exports=function(e){var n=typeof e;return null!=e&&("object"==n||"function"==n)}},function(e,n){e.exports=function(e){return null!=e&&"object"==typeof e}},function(e,n,t){var r=t(46),o=t(51);e.exports=function(e,n){var t=o(e,n);return r(t)?t:void 0}},function(e,n){e.exports=__WEBPACK_EXTERNAL_MODULE__7__},function(e,n){e.exports=__WEBPACK_EXTERNAL_MODULE__8__},function(e,n,t){var r=t(14),o=t(47),i=t(48),a="[object Null]",c="[object Undefined]",s=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?c:a:s&&s in Object(e)?o(e):i(e)}},function(e,n){e.exports=function(e,n){return e===n||e!=e&&n!=n}},function(module,exports,__webpack_require__){"use strict";(function(module){function _classCallCheck(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function _createClass(e,n,t){return n&&_defineProperties(e.prototype,n),t&&_defineProperties(e,t),e}var $asyncevent=__webpack_require__(8),$as=__webpack_require__(7),common=__webpack_require__(0),_common$FutoInError=common.FutoInError,InvokerError=_common$FutoInError.InvokerError,CommError=_common$FutoInError.CommError,InterfaceInfo=__webpack_require__(32),Options=common.Options,SAFE_PAYLOAD_LIMIT=Options.SAFE_PAYLOAD_LIMIT,assertAS=Options.prodMode?function(){}:$as.assertAS,NativeIface=function(){function NativeIface(_ccmimpl,_info){var _this=this;_classCallCheck(this,NativeIface),$asyncevent(this,["connect","disconnect","close","commError"]);var ccmimpl=_ccmimpl,info=_info;this._ccmimpl=ccmimpl,this._raw_info=info,this._iface_info=null,this._comms={};var limitZone=info.limitZone,options=info.options,endpoint=info.endpoint,endpoint_scheme=info.endpoint_scheme,coder=info.coder,funcs=info.funcs,signMessage=info.signMessage,callTimeoutMS=options.callTimeoutMS,custom_create_ctx,custom_perform;switch(endpoint_scheme){case"#internal#":custom_create_ctx=function(e,n,t){return{ccmimpl:ccmimpl,name:e,info:info,upload_data:n,download_stream:t,options:options,endpoint:endpoint,expect_response:!0,max_rsp_size:0,max_req_size:0}},custom_perform=function(e,n,t){signMessage(e,n,t),endpoint.onInternalRequest(e,info,t,n.upload_data,n.download_stream)};break;case"http":case"https":custom_perform=function(e,n,t){ccmimpl.perfomHTTP(e,n,t)};break;case"ws":case"wss":custom_perform=function(e,n,t){var r,o=n.download_stream||funcs&&(r=funcs[n.name])&&r.rawresult;o||n.upload_data?(n.endpoint=endpoint.replace("ws","http"),n.rawresult=o,ccmimpl.perfomHTTP(e,n,t)):ccmimpl.perfomWebSocket(e,n,t)};break;case"browser":custom_perform=function(e,n,t){forbid_rawdata(e,n),ccmimpl.perfomBrowser(e,n,t)};break;case"unix":custom_perform=function(e,n,t){forbid_rawdata(e,n),ccmimpl.perfomUNIX(e,n,t)};break;case"callback":custom_perform=function(e,n,t){forbid_rawdata(e,n),endpoint(e,n,t)};break;default:custom_perform=function(e){e.error(InvokerError,"Unknown endpoint scheme: ".concat(endpoint_scheme))}}var create_ctx=custom_create_ctx||function(e,n,t){return{ccmimpl:ccmimpl,name:e,info:info,upload_data:n,download_stream:t,rawresult:!1,rsp_content_type:null,native_iface:_this,options:options,endpoint:endpoint,msg_coder:coder,expect_response:!0,signMessage:signMessage,max_rsp_size:SAFE_PAYLOAD_LIMIT,max_req_size:SAFE_PAYLOAD_LIMIT}},perform=custom_perform,handle_timeout=function(e,n){"number"!=typeof n&&(n=callTimeoutMS),n>0&&e.setTimeout(n)},forbid_rawdata=function(e,n){n.upload_data?e.error(InvokerError,"Upload data is allowed only for HTTP/WS endpoints"):n.download_stream&&e.error(InvokerError,"Download stream is allowed only for HTTP/WS endpoints")},limiters=ccmimpl.limiters,sync_limit=function(){if("unlimited"===limitZone){var e=function(e,n,t,r,o){e.add(function(e){handle_timeout(e,o),n(e,t,r)})};return"#internal#"===endpoint_scheme?function(n,t,r,o,i){i?e(n,t,r,o,i):t(n,r,o)}:e}return function(e,n,t,r,o){e.sync(limiters[limitZone],function(e){handle_timeout(e,o),n(e,t,r)})}}(),handle_response=function(e,n,t,r){if(n.download_stream)e.success(!0);else if(r){if(t instanceof Uint8Array||"string"==typeof t)try{t=n.msg_coder.decode(t)}catch(n){e.error(CommError,"Decode: "+n.message)}ccmimpl.onMessageResponse(e,n,t)}else ccmimpl.onDataResponse(e,n,t)},call=function(e,n,t){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null;assertAS(e),t=t||{};var a=create_ctx(n,r,o);Object.seal(a);var c=ccmimpl.createMessage(e,a,t);sync_limit(e,perform,a,c,i),a.expect_response&&e.add(function(e,n,t){return handle_response(e,a,n,t)})};Object.defineProperty(this,"call",{value:call,configurable:!1,enumerable:!1,writeable:!1});var member_call_generate_eval=function member_call_generate_eval(name,finfo){for(var src=[],params=finfo.params,plist=Object.keys(params),pmap=[],_i=0,_plist=plist;_i<_plist.length;_i++){var p=_plist[_i];void 0===params[p].default&&pmap.push("".concat(p,":").concat(p))}var args=["as"].concat(plist);src.push("(function (".concat(args.join(","),") {")),src.push("'use strict';"),src.push("var params = {".concat(pmap.join(","),"};"));for(var _i2=0,_plist2=plist;_i2<_plist2.length;_i2++){var _p=_plist2[_i2];void 0!==params[_p].default&&src.push("if (".concat(_p," !== undefined) params.").concat(_p," = ").concat(_p,";"))}return src.push('return call(as, "'.concat(name,'", params);')),src.push("})"),eval(src.join(""))};for(var fn in funcs){var finfo=funcs[fn];finfo.rawupload||(fn in this||Object.defineProperty(this,fn,{value:member_call_generate_eval(fn,finfo),configurable:!1,enumerable:!1,writeable:!1}))}}return _createClass(NativeIface,[{key:"ifaceInfo",value:function(){var e=this._iface_info;return e||(this._iface_info=new InterfaceInfo(this._raw_info))}},{key:"bindDerivedKey",value:function(e){throw new Error(InvokerError,"Not Implemented")}},{key:"_close",value:function(){var e=this._comms;for(var n in e)e[n].close();this.emit("close")}}],[{key:"spec",value:function(e){var n;if(this._specs&&(n=this._specs[e]),!n&&this._specs_module_prefix){var t=this._specs_module_prefix+e.replace(".","_");n=module.require(t)}return n}}]),NativeIface}();NativeIface._specs=null,NativeIface._specs_module_prefix=null,module.exports=NativeIface}).call(this,__webpack_require__(2)(module))},function(e,n,t){e.exports=t(45)},function(e,n,t){var r=t(20),o=t(21);e.exports=function(e,n,t,i){var a=!t;t||(t={});for(var c=-1,s=n.length;++c<s;){var u=n[c],f=i?i(t[u],e[u],u,t,e):void 0;void 0===f&&(f=e[u]),a?o(t,u,f):r(t,u,f)}return t}},function(e,n,t){var r=t(1).Symbol;e.exports=r},function(e,n,t){var r=t(23),o=t(27);e.exports=function(e){return null!=e&&o(e.length)&&!r(e)}},function(e,n,t){var r=t(34),o=t(64),i=t(15);e.exports=function(e){return i(e)?r(e,!0):o(e)}},function(e,n,t){var r=t(25),o=t(53),i=t(55);e.exports=function(e,n){return i(o(e,n,r),e+"")}},function(e,n){var t=Array.isArray;e.exports=t},function(e,n){e.exports=function(e){return function(n){return e(n)}}},function(e,n,t){var r=t(21),o=t(10),i=Object.prototype.hasOwnProperty;e.exports=function(e,n,t){var a=e[n];i.call(e,n)&&o(a,t)&&(void 0!==t||n in e)||r(e,n,t)}},function(e,n,t){var r=t(22);e.exports=function(e,n,t){"__proto__"==n&&r?r(e,n,{configurable:!0,enumerable:!0,value:t,writable:!0}):e[n]=t}},function(e,n,t){var r=t(6),o=function(){try{var e=r(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();e.exports=o},function(e,n,t){var r=t(9),o=t(4),i="[object AsyncFunction]",a="[object Function]",c="[object GeneratorFunction]",s="[object Proxy]";e.exports=function(e){if(!o(e))return!1;var n=r(e);return n==a||n==c||n==i||n==s}},function(e,n){var t="object"==typeof global&&global&&global.Object===Object&&global;e.exports=t},function(e,n){e.exports=function(e){return e}},function(e,n,t){var r=t(10),o=t(15),i=t(28),a=t(4);e.exports=function(e,n,t){if(!a(t))return!1;var c=typeof n;return!!("number"==c?o(t)&&i(n,t.length):"string"==c&&n in t)&&r(t[n],e)}},function(e,n){var t=9007199254740991;e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=t}},function(e,n){var t=9007199254740991,r=/^(?:0|[1-9]\d*)$/;e.exports=function(e,n){var o=typeof e;return!!(n=null==n?t:n)&&("number"==o||"symbol"!=o&&r.test(e))&&e>-1&&e%1==0&&e<n}},function(e,n,t){(function(e){var r=t(24),o=n&&!n.nodeType&&n,i=o&&"object"==typeof e&&e&&!e.nodeType&&e,a=i&&i.exports===o&&r.process,c=function(){try{var e=i&&i.require&&i.require("util").types;return e||a&&a.binding&&a.binding("util")}catch(e){}}();e.exports=c}).call(this,t(2)(e))},function(e,n){var t=Object.prototype;e.exports=function(e){var n=e&&e.constructor;return e===("function"==typeof n&&n.prototype||t)}},function(e,n,t){"use strict";function r(){return(r=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e}).apply(this,arguments)}function o(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var i=t(0),a=i.FutoInError,c=a.InvokerError,s=a.SecurityError,u=t(11),f=t(12),l=t(37),p=t(8),m=t(7).Limiter,_=i.Options,v=/^secure\+/,d=/^(https|wss|unix):\/\//,h=function(e,n){return new u(e,n)},y=function(){function e(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),p(this,["register","unregister","close"]),this._iface_info={},this._iface_instance={},this._impl=t||new l(n),this.limitZone("default",{concurrent:8,max_queue:32,rate:10,period_ms:1e3,burst:null})}var n,t,a;return n=e,(t=[{key:"register",value:function(e,n,t,o,a){var u=this,f=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},l=null===n;!l&&n in this._iface_info&&e.error(c,"Already registered");var p=t.match(i._ifacever_pattern);null===p&&e.error(c,"Invalid ifacever"),f=r({},this._impl.options,f);var m,_=p[i._ifacever_pattern_name],y=p[i._ifacever_pattern_ver],b=p[i._ifacever_pattern_mjr],g=p[i._ifacever_pattern_mnr],w=f.secureChannel||!1,x=null,k=!1,j=!1,O="default";if(l)m="callback",k=!0;else if("string"==typeof o)switch(v.test(o)?(w=!0,o=o.replace(v,"")):d.test(o)&&(w=!0),x=h,m=o.split(":")[0]){case"http":case"https":break;case"ws":case"wss":case"unix":k=!0;break;case"browser":f.targetOrigin&&(w=!0),k=!0;break;default:e.error(c,"Unknown endpoint schema")}else"onInternalRequest"in o?(w=!0,x=h,m="#internal#",k=!0,j=!0,a=a||"-internal",O="unlimited"):(w=!0,x=o,o=null,m=null,k=!0,j=!0);(O=f.limitZone||O)in this._impl.limiters||e.error(c,"Unknown limit zone ".concat(O));var S={iface:_,version:y,mjrver:b,mnrver:g,endpoint:o,endpoint_scheme:m,creds:a||null,creds_master:"master"===a,creds_mac:a&&null!==a.match(/^-[hs]mac:/),secure_channel:w,impl:x,regname:n,inherits:null,funcs:null,constraints:null,options:f,_invoker_use:!0,_user_info:null,_server_executor_context:null,_callback_context:null,limitZone:O,aliases:[]};S.creds_mac&&(a.match(/^-hmac:/)?(f.hmacKey||e.error(c,"Missing options.hmacKey"),f.macKey=f.hmacKey,f.macAlgo=f.hmacAlgo):f.macKey||e.error(c,"Missing options.macKey")),S.creds_master&&!f.masterAuth&&e.error(c,"Missing options.masterAuth"),n&&(this._iface_info[n]=S),e.add(function(e){u._impl.onRegister(e,S),e.add(function(e){S.simple_req||("AllowAnonymous"in S.constraints||S.creds||e.error(s,"Requires authenticated user"),"SecureChannel"in S.constraints&&!w&&e.error(s,"SecureChannel is required"),"MessageSignature"in S.constraints&&!S.creds_master&&!S.creds_mac&&!j&&e.error(s,"MessageSignature is required"),"BiDirectChannel"in S.constraints&&!k&&e.error(c,"BiDirectChannel is required")),l&&e.success(S,h(u._impl,S)),Object.seal(S),u.emit("register",n,t,S)})},function(e,t){n&&delete u._iface_info[n]})}},{key:"iface",value:function(e){return this._iface_instance[e]||this._initIface(e)}},{key:"_initIface",value:function(e){var n=this._iface_info[e];if(!n)throw new Error(c);var t=n.regname,r=this._iface_instance,o=r[t];if(!o){var i=n.options.nativeImpl;o=i?new i(this._impl,n):n.impl(this._impl,n),Object.seal(o),r[t]=o}return t!==e&&(r[e]=o),o}},{key:"unRegister",value:function(e){var n=this._iface_info,t=this._iface_instance,r=n[e];if(!r)throw new Error(c);if(r.regname===e){var o=r.aliases,i=t[e];i&&i._close();for(var a=0;a<o.length;++a){var s=o[a];delete n[s],delete t[s]}}else r.aliases.splice(r.aliases.indexOf(e),0);delete n[e],delete t[e],this.emit("unregister",e,r)}},{key:"defense",value:function(){return this.iface(this.SVC_DEFENSE)}},{key:"log",value:function(){return this.iface(this.SVC_LOG)}},{key:"cache",value:function(e){return this.iface(this.SVC_CACHE_+(e||"default"))}},{key:"assertIface",value:function(e,n){var t=this._iface_info[e];if(!t)throw new Error(c);var r=n.match(i._ifacever_pattern);if(null===r)throw new Error(c);var o=r[i._ifacever_pattern_name],a=r[i._ifacever_pattern_mjr],s=r[i._ifacever_pattern_mnr];if(!(t.iface===o&&t.mjrver===a&&t.mnrver>=s)){var u=t.inherits;if(u)for(var f=u.length-1;f>=0;--f){var l=u[f].match(i._ifacever_pattern);if(l[i._ifacever_pattern_name]===o&&l[i._ifacever_pattern_mjr]===a&&l[i._ifacever_pattern_mnr]>=s)return}throw new Error(c)}}},{key:"alias",value:function(e,n){var t=this._iface_info,r=t[e];if(!r||t[n])throw new Error(c);t[n]=r,r.aliases.push(n),this.emit("register",n,"".concat(r.iface,":").concat(r.version),r)}},{key:"close",value:function(){var e=this._iface_instance,n=this._iface_info;for(var t in n){var r=n[t],o=e[t];o&&t===r.regname&&o._close()}this._iface_instance={},this._iface_info={};var i=this._impl,a=i.comms;for(var c in a)a[c].close();i.comms={},this.emit("close")}},{key:"limitZone",value:function(e,n){"unlimited"!==e&&(this._impl.limiters[e]=new m(n))}}])&&o(n.prototype,t),a&&o(n,a),e}();f(y.prototype,_),f(y,_),e.exports=y},function(e,n,t){"use strict";function r(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var o=function(){function e(n){!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this._raw_info=n}var n,t,o;return n=e,(t=[{key:"name",value:function(){return this._raw_info.iface}},{key:"version",value:function(){return this._raw_info.version}},{key:"inherits",value:function(){return this._raw_info.inherits}},{key:"funcs",value:function(){return this._raw_info.funcs}},{key:"constraints",value:function(){return this._raw_info.constraints}}])&&r(n.prototype,t),o&&r(n,o),e}();e.exports=o},function(e,n){var t=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return t.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},function(e,n,t){var r=t(59),o=t(35),i=t(18),a=t(36),c=t(28),s=t(62),u=Object.prototype.hasOwnProperty;e.exports=function(e,n){var t=i(e),f=!t&&o(e),l=!t&&!f&&a(e),p=!t&&!f&&!l&&s(e),m=t||f||l||p,_=m?r(e.length,String):[],v=_.length;for(var d in e)!n&&!u.call(e,d)||m&&("length"==d||l&&("offset"==d||"parent"==d)||p&&("buffer"==d||"byteLength"==d||"byteOffset"==d)||c(d,v))||_.push(d);return _}},function(e,n,t){var r=t(60),o=t(5),i=Object.prototype,a=i.hasOwnProperty,c=i.propertyIsEnumerable,s=r(function(){return arguments}())?r:function(e){return o(e)&&a.call(e,"callee")&&!c.call(e,"callee")};e.exports=s},function(e,n,t){(function(e){var r=t(1),o=t(61),i=n&&!n.nodeType&&n,a=i&&"object"==typeof e&&e&&!e.nodeType&&e,c=a&&a.exports===i?r.Buffer:void 0,s=(c?c.isBuffer:void 0)||o;e.exports=s}).call(this,t(2)(e))},function(e,n,t){"use strict";(function(e){function n(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var o=t(0),i=o.FutoInError,a=i.InvokerError,c=i.CommError,s=t(3),u=o._isNode,f=t(38),l=u?e.require("./node/comms"):t(66),p={callTimeoutMS:3e4,prodMode:"object"===("undefined"==typeof process?"undefined":r(process))&&!0,commConfigCallback:null,messageSniffer:function(){},disconnectSniffer:function(){},executor:null,targetOrigin:null,retryCount:1,defaultCoder:"JSON",binaryCoder:"MPCK",secureChannel:!1,commConcurrency:16};Object.freeze(p);var m=function(){function e(n){!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),f(n=n||{},p),this.options=n,this.comms={},this.limiters={unlimited:{sync:function(e,n,t){e.add(n,t)}}},this._globalHTTPSecureAgent=null,this._globalHTTPAgent=null,Object.seal(this)}var t,r,o;return t=e,(r=[{key:"onRegister",value:function(e,n){(n.creds_master||n.creds_mac)&&e.error(a,"Master/HMAC is supported only in AdvancedCCM"),n.funcs={},n.inherits=[],n.constraints={},n.simple_req=!0,n.coder=s.get(n.options.coder||this.options.defaultCoder),n.signMessage=function(){}}},{key:"createMessage",value:function(e,n,t){var r=n.info,o={f:"".concat(r.iface,":").concat(r.version,":").concat(n.name),p:t,forcersp:!0},i=r.creds;return i&&(o.sec=i),o}},{key:"onMessageResponse",value:function(e,n,t){var r=t.e;r?e.error(r,t.edesc):e.success(t.r)}},{key:"onDataResponse",value:function(e,n,t){e.success(t)}},{key:"getComms",value:function(e,n,t,r){var o,i,c=n.options,s=this.options;c.executor!==s.executor||c.messageSniffer!==s.messageSniffer||c.disconnectSniffer!==s.disconnectSniffer||c.commConfigCallback!==s.commConfigCallback?(o=n.native_iface._comms,i=n.info.endpoint_scheme):(o=this.comms,i=n.endpoint+"##"+(n.credentials||"")+"##"+(r||""));var u=o[i];return u||(t||e.error(a,"Not implemented "+n.info.endpoint_scheme+" scheme"),u=new t,o[i]=u),u}},{key:"performCommon",value:function(e,n,t,r){var o,i,a=n.options.retryCount;e.repeat(a+1,function(e,s){e.add(function(e){r.perform(e,n,t),e.add(function(e,n,t){o=n,i=t,e.break()})},function(e,r){r===c&&(n.native_iface.emit("commError",e.state.error_info,t),s<a&&e.continue())})}),e.add(function(e){e.success(o,i)})}},{key:"perfomHTTP",value:function(e,n,t){var r=this.getComms(e,n,l.HTTPComms);this.performCommon(e,n,t,r)}},{key:"perfomWebSocket",value:function(e,n,t){var r=this.getComms(e,n,l.WSComms);this.performCommon(e,n,t,r)}},{key:"perfomUNIX",value:function(e,n,t){e.error(a,"Not implemented unix:// scheme")}},{key:"perfomBrowser",value:function(e,n,t){this.getComms(e,n,l.BrowserComms,n.options.targetOrigin).perform(e,n,t)}}])&&n(t.prototype,r),o&&n(t,o),e}();e.exports=m}).call(this,t(2)(e))},function(e,n,t){var r=t(17),o=t(10),i=t(26),a=t(16),c=Object.prototype,s=c.hasOwnProperty,u=r(function(e,n){e=Object(e);var t=-1,r=n.length,u=r>2?n[2]:void 0;for(u&&i(n[0],n[1],u)&&(r=1);++t<r;)for(var f=n[t],l=a(f),p=-1,m=l.length;++p<m;){var _=l[p],v=e[_];(void 0===v||o(v,c[_])&&!s.call(e,_))&&(e[_]=f[_])}return e});e.exports=u},,,,,function(e,n){e.exports=!1},function(e,n,t){"use strict";function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function i(e,n){return!n||"object"!==r(n)&&"function"!=typeof n?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):n}function a(e){return(a=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function c(e,n){return(c=Object.setPrototypeOf||function(e,n){return e.__proto__=n,e})(e,n)}var s=t(3),u=function(e){function n(){return function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,n),i(this,a(n).apply(this,arguments))}var t,r,u;return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),n&&c(e,n)}(n,s),t=n,u=[{key:"register",value:function(){this.registerCoder("JSON",new this)}}],(r=[{key:"isBinary",value:function(){return!1}},{key:"name",value:function(){return"JSON"}},{key:"contentType",value:function(){return"application/futoin+json"}},{key:"detect",value:function(e){return"string"==typeof e?"{"===e.charAt(0):123===e[0]}},{key:"encode",value:function(e){return JSON.stringify(e)}},{key:"decode",value:function(e){return JSON.parse(e)}}])&&o(t.prototype,r),u&&o(t,u),n}();e.exports=u},function(e,n,t){var r=t(13),o=t(52),i=t(16),a=o(function(e,n){r(n,i(n),e)});e.exports=a},function(e,n,t){var r=t(23),o=t(49),i=t(4),a=t(33),c=/^\[object .+?Constructor\]$/,s=Function.prototype,u=Object.prototype,f=s.toString,l=u.hasOwnProperty,p=RegExp("^"+f.call(l).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!i(e)||o(e))&&(r(e)?p:c).test(a(e))}},function(e,n,t){var r=t(14),o=Object.prototype,i=o.hasOwnProperty,a=o.toString,c=r?r.toStringTag:void 0;e.exports=function(e){var n=i.call(e,c),t=e[c];try{e[c]=void 0;var r=!0}catch(e){}var o=a.call(e);return r&&(n?e[c]=t:delete e[c]),o}},function(e,n){var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},function(e,n,t){var r,o=t(50),i=(r=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";e.exports=function(e){return!!i&&i in e}},function(e,n,t){var r=t(1)["__core-js_shared__"];e.exports=r},function(e,n){e.exports=function(e,n){return null==e?void 0:e[n]}},function(e,n,t){var r=t(17),o=t(26);e.exports=function(e){return r(function(n,t){var r=-1,i=t.length,a=i>1?t[i-1]:void 0,c=i>2?t[2]:void 0;for(a=e.length>3&&"function"==typeof a?(i--,a):void 0,c&&o(t[0],t[1],c)&&(a=i<3?void 0:a,i=1),n=Object(n);++r<i;){var s=t[r];s&&e(n,s,r,a)}return n})}},function(e,n,t){var r=t(54),o=Math.max;e.exports=function(e,n,t){return n=o(void 0===n?e.length-1:n,0),function(){for(var i=arguments,a=-1,c=o(i.length-n,0),s=Array(c);++a<c;)s[a]=i[n+a];a=-1;for(var u=Array(n+1);++a<n;)u[a]=i[a];return u[n]=t(s),r(e,this,u)}}},function(e,n){e.exports=function(e,n,t){switch(t.length){case 0:return e.call(n);case 1:return e.call(n,t[0]);case 2:return e.call(n,t[0],t[1]);case 3:return e.call(n,t[0],t[1],t[2])}return e.apply(n,t)}},function(e,n,t){var r=t(56),o=t(58)(r);e.exports=o},function(e,n,t){var r=t(57),o=t(22),i=t(25),a=o?function(e,n){return o(e,"toString",{configurable:!0,enumerable:!1,value:r(n),writable:!0})}:i;e.exports=a},function(e,n){e.exports=function(e){return function(){return e}}},function(e,n){var t=800,r=16,o=Date.now;e.exports=function(e){var n=0,i=0;return function(){var a=o(),c=r-(a-i);if(i=a,c>0){if(++n>=t)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}},function(e,n){e.exports=function(e,n){for(var t=-1,r=Array(e);++t<e;)r[t]=n(t);return r}},function(e,n,t){var r=t(9),o=t(5),i="[object Arguments]";e.exports=function(e){return o(e)&&r(e)==i}},function(e,n){e.exports=function(){return!1}},function(e,n,t){var r=t(63),o=t(19),i=t(29),a=i&&i.isTypedArray,c=a?o(a):r;e.exports=c},function(e,n,t){var r=t(9),o=t(27),i=t(5),a={};a["[object Float32Array]"]=a["[object Float64Array]"]=a["[object Int8Array]"]=a["[object Int16Array]"]=a["[object Int32Array]"]=a["[object Uint8Array]"]=a["[object Uint8ClampedArray]"]=a["[object Uint16Array]"]=a["[object Uint32Array]"]=!0,a["[object Arguments]"]=a["[object Array]"]=a["[object ArrayBuffer]"]=a["[object Boolean]"]=a["[object DataView]"]=a["[object Date]"]=a["[object Error]"]=a["[object Function]"]=a["[object Map]"]=a["[object Number]"]=a["[object Object]"]=a["[object RegExp]"]=a["[object Set]"]=a["[object String]"]=a["[object WeakMap]"]=!1,e.exports=function(e){return i(e)&&o(e.length)&&!!a[r(e)]}},function(e,n,t){var r=t(4),o=t(30),i=t(65),a=Object.prototype.hasOwnProperty;e.exports=function(e){if(!r(e))return i(e);var n=o(e),t=[];for(var c in e)("constructor"!=c||!n&&a.call(e,c))&&t.push(c);return t}},function(e,n){e.exports=function(e){var n=[];if(null!=e)for(var t in Object(e))n.push(t);return n}},function(e,n,t){"use strict";function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function i(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function a(e,n,t){return n&&i(e.prototype,n),t&&i(e,t),e}var c=t(8),s=t(0).FutoInError,u=s.InvokerError,f=s.CommError,l=WebSocket,p=t(3),m=function(){function e(){o(this,e)}return a(e,[{key:"close",value:function(){}},{key:"perform",value:function(e,n,t){var r=this;e.add(function(e){return r._perform(e,n,t)})}},{key:"_perform",value:function(e,n,t){n.signMessage(e,n,t);var r,o,i=n.options.messageSniffer,a=new XMLHttpRequest,c=n.msg_coder,s=n.endpoint,l=n.upload_data;if(l||""===l){r="application/octet-stream","/"!==s.charAt(s.length-1)&&(s+="/"),s+=t.f.replace(/:/g,"/")+"/";var m=t.sec;m&&(m===n.options.credentials?o="Basic "+window.btoa(m):s+=encodeURIComponent(m)+"/");var _=[];for(var v in t.p){var d=t.p[v];"string"!=typeof d&&(d=JSON.stringify(d)),_.push(encodeURIComponent(v)+"="+encodeURIComponent(d))}s+="?"+_.join("&"),i(n.info,t,!1)}else r=c.contentType(),(l=c.encode(t)).length>n.max_req_size&&e.error(u,"Request message too long: ".concat(l.length," > ").concat(n.max_req_size)),i(n.info,l,!1);n.expect_response&&(n.download_stream&&(a.responseType=n.download_stream),a.onreadystatechange=function(){if(this.readyState===this.DONE){var t=n.download_stream?this.response:this.responseText;if(200===this.status&&t){var r=this.getResponseHeader("content-type")||"",o=r===c.contentType();if(!o&&r.match(/^application\/futoin\+/)){var a=p.detect(t);try{t=a.decode(t),o=!0}catch(e){}}i(n.info,o?t:"%DATA%",!0),e.success(t,o)}else try{e.error(f,"Low error")}catch(e){}}},e.setCancel(function(){return a.abort()})),a.open("POST",s,!0),a.setRequestHeader("Content-Type",r),o&&a.setRequestHeader("Authorization",o),a.send(l)}}]),e}();n.HTTPComms=m;var _=function(){function e(){o(this,e),this.rid=1,this.reqas={},this.evt={},this.ws=null,c(this.evt,["open"]),this._waiting_open=!1,this.sniffer=null,Object.seal(this)}return a(e,[{key:"init",value:function(e,n){var t=this,r=n.options,o=new l(n.endpoint);this.ws=o,this._waiting_open=!0;var i=this.reqas,a=r.executor||null,c=n.info,s=r.messageSniffer;this.sniffer=s;var u=function(e){for(var a in r.disconnectSniffer(c),o.close(),t.ws=null,t.rid=1,t.reqas={},i)try{i[a].error(f,e.wasClean?"Cleanup":"Error")}catch(e){}t._waiting_open=!1,n.native_iface.emit("disconnect")};o.onclose=u,o.onerror=u,o.onopen=function(e){t._waiting_open=!1,t.evt.emit("open"),n.native_iface.emit("connect")},o.onmessage=function(e){var n=e.data;s(c,n,!0);var t=p.detect(n);try{n=t.decode(n)}catch(e){return void console.log("WS Decode error",e.message,e)}var r=n.rid;if(r){var u=i[r];u?(u.success(n,!0),delete i[r]):"S"===r.charAt(0)&&a&&a.onEndpointRequest(c,n,function(e){return function(e,n){var t=a.packPayload(e,n);s(c,t,!1),o.send(t)}(t,e)})}}}},{key:"close",value:function(){this.ws&&(this.ws.close(),this.ws=null)}},{key:"perform",value:function(e,n,t){var r=this;this.ws||this.init(e,n),this._waiting_open&&e.add(function(e){if(r._waiting_open){var n=function(){return e.success()};r.evt.once("open",n),e.setCancel(function(){return r.evt.off("open",n)})}}),e.add(function(e){return r._perform(e,n,t)})}},{key:"_perform",value:function(e,n,t){this.ws||e.error(f,"Disconnect while in progress");var r=this.reqas,o="C"+this.rid++;t.rid=o,n.signMessage(e,n,t),n.expect_response&&(r[o]=e,e.setCancel(function(){delete r[o]}));var i=n.msg_coder.encode(t);this.sniffer(n.info,i,!1),this.ws.send(i)}}]),e}();n.WSComms=l?_:m;var v=function(){function e(){o(this,e),this.rid=1,this.reqas={},this.opts=null,this.target=null,this.sniffer=null,Object.seal(this)}return a(e,[{key:"init",value:function(e,n){var t=n.options;this.opts=t;var o,i=n.endpoint.split("://",2)[1];"parent"===i?i=window.parent:i in window&&"postMessage"in window[i]?i=window[i]:(o=document.getElementById(i))?i=o.contentWindow:e.error(f,"Unknown target: "+i),i===window&&e.error(f,"Target matches current window"),this.target=i;var a=this.reqas,c=t.executor||null,s=n.info,u=t.targetOrigin,l=t.messageSniffer;this.sniffer=l;var p=function(e){l(u,e,!1),i.postMessage(e,u||"*")};window.addEventListener("message",function(e){if(l(s,e.data,!0),!e.source||e.source===i){if(u&&e.origin!==u)return console.log("Error: peer origin mismatch "),console.log("Error >origin: "+e.origin),void console.log("Error >required: "+u);var n=e.data;if("object"===r(n)){var t=n.rid;if(t){if("f"in n){if(!("f"in n&&"S"===t.charAt(0)&&c))return;c.onEndpointRequest(s,n,p)}else{var o=a[t];o&&(o.success(n,!0),delete a[t])}e.stopPropagation&&e.stopPropagation()}}else console.log("Not object response: "+n)}},!1),n.native_iface.emit("connect")}},{key:"close",value:function(){this.target&&(this.target=null)}},{key:"perform",value:function(e,n,t){var r=this;(n.upload_data||n.download_stream)&&e.error(f,"Raw Data is not supported by Web Messaging yet"),this.target||this.init(e,n),e.add(function(e){var o=r.reqas,i="C"+r.rid++;t.rid=i,n.signMessage(e,n,t),n.expect_response&&(o[i]=e,e.setCancel(function(){delete o[i]})),r.sniffer(n.info,t,!1),r.target.postMessage(t,r.opts.targetOrigin||"*")})}}]),e}();n.BrowserComms=v},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,n,t){"use strict";!function(n){var r=n.FutoIn||n.futoin||{};if(void 0===r.Invoker){t(44).register();var o=t(31);n.SimpleCCM=o,r.SimpleCCM=o,n.FutoIn=r,n.futoin=r,r.Invoker={SimpleCCM:o}}e.exports=r.Invoker}(window)}])}); | ||
!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n(require("futoin-asyncsteps"),require("futoin-asyncevent")):"function"==typeof define&&define.amd?define(["futoin-asyncsteps","futoin-asyncevent"],n):"object"==typeof exports?exports["futoin-invoker"]=n(require("futoin-asyncsteps"),require("futoin-asyncevent")):e.FutoInInvoker=n(e.$as,e.$asyncevent)}(window,(function(__WEBPACK_EXTERNAL_MODULE__7__,__WEBPACK_EXTERNAL_MODULE__8__){return function(e){var n={};function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}return t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:r})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var o in e)t.d(r,o,function(n){return e[n]}.bind(null,o));return r},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p="",t(t.s=170)}([function(e,n,t){"use strict";var r=t(7);n.AsyncSteps=r,n.FutoInError=r.FutoInError,n.Options={SAFE_PAYLOAD_LIMIT:65536,SVC_RESOLVER:"#resolver",SVC_AUTH:"#auth",SVC_DEFENSE:"#defense",SVC_ACL:"#acl",SVC_LOG:"#log",SVC_CACHE_:"#cache."},n._ifacever_pattern=/^(([a-z][a-z0-9]*)(\.[a-z][a-z0-9]*)*):(([0-9]+)\.([0-9]+))$/,n._ifacever_pattern_name=1,n._ifacever_pattern_ver=4,n._ifacever_pattern_mjr=5,n._ifacever_pattern_mnr=6,n._isNode="undefined"==typeof window&&t(43)},function(e,n,t){var r=t(24),o="object"==typeof self&&self&&self.Object===Object&&self,i=r||o||Function("return this")();e.exports=i},function(e,n){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,n,t){"use strict";function r(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var o={},i=function(){function e(){!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e)}var n,t,i;return n=e,i=[{key:"detect",value:function(e){if("string"==typeof e&&"{"==e[0])return o.JSON;for(var n in o){var t=o[n];if(t.detect(e))return t}return o.JSON}},{key:"registerCoder",value:function(e,n){o[e]=n}},{key:"get",value:function(e){var n=o.hasOwnProperty(e)&&o[e];if(!n)throw new Error("Missing coder: ".concat(e));return n}}],(t=[{key:"isBinary",value:function(){return!1}},{key:"name",value:function(){return"Unknown"}}])&&r(n.prototype,t),i&&r(n,i),e}();e.exports=i},function(e,n){e.exports=function(e){var n=typeof e;return null!=e&&("object"==n||"function"==n)}},function(e,n){e.exports=function(e){return null!=e&&"object"==typeof e}},function(e,n,t){var r=t(46),o=t(51);e.exports=function(e,n){var t=o(e,n);return r(t)?t:void 0}},function(e,n){e.exports=__WEBPACK_EXTERNAL_MODULE__7__},function(e,n){e.exports=__WEBPACK_EXTERNAL_MODULE__8__},function(e,n,t){var r=t(14),o=t(47),i=t(48),a="[object Null]",c="[object Undefined]",s=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?c:a:s&&s in Object(e)?o(e):i(e)}},function(e,n){e.exports=function(e,n){return e===n||e!=e&&n!=n}},function(module,exports,__webpack_require__){"use strict";(function(module){function _classCallCheck(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function _createClass(e,n,t){return n&&_defineProperties(e.prototype,n),t&&_defineProperties(e,t),e}var $asyncevent=__webpack_require__(8),$as=__webpack_require__(7),common=__webpack_require__(0),_common$FutoInError=common.FutoInError,InvokerError=_common$FutoInError.InvokerError,CommError=_common$FutoInError.CommError,InterfaceInfo=__webpack_require__(32),Options=common.Options,SAFE_PAYLOAD_LIMIT=Options.SAFE_PAYLOAD_LIMIT,assertAS=Options.prodMode?function(){}:$as.assertAS,NativeIface=function(){function NativeIface(_ccmimpl,_info){var _this=this;_classCallCheck(this,NativeIface),$asyncevent(this,["connect","disconnect","close","commError"]);var ccmimpl=_ccmimpl,info=_info;this._ccmimpl=ccmimpl,this._raw_info=info,this._iface_info=null,this._comms={};var limitZone=info.limitZone,options=info.options,endpoint=info.endpoint,endpoint_scheme=info.endpoint_scheme,coder=info.coder,funcs=info.funcs,signMessage=info.signMessage,callTimeoutMS=options.callTimeoutMS,custom_create_ctx,custom_perform;switch(endpoint_scheme){case"#internal#":custom_create_ctx=function(e,n,t){return{ccmimpl:ccmimpl,name:e,info:info,upload_data:n,download_stream:t,options:options,endpoint:endpoint,expect_response:!0,max_rsp_size:0,max_req_size:0}},custom_perform=function(e,n,t){signMessage(e,n,t),endpoint.onInternalRequest(e,info,t,n.upload_data,n.download_stream)};break;case"http":case"https":custom_perform=function(e,n,t){ccmimpl.perfomHTTP(e,n,t)};break;case"ws":case"wss":custom_perform=function(e,n,t){var r,o=n.download_stream||funcs&&(r=funcs[n.name])&&r.rawresult;o||n.upload_data?(n.endpoint=endpoint.replace("ws","http"),n.rawresult=o,ccmimpl.perfomHTTP(e,n,t)):ccmimpl.perfomWebSocket(e,n,t)};break;case"browser":custom_perform=function(e,n,t){forbid_rawdata(e,n),ccmimpl.perfomBrowser(e,n,t)};break;case"unix":custom_perform=function(e,n,t){forbid_rawdata(e,n),ccmimpl.perfomUNIX(e,n,t)};break;case"callback":custom_perform=function(e,n,t){forbid_rawdata(e,n),endpoint(e,n,t)};break;default:custom_perform=function(e){e.error(InvokerError,"Unknown endpoint scheme: ".concat(endpoint_scheme))}}var create_ctx=custom_create_ctx||function(e,n,t){return{ccmimpl:ccmimpl,name:e,info:info,upload_data:n,download_stream:t,rawresult:!1,rsp_content_type:null,native_iface:_this,options:options,endpoint:endpoint,msg_coder:coder,expect_response:!0,signMessage:signMessage,max_rsp_size:SAFE_PAYLOAD_LIMIT,max_req_size:SAFE_PAYLOAD_LIMIT}},perform=custom_perform,handle_timeout=function(e,n){"number"!=typeof n&&(n=callTimeoutMS),n>0&&e.setTimeout(n)},forbid_rawdata=function(e,n){n.upload_data?e.error(InvokerError,"Upload data is allowed only for HTTP/WS endpoints"):n.download_stream&&e.error(InvokerError,"Download stream is allowed only for HTTP/WS endpoints")},limiters=ccmimpl.limiters,sync_limit=function(){if("unlimited"===limitZone){var e=function(e,n,t,r,o){e.add((function(e){handle_timeout(e,o),n(e,t,r)}))};return"#internal#"===endpoint_scheme?function(n,t,r,o,i){i?e(n,t,r,o,i):t(n,r,o)}:e}return function(e,n,t,r,o){e.sync(limiters[limitZone],(function(e){handle_timeout(e,o),n(e,t,r)}))}}(),handle_response=function(e,n,t,r){if(n.download_stream)e.success(!0);else if(r){if(t instanceof Uint8Array||"string"==typeof t)try{t=n.msg_coder.decode(t)}catch(n){e.error(CommError,"Decode: "+n.message)}ccmimpl.onMessageResponse(e,n,t)}else ccmimpl.onDataResponse(e,n,t)},call=function(e,n,t){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null;assertAS(e),t=t||{};var a=create_ctx(n,r,o);Object.seal(a);var c=ccmimpl.createMessage(e,a,t);sync_limit(e,perform,a,c,i),a.expect_response&&e.add((function(e,n,t){return handle_response(e,a,n,t)}))};Object.defineProperty(this,"call",{value:call,configurable:!1,enumerable:!1,writeable:!1});var member_call_generate_eval=function member_call_generate_eval(name,finfo){for(var src=[],params=finfo.params,plist=Object.keys(params),pmap=[],_i=0,_plist=plist;_i<_plist.length;_i++){var p=_plist[_i];void 0===params[p].default&&pmap.push("".concat(p,":").concat(p))}var args=["as"].concat(plist);src.push("(function (".concat(args.join(","),") {")),src.push("'use strict';"),src.push("var params = {".concat(pmap.join(","),"};"));for(var _i2=0,_plist2=plist;_i2<_plist2.length;_i2++){var _p=_plist2[_i2];void 0!==params[_p].default&&src.push("if (".concat(_p," !== undefined) params.").concat(_p," = ").concat(_p,";"))}return src.push('return call(as, "'.concat(name,'", params);')),src.push("})"),eval(src.join(""))};for(var fn in funcs){var finfo=funcs[fn];finfo.rawupload||(fn in this||Object.defineProperty(this,fn,{value:member_call_generate_eval(fn,finfo),configurable:!1,enumerable:!1,writeable:!1}))}}return _createClass(NativeIface,[{key:"ifaceInfo",value:function(){var e=this._iface_info;return e||(this._iface_info=new InterfaceInfo(this._raw_info))}},{key:"bindDerivedKey",value:function(e){throw new Error(InvokerError,"Not Implemented")}},{key:"_close",value:function(){var e=this._comms;for(var n in e)e[n].close();this.emit("close")}}],[{key:"spec",value:function(e){var n;if(this._specs&&(n=this._specs[e]),!n&&this._specs_module_prefix){var t=this._specs_module_prefix+e.replace(".","_");n=module.require(t)}return n}}]),NativeIface}();NativeIface._specs=null,NativeIface._specs_module_prefix=null,module.exports=NativeIface}).call(this,__webpack_require__(2)(module))},function(e,n,t){e.exports=t(45)},function(e,n,t){var r=t(20),o=t(21);e.exports=function(e,n,t,i){var a=!t;t||(t={});for(var c=-1,s=n.length;++c<s;){var u=n[c],f=i?i(t[u],e[u],u,t,e):void 0;void 0===f&&(f=e[u]),a?o(t,u,f):r(t,u,f)}return t}},function(e,n,t){var r=t(1).Symbol;e.exports=r},function(e,n,t){var r=t(23),o=t(27);e.exports=function(e){return null!=e&&o(e.length)&&!r(e)}},function(e,n,t){var r=t(34),o=t(64),i=t(15);e.exports=function(e){return i(e)?r(e,!0):o(e)}},function(e,n,t){var r=t(25),o=t(53),i=t(55);e.exports=function(e,n){return i(o(e,n,r),e+"")}},function(e,n){var t=Array.isArray;e.exports=t},function(e,n){e.exports=function(e){return function(n){return e(n)}}},function(e,n,t){var r=t(21),o=t(10),i=Object.prototype.hasOwnProperty;e.exports=function(e,n,t){var a=e[n];i.call(e,n)&&o(a,t)&&(void 0!==t||n in e)||r(e,n,t)}},function(e,n,t){var r=t(22);e.exports=function(e,n,t){"__proto__"==n&&r?r(e,n,{configurable:!0,enumerable:!0,value:t,writable:!0}):e[n]=t}},function(e,n,t){var r=t(6),o=function(){try{var e=r(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();e.exports=o},function(e,n,t){var r=t(9),o=t(4),i="[object AsyncFunction]",a="[object Function]",c="[object GeneratorFunction]",s="[object Proxy]";e.exports=function(e){if(!o(e))return!1;var n=r(e);return n==a||n==c||n==i||n==s}},function(e,n){var t="object"==typeof global&&global&&global.Object===Object&&global;e.exports=t},function(e,n){e.exports=function(e){return e}},function(e,n,t){var r=t(10),o=t(15),i=t(28),a=t(4);e.exports=function(e,n,t){if(!a(t))return!1;var c=typeof n;return!!("number"==c?o(t)&&i(n,t.length):"string"==c&&n in t)&&r(t[n],e)}},function(e,n){var t=9007199254740991;e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=t}},function(e,n){var t=9007199254740991,r=/^(?:0|[1-9]\d*)$/;e.exports=function(e,n){var o=typeof e;return!!(n=null==n?t:n)&&("number"==o||"symbol"!=o&&r.test(e))&&e>-1&&e%1==0&&e<n}},function(e,n,t){(function(e){var r=t(24),o=n&&!n.nodeType&&n,i=o&&"object"==typeof e&&e&&!e.nodeType&&e,a=i&&i.exports===o&&r.process,c=function(){try{var e=i&&i.require&&i.require("util").types;return e||a&&a.binding&&a.binding("util")}catch(e){}}();e.exports=c}).call(this,t(2)(e))},function(e,n){var t=Object.prototype;e.exports=function(e){var n=e&&e.constructor;return e===("function"==typeof n&&n.prototype||t)}},function(e,n,t){"use strict";function r(){return(r=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e}).apply(this,arguments)}function o(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var i=t(0),a=i.FutoInError,c=a.InvokerError,s=a.SecurityError,u=t(11),f=t(12),l=t(37),p=t(8),m=t(7).Limiter,_=i.Options,v=/^secure\+/,d=/^(https|wss|unix):\/\//,h=function(e,n){return new u(e,n)},y=function(){function e(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),p(this,["register","unregister","close"]),this._iface_info={},this._iface_instance={},this._impl=t||new l(n),this.limitZone("default",{concurrent:8,max_queue:32,rate:10,period_ms:1e3,burst:null})}var n,t,a;return n=e,(t=[{key:"register",value:function(e,n,t,o,a){var u=this,f=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},l=null===n;!l&&n in this._iface_info&&e.error(c,"Already registered");var p=t.match(i._ifacever_pattern);null===p&&e.error(c,"Invalid ifacever"),f=r({},this._impl.options,f);var m,_=p[i._ifacever_pattern_name],y=p[i._ifacever_pattern_ver],b=p[i._ifacever_pattern_mjr],g=p[i._ifacever_pattern_mnr],w=f.secureChannel||!1,x=null,k=!1,j=!1,O="default";if(l)m="callback",k=!0;else if("string"==typeof o)switch(v.test(o)?(w=!0,o=o.replace(v,"")):d.test(o)&&(w=!0),x=h,m=o.split(":")[0]){case"http":case"https":break;case"ws":case"wss":case"unix":k=!0;break;case"browser":f.targetOrigin&&(w=!0),k=!0;break;default:e.error(c,"Unknown endpoint schema")}else"onInternalRequest"in o?(w=!0,x=h,m="#internal#",k=!0,j=!0,a=a||"-internal",O="unlimited"):(w=!0,x=o,o=null,m=null,k=!0,j=!0);(O=f.limitZone||O)in this._impl.limiters||e.error(c,"Unknown limit zone ".concat(O));var S={iface:_,version:y,mjrver:b,mnrver:g,endpoint:o,endpoint_scheme:m,creds:a||null,creds_master:"master"===a,creds_mac:a&&null!==a.match(/^-[hs]mac:/),secure_channel:w,impl:x,regname:n,inherits:null,funcs:null,constraints:null,options:f,_invoker_use:!0,_user_info:null,_server_executor_context:null,_callback_context:null,limitZone:O,aliases:[]};S.creds_mac&&(a.match(/^-hmac:/)?(f.hmacKey||e.error(c,"Missing options.hmacKey"),f.macKey=f.hmacKey,f.macAlgo=f.hmacAlgo):f.macKey||e.error(c,"Missing options.macKey")),S.creds_master&&!f.masterAuth&&e.error(c,"Missing options.masterAuth"),n&&(this._iface_info[n]=S),e.add((function(e){u._impl.onRegister(e,S),e.add((function(e){S.simple_req||("AllowAnonymous"in S.constraints||S.creds||e.error(s,"Requires authenticated user"),"SecureChannel"in S.constraints&&!w&&e.error(s,"SecureChannel is required"),"MessageSignature"in S.constraints&&!S.creds_master&&!S.creds_mac&&!j&&e.error(s,"MessageSignature is required"),"BiDirectChannel"in S.constraints&&!k&&e.error(c,"BiDirectChannel is required")),l&&e.success(S,h(u._impl,S)),Object.seal(S),u.emit("register",n,t,S)}))}),(function(e,t){n&&delete u._iface_info[n]}))}},{key:"iface",value:function(e){return this._iface_instance[e]||this._initIface(e)}},{key:"_initIface",value:function(e){var n=this._iface_info[e];if(!n)throw new Error(c);var t=n.regname,r=this._iface_instance,o=r[t];if(!o){var i=n.options.nativeImpl;o=i?new i(this._impl,n):n.impl(this._impl,n),Object.seal(o),r[t]=o}return t!==e&&(r[e]=o),o}},{key:"unRegister",value:function(e){var n=this._iface_info,t=this._iface_instance,r=n[e];if(!r)throw new Error(c);if(r.regname===e){var o=r.aliases,i=t[e];i&&i._close();for(var a=0;a<o.length;++a){var s=o[a];delete n[s],delete t[s]}}else r.aliases.splice(r.aliases.indexOf(e),0);delete n[e],delete t[e],this.emit("unregister",e,r)}},{key:"defense",value:function(){return this.iface(this.SVC_DEFENSE)}},{key:"log",value:function(){return this.iface(this.SVC_LOG)}},{key:"cache",value:function(e){return this.iface(this.SVC_CACHE_+(e||"default"))}},{key:"assertIface",value:function(e,n){var t=this._iface_info[e];if(!t)throw new Error(c);var r=n.match(i._ifacever_pattern);if(null===r)throw new Error(c);var o=r[i._ifacever_pattern_name],a=r[i._ifacever_pattern_mjr],s=r[i._ifacever_pattern_mnr];if(!(t.iface===o&&t.mjrver===a&&t.mnrver>=s)){var u=t.inherits;if(u)for(var f=u.length-1;f>=0;--f){var l=u[f].match(i._ifacever_pattern);if(l[i._ifacever_pattern_name]===o&&l[i._ifacever_pattern_mjr]===a&&l[i._ifacever_pattern_mnr]>=s)return}throw new Error(c)}}},{key:"alias",value:function(e,n){var t=this._iface_info,r=t[e];if(!r||t[n])throw new Error(c);t[n]=r,r.aliases.push(n),this.emit("register",n,"".concat(r.iface,":").concat(r.version),r)}},{key:"close",value:function(){var e=this._iface_instance,n=this._iface_info;for(var t in n){var r=n[t],o=e[t];o&&t===r.regname&&o._close()}this._iface_instance={},this._iface_info={};var i=this._impl,a=i.comms;for(var c in a)a[c].close();i.comms={},this.emit("close")}},{key:"limitZone",value:function(e,n){"unlimited"!==e&&(this._impl.limiters[e]=new m(n))}}])&&o(n.prototype,t),a&&o(n,a),e}();f(y.prototype,_),f(y,_),e.exports=y},function(e,n,t){"use strict";function r(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var o=function(){function e(n){!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this._raw_info=n}var n,t,o;return n=e,(t=[{key:"name",value:function(){return this._raw_info.iface}},{key:"version",value:function(){return this._raw_info.version}},{key:"inherits",value:function(){return this._raw_info.inherits}},{key:"funcs",value:function(){return this._raw_info.funcs}},{key:"constraints",value:function(){return this._raw_info.constraints}}])&&r(n.prototype,t),o&&r(n,o),e}();e.exports=o},function(e,n){var t=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return t.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},function(e,n,t){var r=t(59),o=t(35),i=t(18),a=t(36),c=t(28),s=t(62),u=Object.prototype.hasOwnProperty;e.exports=function(e,n){var t=i(e),f=!t&&o(e),l=!t&&!f&&a(e),p=!t&&!f&&!l&&s(e),m=t||f||l||p,_=m?r(e.length,String):[],v=_.length;for(var d in e)!n&&!u.call(e,d)||m&&("length"==d||l&&("offset"==d||"parent"==d)||p&&("buffer"==d||"byteLength"==d||"byteOffset"==d)||c(d,v))||_.push(d);return _}},function(e,n,t){var r=t(60),o=t(5),i=Object.prototype,a=i.hasOwnProperty,c=i.propertyIsEnumerable,s=r(function(){return arguments}())?r:function(e){return o(e)&&a.call(e,"callee")&&!c.call(e,"callee")};e.exports=s},function(e,n,t){(function(e){var r=t(1),o=t(61),i=n&&!n.nodeType&&n,a=i&&"object"==typeof e&&e&&!e.nodeType&&e,c=a&&a.exports===i?r.Buffer:void 0,s=(c?c.isBuffer:void 0)||o;e.exports=s}).call(this,t(2)(e))},function(e,n,t){"use strict";(function(e){function n(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var o=t(0),i=o.FutoInError,a=i.InvokerError,c=i.CommError,s=t(3),u=o._isNode,f=t(38),l=u?e.require("./node/comms"):t(66),p={callTimeoutMS:3e4,prodMode:"object"===("undefined"==typeof process?"undefined":r(process))&&!0,commConfigCallback:null,messageSniffer:function(){},disconnectSniffer:function(){},executor:null,targetOrigin:null,retryCount:1,defaultCoder:"JSON",binaryCoder:"MPCK",secureChannel:!1,commConcurrency:16};Object.freeze(p);var m=function(){function e(n){!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),f(n=n||{},p),this.options=n,this.comms={},this.limiters={unlimited:{sync:function(e,n,t){e.add(n,t)}}},this._globalHTTPSecureAgent=null,this._globalHTTPAgent=null,Object.seal(this)}var t,r,o;return t=e,(r=[{key:"onRegister",value:function(e,n){(n.creds_master||n.creds_mac)&&e.error(a,"Master/HMAC is supported only in AdvancedCCM"),n.funcs={},n.inherits=[],n.constraints={},n.simple_req=!0,n.coder=s.get(n.options.coder||this.options.defaultCoder),n.signMessage=function(){}}},{key:"createMessage",value:function(e,n,t){var r=n.info,o={f:"".concat(r.iface,":").concat(r.version,":").concat(n.name),p:t,forcersp:!0},i=r.creds;return i&&(o.sec=i),o}},{key:"onMessageResponse",value:function(e,n,t){var r=t.e;r?e.error(r,t.edesc):e.success(t.r)}},{key:"onDataResponse",value:function(e,n,t){e.success(t)}},{key:"getComms",value:function(e,n,t,r){var o,i,c=n.options,s=this.options;c.executor!==s.executor||c.messageSniffer!==s.messageSniffer||c.disconnectSniffer!==s.disconnectSniffer||c.commConfigCallback!==s.commConfigCallback?(o=n.native_iface._comms,i=n.info.endpoint_scheme):(o=this.comms,i=n.endpoint+"##"+(n.credentials||"")+"##"+(r||""));var u=o[i];return u||(t||e.error(a,"Not implemented "+n.info.endpoint_scheme+" scheme"),u=new t,o[i]=u),u}},{key:"performCommon",value:function(e,n,t,r){var o,i,a=n.options.retryCount;e.repeat(a+1,(function(e,s){e.add((function(e){r.perform(e,n,t),e.add((function(e,n,t){o=n,i=t,e.break()}))}),(function(e,r){r===c&&(n.native_iface.emit("commError",e.state.error_info,t),s<a&&e.continue())}))})),e.add((function(e){e.success(o,i)}))}},{key:"perfomHTTP",value:function(e,n,t){var r=this.getComms(e,n,l.HTTPComms);this.performCommon(e,n,t,r)}},{key:"perfomWebSocket",value:function(e,n,t){var r=this.getComms(e,n,l.WSComms);this.performCommon(e,n,t,r)}},{key:"perfomUNIX",value:function(e,n,t){e.error(a,"Not implemented unix:// scheme")}},{key:"perfomBrowser",value:function(e,n,t){this.getComms(e,n,l.BrowserComms,n.options.targetOrigin).perform(e,n,t)}}])&&n(t.prototype,r),o&&n(t,o),e}();e.exports=m}).call(this,t(2)(e))},function(e,n,t){var r=t(17),o=t(10),i=t(26),a=t(16),c=Object.prototype,s=c.hasOwnProperty,u=r((function(e,n){e=Object(e);var t=-1,r=n.length,u=r>2?n[2]:void 0;for(u&&i(n[0],n[1],u)&&(r=1);++t<r;)for(var f=n[t],l=a(f),p=-1,m=l.length;++p<m;){var _=l[p],v=e[_];(void 0===v||o(v,c[_])&&!s.call(e,_))&&(e[_]=f[_])}return e}));e.exports=u},,,,,function(e,n){e.exports=!1},function(e,n,t){"use strict";function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function i(e,n){return!n||"object"!==r(n)&&"function"!=typeof n?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):n}function a(e){return(a=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function c(e,n){return(c=Object.setPrototypeOf||function(e,n){return e.__proto__=n,e})(e,n)}var s=t(3),u=function(e){function n(){return function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,n),i(this,a(n).apply(this,arguments))}var t,r,s;return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),n&&c(e,n)}(n,e),t=n,s=[{key:"register",value:function(){this.registerCoder("JSON",new this)}}],(r=[{key:"isBinary",value:function(){return!1}},{key:"name",value:function(){return"JSON"}},{key:"contentType",value:function(){return"application/futoin+json"}},{key:"detect",value:function(e){return"string"==typeof e?"{"===e.charAt(0):123===e[0]}},{key:"encode",value:function(e){return JSON.stringify(e)}},{key:"decode",value:function(e){return JSON.parse(e)}}])&&o(t.prototype,r),s&&o(t,s),n}(s);e.exports=u},function(e,n,t){var r=t(13),o=t(52),i=t(16),a=o((function(e,n){r(n,i(n),e)}));e.exports=a},function(e,n,t){var r=t(23),o=t(49),i=t(4),a=t(33),c=/^\[object .+?Constructor\]$/,s=Function.prototype,u=Object.prototype,f=s.toString,l=u.hasOwnProperty,p=RegExp("^"+f.call(l).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!i(e)||o(e))&&(r(e)?p:c).test(a(e))}},function(e,n,t){var r=t(14),o=Object.prototype,i=o.hasOwnProperty,a=o.toString,c=r?r.toStringTag:void 0;e.exports=function(e){var n=i.call(e,c),t=e[c];try{e[c]=void 0;var r=!0}catch(e){}var o=a.call(e);return r&&(n?e[c]=t:delete e[c]),o}},function(e,n){var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},function(e,n,t){var r,o=t(50),i=(r=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";e.exports=function(e){return!!i&&i in e}},function(e,n,t){var r=t(1)["__core-js_shared__"];e.exports=r},function(e,n){e.exports=function(e,n){return null==e?void 0:e[n]}},function(e,n,t){var r=t(17),o=t(26);e.exports=function(e){return r((function(n,t){var r=-1,i=t.length,a=i>1?t[i-1]:void 0,c=i>2?t[2]:void 0;for(a=e.length>3&&"function"==typeof a?(i--,a):void 0,c&&o(t[0],t[1],c)&&(a=i<3?void 0:a,i=1),n=Object(n);++r<i;){var s=t[r];s&&e(n,s,r,a)}return n}))}},function(e,n,t){var r=t(54),o=Math.max;e.exports=function(e,n,t){return n=o(void 0===n?e.length-1:n,0),function(){for(var i=arguments,a=-1,c=o(i.length-n,0),s=Array(c);++a<c;)s[a]=i[n+a];a=-1;for(var u=Array(n+1);++a<n;)u[a]=i[a];return u[n]=t(s),r(e,this,u)}}},function(e,n){e.exports=function(e,n,t){switch(t.length){case 0:return e.call(n);case 1:return e.call(n,t[0]);case 2:return e.call(n,t[0],t[1]);case 3:return e.call(n,t[0],t[1],t[2])}return e.apply(n,t)}},function(e,n,t){var r=t(56),o=t(58)(r);e.exports=o},function(e,n,t){var r=t(57),o=t(22),i=t(25),a=o?function(e,n){return o(e,"toString",{configurable:!0,enumerable:!1,value:r(n),writable:!0})}:i;e.exports=a},function(e,n){e.exports=function(e){return function(){return e}}},function(e,n){var t=800,r=16,o=Date.now;e.exports=function(e){var n=0,i=0;return function(){var a=o(),c=r-(a-i);if(i=a,c>0){if(++n>=t)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}},function(e,n){e.exports=function(e,n){for(var t=-1,r=Array(e);++t<e;)r[t]=n(t);return r}},function(e,n,t){var r=t(9),o=t(5),i="[object Arguments]";e.exports=function(e){return o(e)&&r(e)==i}},function(e,n){e.exports=function(){return!1}},function(e,n,t){var r=t(63),o=t(19),i=t(29),a=i&&i.isTypedArray,c=a?o(a):r;e.exports=c},function(e,n,t){var r=t(9),o=t(27),i=t(5),a={};a["[object Float32Array]"]=a["[object Float64Array]"]=a["[object Int8Array]"]=a["[object Int16Array]"]=a["[object Int32Array]"]=a["[object Uint8Array]"]=a["[object Uint8ClampedArray]"]=a["[object Uint16Array]"]=a["[object Uint32Array]"]=!0,a["[object Arguments]"]=a["[object Array]"]=a["[object ArrayBuffer]"]=a["[object Boolean]"]=a["[object DataView]"]=a["[object Date]"]=a["[object Error]"]=a["[object Function]"]=a["[object Map]"]=a["[object Number]"]=a["[object Object]"]=a["[object RegExp]"]=a["[object Set]"]=a["[object String]"]=a["[object WeakMap]"]=!1,e.exports=function(e){return i(e)&&o(e.length)&&!!a[r(e)]}},function(e,n,t){var r=t(4),o=t(30),i=t(65),a=Object.prototype.hasOwnProperty;e.exports=function(e){if(!r(e))return i(e);var n=o(e),t=[];for(var c in e)("constructor"!=c||!n&&a.call(e,c))&&t.push(c);return t}},function(e,n){e.exports=function(e){var n=[];if(null!=e)for(var t in Object(e))n.push(t);return n}},function(e,n,t){"use strict";function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function i(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function a(e,n,t){return n&&i(e.prototype,n),t&&i(e,t),e}var c=t(8),s=t(0).FutoInError,u=s.InvokerError,f=s.CommError,l=WebSocket,p=t(3),m=function(){function e(){o(this,e)}return a(e,[{key:"close",value:function(){}},{key:"perform",value:function(e,n,t){var r=this;e.add((function(e){return r._perform(e,n,t)}))}},{key:"_perform",value:function(e,n,t){n.signMessage(e,n,t);var r,o,i=n.options.messageSniffer,a=new XMLHttpRequest,c=n.msg_coder,s=n.endpoint,l=n.upload_data;if(l||""===l){r="application/octet-stream","/"!==s.charAt(s.length-1)&&(s+="/"),s+=t.f.replace(/:/g,"/")+"/";var m=t.sec;m&&(m===n.options.credentials?o="Basic "+window.btoa(m):s+=encodeURIComponent(m)+"/");var _=[];for(var v in t.p){var d=t.p[v];"string"!=typeof d&&(d=JSON.stringify(d)),_.push(encodeURIComponent(v)+"="+encodeURIComponent(d))}s+="?"+_.join("&"),i(n.info,t,!1)}else r=c.contentType(),(l=c.encode(t)).length>n.max_req_size&&e.error(u,"Request message too long: ".concat(l.length," > ").concat(n.max_req_size)),i(n.info,l,!1);n.expect_response&&(n.download_stream&&(a.responseType=n.download_stream),a.onreadystatechange=function(){if(this.readyState===this.DONE){var t=n.download_stream?this.response:this.responseText;if(200===this.status&&t){var r=this.getResponseHeader("content-type")||"",o=r===c.contentType();if(!o&&r.match(/^application\/futoin\+/)){var a=p.detect(t);try{t=a.decode(t),o=!0}catch(e){}}i(n.info,o?t:"%DATA%",!0),e.success(t,o)}else try{e.error(f,"Low error")}catch(e){}}},e.setCancel((function(){return a.abort()}))),a.open("POST",s,!0),a.setRequestHeader("Content-Type",r),o&&a.setRequestHeader("Authorization",o),a.send(l)}}]),e}();n.HTTPComms=m;var _=function(){function e(){o(this,e),this.rid=1,this.reqas={},this.evt={},this.ws=null,c(this.evt,["open"]),this._waiting_open=!1,this.sniffer=null,Object.seal(this)}return a(e,[{key:"init",value:function(e,n){var t=this,r=n.options,o=new l(n.endpoint);this.ws=o,this._waiting_open=!0;var i=this.reqas,a=r.executor||null,c=n.info,s=r.messageSniffer;this.sniffer=s;var u=function(e){for(var a in r.disconnectSniffer(c),o.close(),t.ws=null,t.rid=1,t.reqas={},i)try{i[a].error(f,e.wasClean?"Cleanup":"Error")}catch(e){}t._waiting_open=!1,n.native_iface.emit("disconnect")};o.onclose=u,o.onerror=u,o.onopen=function(e){t._waiting_open=!1,t.evt.emit("open"),n.native_iface.emit("connect")},o.onmessage=function(e){var n=e.data;s(c,n,!0);var t=p.detect(n);try{n=t.decode(n)}catch(e){return void console.log("WS Decode error",e.message,e)}var r=n.rid;if(r){var u=i[r];u?(u.success(n,!0),delete i[r]):"S"===r.charAt(0)&&a&&a.onEndpointRequest(c,n,(function(e){return function(e,n){var t=a.packPayload(e,n);s(c,t,!1),o.send(t)}(t,e)}))}}}},{key:"close",value:function(){this.ws&&(this.ws.close(),this.ws=null)}},{key:"perform",value:function(e,n,t){var r=this;this.ws||this.init(e,n),this._waiting_open&&e.add((function(e){if(r._waiting_open){var n=function(){return e.success()};r.evt.once("open",n),e.setCancel((function(){return r.evt.off("open",n)}))}})),e.add((function(e){return r._perform(e,n,t)}))}},{key:"_perform",value:function(e,n,t){this.ws||e.error(f,"Disconnect while in progress");var r=this.reqas,o="C"+this.rid++;t.rid=o,n.signMessage(e,n,t),n.expect_response&&(r[o]=e,e.setCancel((function(){delete r[o]})));var i=n.msg_coder.encode(t);this.sniffer(n.info,i,!1),this.ws.send(i)}}]),e}();n.WSComms=l?_:m;var v=function(){function e(){o(this,e),this.rid=1,this.reqas={},this.opts=null,this.target=null,this.sniffer=null,Object.seal(this)}return a(e,[{key:"init",value:function(e,n){var t=n.options;this.opts=t;var o,i=n.endpoint.split("://",2)[1];"parent"===i?i=window.parent:i in window&&"postMessage"in window[i]?i=window[i]:(o=document.getElementById(i))?i=o.contentWindow:e.error(f,"Unknown target: "+i),i===window&&e.error(f,"Target matches current window"),this.target=i;var a=this.reqas,c=t.executor||null,s=n.info,u=t.targetOrigin,l=t.messageSniffer;this.sniffer=l;var p=function(e){l(u,e,!1),i.postMessage(e,u||"*")};window.addEventListener("message",(function(e){if(l(s,e.data,!0),!e.source||e.source===i){if(u){if(e.origin!==u)return console.log("Error: peer origin mismatch "),console.log("Error >origin: "+e.origin),void console.log("Error >required: "+u)}else;var n=e.data;if("object"===r(n)){var t=n.rid;if(t){if("f"in n){if(!("f"in n&&"S"===t.charAt(0)&&c))return;c.onEndpointRequest(s,n,p)}else{var o=a[t];o&&(o.success(n,!0),delete a[t])}e.stopPropagation&&e.stopPropagation()}}else console.log("Not object response: "+n)}}),!1),n.native_iface.emit("connect")}},{key:"close",value:function(){this.target&&(this.target=null)}},{key:"perform",value:function(e,n,t){var r=this;(n.upload_data||n.download_stream)&&e.error(f,"Raw Data is not supported by Web Messaging yet"),this.target||this.init(e,n),e.add((function(e){var o=r.reqas,i="C"+r.rid++;t.rid=i,n.signMessage(e,n,t),n.expect_response&&(o[i]=e,e.setCancel((function(){delete o[i]}))),r.sniffer(n.info,t,!1),r.target.postMessage(t,r.opts.targetOrigin||"*")}))}}]),e}();n.BrowserComms=v},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,n,t){"use strict";!function(n){var r=n.FutoIn||n.futoin||{};if(void 0===r.Invoker){t(44).register();var o=t(31);n.SimpleCCM=o,r.SimpleCCM=o,n.FutoIn=r,n.futoin=r,r.Invoker={SimpleCCM:o}}e.exports=r.Invoker}(window)}])})); |
{ | ||
"name": "futoin-invoker", | ||
"version": "2.3.0", | ||
"version": "2.3.1", | ||
"vcs": "git", | ||
@@ -5,0 +5,0 @@ "rms": "npm", |
{ | ||
"name": "futoin-invoker", | ||
"version": "2.3.0", | ||
"version": "2.3.1", | ||
"description": "Transparently, efficiently and securely invoke remote or local service methods with strict API definition for Node and Browser", | ||
@@ -57,24 +57,24 @@ "main": "lib/invoker.js", | ||
"detect-node": "^2.0.4", | ||
"futoin-asyncevent": "^2.3.0", | ||
"futoin-request": "^2.1.0", | ||
"lodash": "^4.17.14", | ||
"futoin-asyncevent": "^2.3.1", | ||
"futoin-request": "^2.1.1", | ||
"lodash": "^4.17.15", | ||
"msgpack-lite": "^0.1.26", | ||
"performance-now": "^2.1.0", | ||
"ws": "^7.1.0" | ||
"ws": "^7.1.2" | ||
}, | ||
"devDependencies": { | ||
"@babel/core": "^7.5.4", | ||
"@babel/core": "^7.6.2", | ||
"@babel/plugin-transform-object-assign": "^7.2.0", | ||
"@babel/preset-env": "^7.5.4", | ||
"@futoin/optihelp": "^1.2.1", | ||
"@babel/preset-env": "^7.6.2", | ||
"@futoin/optihelp": "^1.2.2", | ||
"babel-loader": "^8.0.6", | ||
"benchmark": "^2.1.4", | ||
"cbor": "^4.1.5", | ||
"cbor": "^5.0.1", | ||
"chai": "^4.2.0", | ||
"core-js": "^3.1.4", | ||
"eslint": "^6.0.1", | ||
"futoin-asyncsteps": "^2.4.1", | ||
"core-js": "^3.2.1", | ||
"eslint": "^6.4.0", | ||
"futoin-asyncsteps": "^2.4.2", | ||
"grunt": "^1.0.4", | ||
"grunt-babel": "^8.0.0", | ||
"grunt-contrib-connect": "^2.0.0", | ||
"grunt-contrib-connect": "^2.1.0", | ||
"grunt-eslint": "^22.0.0", | ||
@@ -87,9 +87,9 @@ "grunt-external-daemon": "^1.1.0", | ||
"grunt-webpack": "^3.1.3", | ||
"karma": "^4.2.0", | ||
"karma-firefox-launcher": "^1.1.0", | ||
"karma": "^4.3.0", | ||
"karma-firefox-launcher": "^1.2.0", | ||
"karma-mocha": "^1.3.0", | ||
"karma-mocha-reporter": "^2.2.5", | ||
"mocha": "^6.1.4", | ||
"mocha": "^6.2.0", | ||
"server-destroy": "^1.0.1", | ||
"webpack": "4.35.3" | ||
"webpack": "4.41.0" | ||
}, | ||
@@ -96,0 +96,0 @@ "peerDependencies": { |
Sorry, the diff of this file is too big to display
1573684
Updatedfutoin-asyncevent@^2.3.1
Updatedfutoin-request@^2.1.1
Updatedlodash@^4.17.15
Updatedws@^7.1.2