react-native-epson-escposprinter
Version:
A Turbo Module wrapper for the Epson ePOS Printer SDK.
48 lines • 2.01 kB
TypeScript
import type { Promisable } from "type-fest";
/**
* Async iterator with manual resolvers exposed.
*
* The Promise.withResolvers counterpart for async iterators.
*/
export interface AsyncIteratorWithResolvers<T, TReturn = unknown, TNext = unknown> extends AsyncIterator<T, TReturn, TNext>, AsyncDisposable {
/** Indicates the iterator is not closed by return(). */
readonly active: boolean;
/** Number of values waiting to be consumed via .push(). */
readonly backPressure: number;
/** Number of consumers waiting for values via .next(). */
readonly frontPressure: number;
/** Push a value to the iterator. */
push: (value: T | Promise<T>) => void;
/** Close the iterator. */
return(value?: Promisable<TReturn>,
/**
* Drop pending values in the queue, specify false to let the iterator
* finish gracefully.
*
* @default true
*/
force?: boolean): Promise<IteratorResult<T, TReturn>>;
}
/**
* Options for async iterator with resolvers.
*/
export interface AsyncIteratorWithResolversOptions {
readonly dispose?: () => Promisable<void>;
}
/**
* Create an async iterator for deferred iterator.
*/
export declare const asyncIteratorWithResolvers: <T, TReturn = unknown, TNext = unknown>(options?: AsyncIteratorWithResolversOptions) => AsyncIteratorWithResolvers<T, TReturn, TNext>;
/**
* Async iterable iterator with manual resolvers exposed.
*/
export interface AsyncIterableWithResolvers<T, TReturn = unknown, TNext = unknown> extends AsyncIteratorWithResolvers<T, TReturn, TNext> {
[Symbol.asyncIterator](): AsyncIteratorWithResolvers<T, TReturn, TNext>;
}
/**
* Create an async iterator for deferred iterable.
*
* Manually push values to the iterator and closes it when done.
*/
export declare const asyncIterableIteratorWithResolvers: <T, TReturn = unknown, TNext = unknown>(options?: AsyncIteratorWithResolversOptions) => AsyncIterableWithResolvers<T, TReturn, TNext>;
//# sourceMappingURL=asyncIterator.d.ts.map