{"version":3,"file":"setimmediate-DHsO0S6q.js","sources":["../../node_modules/setimmediate/setImmediate.js"],"sourcesContent":["(function (global, undefined) {\n    \"use strict\";\n\n    if (global.setImmediate) {\n        return;\n    }\n\n    var nextHandle = 1; // Spec says greater than zero\n    var tasksByHandle = {};\n    var currentlyRunningATask = false;\n    var doc = global.document;\n    var registerImmediate;\n\n    function setImmediate(callback) {\n      // Callback can either be a function or a string\n      if (typeof callback !== \"function\") {\n        callback = new Function(\"\" + callback);\n      }\n      // Copy function arguments\n      var args = new Array(arguments.length - 1);\n      for (var i = 0; i < args.length; i++) {\n          args[i] = arguments[i + 1];\n      }\n      // Store and register the task\n      var task = { callback: callback, args: args };\n      tasksByHandle[nextHandle] = task;\n      registerImmediate(nextHandle);\n      return nextHandle++;\n    }\n\n    function clearImmediate(handle) {\n        delete tasksByHandle[handle];\n    }\n\n    function run(task) {\n        var callback = task.callback;\n        var args = task.args;\n        switch (args.length) {\n        case 0:\n            callback();\n            break;\n        case 1:\n            callback(args[0]);\n            break;\n        case 2:\n            callback(args[0], args[1]);\n            break;\n        case 3:\n            callback(args[0], args[1], args[2]);\n            break;\n        default:\n            callback.apply(undefined, args);\n            break;\n        }\n    }\n\n    function runIfPresent(handle) {\n        // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n        // So if we're currently running a task, we'll need to delay this invocation.\n        if (currentlyRunningATask) {\n            // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n            // \"too much recursion\" error.\n            setTimeout(runIfPresent, 0, handle);\n        } else {\n            var task = tasksByHandle[handle];\n            if (task) {\n                currentlyRunningATask = true;\n                try {\n                    run(task);\n                } finally {\n                    clearImmediate(handle);\n                    currentlyRunningATask = false;\n                }\n            }\n        }\n    }\n\n    function installNextTickImplementation() {\n        registerImmediate = function(handle) {\n            process.nextTick(function () { runIfPresent(handle); });\n        };\n    }\n\n    function canUsePostMessage() {\n        // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n        // where `global.postMessage` means something completely different and can't be used for this purpose.\n        if (global.postMessage && !global.importScripts) {\n            var postMessageIsAsynchronous = true;\n            var oldOnMessage = global.onmessage;\n            global.onmessage = function() {\n                postMessageIsAsynchronous = false;\n            };\n            global.postMessage(\"\", \"*\");\n            global.onmessage = oldOnMessage;\n            return postMessageIsAsynchronous;\n        }\n    }\n\n    function installPostMessageImplementation() {\n        // Installs an event handler on `global` for the `message` event: see\n        // * https://developer.mozilla.org/en/DOM/window.postMessage\n        // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n        var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n        var onGlobalMessage = function(event) {\n            if (event.source === global &&\n                typeof event.data === \"string\" &&\n                event.data.indexOf(messagePrefix) === 0) {\n                runIfPresent(+event.data.slice(messagePrefix.length));\n            }\n        };\n\n        if (global.addEventListener) {\n            global.addEventListener(\"message\", onGlobalMessage, false);\n        } else {\n            global.attachEvent(\"onmessage\", onGlobalMessage);\n        }\n\n        registerImmediate = function(handle) {\n            global.postMessage(messagePrefix + handle, \"*\");\n        };\n    }\n\n    function installMessageChannelImplementation() {\n        var channel = new MessageChannel();\n        channel.port1.onmessage = function(event) {\n            var handle = event.data;\n            runIfPresent(handle);\n        };\n\n        registerImmediate = function(handle) {\n            channel.port2.postMessage(handle);\n        };\n    }\n\n    function installReadyStateChangeImplementation() {\n        var html = doc.documentElement;\n        registerImmediate = function(handle) {\n            // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted\n            // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n            var script = doc.createElement(\"script\");\n            script.onreadystatechange = function () {\n                runIfPresent(handle);\n                script.onreadystatechange = null;\n                html.removeChild(script);\n                script = null;\n            };\n            html.appendChild(script);\n        };\n    }\n\n    function installSetTimeoutImplementation() {\n        registerImmediate = function(handle) {\n            setTimeout(runIfPresent, 0, handle);\n        };\n    }\n\n    // If supported, we should attach to the prototype of global, since that is where setTimeout et al. live.\n    var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(global);\n    attachTo = attachTo && attachTo.setTimeout ? attachTo : global;\n\n    // Don't get fooled by e.g. browserify environments.\n    if ({}.toString.call(global.process) === \"[object process]\") {\n        // For Node.js before 0.9\n        installNextTickImplementation();\n\n    } else if (canUsePostMessage()) {\n        // For non-IE10 modern browsers\n        installPostMessageImplementation();\n\n    } else if (global.MessageChannel) {\n        // For web workers, where supported\n        installMessageChannelImplementation();\n\n    } else if (doc && \"onreadystatechange\" in doc.createElement(\"script\")) {\n        // For IE 6–8\n        installReadyStateChangeImplementation();\n\n    } else {\n        // For older browsers\n        installSetTimeoutImplementation();\n    }\n\n    attachTo.setImmediate = setImmediate;\n    attachTo.clearImmediate = clearImmediate;\n}(typeof self === \"undefined\" ? typeof global === \"undefined\" ? this : global : self));\n"],"names":["global","undefined","nextHandle","tasksByHandle","currentlyRunningATask","doc","registerImmediate","setImmediate","callback","args","i","task","clearImmediate","handle","run","runIfPresent","installNextTickImplementation","canUsePostMessage","postMessageIsAsynchronous","oldOnMessage","installPostMessageImplementation","messagePrefix","onGlobalMessage","event","installMessageChannelImplementation","channel","installReadyStateChangeImplementation","html","script","installSetTimeoutImplementation","attachTo","this"],"mappings":"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","x_google_ignoreList":[0]}