source: node_modules/scheduler/cjs/scheduler-unstable_post_task.development.js@ a762898

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

Added visualizations

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