node_modules.graphql.subscription.asyncIteratorReject.js.flow Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of apollo-client-maven-plugin Show documentation
Show all versions of apollo-client-maven-plugin Show documentation
Maven plugin for generating graphql clients
/**
* Copyright (c) 2017-present, Facebook, Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @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 {
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);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy