| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 |
- /**
- * @license React
- * scheduler-unstable_post_task.development.js
- *
- * Copyright (c) Meta Platforms, Inc. and affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
- "use strict";
- "production" !== process.env.NODE_ENV &&
- (function () {
- function runTask(priorityLevel, postTaskPriority, node, callback) {
- deadline = getCurrentTime() + 5;
- try {
- currentPriorityLevel_DEPRECATED = priorityLevel;
- var result = callback(!1);
- if ("function" === typeof result) {
- var continuationOptions = { signal: node._controller.signal },
- nextTask = runTask.bind(
- null,
- priorityLevel,
- postTaskPriority,
- node,
- result
- );
- void 0 !== scheduler.yield
- ? scheduler
- .yield(continuationOptions)
- .then(nextTask)
- .catch(handleAbortError)
- : scheduler
- .postTask(nextTask, continuationOptions)
- .catch(handleAbortError);
- }
- } catch (error) {
- setTimeout(function () {
- throw error;
- });
- } finally {
- currentPriorityLevel_DEPRECATED = 3;
- }
- }
- function handleAbortError() {}
- var perf = window.performance,
- setTimeout = window.setTimeout,
- scheduler = global.scheduler,
- getCurrentTime = perf.now.bind(perf),
- deadline = 0,
- currentPriorityLevel_DEPRECATED = 3;
- exports.unstable_IdlePriority = 5;
- exports.unstable_ImmediatePriority = 1;
- exports.unstable_LowPriority = 4;
- exports.unstable_NormalPriority = 3;
- exports.unstable_Profiling = null;
- exports.unstable_UserBlockingPriority = 2;
- exports.unstable_cancelCallback = function (node) {
- node._controller.abort();
- };
- exports.unstable_forceFrameRate = function () {};
- exports.unstable_getCurrentPriorityLevel = function () {
- return currentPriorityLevel_DEPRECATED;
- };
- exports.unstable_next = function (callback) {
- switch (currentPriorityLevel_DEPRECATED) {
- case 1:
- case 2:
- case 3:
- var priorityLevel = 3;
- break;
- default:
- priorityLevel = currentPriorityLevel_DEPRECATED;
- }
- var previousPriorityLevel = currentPriorityLevel_DEPRECATED;
- currentPriorityLevel_DEPRECATED = priorityLevel;
- try {
- return callback();
- } finally {
- currentPriorityLevel_DEPRECATED = previousPriorityLevel;
- }
- };
- exports.unstable_now = getCurrentTime;
- exports.unstable_requestPaint = function () {};
- exports.unstable_runWithPriority = function (priorityLevel, callback) {
- var previousPriorityLevel = currentPriorityLevel_DEPRECATED;
- currentPriorityLevel_DEPRECATED = priorityLevel;
- try {
- return callback();
- } finally {
- currentPriorityLevel_DEPRECATED = previousPriorityLevel;
- }
- };
- exports.unstable_scheduleCallback = function (
- priorityLevel,
- callback,
- options
- ) {
- switch (priorityLevel) {
- case 1:
- case 2:
- var postTaskPriority = "user-blocking";
- break;
- case 4:
- case 3:
- postTaskPriority = "user-visible";
- break;
- case 5:
- postTaskPriority = "background";
- break;
- default:
- postTaskPriority = "user-visible";
- }
- var controller = new TaskController({ priority: postTaskPriority });
- options = {
- delay:
- "object" === typeof options && null !== options ? options.delay : 0,
- signal: controller.signal
- };
- controller = { _controller: controller };
- scheduler
- .postTask(
- runTask.bind(
- null,
- priorityLevel,
- postTaskPriority,
- controller,
- callback
- ),
- options
- )
- .catch(handleAbortError);
- return controller;
- };
- exports.unstable_shouldYield = function () {
- return getCurrentTime() >= deadline;
- };
- exports.unstable_wrapCallback = function (callback) {
- var parentPriorityLevel = currentPriorityLevel_DEPRECATED;
- return function () {
- var previousPriorityLevel = currentPriorityLevel_DEPRECATED;
- currentPriorityLevel_DEPRECATED = parentPriorityLevel;
- try {
- return callback();
- } finally {
- currentPriorityLevel_DEPRECATED = previousPriorityLevel;
- }
- };
- };
- })();
|