var macrotask = require('../internals/task').set;
var IS_IOS = require('../internals/engine-is-ios');
var macrotask = require('../internals/task').set;
var IS_IOS = require('../internals/engine-is-ios');
// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`
var queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');
var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;
// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`
var queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');
var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;
toggle = true;
node = document.createTextNode('');
new MutationObserver(flush).observe(node, { characterData: true });
toggle = true;
node = document.createTextNode('');
new MutationObserver(flush).observe(node, { characterData: true });
node.data = toggle = !toggle;
};
// environments with maybe non-completely correct, but existent Promise
node.data = toggle = !toggle;
};
// environments with maybe non-completely correct, but existent Promise
// Promise.resolve without an argument throws an error in LG WebOS 2
promise = Promise.resolve(undefined);
// Promise.resolve without an argument throws an error in LG WebOS 2
promise = Promise.resolve(undefined);