From 5ee24d41dcc74fa0152bb1c5604aeb637d0cdfde Mon Sep 17 00:00:00 2001 From: Thomas Hallock Date: Wed, 14 Nov 2018 22:08:56 -0800 Subject: [PATCH 1/2] not failing in module scope when run in node --- src/index.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/index.js b/src/index.js index c8387135..d58e3334 100644 --- a/src/index.js +++ b/src/index.js @@ -2,6 +2,9 @@ import { create } from './create' import { run } from './run' const createWrapper = () => { + if ('undefined' === typeof window) { + return null; + } if (!window.Worker) { console.error('This browser does not support Workers.') return null From 953d86389259d9b889445804972c8335ffa27f0a Mon Sep 17 00:00:00 2001 From: Paul Brousseau Date: Wed, 3 Feb 2021 20:47:51 -0800 Subject: [PATCH 2/2] chore: make package for dexcare org --- .npmrc | 3 +++ dist/sww.min.js | 2 +- dist/sww.min.js.map | 2 +- package.json | 10 +++++----- src/tests/integration/config/sworker.js | 3 +++ 5 files changed, 13 insertions(+), 7 deletions(-) create mode 100644 .npmrc diff --git a/.npmrc b/.npmrc new file mode 100644 index 00000000..d1d923a9 --- /dev/null +++ b/.npmrc @@ -0,0 +1,3 @@ +package-lock=false +always-auth=true +@dexcare:registry=https://npm.pkg.github.com/ diff --git a/dist/sww.min.js b/dist/sww.min.js index 55d68ee6..061af68b 100644 --- a/dist/sww.min.js +++ b/dist/sww.min.js @@ -1,2 +1,2 @@ -"use strict";function postAll(){var r=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(isValid(e)(["arraysArray","postParamsArray","stringsArray"])){if(0===e.length)return Promise.all(this.actions.map(function(e){var n=e.message;return r.postMessage(n)}));if(e.every(function(r){return"string"==typeof r}))return Promise.all(e.map(function(e){return r.postMessage(e)}));if(e.every(function(r){return"object"===(void 0===r?"undefined":_typeof(r))&&!Array.isArray(r)}))return Promise.all(e.map(function(e){var n=e.message,t=e.args;return r.postMessage(n,t)}));if(e.every(function(r){return Array.isArray(r)})&&e.length===this.actions.length)return Promise.all(e.map(function(e,n){return r.postMessage(r.actions[n].message,e)}))}return console.error(argumentError(makeOptionsFor(e))),null}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},isValidObjectWith=function(r){return function(e){return!!e&&!Array.isArray(e)&&r.every(function(r){return e.hasOwnProperty(r)})}},isValidAction=function(r){return isValidObjectWith(["message","func"])(r)&&"function"==typeof r.func&&"string"==typeof r.message},isValidActionsArray=function(r){return r.every(isValidAction)},isValidPostParams=function(r){return isValidObjectWith(["message","args"])(r)&&Array.isArray(r.args)&&"string"==typeof r.message},isValidPostParamsArray=function(r){return r.every(isValidPostParams)},isValidObjectsArray=function(r){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return r.every(isValidObjectWith(e))}},testArray={actionsArray:function(r){return isValidActionsArray(r)},arraysArray:function(r){return r.every(function(r){return Array.isArray(r)})},objectsArray:function(r){return isValidObjectsArray(r)()},postParamsArray:function(r){return isValidPostParamsArray(r)},stringsArray:function(r){return r.every(function(r){return"string"==typeof r})}},isValidArg=function(r){return function(e){return"null"===e?null===r:"undefined"===e?void 0===r:"action"===e?isValidAction(r):Array.isArray(r)?!("array"!==e&&!testArray[e])&&("array"===e||testArray[e](r)):!!r&&(void 0===r?"undefined":_typeof(r))===e.toString()}},isValid=function(r){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return Array.isArray(e)?e.some(function(e){return isValidArg(r)(e)}):!!isValidArg(r)(e)}},argumentError=function(r){var e=r.expected,n=void 0===e?"":e,t=r.received,o=r.extraInfo,i=void 0===o?"":o;try{return new TypeError("You should provide "+n+"\n"+i+"\nReceived: "+JSON.stringify(t))}catch(r){if("Converting circular structure to JSON"===r.message)return new TypeError("You should provide "+n+"\n"+i+"\nReceived a circular structure: "+t);throw r}},makeResponse=function(r){return"\n self.onmessage = event => {\n const args = event.data.message.args\n if (args) {\n self.postMessage(("+r+").apply(null, args))\n return close()\n }\n self.postMessage(("+r+")())\n return close()\n }\n"},createDisposableWorker=function(r){var e=window.URL||window.webkitURL,n=new Blob([r],{type:"application/javascript"}),t=e.createObjectURL(n),o=new Worker(t);return o.post=function(r){return new Promise(function(n,i){o.onmessage=function(r){e.revokeObjectURL(t),n(r.data)},o.onerror=function(r){console.error("Error: Line "+r.lineno+" in "+r.filename+": "+r.message),i(r)},o.postMessage({message:r})})},o},run=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=arguments[1],n=isValid(r)("function"),t=isValid(e)(["array","undefined"]);if(n&&t){return createDisposableWorker(makeResponse(r)).post({args:e})}return n||console.error(argumentError({expected:"a function",received:r})),t||console.error(argumentError({expected:"an array",received:e})),null},warnWork=function(r){return console.warn("WARN! "+r+" is not a registered action for this worker"),r+" is not a registered action for this worker"},post=function(r){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=arguments[1],t=isValid(e)("string"),o=isValid(n)(["array","undefined"]);if(t&&o){var i=r.filter(function(r){var n=r.message;return JSON.stringify(n)===JSON.stringify(e)}).map(function(r){return r.func}).pop();return i?n?run(i,n):run(i):run(warnWork,[JSON.stringify(e)])}return t||console.error(argumentError({expected:"a string",received:e})),o||console.error(argumentError({expected:"an array",received:n})),null}},makeOptionsFor=function(r){return{expected:"an array of arrays, an array of objects, or an array of strings",received:r,extraInfo:"If an array of arrays, it must have the same length as the actions registered for this worker.\nIf an array of objects, every object must containing two fields:\n* message\n* args"}},isActionOf=function(r){return function(e){return r.some(function(r){return r.message===e.message})}},warnMsg=function(r){return'WARN! An action with message "'+r.message+'" is already registered for this worker'},pushInto=function(r){return function(e){return isActionOf(r)(e)?(console.warn(warnMsg(e)),r.length):r.push(e)}},makeOptionsFor$1=function(r){return{expected:"an array of actions or an action",received:r,extraInfo:"Every action should be an object containing two fields:\n* message\n* func"}},register=function(r){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return isValid(e)(["action","actionsArray"])?Array.isArray(e)?e.reduce(function(r,e){return pushInto(r)(e),r},r).length:pushInto(r)(e):(console.error(argumentError(makeOptionsFor$1(e))),null)}},removeFrom=function(r){return function(e){var n=r.findIndex(function(r){return r.message===e});return-1===n?console.warn('WARN! Impossible to unregister action with message "'+e+'".\nIt is not a registered action for this worker.'):r.splice(n,1),r}},makeOptions=function(r){return{expected:"an array of strings or a string",received:r}},unregister=function(r){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return isValid(e)(["string","stringsArray"])?Array.isArray(e)?e.reduce(function(r,e){return removeFrom(r)(e),r},r).length:removeFrom(r)(e).length:(console.error(argumentError(makeOptions(e))),null)}},options=function(r){return{expected:"an array of objects",received:r,extraInfo:"Every action should be an object containing two fields:\n* message\n* func"}},create=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return isValid(r)("actionsArray")?{actions:r,postMessage:post(r),postAll:postAll,register:register(r),unregister:unregister(r)}:(console.error(argumentError(options(r))),null)},createWrapper=function(){return window.Worker?window.URL.createObjectURL||window.webkitURL.createObjectURL?{create:create,run:run}:(console.error("This browser does not have URL.createObjectURL method."),null):(console.error("This browser does not support Workers."),null)},WorkerWrapper=createWrapper();module.exports=WorkerWrapper; +"use strict";function postAll(){var r=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(isValid(e)(["arraysArray","postParamsArray","stringsArray"])){if(0===e.length)return Promise.all(this.actions.map(function(e){var n=e.message;return r.postMessage(n)}));if(e.every(function(r){return"string"==typeof r}))return Promise.all(e.map(function(e){return r.postMessage(e)}));if(e.every(function(r){return"object"===(void 0===r?"undefined":_typeof(r))&&!Array.isArray(r)}))return Promise.all(e.map(function(e){var n=e.message,t=e.args;return r.postMessage(n,t)}));if(e.every(function(r){return Array.isArray(r)})&&e.length===this.actions.length)return Promise.all(e.map(function(e,n){return r.postMessage(r.actions[n].message,e)}))}return console.error(argumentError(makeOptionsFor(e))),null}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},isValidObjectWith=function(r){return function(e){return!!e&&!Array.isArray(e)&&r.every(function(r){return e.hasOwnProperty(r)})}},isValidAction=function(r){return isValidObjectWith(["message","func"])(r)&&"function"==typeof r.func&&"string"==typeof r.message},isValidActionsArray=function(r){return r.every(isValidAction)},isValidPostParams=function(r){return isValidObjectWith(["message","args"])(r)&&Array.isArray(r.args)&&"string"==typeof r.message},isValidPostParamsArray=function(r){return r.every(isValidPostParams)},isValidObjectsArray=function(r){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return r.every(isValidObjectWith(e))}},testArray={actionsArray:function(r){return isValidActionsArray(r)},arraysArray:function(r){return r.every(function(r){return Array.isArray(r)})},objectsArray:function(r){return isValidObjectsArray(r)()},postParamsArray:function(r){return isValidPostParamsArray(r)},stringsArray:function(r){return r.every(function(r){return"string"==typeof r})}},isValidArg=function(r){return function(e){return"null"===e?null===r:"undefined"===e?void 0===r:"action"===e?isValidAction(r):Array.isArray(r)?!("array"!==e&&!testArray[e])&&("array"===e||testArray[e](r)):!!r&&(void 0===r?"undefined":_typeof(r))===e.toString()}},isValid=function(r){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return Array.isArray(e)?e.some(function(e){return isValidArg(r)(e)}):!!isValidArg(r)(e)}},argumentError=function(r){var e=r.expected,n=void 0===e?"":e,t=r.received,o=r.extraInfo,i=void 0===o?"":o;try{return new TypeError("You should provide "+n+"\n"+i+"\nReceived: "+JSON.stringify(t))}catch(r){if("Converting circular structure to JSON"===r.message)return new TypeError("You should provide "+n+"\n"+i+"\nReceived a circular structure: "+t);throw r}},makeResponse=function(r){return"\n self.onmessage = event => {\n const args = event.data.message.args\n if (args) {\n self.postMessage(("+r+").apply(null, args))\n return close()\n }\n self.postMessage(("+r+")())\n return close()\n }\n"},createDisposableWorker=function(r){var e=window.URL||window.webkitURL,n=new Blob([r],{type:"application/javascript"}),t=e.createObjectURL(n),o=new Worker(t);return o.post=function(r){return new Promise(function(n,i){o.onmessage=function(r){e.revokeObjectURL(t),n(r.data)},o.onerror=function(r){console.error("Error: Line "+r.lineno+" in "+r.filename+": "+r.message),i(r)},o.postMessage({message:r})})},o},run=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=arguments[1],n=isValid(r)("function"),t=isValid(e)(["array","undefined"]);if(n&&t){return createDisposableWorker(makeResponse(r)).post({args:e})}return n||console.error(argumentError({expected:"a function",received:r})),t||console.error(argumentError({expected:"an array",received:e})),null},warnWork=function(r){return console.warn("WARN! "+r+" is not a registered action for this worker"),r+" is not a registered action for this worker"},post=function(r){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=arguments[1],t=isValid(e)("string"),o=isValid(n)(["array","undefined"]);if(t&&o){var i=r.filter(function(r){var n=r.message;return JSON.stringify(n)===JSON.stringify(e)}).map(function(r){return r.func}).pop();return i?n?run(i,n):run(i):run(warnWork,[JSON.stringify(e)])}return t||console.error(argumentError({expected:"a string",received:e})),o||console.error(argumentError({expected:"an array",received:n})),null}},makeOptionsFor=function(r){return{expected:"an array of arrays, an array of objects, or an array of strings",received:r,extraInfo:"If an array of arrays, it must have the same length as the actions registered for this worker.\nIf an array of objects, every object must containing two fields:\n* message\n* args"}},isActionOf=function(r){return function(e){return r.some(function(r){return r.message===e.message})}},warnMsg=function(r){return'WARN! An action with message "'+r.message+'" is already registered for this worker'},pushInto=function(r){return function(e){return isActionOf(r)(e)?(console.warn(warnMsg(e)),r.length):r.push(e)}},makeOptionsFor$1=function(r){return{expected:"an array of actions or an action",received:r,extraInfo:"Every action should be an object containing two fields:\n* message\n* func"}},register=function(r){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return isValid(e)(["action","actionsArray"])?Array.isArray(e)?e.reduce(function(r,e){return pushInto(r)(e),r},r).length:pushInto(r)(e):(console.error(argumentError(makeOptionsFor$1(e))),null)}},removeFrom=function(r){return function(e){var n=r.findIndex(function(r){return r.message===e});return-1===n?console.warn('WARN! Impossible to unregister action with message "'+e+'".\nIt is not a registered action for this worker.'):r.splice(n,1),r}},makeOptions=function(r){return{expected:"an array of strings or a string",received:r}},unregister=function(r){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return isValid(e)(["string","stringsArray"])?Array.isArray(e)?e.reduce(function(r,e){return removeFrom(r)(e),r},r).length:removeFrom(r)(e).length:(console.error(argumentError(makeOptions(e))),null)}},options=function(r){return{expected:"an array of objects",received:r,extraInfo:"Every action should be an object containing two fields:\n* message\n* func"}},create=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return isValid(r)("actionsArray")?{actions:r,postMessage:post(r),postAll:postAll,register:register(r),unregister:unregister(r)}:(console.error(argumentError(options(r))),null)},createWrapper=function(){return"undefined"==typeof window?null:window.Worker?window.URL.createObjectURL||window.webkitURL.createObjectURL?{create:create,run:run}:(console.error("This browser does not have URL.createObjectURL method."),null):(console.error("This browser does not support Workers."),null)},WorkerWrapper=createWrapper();module.exports=WorkerWrapper; //# sourceMappingURL=sww.min.js.map diff --git a/dist/sww.min.js.map b/dist/sww.min.js.map index f1bfb4dd..f98e7ac6 100644 --- a/dist/sww.min.js.map +++ b/dist/sww.min.js.map @@ -1 +1 @@ -{"version":3,"file":"sww.min.js","sources":["../src/postAll.js","../src/utils.js","../src/createDisposableWorker.js","../src/run.js","../src/post.js","../src/register.js","../src/unregister.js","../src/create.js","../src/index.js"],"sourcesContent":["// import { invalidObjectsArray, isArrayOf, notArray, returnNull, wrongLength, wrongObjects } from './utils'\nimport { isValid, argumentError } from './utils'\n\nconst makeOptionsFor = arr => {\n return {\n expected: 'an array of arrays, an array of objects, or an array of strings',\n received: arr,\n extraInfo: 'If an array of arrays, ' +\n 'it must have the same length as the actions registered for this worker.\\n' +\n 'If an array of objects, every object must containing two fields:\\n* message\\n* args'\n }\n}\nexport function postAll (arr = []) {\n if (isValid(arr)(['arraysArray', 'postParamsArray', 'stringsArray'])) {\n if (arr.length === 0) return Promise.all(this.actions.map(({ message }) => this.postMessage(message)))\n\n if (arr.every(item => typeof item === 'string')) {\n return Promise.all(arr.map(msg => this.postMessage(msg)))\n }\n\n if (arr.every(item => typeof item === 'object' && !Array.isArray(item))) {\n return Promise.all(arr.map(({ message, args }) => this.postMessage(message, args)))\n }\n\n if (arr.every(item => Array.isArray(item)) && arr.length === this.actions.length) {\n return Promise.all(arr.map((args, index) => this.postMessage(this.actions[index].message, args)))\n }\n }\n\n console.error(argumentError(makeOptionsFor(arr)))\n return null\n}\n","// Argument validation\nconst isValidObjectWith = fields => obj =>\n !!obj && !Array.isArray(obj) && fields.every(field => obj.hasOwnProperty(field))\n\nconst isValidAction = obj => {\n return isValidObjectWith(['message', 'func'])(obj) &&\n typeof obj.func === 'function' && typeof obj.message === 'string'\n}\n\nconst isValidActionsArray = arr => arr.every(isValidAction)\n\nconst isValidPostParams = obj => {\n return isValidObjectWith(['message', 'args'])(obj) &&\n Array.isArray(obj.args) && typeof obj.message === 'string'\n}\n\nconst isValidPostParamsArray = arr => arr.every(isValidPostParams)\n\nconst isValidObjectsArray = arr => (fields = []) =>\n arr.every(isValidObjectWith(fields))\n\nconst testArray = {\n 'actionsArray': arr => isValidActionsArray(arr),\n 'arraysArray': arr => arr.every(item => Array.isArray(item)),\n 'objectsArray': arr => isValidObjectsArray(arr)(),\n 'postParamsArray': arr => isValidPostParamsArray(arr),\n 'stringsArray': arr => arr.every(item => typeof item === 'string')\n}\n\nconst isValidArg = arg => type => {\n if (type === 'null') return arg === null\n if (type === 'undefined') return arg === undefined\n if (type === 'action') return isValidAction(arg)\n if (Array.isArray(arg)) {\n if (type !== 'array' && !testArray[type]) return false\n if (type === 'array') return true\n return testArray[type](arg)\n }\n if (arg) return typeof arg === type.toString() // eslint-disable-line\n return false\n}\n\nconst isValid = argument => (types = null) => {\n if (Array.isArray(types)) return types.some(type => isValidArg(argument)(type))\n if (isValidArg(argument)(types)) return true\n return false\n}\n\n// Argument error builder\nconst argumentError = ({ expected = '', received, extraInfo = '' }) => {\n try {\n return new TypeError(`${'You should provide ' + expected}${'\\n' + extraInfo}${'\\nReceived: ' + JSON.stringify(received)}`)\n } catch (err) {\n if (err.message === 'Converting circular structure to JSON') {\n return new TypeError(`${'You should provide ' + expected}${'\\n' + extraInfo}${'\\nReceived a circular structure: ' + received}`)\n }\n throw err\n }\n}\n\n// Response builder\nconst makeResponse = work => `\n self.onmessage = event => {\n const args = event.data.message.args\n if (args) {\n self.postMessage((${work}).apply(null, args))\n return close()\n }\n self.postMessage((${work})())\n return close()\n }\n`\n\nexport {\n makeResponse,\n argumentError,\n isValid\n}\n","export const createDisposableWorker = response => {\n const URL = window.URL || window.webkitURL\n const blob = new Blob([response], { type: 'application/javascript' }) // eslint-disable-line\n const objectURL = URL.createObjectURL(blob)\n const worker = new Worker(objectURL) // eslint-disable-line\n worker.post = message =>\n new Promise((resolve, reject) => {\n worker.onmessage = event => {\n URL.revokeObjectURL(objectURL)\n resolve(event.data)\n }\n worker.onerror = e => {\n console.error(`Error: Line ${e.lineno} in ${e.filename}: ${e.message}`)\n reject(e)\n }\n worker.postMessage({ message })\n })\n return worker\n}\n","import { argumentError, isValid, makeResponse } from './utils'\nimport { createDisposableWorker } from './createDisposableWorker'\n\nexport const run = (work = null, args) => {\n const validWork = isValid(work)('function')\n const validArgs = isValid(args)(['array', 'undefined'])\n if (validWork && validArgs) {\n const worker = createDisposableWorker(makeResponse(work))\n return worker.post({ args })\n }\n if (!validWork) console.error(argumentError({ expected: 'a function', received: work }))\n if (!validArgs) console.error(argumentError({ expected: 'an array', received: args }))\n return null\n}\n","import { argumentError, isValid } from './utils'\nimport { run } from './run'\n\nconst warnWork = msg => {\n console.warn(`WARN! ${msg} is not a registered action for this worker`)\n return `${msg} is not a registered action for this worker`\n}\n\nexport const post = actions => (msg = null, args) => {\n const validMessage = isValid(msg)('string')\n const validArgs = isValid(args)(['array', 'undefined'])\n if (validMessage && validArgs) {\n const work = actions\n .filter(({ message }) => JSON.stringify(message) === JSON.stringify(msg))\n .map(action => action.func)\n .pop()\n\n if (!work) return run(warnWork, [JSON.stringify(msg)])\n if (args) return run(work, args)\n return run(work)\n }\n\n if (!validMessage) console.error(argumentError({ expected: 'a string', received: msg }))\n if (!validArgs) console.error(argumentError({ expected: 'an array', received: args }))\n return null\n}\n","import { argumentError, isValid } from './utils'\n\nconst isActionOf = actions => newAction =>\n actions.some(action => action.message === newAction.message)\n\nconst warnMsg = action =>\n `WARN! An action with message \"${action.message}\" is already registered for this worker`\n\nconst pushInto = actions => action => {\n if (isActionOf(actions)(action)) {\n console.warn(warnMsg(action))\n return actions.length\n }\n return actions.push(action)\n}\n\nconst makeOptionsFor = action => {\n return {\n expected: 'an array of actions or an action',\n received: action,\n extraInfo: 'Every action should be an object containing two fields:\\n* message\\n* func'\n }\n}\n\nexport const register = actions => (action = null) => {\n if (isValid(action)(['action', 'actionsArray'])) {\n if (Array.isArray(action)) {\n return action.reduce((actions, action) => {\n pushInto(actions)(action)\n return actions\n }, actions).length\n }\n\n return pushInto(actions)(action)\n }\n console.error((argumentError(makeOptionsFor(action))))\n return null\n}\n","import { argumentError, isValid } from './utils'\n\nconst removeFrom = actions => msg => {\n const index = actions.findIndex(({ message }) => message === msg)\n index === -1\n ? console.warn(`WARN! Impossible to unregister action with message \"${msg}\".\\nIt is not a registered action for this worker.`)\n : actions.splice(index, 1)\n return actions\n}\n\nconst makeOptions = msg => {\n return {\n expected: 'an array of strings or a string',\n received: msg\n }\n}\n\nexport const unregister = actions => (msg = null) => {\n if (isValid(msg)(['string', 'stringsArray'])) {\n if (Array.isArray(msg)) {\n return msg.reduce((actions, message) => {\n removeFrom(actions)(message)\n return actions\n }, actions).length\n }\n return removeFrom(actions)(msg).length\n }\n\n console.error(argumentError(makeOptions(msg)))\n return null\n}\n","import { argumentError, isValid } from './utils'\nimport { post } from './post'\nimport { postAll } from './postAll'\nimport { register } from './register'\nimport { unregister } from './unregister'\n\nconst options = actions => {\n return {\n expected: 'an array of objects',\n received: actions,\n extraInfo: 'Every action should be an object containing two fields:\\n* message\\n* func'\n }\n}\n\nexport const create = (actions = []) => {\n if (isValid(actions)('actionsArray')) {\n return {\n actions: actions,\n postMessage: post(actions),\n postAll: postAll,\n register: register(actions),\n unregister: unregister(actions)\n }\n }\n console.error(argumentError(options(actions)))\n return null\n}\n","import { create } from './create'\nimport { run } from './run'\n\nconst createWrapper = () => {\n if (!window.Worker) {\n console.error('This browser does not support Workers.')\n return null\n }\n if (!(window.URL.createObjectURL || window.webkitURL.createObjectURL)) {\n console.error('This browser does not have URL.createObjectURL method.')\n return null\n }\n return { create, run }\n}\n\nconst WorkerWrapper = createWrapper()\n\nexport default WorkerWrapper\n"],"names":["postAll","arr","isValid","length","Promise","all","this","actions","map","message","_this","postMessage","every","item","msg","Array","isArray","args","index","error","argumentError","makeOptionsFor","isValidObjectWith","obj","fields","hasOwnProperty","field","isValidAction","func","isValidActionsArray","isValidPostParams","isValidPostParamsArray","isValidObjectsArray","testArray","isValidArg","type","arg","undefined","toString","types","some","argument","expected","received","extraInfo","TypeError","JSON","stringify","err","makeResponse","work","createDisposableWorker","URL","window","webkitURL","blob","Blob","response","objectURL","createObjectURL","worker","Worker","post","resolve","reject","onmessage","revokeObjectURL","event","data","onerror","e","lineno","filename","run","validWork","validArgs","console","warnWork","warn","validMessage","filter","action","pop","isActionOf","newAction","warnMsg","pushInto","push","register","reduce","removeFrom","findIndex","splice","makeOptions","unregister","options","create","createWrapper","WorkerWrapper"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"sww.min.js","sources":["../src/postAll.js","../src/utils.js","../src/createDisposableWorker.js","../src/run.js","../src/post.js","../src/register.js","../src/unregister.js","../src/create.js","../src/index.js"],"sourcesContent":["// import { invalidObjectsArray, isArrayOf, notArray, returnNull, wrongLength, wrongObjects } from './utils'\nimport { isValid, argumentError } from './utils'\n\nconst makeOptionsFor = arr => {\n return {\n expected: 'an array of arrays, an array of objects, or an array of strings',\n received: arr,\n extraInfo: 'If an array of arrays, ' +\n 'it must have the same length as the actions registered for this worker.\\n' +\n 'If an array of objects, every object must containing two fields:\\n* message\\n* args'\n }\n}\nexport function postAll (arr = []) {\n if (isValid(arr)(['arraysArray', 'postParamsArray', 'stringsArray'])) {\n if (arr.length === 0) return Promise.all(this.actions.map(({ message }) => this.postMessage(message)))\n\n if (arr.every(item => typeof item === 'string')) {\n return Promise.all(arr.map(msg => this.postMessage(msg)))\n }\n\n if (arr.every(item => typeof item === 'object' && !Array.isArray(item))) {\n return Promise.all(arr.map(({ message, args }) => this.postMessage(message, args)))\n }\n\n if (arr.every(item => Array.isArray(item)) && arr.length === this.actions.length) {\n return Promise.all(arr.map((args, index) => this.postMessage(this.actions[index].message, args)))\n }\n }\n\n console.error(argumentError(makeOptionsFor(arr)))\n return null\n}\n","// Argument validation\nconst isValidObjectWith = fields => obj =>\n !!obj && !Array.isArray(obj) && fields.every(field => obj.hasOwnProperty(field))\n\nconst isValidAction = obj => {\n return isValidObjectWith(['message', 'func'])(obj) &&\n typeof obj.func === 'function' && typeof obj.message === 'string'\n}\n\nconst isValidActionsArray = arr => arr.every(isValidAction)\n\nconst isValidPostParams = obj => {\n return isValidObjectWith(['message', 'args'])(obj) &&\n Array.isArray(obj.args) && typeof obj.message === 'string'\n}\n\nconst isValidPostParamsArray = arr => arr.every(isValidPostParams)\n\nconst isValidObjectsArray = arr => (fields = []) =>\n arr.every(isValidObjectWith(fields))\n\nconst testArray = {\n 'actionsArray': arr => isValidActionsArray(arr),\n 'arraysArray': arr => arr.every(item => Array.isArray(item)),\n 'objectsArray': arr => isValidObjectsArray(arr)(),\n 'postParamsArray': arr => isValidPostParamsArray(arr),\n 'stringsArray': arr => arr.every(item => typeof item === 'string')\n}\n\nconst isValidArg = arg => type => {\n if (type === 'null') return arg === null\n if (type === 'undefined') return arg === undefined\n if (type === 'action') return isValidAction(arg)\n if (Array.isArray(arg)) {\n if (type !== 'array' && !testArray[type]) return false\n if (type === 'array') return true\n return testArray[type](arg)\n }\n if (arg) return typeof arg === type.toString() // eslint-disable-line\n return false\n}\n\nconst isValid = argument => (types = null) => {\n if (Array.isArray(types)) return types.some(type => isValidArg(argument)(type))\n if (isValidArg(argument)(types)) return true\n return false\n}\n\n// Argument error builder\nconst argumentError = ({ expected = '', received, extraInfo = '' }) => {\n try {\n return new TypeError(`${'You should provide ' + expected}${'\\n' + extraInfo}${'\\nReceived: ' + JSON.stringify(received)}`)\n } catch (err) {\n if (err.message === 'Converting circular structure to JSON') {\n return new TypeError(`${'You should provide ' + expected}${'\\n' + extraInfo}${'\\nReceived a circular structure: ' + received}`)\n }\n throw err\n }\n}\n\n// Response builder\nconst makeResponse = work => `\n self.onmessage = event => {\n const args = event.data.message.args\n if (args) {\n self.postMessage((${work}).apply(null, args))\n return close()\n }\n self.postMessage((${work})())\n return close()\n }\n`\n\nexport {\n makeResponse,\n argumentError,\n isValid\n}\n","export const createDisposableWorker = response => {\n const URL = window.URL || window.webkitURL\n const blob = new Blob([response], { type: 'application/javascript' }) // eslint-disable-line\n const objectURL = URL.createObjectURL(blob)\n const worker = new Worker(objectURL) // eslint-disable-line\n worker.post = message =>\n new Promise((resolve, reject) => {\n worker.onmessage = event => {\n URL.revokeObjectURL(objectURL)\n resolve(event.data)\n }\n worker.onerror = e => {\n console.error(`Error: Line ${e.lineno} in ${e.filename}: ${e.message}`)\n reject(e)\n }\n worker.postMessage({ message })\n })\n return worker\n}\n","import { argumentError, isValid, makeResponse } from './utils'\nimport { createDisposableWorker } from './createDisposableWorker'\n\nexport const run = (work = null, args) => {\n const validWork = isValid(work)('function')\n const validArgs = isValid(args)(['array', 'undefined'])\n if (validWork && validArgs) {\n const worker = createDisposableWorker(makeResponse(work))\n return worker.post({ args })\n }\n if (!validWork) console.error(argumentError({ expected: 'a function', received: work }))\n if (!validArgs) console.error(argumentError({ expected: 'an array', received: args }))\n return null\n}\n","import { argumentError, isValid } from './utils'\nimport { run } from './run'\n\nconst warnWork = msg => {\n console.warn(`WARN! ${msg} is not a registered action for this worker`)\n return `${msg} is not a registered action for this worker`\n}\n\nexport const post = actions => (msg = null, args) => {\n const validMessage = isValid(msg)('string')\n const validArgs = isValid(args)(['array', 'undefined'])\n if (validMessage && validArgs) {\n const work = actions\n .filter(({ message }) => JSON.stringify(message) === JSON.stringify(msg))\n .map(action => action.func)\n .pop()\n\n if (!work) return run(warnWork, [JSON.stringify(msg)])\n if (args) return run(work, args)\n return run(work)\n }\n\n if (!validMessage) console.error(argumentError({ expected: 'a string', received: msg }))\n if (!validArgs) console.error(argumentError({ expected: 'an array', received: args }))\n return null\n}\n","import { argumentError, isValid } from './utils'\n\nconst isActionOf = actions => newAction =>\n actions.some(action => action.message === newAction.message)\n\nconst warnMsg = action =>\n `WARN! An action with message \"${action.message}\" is already registered for this worker`\n\nconst pushInto = actions => action => {\n if (isActionOf(actions)(action)) {\n console.warn(warnMsg(action))\n return actions.length\n }\n return actions.push(action)\n}\n\nconst makeOptionsFor = action => {\n return {\n expected: 'an array of actions or an action',\n received: action,\n extraInfo: 'Every action should be an object containing two fields:\\n* message\\n* func'\n }\n}\n\nexport const register = actions => (action = null) => {\n if (isValid(action)(['action', 'actionsArray'])) {\n if (Array.isArray(action)) {\n return action.reduce((actions, action) => {\n pushInto(actions)(action)\n return actions\n }, actions).length\n }\n\n return pushInto(actions)(action)\n }\n console.error((argumentError(makeOptionsFor(action))))\n return null\n}\n","import { argumentError, isValid } from './utils'\n\nconst removeFrom = actions => msg => {\n const index = actions.findIndex(({ message }) => message === msg)\n index === -1\n ? console.warn(`WARN! Impossible to unregister action with message \"${msg}\".\\nIt is not a registered action for this worker.`)\n : actions.splice(index, 1)\n return actions\n}\n\nconst makeOptions = msg => {\n return {\n expected: 'an array of strings or a string',\n received: msg\n }\n}\n\nexport const unregister = actions => (msg = null) => {\n if (isValid(msg)(['string', 'stringsArray'])) {\n if (Array.isArray(msg)) {\n return msg.reduce((actions, message) => {\n removeFrom(actions)(message)\n return actions\n }, actions).length\n }\n return removeFrom(actions)(msg).length\n }\n\n console.error(argumentError(makeOptions(msg)))\n return null\n}\n","import { argumentError, isValid } from './utils'\nimport { post } from './post'\nimport { postAll } from './postAll'\nimport { register } from './register'\nimport { unregister } from './unregister'\n\nconst options = actions => {\n return {\n expected: 'an array of objects',\n received: actions,\n extraInfo: 'Every action should be an object containing two fields:\\n* message\\n* func'\n }\n}\n\nexport const create = (actions = []) => {\n if (isValid(actions)('actionsArray')) {\n return {\n actions: actions,\n postMessage: post(actions),\n postAll: postAll,\n register: register(actions),\n unregister: unregister(actions)\n }\n }\n console.error(argumentError(options(actions)))\n return null\n}\n","import { create } from './create'\nimport { run } from './run'\n\nconst createWrapper = () => {\n if ('undefined' === typeof window) {\n return null;\n }\n if (!window.Worker) {\n console.error('This browser does not support Workers.')\n return null\n }\n if (!(window.URL.createObjectURL || window.webkitURL.createObjectURL)) {\n console.error('This browser does not have URL.createObjectURL method.')\n return null\n }\n return { create, run }\n}\n\nconst WorkerWrapper = createWrapper()\n\nexport default WorkerWrapper\n"],"names":["postAll","arr","isValid","length","Promise","all","this","actions","map","message","_this","postMessage","every","item","msg","Array","isArray","args","index","error","argumentError","makeOptionsFor","isValidObjectWith","obj","fields","hasOwnProperty","field","isValidAction","func","isValidActionsArray","isValidPostParams","isValidPostParamsArray","isValidObjectsArray","testArray","isValidArg","type","arg","undefined","toString","types","some","argument","expected","received","extraInfo","TypeError","JSON","stringify","err","makeResponse","work","createDisposableWorker","URL","window","webkitURL","blob","Blob","response","objectURL","createObjectURL","worker","Worker","post","resolve","reject","onmessage","revokeObjectURL","event","data","onerror","e","lineno","filename","run","validWork","validArgs","console","warnWork","warn","validMessage","filter","action","pop","isActionOf","newAction","warnMsg","pushInto","push","register","reduce","removeFrom","findIndex","splice","makeOptions","unregister","options","create","createWrapper","WorkerWrapper"],"mappings":"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"} \ No newline at end of file diff --git a/package.json b/package.json index 9ef89a49..08db7793 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { - "name": "simple-web-worker", - "version": "1.2.0", + "name": "@dexcare/simple-web-worker", + "version": "1.2.4", "description": "An utility to simplify the use of web workers.", "main": "dist/sww.min.js", "scripts": { @@ -12,7 +12,7 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/israelss/simple-web-worker.git" + "url": "git+https://github.com/dexcare/simple-web-worker.git" }, "keywords": [ "Web", @@ -22,9 +22,9 @@ "author": "Israel Sant'Anna ", "license": "MIT", "bugs": { - "url": "https://github.com/israelss/simple-web-worker/issues" + "url": "https://github.com/dexcare/simple-web-worker/issues" }, - "homepage": "https://github.com/israelss/simple-web-worker#readme", + "homepage": "https://github.com/dexcare/simple-web-worker#readme", "devDependencies": { "babel-jest": "^20.0.3", "babel-plugin-external-helpers": "^6.22.0", diff --git a/src/tests/integration/config/sworker.js b/src/tests/integration/config/sworker.js index a491adfe..60764edf 100644 --- a/src/tests/integration/config/sworker.js +++ b/src/tests/integration/config/sworker.js @@ -338,6 +338,9 @@ var create = function create() { }; var createWrapper = function createWrapper() { + if ('undefined' === typeof window) { + return null; + } if (!window.Worker) { console.error('This browser does not support Workers.'); return null;