UNPKG

@ngx-grpc/core

Version:

Angular gRPC framework: core package

22 lines 3.3 kB
import { GrpcDataEvent, GrpcStatusEvent } from '@ngx-grpc/common'; import { of, throwError } from 'rxjs'; import { filter, map, switchMap } from 'rxjs/operators'; /** * RxJS operator * When applied to gRPC events emits error for status events with a non-zero code (includes throwStatusErrors) * * @return Observable of gRPC events */ export function throwStatusErrors() { return (source$) => source$.pipe(switchMap(event => event instanceof GrpcStatusEvent && event.statusCode ? throwError(event) : of(event))); } /** * RxJS operator * When applied to gRPC events stream extracts and returns only messages * * @return Observable of messages */ export function takeMessages() { return (source$) => source$.pipe(filter(event => event instanceof GrpcDataEvent), map((event) => event.data)); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JwYy1yeC1vcGVyYXRvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvZ3JwYy1yeC1vcGVyYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBMEIsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDMUYsT0FBTyxFQUFjLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsaUJBQWlCO0lBQy9CLE9BQU8sQ0FBQyxPQUFpQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUN4RCxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLFlBQVksZUFBZSxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ3pHLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsWUFBWTtJQUMxQixPQUFPLENBQUMsT0FBaUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDeEQsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxZQUFZLGFBQWEsQ0FBQyxFQUMvQyxHQUFHLENBQUMsQ0FBQyxLQUF1QixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQzdDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR3JwY0RhdGFFdmVudCwgR3JwY0V2ZW50LCBHcnBjTWVzc2FnZSwgR3JwY1N0YXR1c0V2ZW50IH0gZnJvbSAnQG5neC1ncnBjL2NvbW1vbic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLyoqXG4gKiBSeEpTIG9wZXJhdG9yXG4gKiBXaGVuIGFwcGxpZWQgdG8gZ1JQQyBldmVudHMgZW1pdHMgZXJyb3IgZm9yIHN0YXR1cyBldmVudHMgd2l0aCBhIG5vbi16ZXJvIGNvZGUgKGluY2x1ZGVzIHRocm93U3RhdHVzRXJyb3JzKVxuICpcbiAqIEByZXR1cm4gT2JzZXJ2YWJsZSBvZiBnUlBDIGV2ZW50c1xuICovXG5leHBvcnQgZnVuY3Rpb24gdGhyb3dTdGF0dXNFcnJvcnM8VCBleHRlbmRzIEdycGNNZXNzYWdlPigpIHtcbiAgcmV0dXJuIChzb3VyY2UkOiBPYnNlcnZhYmxlPEdycGNFdmVudDxUPj4pID0+IHNvdXJjZSQucGlwZShcbiAgICBzd2l0Y2hNYXAoZXZlbnQgPT4gZXZlbnQgaW5zdGFuY2VvZiBHcnBjU3RhdHVzRXZlbnQgJiYgZXZlbnQuc3RhdHVzQ29kZSA/IHRocm93RXJyb3IoZXZlbnQpIDogb2YoZXZlbnQpKSxcbiAgKTtcbn1cblxuLyoqXG4gKiBSeEpTIG9wZXJhdG9yXG4gKiBXaGVuIGFwcGxpZWQgdG8gZ1JQQyBldmVudHMgc3RyZWFtIGV4dHJhY3RzIGFuZCByZXR1cm5zIG9ubHkgbWVzc2FnZXNcbiAqXG4gKiBAcmV0dXJuIE9ic2VydmFibGUgb2YgbWVzc2FnZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRha2VNZXNzYWdlczxUIGV4dGVuZHMgR3JwY01lc3NhZ2U+KCkge1xuICByZXR1cm4gKHNvdXJjZSQ6IE9ic2VydmFibGU8R3JwY0V2ZW50PFQ+PikgPT4gc291cmNlJC5waXBlKFxuICAgIGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIEdycGNEYXRhRXZlbnQpLFxuICAgIG1hcCgoZXZlbnQ6IEdycGNEYXRhRXZlbnQ8VD4pID0+IGV2ZW50LmRhdGEpLFxuICApO1xufVxuIl19