UNPKG

foop

Version:

interfaces that describe their intentions.

32 lines (30 loc) 2.91 kB
/* 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