UNPKG

google-closure-compiler

Version:

Check, compile, optimize and compress Javascript with Closure-Compiler

147 lines (122 loc) 3.85 kB
/* * Copyright 2023 The Closure Compiler Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * @fileoverview The current draft spec of Prioritized Task Scheduling API. * @see https://wicg.github.io/scheduling-apis/ * @externs */ /** * @typedef {string} * @see https://wicg.github.io/scheduling-apis/#enumdef-taskpriority */ var TaskPriority; /** * @typedef {function()} * @see https://wicg.github.io/scheduling-apis/#callbackdef-schedulerposttaskcallback */ var SchedulerPostTaskCallback; /** * @typedef {{ * signal: (!AbortSignal|undefined), * priority: (!TaskPriority|undefined), * delay: (number|undefined) * }} * @see https://wicg.github.io/scheduling-apis/#dictdef-schedulerposttaskoptions */ var SchedulerPostTaskOptions; /** * @record * @see https://wicg.github.io/scheduling-apis/#dictdef-taskcontrollerinit */ function TaskControllerInit() {} /** @type {!TaskPriority|undefined} */ TaskControllerInit.prototype.priority; /** * @record * @extends {EventInit} * @see https://wicg.github.io/scheduling-apis/#dictdef-taskprioritychangeeventinit */ function TaskPriorityChangeEventInit() {} /** @type {!TaskPriority} */ TaskPriorityChangeEventInit.prototype.previousPriority; /** * @record * @see https://wicg.github.io/scheduling-apis/#dictdef-tasksignalanyinit */ function TaskSignalAnyInit() {} /** @type {(!TaskPriority|!TaskSignal|undefined)} */ TaskSignalAnyInit.prototype.priority; /** * @constructor * @extends {AbortController} * @param {!TaskControllerInit=} opt_init * @see https://developer.mozilla.org/en-US/docs/Web/API/TaskController */ function TaskController(opt_init) {} /** * @param {!TaskPriority} priority * @return {undefined} */ TaskController.prototype.setPriority = function(priority) {}; /** * @constructor * @extends {Event} * @param {string} type * @param {!TaskPriorityChangeEventInit} eventInitDict * @see https://developer.mozilla.org/en-US/docs/Web/API/TaskPriorityChangeEvent */ function TaskPriorityChangeEvent(type, eventInitDict) {} /** @type {!TaskPriority} */ TaskPriorityChangeEvent.prototype.previousPriority; /** * @constructor * @extends {AbortSignal} * @see https://developer.mozilla.org/en-US/docs/Web/API/TaskSignal */ function TaskSignal() {} /** @type {?function(!TaskPriorityChangeEvent)} */ TaskSignal.prototype.onprioritychange; /** @type {!TaskPriority} */ TaskSignal.prototype.priority; /** * @param {!Array<!AbortSignal>} signals * @param {!TaskSignalAnyInit=} opt_init * @return {!TaskSignal} * @see https://developer.mozilla.org/en-US/docs/Web/API/TaskSignal/any_static */ TaskSignal.any = function(signals, opt_init) {}; /** * @see https://wicg.github.io/scheduling-apis/#sec-scheduler * @interface */ function Scheduler() {} /** * @param {!SchedulerPostTaskCallback} callback * @param {!SchedulerPostTaskOptions=} options * @see https://developer.mozilla.org/en-US/docs/Web/API/Scheduler/postTask */ Scheduler.prototype.postTask = function(callback, options) {}; /** * @return {!Promise<undefined>} * @see https://developer.mozilla.org/en-US/docs/Web/API/Scheduler/yield */ Scheduler.prototype.yield = function() {}; /** @const {!Scheduler} */ Window.prototype.scheduler; /** @const {!Scheduler} */ WorkerGlobalScope.prototype.scheduler; /** @const {!Scheduler} */ var scheduler;