pseudo-worker
Advanced tools
Comparing version 1.2.0 to 1.3.0
@@ -86,6 +86,6 @@ (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.PseudoWorker = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){ | ||
function runPostMessage(msg) { | ||
function runPostMessage(msg, transfer) { | ||
function callFun(listener) { | ||
try { | ||
listener({data: msg}); | ||
listener({data: msg, ports: transfer}); | ||
} catch (err) { | ||
@@ -95,3 +95,2 @@ postError(err); | ||
} | ||
if (workerSelf && typeof workerSelf.onmessage === 'function') { | ||
@@ -103,3 +102,3 @@ callFun(workerSelf.onmessage); | ||
function postMessage(msg) { | ||
function postMessage(msg, transfer) { | ||
if (typeof msg === 'undefined') { | ||
@@ -112,6 +111,6 @@ throw new Error('postMessage() requires an argument'); | ||
if (!script) { | ||
postMessageListeners.push(msg); | ||
postMessageListeners.push({msg: msg, transfer: (transfer ? transfer : undefined)}); | ||
return; | ||
} | ||
runPostMessage(msg); | ||
runPostMessage(msg, transfer); | ||
} | ||
@@ -163,3 +162,3 @@ | ||
for (var i = 0; i < currentListeners.length; i++) { | ||
runPostMessage(currentListeners[i]); | ||
runPostMessage(currentListeners[i].msg, currentListeners[i].transfer); | ||
} | ||
@@ -166,0 +165,0 @@ } else { |
@@ -1,1 +0,1 @@ | ||
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var n;n="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,n.PseudoWorker=e()}}(function(){var define,module,exports;return function(){function e(n,o,r){function t(i,s){if(!o[i]){if(!n[i]){var u="function"==typeof require&&require;if(!s&&u)return u(i,!0);if(f)return f(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var d=o[i]={exports:{}};n[i][0].call(d.exports,function(e){return t(n[i][1][e]||e)},d,d.exports,e,n,o,r)}return o[i].exports}for(var f="function"==typeof require&&require,i=0;i<r.length;i++)t(r[i]);return t}return e}()({1:[function(require,module,exports){(function(global){"use strict";function doEval(self,__pseudoworker_script){(function(){eval(__pseudoworker_script)}).call(global)}function PseudoWorker(e){function n(e,n){for(var o=-1;++o<e.length;)e[o]&&n(e[o])}function o(e){return function(n){n({type:"error",error:e,message:e.message})}}function r(e,n){"message"===e?p.push(n):"error"===e&&g.push(n)}function t(e,n){var o;if("message"===e)o=p;else{if("error"!==e)return;o=g}for(var r=-1;++r<o.length;){if(o[r]===n){delete o[r];break}}}function f(e){var r=o(e);"function"==typeof w.onerror&&r(w.onerror),l&&"function"==typeof l.onerror&&r(l.onerror),n(g,r),n(m,r)}function i(e){function o(n){try{n({data:e})}catch(e){f(e)}}l&&"function"==typeof l.onmessage&&o(l.onmessage),n(v,o)}function s(e){if(void 0===e)throw new Error("postMessage() requires an argument");if(!h)return c?void i(e):void y.push(e)}function u(){h=!0}function a(e){function o(n){n({data:e})}h||("function"==typeof w.onmessage&&o(w.onmessage),n(p,o))}function d(e,n){"message"===e?v.push(n):"error"===e&&m.push(n)}var c,l,p=[],g=[],v=[],m=[],y=[],h=!1,w=this,x=new XMLHttpRequest;return x.open("GET",e),x.onreadystatechange=function(){if(4===x.readyState)if(x.status>=200&&x.status<400){c=x.responseText,l={postMessage:a,addEventListener:d,close:u},doEval(l,c);var n=y;y=[];for(var o=0;o<n.length;o++)i(n[o])}else f(new Error("cannot find script "+e))},x.send(),w.postMessage=s,w.addEventListener=r,w.removeEventListener=t,w.terminate=u,w}module.exports=PseudoWorker}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[1])(1)}); | ||
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var n;n="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,n.PseudoWorker=e()}}(function(){var define,module,exports;return function(){function e(n,r,o){function t(i,s){if(!r[i]){if(!n[i]){var u="function"==typeof require&&require;if(!s&&u)return u(i,!0);if(f)return f(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var d=r[i]={exports:{}};n[i][0].call(d.exports,function(e){return t(n[i][1][e]||e)},d,d.exports,e,n,r,o)}return r[i].exports}for(var f="function"==typeof require&&require,i=0;i<o.length;i++)t(o[i]);return t}return e}()({1:[function(require,module,exports){(function(global){"use strict";function doEval(self,__pseudoworker_script){(function(){eval(__pseudoworker_script)}).call(global)}function PseudoWorker(e){function n(e,n){for(var r=-1;++r<e.length;)e[r]&&n(e[r])}function r(e){return function(n){n({type:"error",error:e,message:e.message})}}function o(e,n){"message"===e?p.push(n):"error"===e&&g.push(n)}function t(e,n){var r;if("message"===e)r=p;else{if("error"!==e)return;r=g}for(var o=-1;++o<r.length;){if(r[o]===n){delete r[o];break}}}function f(e){var o=r(e);"function"==typeof w.onerror&&o(w.onerror),l&&"function"==typeof l.onerror&&o(l.onerror),n(g,o),n(m,o)}function i(e,r){function o(n){try{n({data:e,ports:r})}catch(e){f(e)}}l&&"function"==typeof l.onmessage&&o(l.onmessage),n(v,o)}function s(e,n){if(void 0===e)throw new Error("postMessage() requires an argument");if(!h)return c?void i(e,n):void y.push({msg:e,transfer:n||void 0})}function u(){h=!0}function a(e){function r(n){n({data:e})}h||("function"==typeof w.onmessage&&r(w.onmessage),n(p,r))}function d(e,n){"message"===e?v.push(n):"error"===e&&m.push(n)}var c,l,p=[],g=[],v=[],m=[],y=[],h=!1,w=this,x=new XMLHttpRequest;return x.open("GET",e),x.onreadystatechange=function(){if(4===x.readyState)if(x.status>=200&&x.status<400){c=x.responseText,l={postMessage:a,addEventListener:d,close:u},doEval(l,c);var n=y;y=[];for(var r=0;r<n.length;r++)i(n[r].msg,n[r].transfer)}else f(new Error("cannot find script "+e))},x.send(),w.postMessage=s,w.addEventListener=o,w.removeEventListener=t,w.terminate=u,w}module.exports=PseudoWorker}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[1])(1)}); |
@@ -86,6 +86,6 @@ (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.PseudoWorker = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){ | ||
function runPostMessage(msg) { | ||
function runPostMessage(msg, transfer) { | ||
function callFun(listener) { | ||
try { | ||
listener({data: msg}); | ||
listener({data: msg, ports: transfer}); | ||
} catch (err) { | ||
@@ -95,3 +95,2 @@ postError(err); | ||
} | ||
if (workerSelf && typeof workerSelf.onmessage === 'function') { | ||
@@ -103,3 +102,3 @@ callFun(workerSelf.onmessage); | ||
function postMessage(msg) { | ||
function postMessage(msg, transfer) { | ||
if (typeof msg === 'undefined') { | ||
@@ -112,6 +111,6 @@ throw new Error('postMessage() requires an argument'); | ||
if (!script) { | ||
postMessageListeners.push(msg); | ||
postMessageListeners.push({msg: msg, transfer: (transfer ? transfer : undefined)}); | ||
return; | ||
} | ||
runPostMessage(msg); | ||
runPostMessage(msg, transfer); | ||
} | ||
@@ -163,3 +162,3 @@ | ||
for (var i = 0; i < currentListeners.length; i++) { | ||
runPostMessage(currentListeners[i]); | ||
runPostMessage(currentListeners[i].msg, currentListeners[i].transfer); | ||
} | ||
@@ -166,0 +165,0 @@ } else { |
@@ -1,1 +0,1 @@ | ||
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var n;n="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,n.PseudoWorker=e()}}(function(){var define,module,exports;return function(){function e(n,o,r){function t(i,u){if(!o[i]){if(!n[i]){var s="function"==typeof require&&require;if(!u&&s)return s(i,!0);if(f)return f(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var d=o[i]={exports:{}};n[i][0].call(d.exports,function(e){return t(n[i][1][e]||e)},d,d.exports,e,n,o,r)}return o[i].exports}for(var f="function"==typeof require&&require,i=0;i<r.length;i++)t(r[i]);return t}return e}()({1:[function(require,module,exports){(function(global){"use strict";function doEval(self,__pseudoworker_script){(function(){eval(__pseudoworker_script)}).call(global)}function PseudoWorker(e){function n(e,n){for(var o=-1;++o<e.length;)e[o]&&n(e[o])}function o(e){return function(n){n({type:"error",error:e,message:e.message})}}function r(e,n){"message"===e?p.push(n):"error"===e&&g.push(n)}function t(e,n){var o;if("message"===e)o=p;else{if("error"!==e)return;o=g}for(var r=-1;++r<o.length;){if(o[r]===n){delete o[r];break}}}function f(e){var r=o(e);"function"==typeof h.onerror&&r(h.onerror),l&&"function"==typeof l.onerror&&r(l.onerror),n(g,r),n(y,r)}function i(e){function o(n){try{n({data:e})}catch(e){f(e)}}l&&"function"==typeof l.onmessage&&o(l.onmessage),n(v,o)}function u(e){if(void 0===e)throw new Error("postMessage() requires an argument");if(!m)return c?void i(e):void w.push(e)}function s(){m=!0}function a(e){function o(n){n({data:e})}m||("function"==typeof h.onmessage&&o(h.onmessage),n(p,o))}function d(e,n){"message"===e?v.push(n):"error"===e&&y.push(n)}var c,l,p=[],g=[],v=[],y=[],w=[],m=!1,h=this,x=new XMLHttpRequest;return x.open("GET",e),x.onreadystatechange=function(){if(4===x.readyState)if(x.status>=200&&x.status<400){c=x.responseText,l={postMessage:a,addEventListener:d,close:s},doEval(l,c);var n=w;w=[];for(var o=0;o<n.length;o++)i(n[o])}else f(new Error("cannot find script "+e))},x.send(),h.postMessage=u,h.addEventListener=r,h.removeEventListener=t,h.terminate=s,h}module.exports=PseudoWorker}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],2:[function(e,n,o){(function(o){"use strict";var r=e(1);"undefined"==typeof Worker&&(o.Worker=r),n.exports=r}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{1:1}]},{},[2])(2)}); | ||
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var n;n="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,n.PseudoWorker=e()}}(function(){var define,module,exports;return function(){function e(n,o,r){function t(i,s){if(!o[i]){if(!n[i]){var u="function"==typeof require&&require;if(!s&&u)return u(i,!0);if(f)return f(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var d=o[i]={exports:{}};n[i][0].call(d.exports,function(e){return t(n[i][1][e]||e)},d,d.exports,e,n,o,r)}return o[i].exports}for(var f="function"==typeof require&&require,i=0;i<r.length;i++)t(r[i]);return t}return e}()({1:[function(require,module,exports){(function(global){"use strict";function doEval(self,__pseudoworker_script){(function(){eval(__pseudoworker_script)}).call(global)}function PseudoWorker(e){function n(e,n){for(var o=-1;++o<e.length;)e[o]&&n(e[o])}function o(e){return function(n){n({type:"error",error:e,message:e.message})}}function r(e,n){"message"===e?p.push(n):"error"===e&&g.push(n)}function t(e,n){var o;if("message"===e)o=p;else{if("error"!==e)return;o=g}for(var r=-1;++r<o.length;){if(o[r]===n){delete o[r];break}}}function f(e){var r=o(e);"function"==typeof h.onerror&&r(h.onerror),l&&"function"==typeof l.onerror&&r(l.onerror),n(g,r),n(y,r)}function i(e,o){function r(n){try{n({data:e,ports:o})}catch(e){f(e)}}l&&"function"==typeof l.onmessage&&r(l.onmessage),n(v,r)}function s(e,n){if(void 0===e)throw new Error("postMessage() requires an argument");if(!w)return c?void i(e,n):void m.push({msg:e,transfer:n||void 0})}function u(){w=!0}function a(e){function o(n){n({data:e})}w||("function"==typeof h.onmessage&&o(h.onmessage),n(p,o))}function d(e,n){"message"===e?v.push(n):"error"===e&&y.push(n)}var c,l,p=[],g=[],v=[],y=[],m=[],w=!1,h=this,x=new XMLHttpRequest;return x.open("GET",e),x.onreadystatechange=function(){if(4===x.readyState)if(x.status>=200&&x.status<400){c=x.responseText,l={postMessage:a,addEventListener:d,close:u},doEval(l,c);var n=m;m=[];for(var o=0;o<n.length;o++)i(n[o].msg,n[o].transfer)}else f(new Error("cannot find script "+e))},x.send(),h.postMessage=s,h.addEventListener=r,h.removeEventListener=t,h.terminate=u,h}module.exports=PseudoWorker}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],2:[function(e,n,o){(function(o){"use strict";var r=e(1);"undefined"==typeof Worker&&(o.Worker=r),n.exports=r}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{1:1}]},{},[2])(2)}); |
13
index.js
@@ -84,6 +84,6 @@ 'use strict'; | ||
function runPostMessage(msg) { | ||
function runPostMessage(msg, transfer) { | ||
function callFun(listener) { | ||
try { | ||
listener({data: msg}); | ||
listener({data: msg, ports: transfer}); | ||
} catch (err) { | ||
@@ -93,3 +93,2 @@ postError(err); | ||
} | ||
if (workerSelf && typeof workerSelf.onmessage === 'function') { | ||
@@ -101,3 +100,3 @@ callFun(workerSelf.onmessage); | ||
function postMessage(msg) { | ||
function postMessage(msg, transfer) { | ||
if (typeof msg === 'undefined') { | ||
@@ -110,6 +109,6 @@ throw new Error('postMessage() requires an argument'); | ||
if (!script) { | ||
postMessageListeners.push(msg); | ||
postMessageListeners.push({msg: msg, transfer: (transfer ? transfer : undefined)}); | ||
return; | ||
} | ||
runPostMessage(msg); | ||
runPostMessage(msg, transfer); | ||
} | ||
@@ -161,3 +160,3 @@ | ||
for (var i = 0; i < currentListeners.length; i++) { | ||
runPostMessage(currentListeners[i]); | ||
runPostMessage(currentListeners[i].msg, currentListeners[i].transfer); | ||
} | ||
@@ -164,0 +163,0 @@ } else { |
{ | ||
"name": "pseudo-worker", | ||
"version": "1.2.0", | ||
"version": "1.3.0", | ||
"description": "Tiny and mostly spec-compliant WebWorker polyfill", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
35496