UNPKG

simple-pure-utils

Version:

Funciones puras para manipulación de objetos, arreglos, promesas y observables

29 lines (28 loc) 1.51 kB
/**True si la promesa se resuelve síncronamente */ export declare function isSyncPromise(x: PromiseLike<any>): boolean; interface SyncPromiseResult<T> { value?: T; error?: any; status: "resolved" | "error" | "pending"; } /**Devuelve un objeto con el valor de la promesa si es síncrona, si no, devuelve un objeto indicando que no se pudo obtener su valor*/ export declare function syncPromiseValue<T>(x: PromiseLike<T>): SyncPromiseResult<T>; /**Una clase de una promesa */ interface PromiseClass { new (executor: (resolve: (value: any) => any) => any): PromiseLike<any>; } /**Devuelve true si una implementación de Promise soporta resolución síncrona */ export declare function isSyncPromiseType(promiseClass: PromiseClass): boolean; /** * Devuelve una promesa que internamente almacena su valor una vez que fue resuelta, de tal manera que al resolverse de nuevo se resuleve de forma síncrona. * Esto mejora el rendimiento bastante el rendimiento ya que se puede verificar de forma síncrona si la promesa ya esta resuelta (no se ocupa un estatus intermedio de "cargando") * @param x Una promesa */ export declare function toSyncPromise<T>(x: PromiseLike<T>): PromiseLike<T>; /**Crea una nueva promesa y devuelve por separado la promesa y las funciones que resuelven y rechazan a la promesa */ export declare function splitPromise<T>(): { promise: PromiseLike<T>; resolve: (value?: T | PromiseLike<T> | undefined) => void; reject: (reason?: any) => void; }; export {};