UNPKG

simple-pure-utils

Version:

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

35 lines (34 loc) 2.35 kB
interface ThenArg<T> { onfulfilled: ((value: T) => any | PromiseLike<any>) | undefined | null; onrejected: ((reason: any) => any | PromiseLike<any>) | undefined | null; } /**Muy similar al @see Promise pero si el resolve se ejecuta inmediatamente la promesa se resuelve síncronamente * Esto permite obtener el valor de una promesa resuelta sincronamente con el @see syncPromiseValue * Puede convertir una promesa de javascript a un SyncPromise con el @see toSyncPromise, aunque no tendrá el comportamiento síncrono * * Para que una promesa sea sincrona desde su origen debe de ser creada de forma síncrona, ya sea construyendo esta clase o con los metodos para crear promesas como * @see synResolve @see syncFail @see splitPromise * * Note que @see delay(0) no devuelve una promesa síncrona */ export declare class SyncPromise<T> implements PromiseLike<T> { constructor(executor: (resolve: (value?: T | PromiseLike<T>) => void, reject: (reason?: any) => void) => void); resolve: (value?: T | PromiseLike<T>) => void; private syncResolve; reject: (reason?: any) => void; listeners: (() => void)[]; callListeners: () => void; value?: T; error?: any; status: "pending" | "resolved" | "error"; callThenArg: <TResult1 = T, TResult2 = never>(arg: ThenArg<T>) => TResult1 | PromiseLike<TResult1 | TResult2>; then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): PromiseLike<any>; } /**Devuelve una promesa que se resuelve síncronamente con el valor especificado, esto es diferente a Promise.resolve(x) ya que el metodo then del Promise.resolve() no se resuleve inmediatamente después de construir la promesa */ export declare function syncResolve<T>(x: T | PromiseLike<T>): PromiseLike<T>; export declare function syncResolve(): PromiseLike<void>; /**Devuelve una promesa que se resuelve síncronamente con el valor especificado, esto es diferente a Promise.resolve(x) ya que el metodo then del Promise.resolve() no se resuleve inmediatamente después de construir la promesa */ export declare function syncFail(reason: any): PromiseLike<any>; /**Una promesa que nunca se resuleve */ export declare const never: Promise<never>; export {};