foop
Version:
interfaces that describe their intentions.
32 lines (30 loc) • 2.91 kB
JavaScript
/* globals WorkerGlobalScope */
var isUndefinedLike = require('./undefinedLike')
/**
* @desc Determines if the code is running with a [Web Worker](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers).
* @name isWebWorker
* @since 5.0.0-beta.5
* @signature `isWebWorker()`
*
* @return {boolean} True if running in a Web Worker.
*
* {@link https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope mozilla-webworkerglobalscope}
* {@link https://github.com/canjs/can-util/blob/master/js/is-web-worker/is-web-worker.js can-js-is-web-worker}
* @see {@link can-js-is-web-worker}
* @see {@link mozilla-webworkerglobalscope}
*
* @example
*
* var isWebWorker = require("can-util/js/is-web-worker/is-web-worker");
* var GLOBAL = require("can-util/js/global/global");
*
* if (isWebWorker()) {
* GLOBAL() === self) //=> true
* }
*
*/
module.exports = function() {
return !isUndefinedLike(typeof WorkerGlobalScope) &&
(this instanceof WorkerGlobalScope)
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViV29ya2VyLmpzIiwic291cmNlcyI6WyJ3ZWJXb3JrZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZ2xvYmFscyBXb3JrZXJHbG9iYWxTY29wZSAqL1xuY29uc3QgaXNVbmRlZmluZWRMaWtlID0gcmVxdWlyZSgnLi91bmRlZmluZWRMaWtlJylcblxuLyoqXG4gKiBAZGVzYyBEZXRlcm1pbmVzIGlmIHRoZSBjb2RlIGlzIHJ1bm5pbmcgd2l0aCBhIFtXZWIgV29ya2VyXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvV2ViX1dvcmtlcnNfQVBJL1VzaW5nX3dlYl93b3JrZXJzKS5cbiAqIEBuYW1lIGlzV2ViV29ya2VyXG4gKiBAc2luY2UgNS4wLjAtYmV0YS41XG4gKiBAc2lnbmF0dXJlIGBpc1dlYldvcmtlcigpYFxuICpcbiAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgcnVubmluZyBpbiBhIFdlYiBXb3JrZXIuXG4gKlxuICoge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9Xb3JrZXJHbG9iYWxTY29wZSBtb3ppbGxhLXdlYndvcmtlcmdsb2JhbHNjb3BlfVxuICoge0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9jYW5qcy9jYW4tdXRpbC9ibG9iL21hc3Rlci9qcy9pcy13ZWItd29ya2VyL2lzLXdlYi13b3JrZXIuanMgY2FuLWpzLWlzLXdlYi13b3JrZXJ9XG4gKiBAc2VlIHtAbGluayBjYW4tanMtaXMtd2ViLXdvcmtlcn1cbiAqIEBzZWUge0BsaW5rIG1vemlsbGEtd2Vid29ya2VyZ2xvYmFsc2NvcGV9XG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiAgIHZhciBpc1dlYldvcmtlciA9IHJlcXVpcmUoXCJjYW4tdXRpbC9qcy9pcy13ZWItd29ya2VyL2lzLXdlYi13b3JrZXJcIik7XG4gKiAgIHZhciBHTE9CQUwgPSByZXF1aXJlKFwiY2FuLXV0aWwvanMvZ2xvYmFsL2dsb2JhbFwiKTtcbiAqXG4gKiAgIGlmIChpc1dlYldvcmtlcigpKSB7XG4gKiAgICAgR0xPQkFMKCkgPT09IHNlbGYpIC8vPT4gdHJ1ZVxuICogICB9XG4gKlxuICovXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKCkge1xuICByZXR1cm4gIWlzVW5kZWZpbmVkTGlrZSh0eXBlb2YgV29ya2VyR2xvYmFsU2NvcGUpICYmXG4gICh0aGlzIGluc3RhbmNlb2YgV29ya2VyR2xvYmFsU2NvcGUpXG59XG4iXSwibmFtZXMiOlsiY29uc3QiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0FBLEdBQUssQ0FBQyxlQUFlLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBeUJsRCxNQUFNLENBQUMsT0FBTyxHQUFHLFdBQVc7RUFDMUIsT0FBTyxDQUFDLGVBQWUsQ0FBQyxPQUFPLGlCQUFpQixDQUFDO0VBQ2pELENBQUMsSUFBSSxZQUFZLGlCQUFpQixDQUFDO0NBQ3BDOyJ9