Dorian 0d073fa89e Add comprehensive installation and setup documentation
- Add GETTING_STARTED.md with quick start guide and development modes
- Add INSTALL.sh automated installation script
- Add INSTALLATION_CHECKLIST.md, INSTALLATION_SUCCESS.md, and INSTALLATION_SUMMARY.md
- Add QUICK_REFERENCE.md for common commands
- Add SETUP_GUIDE.md with detailed setup instructions
- Update README.md with improved project overview
- Add did-wallet app dependencies and node_modules
2026-01-27 17:18:21 +00:00

61 lines
1.4 KiB
TypeScript

/**
* @packageDocumentation
*
* Lets you look at the contents of an async iterator and decide what to do
*
* @example
*
* ```javascript
* import peekable from 'it-peekable'
*
* // This can also be an iterator, generator, etc
* const values = [0, 1, 2, 3, 4]
*
* const it = peekable(value)
*
* const first = it.peek()
*
* console.info(first) // 0
*
* it.push(first)
*
* console.info([...it])
* // [ 0, 1, 2, 3, 4 ]
* ```
*
* Async sources must be awaited:
*
* ```javascript
* import peekable from 'it-peekable'
*
* const values = async function * () {
* yield * [0, 1, 2, 3, 4]
* }
*
* const it = peekable(values())
*
* const first = await it.peek()
*
* console.info(first) // 0
*
* it.push(first)
*
* console.info(await all(it))
* // [ 0, 1, 2, 3, 4 ]
* ```
*/
export interface Peek<T> {
peek(): IteratorResult<T, undefined>;
}
export interface AsyncPeek<T> {
peek(): Promise<IteratorResult<T, undefined>>;
}
export interface Push<T> {
push(value: T): void;
}
export type Peekable<T> = Iterable<T> & Peek<T> & Push<T> & Iterator<T>;
export type AsyncPeekable<T> = AsyncIterable<T> & AsyncPeek<T> & Push<T> & AsyncIterator<T>;
declare function peekable<T>(iterable: Iterable<T>): Peekable<T>;
declare function peekable<T>(iterable: AsyncIterable<T>): AsyncPeekable<T>;
export default peekable;
//# sourceMappingURL=index.d.ts.map