@polymer/polymer
Version:
The Polymer library makes it easy to create your own web components. Give your element some markup and properties, and then use it on a site. Polymer provides features like dynamic templates and data binding to reduce the amount of boilerplate you need to
123 lines (95 loc) • 3.13 kB
TypeScript
/**
* DO NOT EDIT
*
* This file was automatically generated by
* https://github.com/Polymer/tools/tree/master/packages/gen-typescript-declarations
*
* To modify these typings, edit the source file(s):
* lib/utils/async.html
*/
// tslint:disable:variable-name Describing an API that's defined elsewhere.
/// <reference path="boot.d.ts" />
declare namespace Polymer {
/**
* Module that provides a number of strategies for enqueuing asynchronous
* tasks. Each sub-module provides a standard `run(fn)` interface that returns a
* handle, and a `cancel(handle)` interface for canceling async tasks before
* they run.
*/
namespace Async {
/**
* Async interface wrapper around `setTimeout`.
*/
namespace timeOut {
/**
* Returns a sub-module with the async interface providing the provided
* delay.
*
* @returns An async timeout interface
*/
function after(delay?: number): AsyncInterface;
/**
* Enqueues a function called in the next task.
*
* @returns Handle used for canceling task
*/
function run(fn: Function, delay?: number): number;
/**
* Cancels a previously enqueued `timeOut` callback.
*/
function cancel(handle: number): void;
}
/**
* Async interface wrapper around `requestAnimationFrame`.
*/
namespace animationFrame {
/**
* Enqueues a function called at `requestAnimationFrame` timing.
*
* @returns Handle used for canceling task
*/
function run(fn: (p0: number) => void): number;
/**
* Cancels a previously enqueued `animationFrame` callback.
*/
function cancel(handle: number): void;
}
/**
* Async interface wrapper around `requestIdleCallback`. Falls back to
* `setTimeout` on browsers that do not support `requestIdleCallback`.
*/
namespace idlePeriod {
/**
* Enqueues a function called at `requestIdleCallback` timing.
*
* @returns Handle used for canceling task
*/
function run(fn: (p0: IdleDeadline) => void): number;
/**
* Cancels a previously enqueued `idlePeriod` callback.
*/
function cancel(handle: number): void;
}
/**
* Async interface for enqueuing callbacks that run at microtask timing.
*
* Note that microtask timing is achieved via a single `MutationObserver`,
* and thus callbacks enqueued with this API will all run in a single
* batch, and not interleaved with other microtasks such as promises.
* Promises are avoided as an implementation choice for the time being
* due to Safari bugs that cause Promises to lack microtask guarantees.
*/
namespace microTask {
/**
* Enqueues a function called at microtask timing.
*
* @returns Handle used for canceling task
*/
function run(callback?: Function): number;
/**
* Cancels a previously enqueued `microTask` callback.
*/
function cancel(handle: number): void;
}
}
}