{“ast”:null,“code”:“'use strict';nnvar Mutation = global.MutationObserver || global.WebKitMutationObserver;nvar scheduleDrain;n{n if (Mutation) {n var called = 0;n var observer = new Mutation(nextTick);n var element = global.document.createTextNode('');n observer.observe(element, {n characterData: truen });nn scheduleDrain = function scheduleDrain() {n element.data = called = ++called % 2;n };n } else if (!global.setImmediate && typeof global.MessageChannel !== 'undefined') {n var channel = new global.MessageChannel();n channel.port1.onmessage = nextTick;nn scheduleDrain = function scheduleDrain() {n channel.port2.postMessage(0);n };n } else if ('document' in global && 'onreadystatechange' in global.document.createElement('script')) {n scheduleDrain = function scheduleDrain() {n // Create a <script> element; its readystatechange event will be fired asynchronously once it is insertedn // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.n var scriptEl = global.document.createElement('script');nn scriptEl.onreadystatechange = function () {n nextTick();n scriptEl.onreadystatechange = null;n scriptEl.parentNode.removeChild(scriptEl);n scriptEl = null;n };nn global.document.documentElement.appendChild(scriptEl);n };n } else {n scheduleDrain = function scheduleDrain() {n setTimeout(nextTick, 0);n };n }n}nvar draining;nvar queue = []; //named nextTick for less confusing stack tracesnnfunction nextTick() {n draining = true;n var i, oldQueue;n var len = queue.length;nn while (len) {n oldQueue = queue;n queue = [];n i = -1;nn while (++i < len) {n oldQueue();n }nn len = queue.length;n }nn draining = false;n}nnmodule.exports = immediate;nnfunction immediate(task) {n if (queue.push(task) === 1 && !draining) {n scheduleDrain();n }n}”,“map”:null,“metadata”:{},“sourceType”:“module”}