hugoWebsite/node_modules/rxjs/dist/esm/internal/firstValueFrom.js

24 lines
770 B
JavaScript

import { EmptyError } from './util/EmptyError';
import { SafeSubscriber } from './Subscriber';
export function firstValueFrom(source, config) {
const hasConfig = typeof config === 'object';
return new Promise((resolve, reject) => {
const subscriber = new SafeSubscriber({
next: (value) => {
resolve(value);
subscriber.unsubscribe();
},
error: reject,
complete: () => {
if (hasConfig) {
resolve(config.defaultValue);
}
else {
reject(new EmptyError());
}
},
});
source.subscribe(subscriber);
});
}
//# sourceMappingURL=firstValueFrom.js.map