24 lines
No EOL
770 B
JavaScript
Executable file
24 lines
No EOL
770 B
JavaScript
Executable file
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
|