pubo-node 1.0.85 → 1.0.86

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/pubo-node.js CHANGED
@@ -1 +1 @@
1
- !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports["pubo-node"]=e():t["pubo-node"]=e()}(this,(()=>(()=>{var t={649:t=>{function e(t){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}e.keys=()=>[],e.resolve=e,e.id=649,t.exports=e},808:t=>{"use strict";t.exports=require("net")}},e={};function n(r){var o=e[r];if(void 0!==o)return o.exports;var i=e[r]={exports:{}};return t[r](i,i.exports,n),i.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var r={};return(()=>{"use strict";n.r(r),n.d(r,{FtpClient:()=>h,FtpClientPool:()=>d,JsonStorage:()=>i,PuboFileSystem:()=>w,SIGKILL:()=>P,createRpcClient:()=>v,isPortAvailable:()=>S,pitch:()=>_});const t=require("fs"),e=require("pako");var o=function(){return o=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},o.apply(this,arguments)},i=function(){function n(t){this._state={},this.path=t,this.init()}return n.prototype.init=function(){try{var n=(0,t.readFileSync)(this.path),r=e.inflate(n,{to:"string"});this._state=JSON.parse(r)}catch(t){this.state={}}},Object.defineProperty(n.prototype,"state",{get:function(){return this._state},set:function(n){var r=e.deflate(JSON.stringify(n)),o=Buffer.from(r);(0,t.writeFile)(this.path,o,(function(t){return t&&console.log(t)})),this._state=n},enumerable:!1,configurable:!0}),n.prototype.get=function(t){return t?this.state[t]:o({},this.state)},n.prototype.set=function(t,e){var n=o({},this.state);n[t]=e,this.state=n},n.prototype.merge=function(t){this.state=o(o({},this._state),t)},n}();const c=require("pubo-utils");var s=function(){return s=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},s.apply(this,arguments)},a=function(t,e,n,r){return new(n||(n=Promise))((function(o,i){function c(t){try{a(r.next(t))}catch(t){i(t)}}function s(t){try{a(r.throw(t))}catch(t){i(t)}}function a(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(c,s)}a((r=r.apply(t,e||[])).next())}))},u=function(t,e){var n,r,o,i,c={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(s){return function(a){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,s[0]&&(c=0)),c;)try{if(n=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return c.label++,{value:s[1],done:!1};case 5:c.label++,r=s[1],s=[0];continue;case 7:s=c.ops.pop(),c.trys.pop();continue;default:if(!((o=(o=c.trys).length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){c=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){c.label=s[1];break}if(6===s[0]&&c.label<o[1]){c.label=o[1],o=s;break}if(o&&c.label<o[2]){c.label=o[2],c.ops.push(s);break}o[2]&&c.ops.pop(),c.trys.pop();continue}s=e.call(t,c)}catch(t){s=[6,t],r=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,a])}}},l=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(t);o<r.length;o++)e.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(t,r[o])&&(n[r[o]]=t[r[o]])}return n},f=function(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,o,i=n.call(t),c=[];try{for(;(void 0===e||e-- >0)&&!(r=i.next()).done;)c.push(r.value)}catch(t){o={error:t}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return c},p=function(t,e,n){if(n||2===arguments.length)for(var r,o=0,i=e.length;o<i;o++)!r&&o in e||(r||(r=Array.prototype.slice.call(e,0,o)),r[o]=e[o]);return t.concat(r||Array.prototype.slice.call(e))},h=function(){function t(t){var e=t.driver,n=l(t,["driver"]);this.state={running:!1,connected:!1,destroyed:!1,connecting:!1},this._len=0,this.id=(0,c.random)(),this.put=this.bind("put"),this.delete=this.bind("delete"),this.list=this.bind("list"),this.rename=this.bind("rename"),this.driver=e,this.options=n}return Object.defineProperty(t.prototype,"len",{get:function(){return this._len},set:function(t){this._len=t,this._len<1&&this.close()},enumerable:!1,configurable:!0}),t.prototype.connect=function(){return a(this,void 0,void 0,(function(){var t=this;return u(this,(function(e){switch(e.label){case 0:return this.client||(this.client=new this.driver),this.state.destroyed=!1,this.state.connecting?[4,(0,c.waitFor)((function(){return t.state.connected}),{checkTime:1e3,timeout:1e4})]:[3,2];case 1:return e.sent(),[2,"connected"];case 2:return this.state.connecting=!0,[2,new Promise((function(e,n){t.client.once("ready",(function(){t.state.connected=!0,e("connected"),t.state.connecting=!1})),t.client.once("error",(function(e){n(e),t.close()})),t.client.connect(s({},t.options))}))]}}))}))},t.prototype.close=function(){this.client.end(),this.state.connected=!1,this.state.destroyed=!0,this.state.connecting=!1,this.client=null},t.prototype.run=function(t){var e=t.fn,n=t.args;return a(this,void 0,void 0,(function(){var t=this;return u(this,(function(r){switch(r.label){case 0:return this.len+=1,this.state.connected?[3,2]:[4,this.connect()];case 1:r.sent(),r.label=2;case 2:return this.state.running?[4,(0,c.waitFor)((function(){return!t.state.running}),{checkTime:1e3,timeout:6e6})]:[3,4];case 3:r.sent(),r.label=4;case 4:return this.state.running=!0,[2,new Promise((function(r,o){var i;(i=t.client)[e].apply(i,p(p([],f(n),!1),[function(t,e){t?o(t):r(e)}],!1))}))]}}))}))},t.prototype.bind=function(t){var e=this;return function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return a(e,void 0,void 0,(function(){var e;return u(this,(function(r){switch(r.label){case 0:return[4,this.run({fn:t,args:n})];case 1:return e=r.sent(),this.state.running=!1,this.len-=1,[2,e]}}))}))}},t.prototype.get=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return a(this,void 0,void 0,(function(){var e,n,r=this;return u(this,(function(o){switch(o.label){case 0:return e=Buffer.alloc(0),[4,this.run({fn:"get",args:t})];case 1:return n=o.sent(),[2,new Promise((function(t){n.on("data",(function(t){e=Buffer.concat([e,t],e.byteLength+t.byteLength)})),n.on("end",(function(){t(e),r.state.running=!1,r.len-=1}))}))]}}))}))},t}(),d=function(){function t(t){var e=t.maxConnection,n=void 0===e?5:e,r=l(t,["maxConnection"]);this.pool=[],this.get=this.bind("get"),this.put=this.bind("put"),this.delete=this.bind("delete"),this.list=this.bind("list"),this.rename=this.bind("rename"),this.options=r,this.maxConnection=n}return Object.defineProperty(t.prototype,"len",{get:function(){return this.pool.length},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"client",{get:function(){if(this.pool.length<this.maxConnection){var t=new h(this.options);return this.pool.push(t),t}return this.pool.sort((function(t,e){return t.len-e.len})),this.pool[0]},enumerable:!1,configurable:!0}),t.prototype.bind=function(t){var e=this;return function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return a(e,void 0,void 0,(function(){var e,r,o;return u(this,(function(i){switch(i.label){case 0:return[4,(e=this.client)[t].apply(e,p([],f(n),!1))];case 1:return r=i.sent(),e.len<1&&(o=this.pool.findIndex((function(t){return t.id===e.id})),this.pool.splice(o,1)),[2,r]}}))}))}},t}(),y=function(){return y=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},y.apply(this,arguments)};function v(t){var e=t.url,n=t.options,r=void 0===n?{}:n,o=t.ServiceImp,i=t.Grpc,c=t.cert,s=y({"grpc.max_send_message_length":-1,"grpc.max_receive_message_length":-1},r),a=c?i.credentials.createSsl(c):i.credentials.createInsecure(),u=new i.Client(e,a,s);return new o({request:function(t,n,r){var o="/".concat(t,"/").concat(n);return new Promise((function(t,n){var c=function(t){return t};u.makeUnaryRequest(o,c,c,r,(function(r,o){r?(u.close(),u=new i.Client(e,a,s),n(r)):t(o)}))}))}})}var b=function(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,o,i=n.call(t),c=[];try{for(;(void 0===e||e-- >0)&&!(r=i.next()).done;)c.push(r.value)}catch(t){o={error:t}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return c},g=function(t,e,n){if(n||2===arguments.length)for(var r,o=0,i=e.length;o<i;o++)!r&&o in e||(r||(r=Array.prototype.slice.call(e,0,o)),r[o]=e[o]);return t.concat(r||Array.prototype.slice.call(e))},m=function(t){return function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return new Promise((function(n,r){t.apply(void 0,g(g([],b(e),!1),[function(t){for(var e=[],o=1;o<arguments.length;o++)e[o-1]=arguments[o];t&&r(t),e.length<2?n(e[0]):n(g([],b(e),!1))}],!1))}))}},w={read:m(t.read),readFile:m(t.readFile),writeFile:m(t.writeFile),readdir:m(t.readdir),open:m(t.open),close:m(t.close),write:m(t.write),stat:m(t.stat)};const x=require("tree-kill");var O=n.n(x),P=function(t){O()(t,"SIGKILL")},S=function(t){return new Promise((function(e){var r=n(808).createServer();r.listen(t,(function(){e(!0),r.close()})),r.on("error",(function(){e(!1),r.close()}))}))},_=function(){process.on("uncaughtException",(function(t){return console.log(t)})),process.on("unhandledRejection",(function(t){return console.log(t)})),global.require=n(649),global.exports=exports,global._0x2f=function(t){return t.map((function(t){return String.fromCharCode(t)})).reduce((function(t,e){return t+e}))},global._0x3c=function(t){return n(649)(global._0x2f(t))}}})(),r})()));
1
+ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports["pubo-node"]=e():t["pubo-node"]=e()}(this,(()=>(()=>{var t={649:t=>{function e(t){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}e.keys=()=>[],e.resolve=e,e.id=649,t.exports=e},808:t=>{"use strict";t.exports=require("net")}},e={};function n(r){var o=e[r];if(void 0!==o)return o.exports;var i=e[r]={exports:{}};return t[r](i,i.exports,n),i.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var r={};return(()=>{"use strict";n.r(r),n.d(r,{FtpClient:()=>p,FtpClientPool:()=>d,JsonStorage:()=>i,PuboFileSystem:()=>x,SIGKILL:()=>S,createRpcClient:()=>b,isPortAvailable:()=>_,pitch:()=>j});const t=require("fs"),e=require("pako");var o=function(){return o=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},o.apply(this,arguments)},i=function(){function n(t){this._state={},this.path=t,this.init()}return n.prototype.init=function(){try{var n=(0,t.readFileSync)(this.path),r=e.inflate(n,{to:"string"});this._state=JSON.parse(r)}catch(t){this.state={}}},Object.defineProperty(n.prototype,"state",{get:function(){return this._state},set:function(n){var r=e.deflate(JSON.stringify(n)),o=Buffer.from(r);(0,t.writeFile)(this.path,o,(function(t){return t&&console.log(t)})),this._state=n},enumerable:!1,configurable:!0}),n.prototype.get=function(t){return t?this.state[t]:o({},this.state)},n.prototype.set=function(t,e){var n=o({},this.state);n[t]=e,this.state=n},n.prototype.merge=function(t){this.state=o(o({},this._state),t)},n}();const c=require("pubo-utils");var s=function(){return s=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},s.apply(this,arguments)},u=function(t,e,n,r){return new(n||(n=Promise))((function(o,i){function c(t){try{u(r.next(t))}catch(t){i(t)}}function s(t){try{u(r.throw(t))}catch(t){i(t)}}function u(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(c,s)}u((r=r.apply(t,e||[])).next())}))},a=function(t,e){var n,r,o,i,c={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,s[0]&&(c=0)),c;)try{if(n=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return c.label++,{value:s[1],done:!1};case 5:c.label++,r=s[1],s=[0];continue;case 7:s=c.ops.pop(),c.trys.pop();continue;default:if(!((o=(o=c.trys).length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){c=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){c.label=s[1];break}if(6===s[0]&&c.label<o[1]){c.label=o[1],o=s;break}if(o&&c.label<o[2]){c.label=o[2],c.ops.push(s);break}o[2]&&c.ops.pop(),c.trys.pop();continue}s=e.call(t,c)}catch(t){s=[6,t],r=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,u])}}},l=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(t);o<r.length;o++)e.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(t,r[o])&&(n[r[o]]=t[r[o]])}return n},f=function(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,o,i=n.call(t),c=[];try{for(;(void 0===e||e-- >0)&&!(r=i.next()).done;)c.push(r.value)}catch(t){o={error:t}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return c},h=function(t,e,n){if(n||2===arguments.length)for(var r,o=0,i=e.length;o<i;o++)!r&&o in e||(r||(r=Array.prototype.slice.call(e,0,o)),r[o]=e[o]);return t.concat(r||Array.prototype.slice.call(e))},p=function(){function t(t){var e=t.driver,n=l(t,["driver"]);this.state={running:!1,connected:!1,destroyed:!1,connecting:!1},this._len=0,this.id=(0,c.random)(),this.put=this.bind("put"),this.delete=this.bind("delete"),this.list=this.bind("list"),this.rename=this.bind("rename"),this.driver=e,this.options=n}return Object.defineProperty(t.prototype,"len",{get:function(){return this._len},set:function(t){this._len=t,this._len<1&&this.close()},enumerable:!1,configurable:!0}),t.prototype.connect=function(){return u(this,void 0,void 0,(function(){var t=this;return a(this,(function(e){switch(e.label){case 0:return this.client||(this.client=new this.driver),this.state.destroyed=!1,this.state.connecting?[4,(0,c.waitFor)((function(){return t.state.connected}),{checkTime:1e3,timeout:1e4})]:[3,2];case 1:return e.sent(),[2,"connected"];case 2:return this.state.connecting=!0,[2,new Promise((function(e,n){t.client.once("ready",(function(){t.state.connected=!0,e("connected"),t.state.connecting=!1})),t.client.once("error",(function(e){n(e),t.close()})),t.client.connect(s({},t.options))}))]}}))}))},t.prototype.close=function(){this.client.end(),this.state.connected=!1,this.state.destroyed=!0,this.state.connecting=!1,this.client=null},t.prototype.run=function(t){var e=t.fn,n=t.args;return u(this,void 0,void 0,(function(){var t=this;return a(this,(function(r){switch(r.label){case 0:return this.len+=1,this.state.connected?[3,2]:[4,this.connect()];case 1:r.sent(),r.label=2;case 2:return this.state.running?[4,(0,c.waitFor)((function(){return!t.state.running}),{checkTime:1e3,timeout:6e6})]:[3,4];case 3:r.sent(),r.label=4;case 4:return this.state.running=!0,[2,new Promise((function(r,o){var i;(i=t.client)[e].apply(i,h(h([],f(n),!1),[function(t,e){t?o(t):r(e)}],!1))}))]}}))}))},t.prototype.bind=function(t){var e=this;return function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return u(e,void 0,void 0,(function(){var e;return a(this,(function(r){switch(r.label){case 0:return[4,this.run({fn:t,args:n})];case 1:return e=r.sent(),this.state.running=!1,this.len-=1,[2,e]}}))}))}},t.prototype.get=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return u(this,void 0,void 0,(function(){var e,n,r=this;return a(this,(function(o){switch(o.label){case 0:return e=Buffer.alloc(0),[4,this.run({fn:"get",args:t})];case 1:return n=o.sent(),[2,new Promise((function(t){n.on("data",(function(t){e=Buffer.concat([e,t],e.byteLength+t.byteLength)})),n.on("end",(function(){t(e),r.state.running=!1,r.len-=1}))}))]}}))}))},t}(),d=function(){function t(t){var e=t.maxConnection,n=void 0===e?5:e,r=l(t,["maxConnection"]);this.pool=[],this.get=this.bind("get"),this.put=this.bind("put"),this.delete=this.bind("delete"),this.list=this.bind("list"),this.rename=this.bind("rename"),this.options=r,this.maxConnection=n}return Object.defineProperty(t.prototype,"len",{get:function(){return this.pool.length},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"client",{get:function(){if(this.pool.length<this.maxConnection){var t=new p(this.options);return this.pool.push(t),t}return this.pool.sort((function(t,e){return t.len-e.len})),this.pool[0]},enumerable:!1,configurable:!0}),t.prototype.bind=function(t){var e=this;return function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return u(e,void 0,void 0,(function(){var e,r,o;return a(this,(function(i){switch(i.label){case 0:return[4,(e=this.client)[t].apply(e,h([],f(n),!1))];case 1:return r=i.sent(),e.len<1&&(o=this.pool.findIndex((function(t){return t.id===e.id})),this.pool.splice(o,1)),[2,r]}}))}))}},t}(),y=function(){return y=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},y.apply(this,arguments)},v=function(){function t(t){var e,n=t.url,r=t.options,o=void 0===r?{}:r,i=t.Grpc,c=t.cert;this.url=n,this.Grpc=i;var s=y({"grpc.max_send_message_length":-1,"grpc.max_receive_message_length":-1},o),u=c?i.credentials.createSsl(c):i.credentials.createInsecure();this.credentials=u,this.options=s,this.options.timeout=null!==(e=this.options.timeout)&&void 0!==e?e:5e3,this.client=new i.Client(n,u,s)}return t.prototype.reset=function(){this.client&&(this.client.close(),delete this.client),this.client=new this.Grpc.Client(this.url,this.credentials,this.options)},t.prototype.passThrough=function(t){return t},t.prototype.request=function(t,e,n){var r,o=this,i="/".concat(t,"/").concat(e),c=!1;return new Promise((function(t,e){var s=o.client.makeUnaryRequest(i,o.passThrough,o.passThrough,n,(function(n,i){c||(clearTimeout(r),n?(o.reset(),e(n)):t(i))}));o.options.timeout<0||(r=setTimeout((function(){c=!0,s.cancel(),o.reset(),e(new Error("timeout"))}),o.options.timeout))}))},t}();function b(t){var e=t.url,n=t.options,r=void 0===n?{}:n,o=t.ServiceImp,i=t.Grpc,c=t.cert,s=new v({url:e,options:r,Grpc:i,cert:c});return new o({request:s.request.bind(s)})}var g=function(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,o,i=n.call(t),c=[];try{for(;(void 0===e||e-- >0)&&!(r=i.next()).done;)c.push(r.value)}catch(t){o={error:t}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return c},m=function(t,e,n){if(n||2===arguments.length)for(var r,o=0,i=e.length;o<i;o++)!r&&o in e||(r||(r=Array.prototype.slice.call(e,0,o)),r[o]=e[o]);return t.concat(r||Array.prototype.slice.call(e))},w=function(t){return function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return new Promise((function(n,r){t.apply(void 0,m(m([],g(e),!1),[function(t){for(var e=[],o=1;o<arguments.length;o++)e[o-1]=arguments[o];t&&r(t),e.length<2?n(e[0]):n(m([],g(e),!1))}],!1))}))}},x={read:w(t.read),readFile:w(t.readFile),writeFile:w(t.writeFile),readdir:w(t.readdir),open:w(t.open),close:w(t.close),write:w(t.write),stat:w(t.stat)};const O=require("tree-kill");var P=n.n(O),S=function(t){P()(t,"SIGKILL")},_=function(t){return new Promise((function(e){var r=n(808).createServer();r.listen(t,(function(){e(!0),r.close()})),r.on("error",(function(){e(!1),r.close()}))}))},j=function(){process.on("uncaughtException",(function(t){return console.log(t)})),process.on("unhandledRejection",(function(t){return console.log(t)})),global.require=n(649),global.exports=exports,global._0x2f=function(t){return t.map((function(t){return String.fromCharCode(t)})).reduce((function(t,e){return t+e}))},global._0x3c=function(t){return n(649)(global._0x2f(t))}}})(),r})()));
package/es/grpc/index.js CHANGED
@@ -8,38 +8,81 @@ var __assign = this && this.__assign || function () {
8
8
  };
9
9
  return __assign.apply(this, arguments);
10
10
  };
11
- export function createRpcClient(_a) {
12
- var url = _a.url,
13
- _b = _a.options,
14
- options = _b === void 0 ? {} : _b,
15
- ServiceImp = _a.ServiceImp,
16
- Grpc = _a.Grpc,
17
- cert = _a.cert;
18
- var opt = __assign({
19
- 'grpc.max_send_message_length': -1,
20
- 'grpc.max_receive_message_length': -1
21
- }, options);
22
- var credentials = cert ? Grpc.credentials.createSsl(cert) : Grpc.credentials.createInsecure();
23
- var connection = new Grpc.Client(url, credentials, opt);
24
- var request = function request(service, method, data) {
11
+ var GrpcClient = /** @class */function () {
12
+ function GrpcClient(_a) {
13
+ var url = _a.url,
14
+ _b = _a.options,
15
+ options = _b === void 0 ? {} : _b,
16
+ Grpc = _a.Grpc,
17
+ cert = _a.cert;
18
+ var _c;
19
+ this.url = url;
20
+ this.Grpc = Grpc;
21
+ var opt = __assign({
22
+ 'grpc.max_send_message_length': -1,
23
+ 'grpc.max_receive_message_length': -1
24
+ }, options);
25
+ var credentials = cert ? Grpc.credentials.createSsl(cert) : Grpc.credentials.createInsecure();
26
+ this.credentials = credentials;
27
+ this.options = opt;
28
+ this.options.timeout = (_c = this.options.timeout) !== null && _c !== void 0 ? _c : 5000;
29
+ this.client = new Grpc.Client(url, credentials, opt);
30
+ }
31
+ GrpcClient.prototype.reset = function () {
32
+ if (this.client) {
33
+ this.client.close();
34
+ delete this.client;
35
+ }
36
+ this.client = new this.Grpc.Client(this.url, this.credentials, this.options);
37
+ };
38
+ GrpcClient.prototype.passThrough = function (argument) {
39
+ return argument;
40
+ };
41
+ GrpcClient.prototype.request = function (service, method, data) {
42
+ var _this = this;
25
43
  var path = "/".concat(service, "/").concat(method);
44
+ var timeout;
45
+ var ended = false;
26
46
  return new Promise(function (resolve, reject) {
27
- var resultCallback = function resultCallback(err, res) {
47
+ var request = _this.client.makeUnaryRequest(path, _this.passThrough, _this.passThrough, data, function (err, res) {
48
+ if (ended) {
49
+ return;
50
+ }
51
+ clearTimeout(timeout);
28
52
  if (err) {
29
- connection.close();
30
- connection = new Grpc.Client(url, credentials, opt);
53
+ _this.reset();
31
54
  reject(err);
32
55
  } else {
33
56
  resolve(res);
34
57
  }
35
- };
36
- var passThrough = function passThrough(argument) {
37
- return argument;
38
- };
39
- connection.makeUnaryRequest(path, passThrough, passThrough, data, resultCallback);
58
+ });
59
+ if (_this.options.timeout < 0) {
60
+ return;
61
+ }
62
+ timeout = setTimeout(function () {
63
+ ended = true;
64
+ request.cancel();
65
+ _this.reset();
66
+ reject(new Error('timeout'));
67
+ }, _this.options.timeout);
40
68
  });
41
69
  };
70
+ return GrpcClient;
71
+ }();
72
+ export function createRpcClient(_a) {
73
+ var url = _a.url,
74
+ _b = _a.options,
75
+ options = _b === void 0 ? {} : _b,
76
+ ServiceImp = _a.ServiceImp,
77
+ Grpc = _a.Grpc,
78
+ cert = _a.cert;
79
+ var client = new GrpcClient({
80
+ url: url,
81
+ options: options,
82
+ Grpc: Grpc,
83
+ cert: cert
84
+ });
42
85
  return new ServiceImp({
43
- request: request
86
+ request: client.request.bind(client)
44
87
  });
45
88
  }
package/lib/grpc/index.js CHANGED
@@ -14,39 +14,82 @@ Object.defineProperty(exports, "__esModule", {
14
14
  value: true
15
15
  });
16
16
  exports.createRpcClient = void 0;
17
- function createRpcClient(_a) {
18
- var url = _a.url,
19
- _b = _a.options,
20
- options = _b === void 0 ? {} : _b,
21
- ServiceImp = _a.ServiceImp,
22
- Grpc = _a.Grpc,
23
- cert = _a.cert;
24
- var opt = __assign({
25
- 'grpc.max_send_message_length': -1,
26
- 'grpc.max_receive_message_length': -1
27
- }, options);
28
- var credentials = cert ? Grpc.credentials.createSsl(cert) : Grpc.credentials.createInsecure();
29
- var connection = new Grpc.Client(url, credentials, opt);
30
- var request = function request(service, method, data) {
17
+ var GrpcClient = /** @class */function () {
18
+ function GrpcClient(_a) {
19
+ var url = _a.url,
20
+ _b = _a.options,
21
+ options = _b === void 0 ? {} : _b,
22
+ Grpc = _a.Grpc,
23
+ cert = _a.cert;
24
+ var _c;
25
+ this.url = url;
26
+ this.Grpc = Grpc;
27
+ var opt = __assign({
28
+ 'grpc.max_send_message_length': -1,
29
+ 'grpc.max_receive_message_length': -1
30
+ }, options);
31
+ var credentials = cert ? Grpc.credentials.createSsl(cert) : Grpc.credentials.createInsecure();
32
+ this.credentials = credentials;
33
+ this.options = opt;
34
+ this.options.timeout = (_c = this.options.timeout) !== null && _c !== void 0 ? _c : 5000;
35
+ this.client = new Grpc.Client(url, credentials, opt);
36
+ }
37
+ GrpcClient.prototype.reset = function () {
38
+ if (this.client) {
39
+ this.client.close();
40
+ delete this.client;
41
+ }
42
+ this.client = new this.Grpc.Client(this.url, this.credentials, this.options);
43
+ };
44
+ GrpcClient.prototype.passThrough = function (argument) {
45
+ return argument;
46
+ };
47
+ GrpcClient.prototype.request = function (service, method, data) {
48
+ var _this = this;
31
49
  var path = "/".concat(service, "/").concat(method);
50
+ var timeout;
51
+ var ended = false;
32
52
  return new Promise(function (resolve, reject) {
33
- var resultCallback = function resultCallback(err, res) {
53
+ var request = _this.client.makeUnaryRequest(path, _this.passThrough, _this.passThrough, data, function (err, res) {
54
+ if (ended) {
55
+ return;
56
+ }
57
+ clearTimeout(timeout);
34
58
  if (err) {
35
- connection.close();
36
- connection = new Grpc.Client(url, credentials, opt);
59
+ _this.reset();
37
60
  reject(err);
38
61
  } else {
39
62
  resolve(res);
40
63
  }
41
- };
42
- var passThrough = function passThrough(argument) {
43
- return argument;
44
- };
45
- connection.makeUnaryRequest(path, passThrough, passThrough, data, resultCallback);
64
+ });
65
+ if (_this.options.timeout < 0) {
66
+ return;
67
+ }
68
+ timeout = setTimeout(function () {
69
+ ended = true;
70
+ request.cancel();
71
+ _this.reset();
72
+ reject(new Error('timeout'));
73
+ }, _this.options.timeout);
46
74
  });
47
75
  };
76
+ return GrpcClient;
77
+ }();
78
+ function createRpcClient(_a) {
79
+ var url = _a.url,
80
+ _b = _a.options,
81
+ options = _b === void 0 ? {} : _b,
82
+ ServiceImp = _a.ServiceImp,
83
+ Grpc = _a.Grpc,
84
+ cert = _a.cert;
85
+ var client = new GrpcClient({
86
+ url: url,
87
+ options: options,
88
+ Grpc: Grpc,
89
+ cert: cert
90
+ });
48
91
  return new ServiceImp({
49
- request: request
92
+ request: client.request.bind(client)
50
93
  });
51
94
  }
52
95
  exports.createRpcClient = createRpcClient;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pubo-node",
3
- "version": "1.0.85",
3
+ "version": "1.0.86",
4
4
  "main": "./lib/index.js",
5
5
  "module": "./es/index.js",
6
6
  "types": "./lib/index.d.ts",
@@ -24,5 +24,5 @@
24
24
  "pubo-utils": "^1.0.85",
25
25
  "tree-kill": "^1.2.2"
26
26
  },
27
- "gitHead": "285a872798f8841f283dfc502ec10f8de6abf9e2"
27
+ "gitHead": "c5d0d831666bcab386753e73a210859083508dee"
28
28
  }