source: node_modules/scheduler/cjs/scheduler-unstable_post_task.production.js@ ba17441

Last change on this file since ba17441 was a762898, checked in by istevanoska <ilinastevanoska@…>, 5 months ago

Added visualizations

  • Property mode set to 100644
File size: 3.9 KB
Line 
1/**
2 * @license React
3 * scheduler-unstable_post_task.production.js
4 *
5 * Copyright (c) Meta Platforms, Inc. and affiliates.
6 *
7 * This source code is licensed under the MIT license found in the
8 * LICENSE file in the root directory of this source tree.
9 */
10
11"use strict";
12var perf = window.performance,
13 setTimeout = window.setTimeout,
14 scheduler = global.scheduler,
15 getCurrentTime = perf.now.bind(perf),
16 deadline = 0,
17 currentPriorityLevel_DEPRECATED = 3;
18function runTask(priorityLevel, postTaskPriority, node, callback) {
19 deadline = getCurrentTime() + 5;
20 try {
21 currentPriorityLevel_DEPRECATED = priorityLevel;
22 var result = callback(!1);
23 if ("function" === typeof result) {
24 var continuationOptions = { signal: node._controller.signal },
25 nextTask = runTask.bind(
26 null,
27 priorityLevel,
28 postTaskPriority,
29 node,
30 result
31 );
32 void 0 !== scheduler.yield
33 ? scheduler
34 .yield(continuationOptions)
35 .then(nextTask)
36 .catch(handleAbortError)
37 : scheduler
38 .postTask(nextTask, continuationOptions)
39 .catch(handleAbortError);
40 }
41 } catch (error) {
42 setTimeout(function () {
43 throw error;
44 });
45 } finally {
46 currentPriorityLevel_DEPRECATED = 3;
47 }
48}
49function handleAbortError() {}
50exports.unstable_IdlePriority = 5;
51exports.unstable_ImmediatePriority = 1;
52exports.unstable_LowPriority = 4;
53exports.unstable_NormalPriority = 3;
54exports.unstable_Profiling = null;
55exports.unstable_UserBlockingPriority = 2;
56exports.unstable_cancelCallback = function (node) {
57 node._controller.abort();
58};
59exports.unstable_forceFrameRate = function () {};
60exports.unstable_getCurrentPriorityLevel = function () {
61 return currentPriorityLevel_DEPRECATED;
62};
63exports.unstable_next = function (callback) {
64 switch (currentPriorityLevel_DEPRECATED) {
65 case 1:
66 case 2:
67 case 3:
68 var priorityLevel = 3;
69 break;
70 default:
71 priorityLevel = currentPriorityLevel_DEPRECATED;
72 }
73 var previousPriorityLevel = currentPriorityLevel_DEPRECATED;
74 currentPriorityLevel_DEPRECATED = priorityLevel;
75 try {
76 return callback();
77 } finally {
78 currentPriorityLevel_DEPRECATED = previousPriorityLevel;
79 }
80};
81exports.unstable_now = getCurrentTime;
82exports.unstable_requestPaint = function () {};
83exports.unstable_runWithPriority = function (priorityLevel, callback) {
84 var previousPriorityLevel = currentPriorityLevel_DEPRECATED;
85 currentPriorityLevel_DEPRECATED = priorityLevel;
86 try {
87 return callback();
88 } finally {
89 currentPriorityLevel_DEPRECATED = previousPriorityLevel;
90 }
91};
92exports.unstable_scheduleCallback = function (
93 priorityLevel,
94 callback,
95 options
96) {
97 switch (priorityLevel) {
98 case 1:
99 case 2:
100 var postTaskPriority = "user-blocking";
101 break;
102 case 4:
103 case 3:
104 postTaskPriority = "user-visible";
105 break;
106 case 5:
107 postTaskPriority = "background";
108 break;
109 default:
110 postTaskPriority = "user-visible";
111 }
112 var controller = new TaskController({ priority: postTaskPriority });
113 options = {
114 delay: "object" === typeof options && null !== options ? options.delay : 0,
115 signal: controller.signal
116 };
117 controller = { _controller: controller };
118 scheduler
119 .postTask(
120 runTask.bind(null, priorityLevel, postTaskPriority, controller, callback),
121 options
122 )
123 .catch(handleAbortError);
124 return controller;
125};
126exports.unstable_shouldYield = function () {
127 return getCurrentTime() >= deadline;
128};
129exports.unstable_wrapCallback = function (callback) {
130 var parentPriorityLevel = currentPriorityLevel_DEPRECATED;
131 return function () {
132 var previousPriorityLevel = currentPriorityLevel_DEPRECATED;
133 currentPriorityLevel_DEPRECATED = parentPriorityLevel;
134 try {
135 return callback();
136 } finally {
137 currentPriorityLevel_DEPRECATED = previousPriorityLevel;
138 }
139 };
140};
Note: See TracBrowser for help on using the repository browser.