Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Socket
Sign inDemoInstall

workerpool

Package Overview
Dependencies
Maintainers
1
Versions
63
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

workerpool - npm Package Compare versions

Comparing version 1.3.0 to 1.3.1

37

dist/worker.js

@@ -182,8 +182,6 @@ /******/ (function(modules) { // webpackBootstrap

Object.defineProperty(exports, '__esModule', {
Object.defineProperty(exports, "__esModule", {
value: true
});
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var _protochain = __webpack_require__(2);

@@ -193,6 +191,8 @@

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function serializerr() {
var obj = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];
var chain = (0, _protochain2['default'])(obj).filter(function (obj) {
var chain = (0, _protochain2.default)(obj).filter(function (obj) {
return obj !== Object.prototype;

@@ -204,3 +204,3 @@ });

names.forEach(function (name) {
return result[name] = obj[name];
result[name] = obj[name];
});

@@ -213,4 +213,3 @@ return result;

serializerr.serializerr = serializerr;
exports['default'] = serializerr;
module.exports = exports['default'];
exports.default = serializerr;

@@ -223,31 +222,23 @@

"use strict";
'use strict';
module.exports = protochain;
function protochain(obj) {
var result = [];
module.exports = function protochain(obj) {
var chain = [];
var target = getPrototypeOf(obj);
while (target) {
result.push(target);
chain.push(target);
target = getPrototypeOf(target);
}
return result;
}
return chain;
};
function getPrototypeOf(obj) {
if (obj == null) {
return obj;
}if (isPrimitive(obj)) obj = Object(obj);
return Object.getPrototypeOf(obj);
if (obj == null) return null;
return Object.getPrototypeOf(Object(obj));
}
function isPrimitive(item) {
return item === null || typeof item !== "object" && typeof item !== "function";
}
/***/ }
/******/ ]);

@@ -8,3 +8,3 @@ /**

* @version 1.3.0
* @date 2016-08-21
* @date 2016-09-12
*

@@ -742,3 +742,4 @@ * @license

// check whether Worker is supported by the browser
if (typeof Worker !== 'function') {
// Workaround for a bug in PhantomJS (Or QtWebkit): https://github.com/ariya/phantomjs/issues/14534
if (typeof Worker !== 'function' && (typeof Worker !== 'object' || typeof Worker.prototype.constructor !== 'function')) {
throw new Error('Web workers not supported by the browser');

@@ -982,3 +983,3 @@ }

*/
module.exports = "!function(e){function r(n){if(t[n])return t[n].exports;var o=t[n]={exports:{},id:n,loaded:!1};return e[n].call(o.exports,o,o.exports,r),o.loaded=!0,o.exports}var t={};return r.m=e,r.c=t,r.p=\"\",r(0)}([function(module,exports,__webpack_require__){function isPromise(e){return e&&\"function\"==typeof e.then&&\"function\"==typeof e[\"catch\"]}var serializerr=__webpack_require__(1),worker={};if(\"undefined\"!=typeof self&&\"function\"==typeof postMessage&&\"function\"==typeof addEventListener)worker.on=function(e,r){addEventListener(e,function(e){r(e.data)})},worker.send=function(e){postMessage(e)};else{if(\"undefined\"==typeof process)throw new Error(\"Script must be executed as a worker\");worker.on=process.on.bind(process),worker.send=process.send.bind(process)}worker.methods={},worker.methods.run=function run(fn,args){var f=eval(\"(\"+fn+\")\");return f.apply(f,args)},worker.methods.methods=function(){return Object.keys(worker.methods)},worker.on(\"message\",function(e){try{var r=worker.methods[e.method];if(!r)throw new Error('Unknown method \"'+e.method+'\"');var t=r.apply(r,e.params);isPromise(t)?t.then(function(r){worker.send({id:e.id,result:r,error:null})})[\"catch\"](function(r){worker.send({id:e.id,result:null,error:serializerr(r)})}):worker.send({id:e.id,result:t,error:null})}catch(n){worker.send({id:e.id,result:null,error:serializerr(n)})}}),worker.register=function(e){if(e)for(var r in e)e.hasOwnProperty(r)&&(worker.methods[r]=e[r])},exports.add=worker.register},function(e,r,t){\"use strict\";function n(e){return e&&e.__esModule?e:{\"default\":e}}function o(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],r=(0,u[\"default\"])(e).filter(function(e){return e!==Object.prototype});return[e].concat(r).map(function(e){return Object.getOwnPropertyNames(e)}).reduce(function(r,t){return t.forEach(function(t){return r[t]=e[t]}),r},{})}Object.defineProperty(r,\"__esModule\",{value:!0});var s=t(2),u=n(s);e.exports=o,o.serializerr=o,r[\"default\"]=o,e.exports=r[\"default\"]},function(e,r){\"use strict\";function t(e){for(var r=[],t=n(e);t;)r.push(t),t=n(t);return r}function n(e){return null==e?e:(o(e)&&(e=Object(e)),Object.getPrototypeOf(e))}function o(e){return null===e||\"object\"!=typeof e&&\"function\"!=typeof e}e.exports=t}]);";
module.exports = "!function(e){function r(n){if(t[n])return t[n].exports;var o=t[n]={exports:{},id:n,loaded:!1};return e[n].call(o.exports,o,o.exports,r),o.loaded=!0,o.exports}var t={};return r.m=e,r.c=t,r.p=\"\",r(0)}([function(module,exports,__webpack_require__){function isPromise(e){return e&&\"function\"==typeof e.then&&\"function\"==typeof e.catch}var serializerr=__webpack_require__(1),worker={};if(\"undefined\"!=typeof self&&\"function\"==typeof postMessage&&\"function\"==typeof addEventListener)worker.on=function(e,r){addEventListener(e,function(e){r(e.data)})},worker.send=function(e){postMessage(e)};else{if(\"undefined\"==typeof process)throw new Error(\"Script must be executed as a worker\");worker.on=process.on.bind(process),worker.send=process.send.bind(process)}worker.methods={},worker.methods.run=function run(fn,args){var f=eval(\"(\"+fn+\")\");return f.apply(f,args)},worker.methods.methods=function(){return Object.keys(worker.methods)},worker.on(\"message\",function(e){try{var r=worker.methods[e.method];if(!r)throw new Error('Unknown method \"'+e.method+'\"');var t=r.apply(r,e.params);isPromise(t)?t.then(function(r){worker.send({id:e.id,result:r,error:null})}).catch(function(r){worker.send({id:e.id,result:null,error:serializerr(r)})}):worker.send({id:e.id,result:t,error:null})}catch(r){worker.send({id:e.id,result:null,error:serializerr(r)})}}),worker.register=function(e){if(e)for(var r in e)e.hasOwnProperty(r)&&(worker.methods[r]=e[r])},exports.add=worker.register},function(e,r,t){\"use strict\";function n(e){return e&&e.__esModule?e:{default:e}}function o(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],r=(0,i.default)(e).filter(function(e){return e!==Object.prototype});return[e].concat(r).map(function(e){return Object.getOwnPropertyNames(e)}).reduce(function(r,t){return t.forEach(function(t){r[t]=e[t]}),r},{})}Object.defineProperty(r,\"__esModule\",{value:!0});var s=t(2),i=n(s);e.exports=o,o.serializerr=o,r.default=o},function(e,r){\"use strict\";function t(e){return null==e?null:Object.getPrototypeOf(Object(e))}e.exports=function(e){for(var r=[],n=t(e);n;)r.push(n),n=t(n);return r}}]);";

@@ -1155,8 +1156,6 @@

Object.defineProperty(exports, '__esModule', {
Object.defineProperty(exports, "__esModule", {
value: true
});
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var _protochain = __webpack_require__(10);

@@ -1166,6 +1165,8 @@

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function serializerr() {
var obj = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];
var chain = (0, _protochain2['default'])(obj).filter(function (obj) {
var chain = (0, _protochain2.default)(obj).filter(function (obj) {
return obj !== Object.prototype;

@@ -1177,3 +1178,3 @@ });

names.forEach(function (name) {
return result[name] = obj[name];
result[name] = obj[name];
});

@@ -1186,4 +1187,3 @@ return result;

serializerr.serializerr = serializerr;
exports['default'] = serializerr;
module.exports = exports['default'];
exports.default = serializerr;

@@ -1196,30 +1196,22 @@

"use strict";
'use strict';
module.exports = protochain;
function protochain(obj) {
var result = [];
module.exports = function protochain(obj) {
var chain = [];
var target = getPrototypeOf(obj);
while (target) {
result.push(target);
chain.push(target);
target = getPrototypeOf(target);
}
return result;
}
return chain;
};
function getPrototypeOf(obj) {
if (obj == null) {
return obj;
}if (isPrimitive(obj)) obj = Object(obj);
return Object.getPrototypeOf(obj);
if (obj == null) return null;
return Object.getPrototypeOf(Object(obj));
}
function isPrimitive(item) {
return item === null || typeof item !== "object" && typeof item !== "function";
}
/***/ }

@@ -1226,0 +1218,0 @@ /******/ ])

@@ -8,3 +8,3 @@ /**

* @version 1.3.0
* @date 2016-08-21
* @date 2016-09-12
*

@@ -26,3 +26,3 @@ * @license

*/
!function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define([],r):"object"==typeof exports?exports.workerpool=r():e.workerpool=r()}(this,function(){return function(e){function r(n){if(t[n])return t[n].exports;var o=t[n]={exports:{},id:n,loaded:!1};return e[n].call(o.exports,o,o.exports,r),o.loaded=!0,o.exports}var t={};return r.m=e,r.c=t,r.p="",r(0)}([function(e,r,t){"undefined"!=typeof window;r.pool=function(e,r){var n=t(1);return new n(e,r)},r.worker=function n(e){var r=t(4);if("browser"==r){var o=new Blob([t(6)],{type:"text/javascript"}),i=window.URL.createObjectURL(o);importScripts(i)}else var n=t(8);n.add(e)},r.Promise=t(2)},function(e,r,t){function n(e,r){if("string"==typeof e?this.script=e||null:(this.script=null,r=e),r&&"maxWorkers"in r){if(!o(r.maxWorkers)||!i(r.maxWorkers)||r.maxWorkers<1)throw new TypeError("Option maxWorkers must be a positive integer number");this.maxWorkers=r.maxWorkers}else{var n=t(4),s="browser"==n?window.navigator.hardwareConcurrency||4:c.require("os").cpus().length;this.maxWorkers=Math.max(s-1,1)}this.workers=[],this.tasks=[]}function o(e){return"number"==typeof e}function i(e){return Math.round(e)==e}var s=t(2),u=t(3),c={require:t(5)};n.prototype.exec=function(e,r){if(r&&!Array.isArray(r))throw new TypeError('Array expected as argument "params"');if("string"==typeof e){var t=s.defer();return this.tasks.push({method:e,params:r,resolver:t}),this._next(),t.promise}if("function"==typeof e)return this.exec("run",[String(e),r]);throw new TypeError('Function or string expected as argument "method"')},n.prototype.proxy=function(){if(arguments.length>0)throw new Error("No arguments expected");var e=this;return this.exec("methods").then(function(r){var t={};return r.forEach(function(r){t[r]=function(){return e.exec(r,Array.prototype.slice.call(arguments))}}),t})},n.prototype._next=function(){if(this.tasks.length>0){var e=this._getWorker();if(e){var r=this,t=this.tasks.shift();t.resolver.promise.pending&&e.exec(t.method,t.params,t.resolver).then(function(){r._next()})["catch"](function(){e.terminated&&r._removeWorker(e),r._next()})}}},n.prototype._getWorker=function(){for(var e=0,r=this.workers.length;e<r;e++){var t=this.workers[e];if(!t.busy())return t}return this.workers.length<this.maxWorkers?(t=new u(this.script),this.workers.push(t),t):null},n.prototype._removeWorker=function(e){e.terminate();var r=this.workers.indexOf(e);r!=-1&&this.workers.splice(r,1)},n.prototype.clear=function(e){this.workers.forEach(function(r){r.terminate(e)}),this.workers=[]},e.exports=n},function(e,r){"use strict";function t(e,r){var s=this;if(!(this instanceof t))throw new SyntaxError("Constructor must be called with the new operator");if("function"!=typeof e)throw new SyntaxError("Function parameter handler(resolve, reject) missing");var u=[],c=[];this.resolved=!1,this.rejected=!1,this.pending=!0;var a=function(e,r){u.push(e),c.push(r)};this.then=function(e,r){return new t(function(t,o){var i=e?n(e,t,o):t,s=r?n(r,t,o):o;a(i,s)},s)};var f=function(e){return s.resolved=!0,s.rejected=!1,s.pending=!1,u.forEach(function(r){r(e)}),a=function(r,t){r(e)},f=p=function(){throw new Error("Promise is already resolved")},s},p=function(e){return s.resolved=!1,s.rejected=!0,s.pending=!1,c.forEach(function(r){r(e)}),a=function(r,t){t(e)},f=p=function(){throw new Error("Promise is already resolved")},s};this.cancel=function(){return r?r.cancel():p(new o),s},this.timeout=function(e){if(r)r.timeout(e);else{var t=setTimeout(function(){p(new i("Promise timed out after "+e+" ms"))},e);s.always(function(){clearTimeout(t)})}return s},e(function(e){f(e)},function(e){p(e)})}function n(e,r,t){return function(n){try{var o=e(n);o&&"function"==typeof o.then&&"function"==typeof o["catch"]?o.then(r,t):r(o)}catch(i){t(i)}}}function o(e){this.message=e||"promise cancelled",this.stack=(new Error).stack}function i(e){this.message=e||"timeout exceeded",this.stack=(new Error).stack}t.prototype["catch"]=function(e){return this.then(null,e)},t.prototype.always=function(e){return this.then(e,e)},t.all=function(e){return new t(function(r,t){var n=e.length,o=[];n?e.forEach(function(e,i){e.then(function(e){o[i]=e,n--,0==n&&r(o)},function(e){n=0,t(e)})}):r(o)})},t.defer=function(){var e={};return e.promise=new t(function(r,t){e.resolve=r,e.reject=t}),e},o.prototype=new Error,o.prototype.constructor=Error,o.prototype.name="CancellationError",t.CancellationError=o,i.prototype=new Error,i.prototype.constructor=Error,i.prototype.name="TimeoutError",t.TimeoutError=i,e.exports=t},function(e,r,t){function n(){if("browser"==u){if("undefined"==typeof Blob)throw new Error("Blob not supported by the browser");if(!window.URL||"function"!=typeof window.URL.createObjectURL)throw new Error("URL.createObjectURL not supported by the browser");var e=new Blob([t(6)],{type:"text/javascript"});return window.URL.createObjectURL(e)}return __dirname+"/worker.js"}function o(e){for(var r=new Error(""),t=Object.keys(e),n=0;n<t.length;n++)r[t[n]]=e[t[n]];return r}function i(e){function r(e){t.terminated=!0;for(var r in t.processing)t.processing.hasOwnProperty(r)&&t.processing[r].resolver.reject(e);t.processing={}}if(this.script=e||n(),"browser"==u){if("function"!=typeof Worker)throw new Error("Web workers not supported by the browser");this.worker=new Worker(this.script),this.worker.on=function(e,r){this.addEventListener(e,function(e){r(e.data)})},this.worker.send=function(e){this.postMessage(e)}}else this.worker=c.require("child_process").fork(this.script);var t=this;this.worker.on("message",function(e){var r=e.id,n=t.processing[r];n&&(delete t.processing[r],t.terminating&&t.terminate(),e.error?n.resolver.reject(o(e.error)):n.resolver.resolve(e.result))}),this.worker.on("error",r),this.worker.on("exit",function(){var e=new Error("Worker terminated unexpectedly");r(e)}),this.processing={},this.terminating=!1,this.terminated=!1,this.lastId=0}var s=t(2),u=t(4),c={require:t(5)};i.prototype.methods=function(){return this.exec("methods")},i.prototype.exec=function(e,r,t){t||(t=s.defer());var n=++this.lastId;this.processing[n]={id:n,resolver:t};var o={id:n,method:e,params:r};this.terminated?t.reject(new Error("Worker is terminated")):this.worker.send(o);var i=this;return t.promise["catch"](function(e){(e instanceof s.CancellationError||e instanceof s.TimeoutError)&&(delete i.processing[n],i.terminate(!0))}),t.promise},i.prototype.busy=function(){return Object.keys(this.processing).length>0},i.prototype.terminate=function(e){if(e){for(var r in this.processing)this.processing.hasOwnProperty(r)&&this.processing[r].resolver.reject(new Error("Worker terminated"));this.processing={}}if(this.busy())this.terminating=!0;else{if(this.worker){if("function"==typeof this.worker.kill)this.worker.kill();else{if("function"!=typeof this.worker.terminate)throw new Error("Failed to terminate worker");this.worker.terminate()}this.worker=null}this.terminating=!1,this.terminated=!0}},e.exports=i},function(e,r){e.exports="undefined"!=typeof window?"browser":"node"},function(e,r,t){function n(e){return t(o(e))}function o(e){return i[e]||function(){throw new Error("Cannot find module '"+e+"'.")}()}var i={"./Pool":1,"./Pool.js":1,"./Promise":2,"./Promise.js":2,"./WorkerHandler":3,"./WorkerHandler.js":3,"./environment":4,"./environment.js":4,"./generated/embeddedWorker":6,"./generated/embeddedWorker.js":6,"./header":7,"./header.js":7,"./worker":8,"./worker.js":8};n.keys=function(){return Object.keys(i)},n.resolve=o,e.exports=n,n.id=5},function(e,r){e.exports='!function(e){function r(n){if(t[n])return t[n].exports;var o=t[n]={exports:{},id:n,loaded:!1};return e[n].call(o.exports,o,o.exports,r),o.loaded=!0,o.exports}var t={};return r.m=e,r.c=t,r.p="",r(0)}([function(module,exports,__webpack_require__){function isPromise(e){return e&&"function"==typeof e.then&&"function"==typeof e["catch"]}var serializerr=__webpack_require__(1),worker={};if("undefined"!=typeof self&&"function"==typeof postMessage&&"function"==typeof addEventListener)worker.on=function(e,r){addEventListener(e,function(e){r(e.data)})},worker.send=function(e){postMessage(e)};else{if("undefined"==typeof process)throw new Error("Script must be executed as a worker");worker.on=process.on.bind(process),worker.send=process.send.bind(process)}worker.methods={},worker.methods.run=function run(fn,args){var f=eval("("+fn+")");return f.apply(f,args)},worker.methods.methods=function(){return Object.keys(worker.methods)},worker.on("message",function(e){try{var r=worker.methods[e.method];if(!r)throw new Error(\'Unknown method "\'+e.method+\'"\');var t=r.apply(r,e.params);isPromise(t)?t.then(function(r){worker.send({id:e.id,result:r,error:null})})["catch"](function(r){worker.send({id:e.id,result:null,error:serializerr(r)})}):worker.send({id:e.id,result:t,error:null})}catch(n){worker.send({id:e.id,result:null,error:serializerr(n)})}}),worker.register=function(e){if(e)for(var r in e)e.hasOwnProperty(r)&&(worker.methods[r]=e[r])},exports.add=worker.register},function(e,r,t){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function o(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],r=(0,u["default"])(e).filter(function(e){return e!==Object.prototype});return[e].concat(r).map(function(e){return Object.getOwnPropertyNames(e)}).reduce(function(r,t){return t.forEach(function(t){return r[t]=e[t]}),r},{})}Object.defineProperty(r,"__esModule",{value:!0});var s=t(2),u=n(s);e.exports=o,o.serializerr=o,r["default"]=o,e.exports=r["default"]},function(e,r){"use strict";function t(e){for(var r=[],t=n(e);t;)r.push(t),t=n(t);return r}function n(e){return null==e?e:(o(e)&&(e=Object(e)),Object.getPrototypeOf(e))}function o(e){return null===e||"object"!=typeof e&&"function"!=typeof e}e.exports=t}]);'},function(e,r){},function(module,exports,__webpack_require__){function isPromise(e){return e&&"function"==typeof e.then&&"function"==typeof e["catch"]}var serializerr=__webpack_require__(9),worker={};if("undefined"!=typeof self&&"function"==typeof postMessage&&"function"==typeof addEventListener)worker.on=function(e,r){addEventListener(e,function(e){r(e.data)})},worker.send=function(e){postMessage(e)};else{if("undefined"==typeof process)throw new Error("Script must be executed as a worker");worker.on=process.on.bind(process),worker.send=process.send.bind(process)}worker.methods={},worker.methods.run=function run(fn,args){var f=eval("("+fn+")");return f.apply(f,args)},worker.methods.methods=function(){return Object.keys(worker.methods)},worker.on("message",function(e){try{var r=worker.methods[e.method];if(!r)throw new Error('Unknown method "'+e.method+'"');var t=r.apply(r,e.params);isPromise(t)?t.then(function(r){worker.send({id:e.id,result:r,error:null})})["catch"](function(r){worker.send({id:e.id,result:null,error:serializerr(r)})}):worker.send({id:e.id,result:t,error:null})}catch(n){worker.send({id:e.id,result:null,error:serializerr(n)})}}),worker.register=function(e){if(e)for(var r in e)e.hasOwnProperty(r)&&(worker.methods[r]=e[r])},exports.add=worker.register},function(e,r,t){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function o(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],r=(0,s["default"])(e).filter(function(e){return e!==Object.prototype});return[e].concat(r).map(function(e){return Object.getOwnPropertyNames(e)}).reduce(function(r,t){return t.forEach(function(t){return r[t]=e[t]}),r},{})}Object.defineProperty(r,"__esModule",{value:!0});var i=t(10),s=n(i);e.exports=o,o.serializerr=o,r["default"]=o,e.exports=r["default"]},function(e,r){"use strict";function t(e){for(var r=[],t=n(e);t;)r.push(t),t=n(t);return r}function n(e){return null==e?e:(o(e)&&(e=Object(e)),Object.getPrototypeOf(e))}function o(e){return null===e||"object"!=typeof e&&"function"!=typeof e}e.exports=t}])});
!function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define([],r):"object"==typeof exports?exports.workerpool=r():e.workerpool=r()}(this,function(){return function(e){function r(o){if(t[o])return t[o].exports;var n=t[o]={exports:{},id:o,loaded:!1};return e[o].call(n.exports,n,n.exports,r),n.loaded=!0,n.exports}var t={};return r.m=e,r.c=t,r.p="",r(0)}([function(e,r,t){"undefined"!=typeof window;r.pool=function(e,r){var o=t(1);return new o(e,r)},r.worker=function e(r){var o=t(4);if("browser"==o){var n=new Blob([t(6)],{type:"text/javascript"}),i=window.URL.createObjectURL(n);importScripts(i)}else var e=t(8);e.add(r)},r.Promise=t(2)},function(e,r,t){function o(e,r){if("string"==typeof e?this.script=e||null:(this.script=null,r=e),r&&"maxWorkers"in r){if(!n(r.maxWorkers)||!i(r.maxWorkers)||r.maxWorkers<1)throw new TypeError("Option maxWorkers must be a positive integer number");this.maxWorkers=r.maxWorkers}else{var o=t(4),s="browser"==o?window.navigator.hardwareConcurrency||4:c.require("os").cpus().length;this.maxWorkers=Math.max(s-1,1)}this.workers=[],this.tasks=[]}function n(e){return"number"==typeof e}function i(e){return Math.round(e)==e}var s=t(2),u=t(3),c={require:t(5)};o.prototype.exec=function(e,r){if(r&&!Array.isArray(r))throw new TypeError('Array expected as argument "params"');if("string"==typeof e){var t=s.defer();return this.tasks.push({method:e,params:r,resolver:t}),this._next(),t.promise}if("function"==typeof e)return this.exec("run",[String(e),r]);throw new TypeError('Function or string expected as argument "method"')},o.prototype.proxy=function(){if(arguments.length>0)throw new Error("No arguments expected");var e=this;return this.exec("methods").then(function(r){var t={};return r.forEach(function(r){t[r]=function(){return e.exec(r,Array.prototype.slice.call(arguments))}}),t})},o.prototype._next=function(){if(this.tasks.length>0){var e=this._getWorker();if(e){var r=this,t=this.tasks.shift();t.resolver.promise.pending&&e.exec(t.method,t.params,t.resolver).then(function(){r._next()}).catch(function(){e.terminated&&r._removeWorker(e),r._next()})}}},o.prototype._getWorker=function(){for(var e=0,r=this.workers.length;e<r;e++){var t=this.workers[e];if(!t.busy())return t}return this.workers.length<this.maxWorkers?(t=new u(this.script),this.workers.push(t),t):null},o.prototype._removeWorker=function(e){e.terminate();var r=this.workers.indexOf(e);r!=-1&&this.workers.splice(r,1)},o.prototype.clear=function(e){this.workers.forEach(function(r){r.terminate(e)}),this.workers=[]},e.exports=o},function(e,r){"use strict";function t(e,r){var s=this;if(!(this instanceof t))throw new SyntaxError("Constructor must be called with the new operator");if("function"!=typeof e)throw new SyntaxError("Function parameter handler(resolve, reject) missing");var u=[],c=[];this.resolved=!1,this.rejected=!1,this.pending=!0;var a=function(e,r){u.push(e),c.push(r)};this.then=function(e,r){return new t(function(t,n){var i=e?o(e,t,n):t,s=r?o(r,t,n):n;a(i,s)},s)};var f=function(e){return s.resolved=!0,s.rejected=!1,s.pending=!1,u.forEach(function(r){r(e)}),a=function(r,t){r(e)},f=p=function(){throw new Error("Promise is already resolved")},s},p=function(e){return s.resolved=!1,s.rejected=!0,s.pending=!1,c.forEach(function(r){r(e)}),a=function(r,t){t(e)},f=p=function(){throw new Error("Promise is already resolved")},s};this.cancel=function(){return r?r.cancel():p(new n),s},this.timeout=function(e){if(r)r.timeout(e);else{var t=setTimeout(function(){p(new i("Promise timed out after "+e+" ms"))},e);s.always(function(){clearTimeout(t)})}return s},e(function(e){f(e)},function(e){p(e)})}function o(e,r,t){return function(o){try{var n=e(o);n&&"function"==typeof n.then&&"function"==typeof n.catch?n.then(r,t):r(n)}catch(e){t(e)}}}function n(e){this.message=e||"promise cancelled",this.stack=(new Error).stack}function i(e){this.message=e||"timeout exceeded",this.stack=(new Error).stack}t.prototype.catch=function(e){return this.then(null,e)},t.prototype.always=function(e){return this.then(e,e)},t.all=function(e){return new t(function(r,t){var o=e.length,n=[];o?e.forEach(function(e,i){e.then(function(e){n[i]=e,o--,0==o&&r(n)},function(e){o=0,t(e)})}):r(n)})},t.defer=function(){var e={};return e.promise=new t(function(r,t){e.resolve=r,e.reject=t}),e},n.prototype=new Error,n.prototype.constructor=Error,n.prototype.name="CancellationError",t.CancellationError=n,i.prototype=new Error,i.prototype.constructor=Error,i.prototype.name="TimeoutError",t.TimeoutError=i,e.exports=t},function(e,r,t){function o(){if("browser"==u){if("undefined"==typeof Blob)throw new Error("Blob not supported by the browser");if(!window.URL||"function"!=typeof window.URL.createObjectURL)throw new Error("URL.createObjectURL not supported by the browser");var e=new Blob([t(6)],{type:"text/javascript"});return window.URL.createObjectURL(e)}return __dirname+"/worker.js"}function n(e){for(var r=new Error(""),t=Object.keys(e),o=0;o<t.length;o++)r[t[o]]=e[t[o]];return r}function i(e){function r(e){t.terminated=!0;for(var r in t.processing)t.processing.hasOwnProperty(r)&&t.processing[r].resolver.reject(e);t.processing={}}if(this.script=e||o(),"browser"==u){if("function"!=typeof Worker&&("object"!=typeof Worker||"function"!=typeof Worker.prototype.constructor))throw new Error("Web workers not supported by the browser");this.worker=new Worker(this.script),this.worker.on=function(e,r){this.addEventListener(e,function(e){r(e.data)})},this.worker.send=function(e){this.postMessage(e)}}else this.worker=c.require("child_process").fork(this.script);var t=this;this.worker.on("message",function(e){var r=e.id,o=t.processing[r];o&&(delete t.processing[r],t.terminating&&t.terminate(),e.error?o.resolver.reject(n(e.error)):o.resolver.resolve(e.result))}),this.worker.on("error",r),this.worker.on("exit",function(){var e=new Error("Worker terminated unexpectedly");r(e)}),this.processing={},this.terminating=!1,this.terminated=!1,this.lastId=0}var s=t(2),u=t(4),c={require:t(5)};i.prototype.methods=function(){return this.exec("methods")},i.prototype.exec=function(e,r,t){t||(t=s.defer());var o=++this.lastId;this.processing[o]={id:o,resolver:t};var n={id:o,method:e,params:r};this.terminated?t.reject(new Error("Worker is terminated")):this.worker.send(n);var i=this;return t.promise.catch(function(e){(e instanceof s.CancellationError||e instanceof s.TimeoutError)&&(delete i.processing[o],i.terminate(!0))}),t.promise},i.prototype.busy=function(){return Object.keys(this.processing).length>0},i.prototype.terminate=function(e){if(e){for(var r in this.processing)this.processing.hasOwnProperty(r)&&this.processing[r].resolver.reject(new Error("Worker terminated"));this.processing={}}if(this.busy())this.terminating=!0;else{if(this.worker){if("function"==typeof this.worker.kill)this.worker.kill();else{if("function"!=typeof this.worker.terminate)throw new Error("Failed to terminate worker");this.worker.terminate()}this.worker=null}this.terminating=!1,this.terminated=!0}},e.exports=i},function(e,r){e.exports="undefined"!=typeof window?"browser":"node"},function(e,r,t){function o(e){return t(n(e))}function n(e){return i[e]||function(){throw new Error("Cannot find module '"+e+"'.")}()}var i={"./Pool":1,"./Pool.js":1,"./Promise":2,"./Promise.js":2,"./WorkerHandler":3,"./WorkerHandler.js":3,"./environment":4,"./environment.js":4,"./generated/embeddedWorker":6,"./generated/embeddedWorker.js":6,"./header":7,"./header.js":7,"./worker":8,"./worker.js":8};o.keys=function(){return Object.keys(i)},o.resolve=n,e.exports=o,o.id=5},function(e,r){e.exports='!function(e){function r(n){if(t[n])return t[n].exports;var o=t[n]={exports:{},id:n,loaded:!1};return e[n].call(o.exports,o,o.exports,r),o.loaded=!0,o.exports}var t={};return r.m=e,r.c=t,r.p="",r(0)}([function(module,exports,__webpack_require__){function isPromise(e){return e&&"function"==typeof e.then&&"function"==typeof e.catch}var serializerr=__webpack_require__(1),worker={};if("undefined"!=typeof self&&"function"==typeof postMessage&&"function"==typeof addEventListener)worker.on=function(e,r){addEventListener(e,function(e){r(e.data)})},worker.send=function(e){postMessage(e)};else{if("undefined"==typeof process)throw new Error("Script must be executed as a worker");worker.on=process.on.bind(process),worker.send=process.send.bind(process)}worker.methods={},worker.methods.run=function run(fn,args){var f=eval("("+fn+")");return f.apply(f,args)},worker.methods.methods=function(){return Object.keys(worker.methods)},worker.on("message",function(e){try{var r=worker.methods[e.method];if(!r)throw new Error(\'Unknown method "\'+e.method+\'"\');var t=r.apply(r,e.params);isPromise(t)?t.then(function(r){worker.send({id:e.id,result:r,error:null})}).catch(function(r){worker.send({id:e.id,result:null,error:serializerr(r)})}):worker.send({id:e.id,result:t,error:null})}catch(r){worker.send({id:e.id,result:null,error:serializerr(r)})}}),worker.register=function(e){if(e)for(var r in e)e.hasOwnProperty(r)&&(worker.methods[r]=e[r])},exports.add=worker.register},function(e,r,t){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function o(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],r=(0,i.default)(e).filter(function(e){return e!==Object.prototype});return[e].concat(r).map(function(e){return Object.getOwnPropertyNames(e)}).reduce(function(r,t){return t.forEach(function(t){r[t]=e[t]}),r},{})}Object.defineProperty(r,"__esModule",{value:!0});var s=t(2),i=n(s);e.exports=o,o.serializerr=o,r.default=o},function(e,r){"use strict";function t(e){return null==e?null:Object.getPrototypeOf(Object(e))}e.exports=function(e){for(var r=[],n=t(e);n;)r.push(n),n=t(n);return r}}]);'},function(e,r){},function(module,exports,__webpack_require__){function isPromise(e){return e&&"function"==typeof e.then&&"function"==typeof e.catch}var serializerr=__webpack_require__(9),worker={};if("undefined"!=typeof self&&"function"==typeof postMessage&&"function"==typeof addEventListener)worker.on=function(e,r){addEventListener(e,function(e){r(e.data)})},worker.send=function(e){postMessage(e)};else{if("undefined"==typeof process)throw new Error("Script must be executed as a worker");worker.on=process.on.bind(process),worker.send=process.send.bind(process)}worker.methods={},worker.methods.run=function run(fn,args){var f=eval("("+fn+")");return f.apply(f,args)},worker.methods.methods=function(){return Object.keys(worker.methods)},worker.on("message",function(e){try{var r=worker.methods[e.method];if(!r)throw new Error('Unknown method "'+e.method+'"');var t=r.apply(r,e.params);isPromise(t)?t.then(function(r){worker.send({id:e.id,result:r,error:null})}).catch(function(r){worker.send({id:e.id,result:null,error:serializerr(r)})}):worker.send({id:e.id,result:t,error:null})}catch(r){worker.send({id:e.id,result:null,error:serializerr(r)})}}),worker.register=function(e){if(e)for(var r in e)e.hasOwnProperty(r)&&(worker.methods[r]=e[r])},exports.add=worker.register},function(e,r,t){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}function n(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],r=(0,s.default)(e).filter(function(e){return e!==Object.prototype});return[e].concat(r).map(function(e){return Object.getOwnPropertyNames(e)}).reduce(function(r,t){return t.forEach(function(t){r[t]=e[t]}),r},{})}Object.defineProperty(r,"__esModule",{value:!0});var i=t(10),s=o(i);e.exports=n,n.serializerr=n,r.default=n},function(e,r){"use strict";function t(e){return null==e?null:Object.getPrototypeOf(Object(e))}e.exports=function(e){for(var r=[],o=t(e);o;)r.push(o),o=t(o);return r}}])});
//# sourceMappingURL=workerpool.map

@@ -5,3 +5,2 @@ // This example worker runs asynchronous tasks. In practice, this could be

var Promise = require('promise');
var workerpool = require('../../index');

@@ -8,0 +7,0 @@

@@ -5,2 +5,7 @@ # workerpool history

## 2016-09-12, version 1.3.1
- Fix for a bug in PhantomJS (see #7). Thanks @natlibfi-arlehiko.
## 2016-08-21, version 1.3.0

@@ -7,0 +12,0 @@

@@ -6,2 +6,2 @@ /**

*/
module.exports = "!function(e){function r(n){if(t[n])return t[n].exports;var o=t[n]={exports:{},id:n,loaded:!1};return e[n].call(o.exports,o,o.exports,r),o.loaded=!0,o.exports}var t={};return r.m=e,r.c=t,r.p=\"\",r(0)}([function(module,exports,__webpack_require__){function isPromise(e){return e&&\"function\"==typeof e.then&&\"function\"==typeof e[\"catch\"]}var serializerr=__webpack_require__(1),worker={};if(\"undefined\"!=typeof self&&\"function\"==typeof postMessage&&\"function\"==typeof addEventListener)worker.on=function(e,r){addEventListener(e,function(e){r(e.data)})},worker.send=function(e){postMessage(e)};else{if(\"undefined\"==typeof process)throw new Error(\"Script must be executed as a worker\");worker.on=process.on.bind(process),worker.send=process.send.bind(process)}worker.methods={},worker.methods.run=function run(fn,args){var f=eval(\"(\"+fn+\")\");return f.apply(f,args)},worker.methods.methods=function(){return Object.keys(worker.methods)},worker.on(\"message\",function(e){try{var r=worker.methods[e.method];if(!r)throw new Error('Unknown method \"'+e.method+'\"');var t=r.apply(r,e.params);isPromise(t)?t.then(function(r){worker.send({id:e.id,result:r,error:null})})[\"catch\"](function(r){worker.send({id:e.id,result:null,error:serializerr(r)})}):worker.send({id:e.id,result:t,error:null})}catch(n){worker.send({id:e.id,result:null,error:serializerr(n)})}}),worker.register=function(e){if(e)for(var r in e)e.hasOwnProperty(r)&&(worker.methods[r]=e[r])},exports.add=worker.register},function(e,r,t){\"use strict\";function n(e){return e&&e.__esModule?e:{\"default\":e}}function o(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],r=(0,u[\"default\"])(e).filter(function(e){return e!==Object.prototype});return[e].concat(r).map(function(e){return Object.getOwnPropertyNames(e)}).reduce(function(r,t){return t.forEach(function(t){return r[t]=e[t]}),r},{})}Object.defineProperty(r,\"__esModule\",{value:!0});var s=t(2),u=n(s);e.exports=o,o.serializerr=o,r[\"default\"]=o,e.exports=r[\"default\"]},function(e,r){\"use strict\";function t(e){for(var r=[],t=n(e);t;)r.push(t),t=n(t);return r}function n(e){return null==e?e:(o(e)&&(e=Object(e)),Object.getPrototypeOf(e))}function o(e){return null===e||\"object\"!=typeof e&&\"function\"!=typeof e}e.exports=t}]);";
module.exports = "!function(e){function r(n){if(t[n])return t[n].exports;var o=t[n]={exports:{},id:n,loaded:!1};return e[n].call(o.exports,o,o.exports,r),o.loaded=!0,o.exports}var t={};return r.m=e,r.c=t,r.p=\"\",r(0)}([function(module,exports,__webpack_require__){function isPromise(e){return e&&\"function\"==typeof e.then&&\"function\"==typeof e.catch}var serializerr=__webpack_require__(1),worker={};if(\"undefined\"!=typeof self&&\"function\"==typeof postMessage&&\"function\"==typeof addEventListener)worker.on=function(e,r){addEventListener(e,function(e){r(e.data)})},worker.send=function(e){postMessage(e)};else{if(\"undefined\"==typeof process)throw new Error(\"Script must be executed as a worker\");worker.on=process.on.bind(process),worker.send=process.send.bind(process)}worker.methods={},worker.methods.run=function run(fn,args){var f=eval(\"(\"+fn+\")\");return f.apply(f,args)},worker.methods.methods=function(){return Object.keys(worker.methods)},worker.on(\"message\",function(e){try{var r=worker.methods[e.method];if(!r)throw new Error('Unknown method \"'+e.method+'\"');var t=r.apply(r,e.params);isPromise(t)?t.then(function(r){worker.send({id:e.id,result:r,error:null})}).catch(function(r){worker.send({id:e.id,result:null,error:serializerr(r)})}):worker.send({id:e.id,result:t,error:null})}catch(r){worker.send({id:e.id,result:null,error:serializerr(r)})}}),worker.register=function(e){if(e)for(var r in e)e.hasOwnProperty(r)&&(worker.methods[r]=e[r])},exports.add=worker.register},function(e,r,t){\"use strict\";function n(e){return e&&e.__esModule?e:{default:e}}function o(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],r=(0,i.default)(e).filter(function(e){return e!==Object.prototype});return[e].concat(r).map(function(e){return Object.getOwnPropertyNames(e)}).reduce(function(r,t){return t.forEach(function(t){r[t]=e[t]}),r},{})}Object.defineProperty(r,\"__esModule\",{value:!0});var s=t(2),i=n(s);e.exports=o,o.serializerr=o,r.default=o},function(e,r){\"use strict\";function t(e){return null==e?null:Object.getPrototypeOf(Object(e))}e.exports=function(e){for(var r=[],n=t(e);n;)r.push(n),n=t(n);return r}}]);";

@@ -58,3 +58,4 @@ var Promise = require('./Promise');

// check whether Worker is supported by the browser
if (typeof Worker !== 'function') {
// Workaround for a bug in PhantomJS (Or QtWebkit): https://github.com/ariya/phantomjs/issues/14534
if (typeof Worker !== 'function' && (typeof Worker !== 'object' || typeof Worker.prototype.constructor !== 'function')) {
throw new Error('Web workers not supported by the browser');

@@ -61,0 +62,0 @@ }

{
"name": "workerpool",
"version": "1.3.0",
"version": "1.3.1",
"description": "Offload tasks to a pool of workers on node.js and in the browser",

@@ -5,0 +5,0 @@ "homepage": "https://github.com/josdejong/workerpool",

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc