Initial Save

This commit is contained in:
jackbeeby
2025-03-28 12:30:19 +11:00
parent e381994f19
commit d8773925e8
9910 changed files with 982718 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
// @flow strict
import { $$asyncIterator } from 'iterall';
/**
* Given an error, returns an AsyncIterable which will fail with that error.
*
* Similar to Promise.reject(error)
*/
export default function asyncIteratorReject(error: Error): AsyncIterator<void> {
let isComplete = false;
/* TODO: Flow doesn't support symbols as keys:
https://github.com/facebook/flow/issues/3258 */
return ({
next() {
const result = isComplete
? Promise.resolve({ value: undefined, done: true })
: Promise.reject(error);
isComplete = true;
return result;
},
return() {
isComplete = true;
return Promise.resolve({ value: undefined, done: true });
},
throw() {
isComplete = true;
return Promise.reject(error);
},
[$$asyncIterator]() {
return this;
},
}: any);
}