2eb75ec950d686b993eef6c9b784723f.json
71.6 KB
{"ast":null,"code":"/** @license React v0.20.1\n * scheduler.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function () {\n 'use strict';\n\n var enableSchedulerDebugging = false;\n var enableProfiling = true;\n var requestHostCallback;\n var requestHostTimeout;\n var cancelHostTimeout;\n var requestPaint;\n var hasPerformanceNow = typeof performance === 'object' && typeof performance.now === 'function';\n\n if (hasPerformanceNow) {\n var localPerformance = performance;\n\n exports.unstable_now = function () {\n return localPerformance.now();\n };\n } else {\n var localDate = Date;\n var initialTime = localDate.now();\n\n exports.unstable_now = function () {\n return localDate.now() - initialTime;\n };\n }\n\n if ( // If Scheduler runs in a non-DOM environment, it falls back to a naive\n // implementation using setTimeout.\n typeof window === 'undefined' || // Check if MessageChannel is supported, too.\n typeof MessageChannel !== 'function') {\n // If this accidentally gets imported in a non-browser environment, e.g. JavaScriptCore,\n // fallback to a naive implementation.\n var _callback = null;\n var _timeoutID = null;\n\n var _flushCallback = function () {\n if (_callback !== null) {\n try {\n var currentTime = exports.unstable_now();\n var hasRemainingTime = true;\n\n _callback(hasRemainingTime, currentTime);\n\n _callback = null;\n } catch (e) {\n setTimeout(_flushCallback, 0);\n throw e;\n }\n }\n };\n\n requestHostCallback = function (cb) {\n if (_callback !== null) {\n // Protect against re-entrancy.\n setTimeout(requestHostCallback, 0, cb);\n } else {\n _callback = cb;\n setTimeout(_flushCallback, 0);\n }\n };\n\n requestHostTimeout = function (cb, ms) {\n _timeoutID = setTimeout(cb, ms);\n };\n\n cancelHostTimeout = function () {\n clearTimeout(_timeoutID);\n };\n\n exports.unstable_shouldYield = function () {\n return false;\n };\n\n requestPaint = exports.unstable_forceFrameRate = function () {};\n } else {\n // Capture local references to native APIs, in case a polyfill overrides them.\n var _setTimeout = window.setTimeout;\n var _clearTimeout = window.clearTimeout;\n\n if (typeof console !== 'undefined') {\n // TODO: Scheduler no longer requires these methods to be polyfilled. But\n // maybe we want to continue warning if they don't exist, to preserve the\n // option to rely on it in the future?\n var requestAnimationFrame = window.requestAnimationFrame;\n var cancelAnimationFrame = window.cancelAnimationFrame;\n\n if (typeof requestAnimationFrame !== 'function') {\n // Using console['error'] to evade Babel and ESLint\n console['error'](\"This browser doesn't support requestAnimationFrame. \" + 'Make sure that you load a ' + 'polyfill in older browsers. https://reactjs.org/link/react-polyfills');\n }\n\n if (typeof cancelAnimationFrame !== 'function') {\n // Using console['error'] to evade Babel and ESLint\n console['error'](\"This browser doesn't support cancelAnimationFrame. \" + 'Make sure that you load a ' + 'polyfill in older browsers. https://reactjs.org/link/react-polyfills');\n }\n }\n\n var isMessageLoopRunning = false;\n var scheduledHostCallback = null;\n var taskTimeoutID = -1; // Scheduler periodically yields in case there is other work on the main\n // thread, like user events. By default, it yields multiple times per frame.\n // It does not attempt to align with frame boundaries, since most tasks don't\n // need to be frame aligned; for those that do, use requestAnimationFrame.\n\n var yieldInterval = 5;\n var deadline = 0; // TODO: Make this configurable\n\n {\n // `isInputPending` is not available. Since we have no way of knowing if\n // there's pending input, always yield at the end of the frame.\n exports.unstable_shouldYield = function () {\n return exports.unstable_now() >= deadline;\n }; // Since we yield every frame regardless, `requestPaint` has no effect.\n\n\n requestPaint = function () {};\n }\n\n exports.unstable_forceFrameRate = function (fps) {\n if (fps < 0 || fps > 125) {\n // Using console['error'] to evade Babel and ESLint\n console['error']('forceFrameRate takes a positive int between 0 and 125, ' + 'forcing frame rates higher than 125 fps is not supported');\n return;\n }\n\n if (fps > 0) {\n yieldInterval = Math.floor(1000 / fps);\n } else {\n // reset the framerate\n yieldInterval = 5;\n }\n };\n\n var performWorkUntilDeadline = function () {\n if (scheduledHostCallback !== null) {\n var currentTime = exports.unstable_now(); // Yield after `yieldInterval` ms, regardless of where we are in the vsync\n // cycle. This means there's always time remaining at the beginning of\n // the message event.\n\n deadline = currentTime + yieldInterval;\n var hasTimeRemaining = true;\n\n try {\n var hasMoreWork = scheduledHostCallback(hasTimeRemaining, currentTime);\n\n if (!hasMoreWork) {\n isMessageLoopRunning = false;\n scheduledHostCallback = null;\n } else {\n // If there's more work, schedule the next message event at the end\n // of the preceding one.\n port.postMessage(null);\n }\n } catch (error) {\n // If a scheduler task throws, exit the current browser task so the\n // error can be observed.\n port.postMessage(null);\n throw error;\n }\n } else {\n isMessageLoopRunning = false;\n } // Yielding to the browser will give it a chance to paint, so we can\n\n };\n\n var channel = new MessageChannel();\n var port = channel.port2;\n channel.port1.onmessage = performWorkUntilDeadline;\n\n requestHostCallback = function (callback) {\n scheduledHostCallback = callback;\n\n if (!isMessageLoopRunning) {\n isMessageLoopRunning = true;\n port.postMessage(null);\n }\n };\n\n requestHostTimeout = function (callback, ms) {\n taskTimeoutID = _setTimeout(function () {\n callback(exports.unstable_now());\n }, ms);\n };\n\n cancelHostTimeout = function () {\n _clearTimeout(taskTimeoutID);\n\n taskTimeoutID = -1;\n };\n }\n\n function push(heap, node) {\n var index = heap.length;\n heap.push(node);\n siftUp(heap, node, index);\n }\n\n function peek(heap) {\n var first = heap[0];\n return first === undefined ? null : first;\n }\n\n function pop(heap) {\n var first = heap[0];\n\n if (first !== undefined) {\n var last = heap.pop();\n\n if (last !== first) {\n heap[0] = last;\n siftDown(heap, last, 0);\n }\n\n return first;\n } else {\n return null;\n }\n }\n\n function siftUp(heap, node, i) {\n var index = i;\n\n while (true) {\n var parentIndex = index - 1 >>> 1;\n var parent = heap[parentIndex];\n\n if (parent !== undefined && compare(parent, node) > 0) {\n // The parent is larger. Swap positions.\n heap[parentIndex] = node;\n heap[index] = parent;\n index = parentIndex;\n } else {\n // The parent is smaller. Exit.\n return;\n }\n }\n }\n\n function siftDown(heap, node, i) {\n var index = i;\n var length = heap.length;\n\n while (index < length) {\n var leftIndex = (index + 1) * 2 - 1;\n var left = heap[leftIndex];\n var rightIndex = leftIndex + 1;\n var right = heap[rightIndex]; // If the left or right node is smaller, swap with the smaller of those.\n\n if (left !== undefined && compare(left, node) < 0) {\n if (right !== undefined && compare(right, left) < 0) {\n heap[index] = right;\n heap[rightIndex] = node;\n index = rightIndex;\n } else {\n heap[index] = left;\n heap[leftIndex] = node;\n index = leftIndex;\n }\n } else if (right !== undefined && compare(right, node) < 0) {\n heap[index] = right;\n heap[rightIndex] = node;\n index = rightIndex;\n } else {\n // Neither child is smaller. Exit.\n return;\n }\n }\n }\n\n function compare(a, b) {\n // Compare sort index first, then task id.\n var diff = a.sortIndex - b.sortIndex;\n return diff !== 0 ? diff : a.id - b.id;\n } // TODO: Use symbols?\n\n\n var NoPriority = 0;\n var ImmediatePriority = 1;\n var UserBlockingPriority = 2;\n var NormalPriority = 3;\n var LowPriority = 4;\n var IdlePriority = 5;\n var runIdCounter = 0;\n var mainThreadIdCounter = 0;\n var profilingStateSize = 4;\n var sharedProfilingBuffer = // $FlowFixMe Flow doesn't know about SharedArrayBuffer\n typeof SharedArrayBuffer === 'function' ? new SharedArrayBuffer(profilingStateSize * Int32Array.BYTES_PER_ELEMENT) : // $FlowFixMe Flow doesn't know about ArrayBuffer\n typeof ArrayBuffer === 'function' ? new ArrayBuffer(profilingStateSize * Int32Array.BYTES_PER_ELEMENT) : null // Don't crash the init path on IE9\n ;\n var profilingState = sharedProfilingBuffer !== null ? new Int32Array(sharedProfilingBuffer) : []; // We can't read this but it helps save bytes for null checks\n\n var PRIORITY = 0;\n var CURRENT_TASK_ID = 1;\n var CURRENT_RUN_ID = 2;\n var QUEUE_SIZE = 3;\n {\n profilingState[PRIORITY] = NoPriority; // This is maintained with a counter, because the size of the priority queue\n // array might include canceled tasks.\n\n profilingState[QUEUE_SIZE] = 0;\n profilingState[CURRENT_TASK_ID] = 0;\n } // Bytes per element is 4\n\n var INITIAL_EVENT_LOG_SIZE = 131072;\n var MAX_EVENT_LOG_SIZE = 524288; // Equivalent to 2 megabytes\n\n var eventLogSize = 0;\n var eventLogBuffer = null;\n var eventLog = null;\n var eventLogIndex = 0;\n var TaskStartEvent = 1;\n var TaskCompleteEvent = 2;\n var TaskErrorEvent = 3;\n var TaskCancelEvent = 4;\n var TaskRunEvent = 5;\n var TaskYieldEvent = 6;\n var SchedulerSuspendEvent = 7;\n var SchedulerResumeEvent = 8;\n\n function logEvent(entries) {\n if (eventLog !== null) {\n var offset = eventLogIndex;\n eventLogIndex += entries.length;\n\n if (eventLogIndex + 1 > eventLogSize) {\n eventLogSize *= 2;\n\n if (eventLogSize > MAX_EVENT_LOG_SIZE) {\n // Using console['error'] to evade Babel and ESLint\n console['error'](\"Scheduler Profiling: Event log exceeded maximum size. Don't \" + 'forget to call `stopLoggingProfilingEvents()`.');\n stopLoggingProfilingEvents();\n return;\n }\n\n var newEventLog = new Int32Array(eventLogSize * 4);\n newEventLog.set(eventLog);\n eventLogBuffer = newEventLog.buffer;\n eventLog = newEventLog;\n }\n\n eventLog.set(entries, offset);\n }\n }\n\n function startLoggingProfilingEvents() {\n eventLogSize = INITIAL_EVENT_LOG_SIZE;\n eventLogBuffer = new ArrayBuffer(eventLogSize * 4);\n eventLog = new Int32Array(eventLogBuffer);\n eventLogIndex = 0;\n }\n\n function stopLoggingProfilingEvents() {\n var buffer = eventLogBuffer;\n eventLogSize = 0;\n eventLogBuffer = null;\n eventLog = null;\n eventLogIndex = 0;\n return buffer;\n }\n\n function markTaskStart(task, ms) {\n {\n profilingState[QUEUE_SIZE]++;\n\n if (eventLog !== null) {\n // performance.now returns a float, representing milliseconds. When the\n // event is logged, it's coerced to an int. Convert to microseconds to\n // maintain extra degrees of precision.\n logEvent([TaskStartEvent, ms * 1000, task.id, task.priorityLevel]);\n }\n }\n }\n\n function markTaskCompleted(task, ms) {\n {\n profilingState[PRIORITY] = NoPriority;\n profilingState[CURRENT_TASK_ID] = 0;\n profilingState[QUEUE_SIZE]--;\n\n if (eventLog !== null) {\n logEvent([TaskCompleteEvent, ms * 1000, task.id]);\n }\n }\n }\n\n function markTaskCanceled(task, ms) {\n {\n profilingState[QUEUE_SIZE]--;\n\n if (eventLog !== null) {\n logEvent([TaskCancelEvent, ms * 1000, task.id]);\n }\n }\n }\n\n function markTaskErrored(task, ms) {\n {\n profilingState[PRIORITY] = NoPriority;\n profilingState[CURRENT_TASK_ID] = 0;\n profilingState[QUEUE_SIZE]--;\n\n if (eventLog !== null) {\n logEvent([TaskErrorEvent, ms * 1000, task.id]);\n }\n }\n }\n\n function markTaskRun(task, ms) {\n {\n runIdCounter++;\n profilingState[PRIORITY] = task.priorityLevel;\n profilingState[CURRENT_TASK_ID] = task.id;\n profilingState[CURRENT_RUN_ID] = runIdCounter;\n\n if (eventLog !== null) {\n logEvent([TaskRunEvent, ms * 1000, task.id, runIdCounter]);\n }\n }\n }\n\n function markTaskYield(task, ms) {\n {\n profilingState[PRIORITY] = NoPriority;\n profilingState[CURRENT_TASK_ID] = 0;\n profilingState[CURRENT_RUN_ID] = 0;\n\n if (eventLog !== null) {\n logEvent([TaskYieldEvent, ms * 1000, task.id, runIdCounter]);\n }\n }\n }\n\n function markSchedulerSuspended(ms) {\n {\n mainThreadIdCounter++;\n\n if (eventLog !== null) {\n logEvent([SchedulerSuspendEvent, ms * 1000, mainThreadIdCounter]);\n }\n }\n }\n\n function markSchedulerUnsuspended(ms) {\n {\n if (eventLog !== null) {\n logEvent([SchedulerResumeEvent, ms * 1000, mainThreadIdCounter]);\n }\n }\n }\n /* eslint-disable no-var */\n // Math.pow(2, 30) - 1\n // 0b111111111111111111111111111111\n\n\n var maxSigned31BitInt = 1073741823; // Times out immediately\n\n var IMMEDIATE_PRIORITY_TIMEOUT = -1; // Eventually times out\n\n var USER_BLOCKING_PRIORITY_TIMEOUT = 250;\n var NORMAL_PRIORITY_TIMEOUT = 5000;\n var LOW_PRIORITY_TIMEOUT = 10000; // Never times out\n\n var IDLE_PRIORITY_TIMEOUT = maxSigned31BitInt; // Tasks are stored on a min heap\n\n var taskQueue = [];\n var timerQueue = []; // Incrementing id counter. Used to maintain insertion order.\n\n var taskIdCounter = 1; // Pausing the scheduler is useful for debugging.\n\n var currentTask = null;\n var currentPriorityLevel = NormalPriority; // This is set while performing work, to prevent re-entrancy.\n\n var isPerformingWork = false;\n var isHostCallbackScheduled = false;\n var isHostTimeoutScheduled = false;\n\n function advanceTimers(currentTime) {\n // Check for tasks that are no longer delayed and add them to the queue.\n var timer = peek(timerQueue);\n\n while (timer !== null) {\n if (timer.callback === null) {\n // Timer was cancelled.\n pop(timerQueue);\n } else if (timer.startTime <= currentTime) {\n // Timer fired. Transfer to the task queue.\n pop(timerQueue);\n timer.sortIndex = timer.expirationTime;\n push(taskQueue, timer);\n {\n markTaskStart(timer, currentTime);\n timer.isQueued = true;\n }\n } else {\n // Remaining timers are pending.\n return;\n }\n\n timer = peek(timerQueue);\n }\n }\n\n function handleTimeout(currentTime) {\n isHostTimeoutScheduled = false;\n advanceTimers(currentTime);\n\n if (!isHostCallbackScheduled) {\n if (peek(taskQueue) !== null) {\n isHostCallbackScheduled = true;\n requestHostCallback(flushWork);\n } else {\n var firstTimer = peek(timerQueue);\n\n if (firstTimer !== null) {\n requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n }\n }\n }\n }\n\n function flushWork(hasTimeRemaining, initialTime) {\n {\n markSchedulerUnsuspended(initialTime);\n } // We'll need a host callback the next time work is scheduled.\n\n isHostCallbackScheduled = false;\n\n if (isHostTimeoutScheduled) {\n // We scheduled a timeout but it's no longer needed. Cancel it.\n isHostTimeoutScheduled = false;\n cancelHostTimeout();\n }\n\n isPerformingWork = true;\n var previousPriorityLevel = currentPriorityLevel;\n\n try {\n if (enableProfiling) {\n try {\n return workLoop(hasTimeRemaining, initialTime);\n } catch (error) {\n if (currentTask !== null) {\n var currentTime = exports.unstable_now();\n markTaskErrored(currentTask, currentTime);\n currentTask.isQueued = false;\n }\n\n throw error;\n }\n } else {\n // No catch in prod code path.\n return workLoop(hasTimeRemaining, initialTime);\n }\n } finally {\n currentTask = null;\n currentPriorityLevel = previousPriorityLevel;\n isPerformingWork = false;\n {\n var _currentTime = exports.unstable_now();\n\n markSchedulerSuspended(_currentTime);\n }\n }\n }\n\n function workLoop(hasTimeRemaining, initialTime) {\n var currentTime = initialTime;\n advanceTimers(currentTime);\n currentTask = peek(taskQueue);\n\n while (currentTask !== null && !enableSchedulerDebugging) {\n if (currentTask.expirationTime > currentTime && (!hasTimeRemaining || exports.unstable_shouldYield())) {\n // This currentTask hasn't expired, and we've reached the deadline.\n break;\n }\n\n var callback = currentTask.callback;\n\n if (typeof callback === 'function') {\n currentTask.callback = null;\n currentPriorityLevel = currentTask.priorityLevel;\n var didUserCallbackTimeout = currentTask.expirationTime <= currentTime;\n markTaskRun(currentTask, currentTime);\n var continuationCallback = callback(didUserCallbackTimeout);\n currentTime = exports.unstable_now();\n\n if (typeof continuationCallback === 'function') {\n currentTask.callback = continuationCallback;\n markTaskYield(currentTask, currentTime);\n } else {\n {\n markTaskCompleted(currentTask, currentTime);\n currentTask.isQueued = false;\n }\n\n if (currentTask === peek(taskQueue)) {\n pop(taskQueue);\n }\n }\n\n advanceTimers(currentTime);\n } else {\n pop(taskQueue);\n }\n\n currentTask = peek(taskQueue);\n } // Return whether there's additional work\n\n\n if (currentTask !== null) {\n return true;\n } else {\n var firstTimer = peek(timerQueue);\n\n if (firstTimer !== null) {\n requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n }\n\n return false;\n }\n }\n\n function unstable_runWithPriority(priorityLevel, eventHandler) {\n switch (priorityLevel) {\n case ImmediatePriority:\n case UserBlockingPriority:\n case NormalPriority:\n case LowPriority:\n case IdlePriority:\n break;\n\n default:\n priorityLevel = NormalPriority;\n }\n\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n }\n\n function unstable_next(eventHandler) {\n var priorityLevel;\n\n switch (currentPriorityLevel) {\n case ImmediatePriority:\n case UserBlockingPriority:\n case NormalPriority:\n // Shift down to normal priority\n priorityLevel = NormalPriority;\n break;\n\n default:\n // Anything lower than normal priority should remain at the current level.\n priorityLevel = currentPriorityLevel;\n break;\n }\n\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n }\n\n function unstable_wrapCallback(callback) {\n var parentPriorityLevel = currentPriorityLevel;\n return function () {\n // This is a fork of runWithPriority, inlined for performance.\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = parentPriorityLevel;\n\n try {\n return callback.apply(this, arguments);\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n };\n }\n\n function unstable_scheduleCallback(priorityLevel, callback, options) {\n var currentTime = exports.unstable_now();\n var startTime;\n\n if (typeof options === 'object' && options !== null) {\n var delay = options.delay;\n\n if (typeof delay === 'number' && delay > 0) {\n startTime = currentTime + delay;\n } else {\n startTime = currentTime;\n }\n } else {\n startTime = currentTime;\n }\n\n var timeout;\n\n switch (priorityLevel) {\n case ImmediatePriority:\n timeout = IMMEDIATE_PRIORITY_TIMEOUT;\n break;\n\n case UserBlockingPriority:\n timeout = USER_BLOCKING_PRIORITY_TIMEOUT;\n break;\n\n case IdlePriority:\n timeout = IDLE_PRIORITY_TIMEOUT;\n break;\n\n case LowPriority:\n timeout = LOW_PRIORITY_TIMEOUT;\n break;\n\n case NormalPriority:\n default:\n timeout = NORMAL_PRIORITY_TIMEOUT;\n break;\n }\n\n var expirationTime = startTime + timeout;\n var newTask = {\n id: taskIdCounter++,\n callback: callback,\n priorityLevel: priorityLevel,\n startTime: startTime,\n expirationTime: expirationTime,\n sortIndex: -1\n };\n {\n newTask.isQueued = false;\n }\n\n if (startTime > currentTime) {\n // This is a delayed task.\n newTask.sortIndex = startTime;\n push(timerQueue, newTask);\n\n if (peek(taskQueue) === null && newTask === peek(timerQueue)) {\n // All tasks are delayed, and this is the task with the earliest delay.\n if (isHostTimeoutScheduled) {\n // Cancel an existing timeout.\n cancelHostTimeout();\n } else {\n isHostTimeoutScheduled = true;\n } // Schedule a timeout.\n\n\n requestHostTimeout(handleTimeout, startTime - currentTime);\n }\n } else {\n newTask.sortIndex = expirationTime;\n push(taskQueue, newTask);\n {\n markTaskStart(newTask, currentTime);\n newTask.isQueued = true;\n } // Schedule a host callback, if needed. If we're already performing work,\n // wait until the next time we yield.\n\n if (!isHostCallbackScheduled && !isPerformingWork) {\n isHostCallbackScheduled = true;\n requestHostCallback(flushWork);\n }\n }\n\n return newTask;\n }\n\n function unstable_pauseExecution() {}\n\n function unstable_continueExecution() {\n if (!isHostCallbackScheduled && !isPerformingWork) {\n isHostCallbackScheduled = true;\n requestHostCallback(flushWork);\n }\n }\n\n function unstable_getFirstCallbackNode() {\n return peek(taskQueue);\n }\n\n function unstable_cancelCallback(task) {\n {\n if (task.isQueued) {\n var currentTime = exports.unstable_now();\n markTaskCanceled(task, currentTime);\n task.isQueued = false;\n }\n } // Null out the callback to indicate the task has been canceled. (Can't\n // remove from the queue because you can't remove arbitrary nodes from an\n // array based heap, only the first one.)\n\n task.callback = null;\n }\n\n function unstable_getCurrentPriorityLevel() {\n return currentPriorityLevel;\n }\n\n var unstable_requestPaint = requestPaint;\n var unstable_Profiling = {\n startLoggingProfilingEvents: startLoggingProfilingEvents,\n stopLoggingProfilingEvents: stopLoggingProfilingEvents,\n sharedProfilingBuffer: sharedProfilingBuffer\n };\n exports.unstable_IdlePriority = IdlePriority;\n exports.unstable_ImmediatePriority = ImmediatePriority;\n exports.unstable_LowPriority = LowPriority;\n exports.unstable_NormalPriority = NormalPriority;\n exports.unstable_Profiling = unstable_Profiling;\n exports.unstable_UserBlockingPriority = UserBlockingPriority;\n exports.unstable_cancelCallback = unstable_cancelCallback;\n exports.unstable_continueExecution = unstable_continueExecution;\n exports.unstable_getCurrentPriorityLevel = unstable_getCurrentPriorityLevel;\n exports.unstable_getFirstCallbackNode = unstable_getFirstCallbackNode;\n exports.unstable_next = unstable_next;\n exports.unstable_pauseExecution = unstable_pauseExecution;\n exports.unstable_requestPaint = unstable_requestPaint;\n exports.unstable_runWithPriority = unstable_runWithPriority;\n exports.unstable_scheduleCallback = unstable_scheduleCallback;\n exports.unstable_wrapCallback = unstable_wrapCallback;\n })();\n}","map":{"version":3,"sources":["C:/Users/kkwan_000/Desktop/git/2017110269/minsung/node_modules/scheduler/cjs/scheduler.development.js"],"names":["process","env","NODE_ENV","enableSchedulerDebugging","enableProfiling","requestHostCallback","requestHostTimeout","cancelHostTimeout","requestPaint","hasPerformanceNow","performance","now","localPerformance","exports","unstable_now","localDate","Date","initialTime","window","MessageChannel","_callback","_timeoutID","_flushCallback","currentTime","hasRemainingTime","e","setTimeout","cb","ms","clearTimeout","unstable_shouldYield","unstable_forceFrameRate","_setTimeout","_clearTimeout","console","requestAnimationFrame","cancelAnimationFrame","isMessageLoopRunning","scheduledHostCallback","taskTimeoutID","yieldInterval","deadline","fps","Math","floor","performWorkUntilDeadline","hasTimeRemaining","hasMoreWork","port","postMessage","error","channel","port2","port1","onmessage","callback","push","heap","node","index","length","siftUp","peek","first","undefined","pop","last","siftDown","i","parentIndex","parent","compare","leftIndex","left","rightIndex","right","a","b","diff","sortIndex","id","NoPriority","ImmediatePriority","UserBlockingPriority","NormalPriority","LowPriority","IdlePriority","runIdCounter","mainThreadIdCounter","profilingStateSize","sharedProfilingBuffer","SharedArrayBuffer","Int32Array","BYTES_PER_ELEMENT","ArrayBuffer","profilingState","PRIORITY","CURRENT_TASK_ID","CURRENT_RUN_ID","QUEUE_SIZE","INITIAL_EVENT_LOG_SIZE","MAX_EVENT_LOG_SIZE","eventLogSize","eventLogBuffer","eventLog","eventLogIndex","TaskStartEvent","TaskCompleteEvent","TaskErrorEvent","TaskCancelEvent","TaskRunEvent","TaskYieldEvent","SchedulerSuspendEvent","SchedulerResumeEvent","logEvent","entries","offset","stopLoggingProfilingEvents","newEventLog","set","buffer","startLoggingProfilingEvents","markTaskStart","task","priorityLevel","markTaskCompleted","markTaskCanceled","markTaskErrored","markTaskRun","markTaskYield","markSchedulerSuspended","markSchedulerUnsuspended","maxSigned31BitInt","IMMEDIATE_PRIORITY_TIMEOUT","USER_BLOCKING_PRIORITY_TIMEOUT","NORMAL_PRIORITY_TIMEOUT","LOW_PRIORITY_TIMEOUT","IDLE_PRIORITY_TIMEOUT","taskQueue","timerQueue","taskIdCounter","currentTask","currentPriorityLevel","isPerformingWork","isHostCallbackScheduled","isHostTimeoutScheduled","advanceTimers","timer","startTime","expirationTime","isQueued","handleTimeout","flushWork","firstTimer","previousPriorityLevel","workLoop","_currentTime","didUserCallbackTimeout","continuationCallback","unstable_runWithPriority","eventHandler","unstable_next","unstable_wrapCallback","parentPriorityLevel","apply","arguments","unstable_scheduleCallback","options","delay","timeout","newTask","unstable_pauseExecution","unstable_continueExecution","unstable_getFirstCallbackNode","unstable_cancelCallback","unstable_getCurrentPriorityLevel","unstable_requestPaint","unstable_Profiling","unstable_IdlePriority","unstable_ImmediatePriority","unstable_LowPriority","unstable_NormalPriority","unstable_UserBlockingPriority"],"mappings":"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","sourcesContent":["/** @license React v0.20.1\n * scheduler.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nvar enableSchedulerDebugging = false;\nvar enableProfiling = true;\n\nvar requestHostCallback;\nvar requestHostTimeout;\nvar cancelHostTimeout;\nvar requestPaint;\nvar hasPerformanceNow = typeof performance === 'object' && typeof performance.now === 'function';\n\nif (hasPerformanceNow) {\n var localPerformance = performance;\n\n exports.unstable_now = function () {\n return localPerformance.now();\n };\n} else {\n var localDate = Date;\n var initialTime = localDate.now();\n\n exports.unstable_now = function () {\n return localDate.now() - initialTime;\n };\n}\n\nif ( // If Scheduler runs in a non-DOM environment, it falls back to a naive\n// implementation using setTimeout.\ntypeof window === 'undefined' || // Check if MessageChannel is supported, too.\ntypeof MessageChannel !== 'function') {\n // If this accidentally gets imported in a non-browser environment, e.g. JavaScriptCore,\n // fallback to a naive implementation.\n var _callback = null;\n var _timeoutID = null;\n\n var _flushCallback = function () {\n if (_callback !== null) {\n try {\n var currentTime = exports.unstable_now();\n var hasRemainingTime = true;\n\n _callback(hasRemainingTime, currentTime);\n\n _callback = null;\n } catch (e) {\n setTimeout(_flushCallback, 0);\n throw e;\n }\n }\n };\n\n requestHostCallback = function (cb) {\n if (_callback !== null) {\n // Protect against re-entrancy.\n setTimeout(requestHostCallback, 0, cb);\n } else {\n _callback = cb;\n setTimeout(_flushCallback, 0);\n }\n };\n\n requestHostTimeout = function (cb, ms) {\n _timeoutID = setTimeout(cb, ms);\n };\n\n cancelHostTimeout = function () {\n clearTimeout(_timeoutID);\n };\n\n exports.unstable_shouldYield = function () {\n return false;\n };\n\n requestPaint = exports.unstable_forceFrameRate = function () {};\n} else {\n // Capture local references to native APIs, in case a polyfill overrides them.\n var _setTimeout = window.setTimeout;\n var _clearTimeout = window.clearTimeout;\n\n if (typeof console !== 'undefined') {\n // TODO: Scheduler no longer requires these methods to be polyfilled. But\n // maybe we want to continue warning if they don't exist, to preserve the\n // option to rely on it in the future?\n var requestAnimationFrame = window.requestAnimationFrame;\n var cancelAnimationFrame = window.cancelAnimationFrame;\n\n if (typeof requestAnimationFrame !== 'function') {\n // Using console['error'] to evade Babel and ESLint\n console['error'](\"This browser doesn't support requestAnimationFrame. \" + 'Make sure that you load a ' + 'polyfill in older browsers. https://reactjs.org/link/react-polyfills');\n }\n\n if (typeof cancelAnimationFrame !== 'function') {\n // Using console['error'] to evade Babel and ESLint\n console['error'](\"This browser doesn't support cancelAnimationFrame. \" + 'Make sure that you load a ' + 'polyfill in older browsers. https://reactjs.org/link/react-polyfills');\n }\n }\n\n var isMessageLoopRunning = false;\n var scheduledHostCallback = null;\n var taskTimeoutID = -1; // Scheduler periodically yields in case there is other work on the main\n // thread, like user events. By default, it yields multiple times per frame.\n // It does not attempt to align with frame boundaries, since most tasks don't\n // need to be frame aligned; for those that do, use requestAnimationFrame.\n\n var yieldInterval = 5;\n var deadline = 0; // TODO: Make this configurable\n\n {\n // `isInputPending` is not available. Since we have no way of knowing if\n // there's pending input, always yield at the end of the frame.\n exports.unstable_shouldYield = function () {\n return exports.unstable_now() >= deadline;\n }; // Since we yield every frame regardless, `requestPaint` has no effect.\n\n\n requestPaint = function () {};\n }\n\n exports.unstable_forceFrameRate = function (fps) {\n if (fps < 0 || fps > 125) {\n // Using console['error'] to evade Babel and ESLint\n console['error']('forceFrameRate takes a positive int between 0 and 125, ' + 'forcing frame rates higher than 125 fps is not supported');\n return;\n }\n\n if (fps > 0) {\n yieldInterval = Math.floor(1000 / fps);\n } else {\n // reset the framerate\n yieldInterval = 5;\n }\n };\n\n var performWorkUntilDeadline = function () {\n if (scheduledHostCallback !== null) {\n var currentTime = exports.unstable_now(); // Yield after `yieldInterval` ms, regardless of where we are in the vsync\n // cycle. This means there's always time remaining at the beginning of\n // the message event.\n\n deadline = currentTime + yieldInterval;\n var hasTimeRemaining = true;\n\n try {\n var hasMoreWork = scheduledHostCallback(hasTimeRemaining, currentTime);\n\n if (!hasMoreWork) {\n isMessageLoopRunning = false;\n scheduledHostCallback = null;\n } else {\n // If there's more work, schedule the next message event at the end\n // of the preceding one.\n port.postMessage(null);\n }\n } catch (error) {\n // If a scheduler task throws, exit the current browser task so the\n // error can be observed.\n port.postMessage(null);\n throw error;\n }\n } else {\n isMessageLoopRunning = false;\n } // Yielding to the browser will give it a chance to paint, so we can\n };\n\n var channel = new MessageChannel();\n var port = channel.port2;\n channel.port1.onmessage = performWorkUntilDeadline;\n\n requestHostCallback = function (callback) {\n scheduledHostCallback = callback;\n\n if (!isMessageLoopRunning) {\n isMessageLoopRunning = true;\n port.postMessage(null);\n }\n };\n\n requestHostTimeout = function (callback, ms) {\n taskTimeoutID = _setTimeout(function () {\n callback(exports.unstable_now());\n }, ms);\n };\n\n cancelHostTimeout = function () {\n _clearTimeout(taskTimeoutID);\n\n taskTimeoutID = -1;\n };\n}\n\nfunction push(heap, node) {\n var index = heap.length;\n heap.push(node);\n siftUp(heap, node, index);\n}\nfunction peek(heap) {\n var first = heap[0];\n return first === undefined ? null : first;\n}\nfunction pop(heap) {\n var first = heap[0];\n\n if (first !== undefined) {\n var last = heap.pop();\n\n if (last !== first) {\n heap[0] = last;\n siftDown(heap, last, 0);\n }\n\n return first;\n } else {\n return null;\n }\n}\n\nfunction siftUp(heap, node, i) {\n var index = i;\n\n while (true) {\n var parentIndex = index - 1 >>> 1;\n var parent = heap[parentIndex];\n\n if (parent !== undefined && compare(parent, node) > 0) {\n // The parent is larger. Swap positions.\n heap[parentIndex] = node;\n heap[index] = parent;\n index = parentIndex;\n } else {\n // The parent is smaller. Exit.\n return;\n }\n }\n}\n\nfunction siftDown(heap, node, i) {\n var index = i;\n var length = heap.length;\n\n while (index < length) {\n var leftIndex = (index + 1) * 2 - 1;\n var left = heap[leftIndex];\n var rightIndex = leftIndex + 1;\n var right = heap[rightIndex]; // If the left or right node is smaller, swap with the smaller of those.\n\n if (left !== undefined && compare(left, node) < 0) {\n if (right !== undefined && compare(right, left) < 0) {\n heap[index] = right;\n heap[rightIndex] = node;\n index = rightIndex;\n } else {\n heap[index] = left;\n heap[leftIndex] = node;\n index = leftIndex;\n }\n } else if (right !== undefined && compare(right, node) < 0) {\n heap[index] = right;\n heap[rightIndex] = node;\n index = rightIndex;\n } else {\n // Neither child is smaller. Exit.\n return;\n }\n }\n}\n\nfunction compare(a, b) {\n // Compare sort index first, then task id.\n var diff = a.sortIndex - b.sortIndex;\n return diff !== 0 ? diff : a.id - b.id;\n}\n\n// TODO: Use symbols?\nvar NoPriority = 0;\nvar ImmediatePriority = 1;\nvar UserBlockingPriority = 2;\nvar NormalPriority = 3;\nvar LowPriority = 4;\nvar IdlePriority = 5;\n\nvar runIdCounter = 0;\nvar mainThreadIdCounter = 0;\nvar profilingStateSize = 4;\nvar sharedProfilingBuffer = // $FlowFixMe Flow doesn't know about SharedArrayBuffer\ntypeof SharedArrayBuffer === 'function' ? new SharedArrayBuffer(profilingStateSize * Int32Array.BYTES_PER_ELEMENT) : // $FlowFixMe Flow doesn't know about ArrayBuffer\ntypeof ArrayBuffer === 'function' ? new ArrayBuffer(profilingStateSize * Int32Array.BYTES_PER_ELEMENT) : null // Don't crash the init path on IE9\n;\nvar profilingState = sharedProfilingBuffer !== null ? new Int32Array(sharedProfilingBuffer) : []; // We can't read this but it helps save bytes for null checks\n\nvar PRIORITY = 0;\nvar CURRENT_TASK_ID = 1;\nvar CURRENT_RUN_ID = 2;\nvar QUEUE_SIZE = 3;\n\n{\n profilingState[PRIORITY] = NoPriority; // This is maintained with a counter, because the size of the priority queue\n // array might include canceled tasks.\n\n profilingState[QUEUE_SIZE] = 0;\n profilingState[CURRENT_TASK_ID] = 0;\n} // Bytes per element is 4\n\n\nvar INITIAL_EVENT_LOG_SIZE = 131072;\nvar MAX_EVENT_LOG_SIZE = 524288; // Equivalent to 2 megabytes\n\nvar eventLogSize = 0;\nvar eventLogBuffer = null;\nvar eventLog = null;\nvar eventLogIndex = 0;\nvar TaskStartEvent = 1;\nvar TaskCompleteEvent = 2;\nvar TaskErrorEvent = 3;\nvar TaskCancelEvent = 4;\nvar TaskRunEvent = 5;\nvar TaskYieldEvent = 6;\nvar SchedulerSuspendEvent = 7;\nvar SchedulerResumeEvent = 8;\n\nfunction logEvent(entries) {\n if (eventLog !== null) {\n var offset = eventLogIndex;\n eventLogIndex += entries.length;\n\n if (eventLogIndex + 1 > eventLogSize) {\n eventLogSize *= 2;\n\n if (eventLogSize > MAX_EVENT_LOG_SIZE) {\n // Using console['error'] to evade Babel and ESLint\n console['error'](\"Scheduler Profiling: Event log exceeded maximum size. Don't \" + 'forget to call `stopLoggingProfilingEvents()`.');\n stopLoggingProfilingEvents();\n return;\n }\n\n var newEventLog = new Int32Array(eventLogSize * 4);\n newEventLog.set(eventLog);\n eventLogBuffer = newEventLog.buffer;\n eventLog = newEventLog;\n }\n\n eventLog.set(entries, offset);\n }\n}\n\nfunction startLoggingProfilingEvents() {\n eventLogSize = INITIAL_EVENT_LOG_SIZE;\n eventLogBuffer = new ArrayBuffer(eventLogSize * 4);\n eventLog = new Int32Array(eventLogBuffer);\n eventLogIndex = 0;\n}\nfunction stopLoggingProfilingEvents() {\n var buffer = eventLogBuffer;\n eventLogSize = 0;\n eventLogBuffer = null;\n eventLog = null;\n eventLogIndex = 0;\n return buffer;\n}\nfunction markTaskStart(task, ms) {\n {\n profilingState[QUEUE_SIZE]++;\n\n if (eventLog !== null) {\n // performance.now returns a float, representing milliseconds. When the\n // event is logged, it's coerced to an int. Convert to microseconds to\n // maintain extra degrees of precision.\n logEvent([TaskStartEvent, ms * 1000, task.id, task.priorityLevel]);\n }\n }\n}\nfunction markTaskCompleted(task, ms) {\n {\n profilingState[PRIORITY] = NoPriority;\n profilingState[CURRENT_TASK_ID] = 0;\n profilingState[QUEUE_SIZE]--;\n\n if (eventLog !== null) {\n logEvent([TaskCompleteEvent, ms * 1000, task.id]);\n }\n }\n}\nfunction markTaskCanceled(task, ms) {\n {\n profilingState[QUEUE_SIZE]--;\n\n if (eventLog !== null) {\n logEvent([TaskCancelEvent, ms * 1000, task.id]);\n }\n }\n}\nfunction markTaskErrored(task, ms) {\n {\n profilingState[PRIORITY] = NoPriority;\n profilingState[CURRENT_TASK_ID] = 0;\n profilingState[QUEUE_SIZE]--;\n\n if (eventLog !== null) {\n logEvent([TaskErrorEvent, ms * 1000, task.id]);\n }\n }\n}\nfunction markTaskRun(task, ms) {\n {\n runIdCounter++;\n profilingState[PRIORITY] = task.priorityLevel;\n profilingState[CURRENT_TASK_ID] = task.id;\n profilingState[CURRENT_RUN_ID] = runIdCounter;\n\n if (eventLog !== null) {\n logEvent([TaskRunEvent, ms * 1000, task.id, runIdCounter]);\n }\n }\n}\nfunction markTaskYield(task, ms) {\n {\n profilingState[PRIORITY] = NoPriority;\n profilingState[CURRENT_TASK_ID] = 0;\n profilingState[CURRENT_RUN_ID] = 0;\n\n if (eventLog !== null) {\n logEvent([TaskYieldEvent, ms * 1000, task.id, runIdCounter]);\n }\n }\n}\nfunction markSchedulerSuspended(ms) {\n {\n mainThreadIdCounter++;\n\n if (eventLog !== null) {\n logEvent([SchedulerSuspendEvent, ms * 1000, mainThreadIdCounter]);\n }\n }\n}\nfunction markSchedulerUnsuspended(ms) {\n {\n if (eventLog !== null) {\n logEvent([SchedulerResumeEvent, ms * 1000, mainThreadIdCounter]);\n }\n }\n}\n\n/* eslint-disable no-var */\n// Math.pow(2, 30) - 1\n// 0b111111111111111111111111111111\n\nvar maxSigned31BitInt = 1073741823; // Times out immediately\n\nvar IMMEDIATE_PRIORITY_TIMEOUT = -1; // Eventually times out\n\nvar USER_BLOCKING_PRIORITY_TIMEOUT = 250;\nvar NORMAL_PRIORITY_TIMEOUT = 5000;\nvar LOW_PRIORITY_TIMEOUT = 10000; // Never times out\n\nvar IDLE_PRIORITY_TIMEOUT = maxSigned31BitInt; // Tasks are stored on a min heap\n\nvar taskQueue = [];\nvar timerQueue = []; // Incrementing id counter. Used to maintain insertion order.\n\nvar taskIdCounter = 1; // Pausing the scheduler is useful for debugging.\nvar currentTask = null;\nvar currentPriorityLevel = NormalPriority; // This is set while performing work, to prevent re-entrancy.\n\nvar isPerformingWork = false;\nvar isHostCallbackScheduled = false;\nvar isHostTimeoutScheduled = false;\n\nfunction advanceTimers(currentTime) {\n // Check for tasks that are no longer delayed and add them to the queue.\n var timer = peek(timerQueue);\n\n while (timer !== null) {\n if (timer.callback === null) {\n // Timer was cancelled.\n pop(timerQueue);\n } else if (timer.startTime <= currentTime) {\n // Timer fired. Transfer to the task queue.\n pop(timerQueue);\n timer.sortIndex = timer.expirationTime;\n push(taskQueue, timer);\n\n {\n markTaskStart(timer, currentTime);\n timer.isQueued = true;\n }\n } else {\n // Remaining timers are pending.\n return;\n }\n\n timer = peek(timerQueue);\n }\n}\n\nfunction handleTimeout(currentTime) {\n isHostTimeoutScheduled = false;\n advanceTimers(currentTime);\n\n if (!isHostCallbackScheduled) {\n if (peek(taskQueue) !== null) {\n isHostCallbackScheduled = true;\n requestHostCallback(flushWork);\n } else {\n var firstTimer = peek(timerQueue);\n\n if (firstTimer !== null) {\n requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n }\n }\n }\n}\n\nfunction flushWork(hasTimeRemaining, initialTime) {\n {\n markSchedulerUnsuspended(initialTime);\n } // We'll need a host callback the next time work is scheduled.\n\n\n isHostCallbackScheduled = false;\n\n if (isHostTimeoutScheduled) {\n // We scheduled a timeout but it's no longer needed. Cancel it.\n isHostTimeoutScheduled = false;\n cancelHostTimeout();\n }\n\n isPerformingWork = true;\n var previousPriorityLevel = currentPriorityLevel;\n\n try {\n if (enableProfiling) {\n try {\n return workLoop(hasTimeRemaining, initialTime);\n } catch (error) {\n if (currentTask !== null) {\n var currentTime = exports.unstable_now();\n markTaskErrored(currentTask, currentTime);\n currentTask.isQueued = false;\n }\n\n throw error;\n }\n } else {\n // No catch in prod code path.\n return workLoop(hasTimeRemaining, initialTime);\n }\n } finally {\n currentTask = null;\n currentPriorityLevel = previousPriorityLevel;\n isPerformingWork = false;\n\n {\n var _currentTime = exports.unstable_now();\n\n markSchedulerSuspended(_currentTime);\n }\n }\n}\n\nfunction workLoop(hasTimeRemaining, initialTime) {\n var currentTime = initialTime;\n advanceTimers(currentTime);\n currentTask = peek(taskQueue);\n\n while (currentTask !== null && !(enableSchedulerDebugging )) {\n if (currentTask.expirationTime > currentTime && (!hasTimeRemaining || exports.unstable_shouldYield())) {\n // This currentTask hasn't expired, and we've reached the deadline.\n break;\n }\n\n var callback = currentTask.callback;\n\n if (typeof callback === 'function') {\n currentTask.callback = null;\n currentPriorityLevel = currentTask.priorityLevel;\n var didUserCallbackTimeout = currentTask.expirationTime <= currentTime;\n markTaskRun(currentTask, currentTime);\n var continuationCallback = callback(didUserCallbackTimeout);\n currentTime = exports.unstable_now();\n\n if (typeof continuationCallback === 'function') {\n currentTask.callback = continuationCallback;\n markTaskYield(currentTask, currentTime);\n } else {\n {\n markTaskCompleted(currentTask, currentTime);\n currentTask.isQueued = false;\n }\n\n if (currentTask === peek(taskQueue)) {\n pop(taskQueue);\n }\n }\n\n advanceTimers(currentTime);\n } else {\n pop(taskQueue);\n }\n\n currentTask = peek(taskQueue);\n } // Return whether there's additional work\n\n\n if (currentTask !== null) {\n return true;\n } else {\n var firstTimer = peek(timerQueue);\n\n if (firstTimer !== null) {\n requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n }\n\n return false;\n }\n}\n\nfunction unstable_runWithPriority(priorityLevel, eventHandler) {\n switch (priorityLevel) {\n case ImmediatePriority:\n case UserBlockingPriority:\n case NormalPriority:\n case LowPriority:\n case IdlePriority:\n break;\n\n default:\n priorityLevel = NormalPriority;\n }\n\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n}\n\nfunction unstable_next(eventHandler) {\n var priorityLevel;\n\n switch (currentPriorityLevel) {\n case ImmediatePriority:\n case UserBlockingPriority:\n case NormalPriority:\n // Shift down to normal priority\n priorityLevel = NormalPriority;\n break;\n\n default:\n // Anything lower than normal priority should remain at the current level.\n priorityLevel = currentPriorityLevel;\n break;\n }\n\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n}\n\nfunction unstable_wrapCallback(callback) {\n var parentPriorityLevel = currentPriorityLevel;\n return function () {\n // This is a fork of runWithPriority, inlined for performance.\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = parentPriorityLevel;\n\n try {\n return callback.apply(this, arguments);\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n };\n}\n\nfunction unstable_scheduleCallback(priorityLevel, callback, options) {\n var currentTime = exports.unstable_now();\n var startTime;\n\n if (typeof options === 'object' && options !== null) {\n var delay = options.delay;\n\n if (typeof delay === 'number' && delay > 0) {\n startTime = currentTime + delay;\n } else {\n startTime = currentTime;\n }\n } else {\n startTime = currentTime;\n }\n\n var timeout;\n\n switch (priorityLevel) {\n case ImmediatePriority:\n timeout = IMMEDIATE_PRIORITY_TIMEOUT;\n break;\n\n case UserBlockingPriority:\n timeout = USER_BLOCKING_PRIORITY_TIMEOUT;\n break;\n\n case IdlePriority:\n timeout = IDLE_PRIORITY_TIMEOUT;\n break;\n\n case LowPriority:\n timeout = LOW_PRIORITY_TIMEOUT;\n break;\n\n case NormalPriority:\n default:\n timeout = NORMAL_PRIORITY_TIMEOUT;\n break;\n }\n\n var expirationTime = startTime + timeout;\n var newTask = {\n id: taskIdCounter++,\n callback: callback,\n priorityLevel: priorityLevel,\n startTime: startTime,\n expirationTime: expirationTime,\n sortIndex: -1\n };\n\n {\n newTask.isQueued = false;\n }\n\n if (startTime > currentTime) {\n // This is a delayed task.\n newTask.sortIndex = startTime;\n push(timerQueue, newTask);\n\n if (peek(taskQueue) === null && newTask === peek(timerQueue)) {\n // All tasks are delayed, and this is the task with the earliest delay.\n if (isHostTimeoutScheduled) {\n // Cancel an existing timeout.\n cancelHostTimeout();\n } else {\n isHostTimeoutScheduled = true;\n } // Schedule a timeout.\n\n\n requestHostTimeout(handleTimeout, startTime - currentTime);\n }\n } else {\n newTask.sortIndex = expirationTime;\n push(taskQueue, newTask);\n\n {\n markTaskStart(newTask, currentTime);\n newTask.isQueued = true;\n } // Schedule a host callback, if needed. If we're already performing work,\n // wait until the next time we yield.\n\n\n if (!isHostCallbackScheduled && !isPerformingWork) {\n isHostCallbackScheduled = true;\n requestHostCallback(flushWork);\n }\n }\n\n return newTask;\n}\n\nfunction unstable_pauseExecution() {\n}\n\nfunction unstable_continueExecution() {\n\n if (!isHostCallbackScheduled && !isPerformingWork) {\n isHostCallbackScheduled = true;\n requestHostCallback(flushWork);\n }\n}\n\nfunction unstable_getFirstCallbackNode() {\n return peek(taskQueue);\n}\n\nfunction unstable_cancelCallback(task) {\n {\n if (task.isQueued) {\n var currentTime = exports.unstable_now();\n markTaskCanceled(task, currentTime);\n task.isQueued = false;\n }\n } // Null out the callback to indicate the task has been canceled. (Can't\n // remove from the queue because you can't remove arbitrary nodes from an\n // array based heap, only the first one.)\n\n\n task.callback = null;\n}\n\nfunction unstable_getCurrentPriorityLevel() {\n return currentPriorityLevel;\n}\n\nvar unstable_requestPaint = requestPaint;\nvar unstable_Profiling = {\n startLoggingProfilingEvents: startLoggingProfilingEvents,\n stopLoggingProfilingEvents: stopLoggingProfilingEvents,\n sharedProfilingBuffer: sharedProfilingBuffer\n} ;\n\nexports.unstable_IdlePriority = IdlePriority;\nexports.unstable_ImmediatePriority = ImmediatePriority;\nexports.unstable_LowPriority = LowPriority;\nexports.unstable_NormalPriority = NormalPriority;\nexports.unstable_Profiling = unstable_Profiling;\nexports.unstable_UserBlockingPriority = UserBlockingPriority;\nexports.unstable_cancelCallback = unstable_cancelCallback;\nexports.unstable_continueExecution = unstable_continueExecution;\nexports.unstable_getCurrentPriorityLevel = unstable_getCurrentPriorityLevel;\nexports.unstable_getFirstCallbackNode = unstable_getFirstCallbackNode;\nexports.unstable_next = unstable_next;\nexports.unstable_pauseExecution = unstable_pauseExecution;\nexports.unstable_requestPaint = unstable_requestPaint;\nexports.unstable_runWithPriority = unstable_runWithPriority;\nexports.unstable_scheduleCallback = unstable_scheduleCallback;\nexports.unstable_wrapCallback = unstable_wrapCallback;\n })();\n}\n"]},"metadata":{},"sourceType":"script"}