UNPKG

@apollo-orbit/angular

Version:

A fully-featured GraphQL client for Angular with modular state management.

30 lines 5 kB
import { map } from 'rxjs/operators'; export function mapQuery(fn) { return (observable) => observable.pipe(map((result) => { const { data, previousData, ...rest } = result; return { ...rest, data: data !== undefined ? fn(data) : undefined, previousData: previousData !== undefined ? fn(previousData) : undefined }; })); } export function mapMutation(fn) { return (observable) => observable.pipe(map((result) => { const { data, ...rest } = result; return { ...rest, data: data !== undefined ? fn(data) : undefined }; })); } export function mapSubscription(fn) { return (observable) => observable.pipe(map((result) => { const { data, ...rest } = result; return { ...rest, data: data !== undefined ? fn(data) : undefined }; })); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vY29yZS9zcmMvbWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdyQyxNQUFNLFVBQVUsUUFBUSxDQUFPLEVBQThCO0lBQ3pELE9BQU8sQ0FBQyxVQUFzQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUM5RCxHQUFHLENBQUMsQ0FBQyxNQUFzQixFQUFrQixFQUFFO1FBQzNDLE1BQU0sRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsTUFBTSxDQUFDO1FBQy9DLE9BQU87WUFDSCxHQUFHLElBQUk7WUFDUCxJQUFJLEVBQUUsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO1lBQy9DLFlBQVksRUFBRSxZQUFZLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7U0FDMUUsQ0FBQztJQUNOLENBQUMsQ0FBQyxDQUNMLENBQUM7QUFDTixDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBTyxFQUE4QjtJQUM1RCxPQUFPLENBQUMsVUFBeUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDakUsR0FBRyxDQUFDLENBQUMsTUFBeUIsRUFBcUIsRUFBRTtRQUNqRCxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsTUFBTSxDQUFDO1FBQ2pDLE9BQU87WUFDSCxHQUFHLElBQUk7WUFDUCxJQUFJLEVBQUUsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO1NBQ2xELENBQUM7SUFDTixDQUFDLENBQUMsQ0FDTCxDQUFDO0FBQ04sQ0FBQztBQUVELE1BQU0sVUFBVSxlQUFlLENBQU8sRUFBOEI7SUFDaEUsT0FBTyxDQUFDLFVBQTZDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQ3JFLEdBQUcsQ0FBQyxDQUFDLE1BQTZCLEVBQXlCLEVBQUU7UUFDekQsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksRUFBRSxHQUFHLE1BQU0sQ0FBQztRQUNqQyxPQUFPO1lBQ0gsR0FBRyxJQUFJO1lBQ1AsSUFBSSxFQUFFLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztTQUNsRCxDQUFDO0lBQ04sQ0FBQyxDQUFDLENBQ0wsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCBPcGVyYXRvckZ1bmN0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgTXV0YXRpb25SZXN1bHQsIFF1ZXJ5UmVzdWx0LCBTdWJzY3JpcHRpb25SZXN1bHQgfSBmcm9tICcuL3R5cGVzJztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBtYXBRdWVyeTxULCBSPihmbjogKGRhdGE6IFQpID0+IFIgfCB1bmRlZmluZWQpOiBPcGVyYXRvckZ1bmN0aW9uPFF1ZXJ5UmVzdWx0PFQ+LCBRdWVyeVJlc3VsdDxSPj4ge1xyXG4gICAgcmV0dXJuIChvYnNlcnZhYmxlOiBPYnNlcnZhYmxlPFF1ZXJ5UmVzdWx0PFQ+PikgPT4gb2JzZXJ2YWJsZS5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzdWx0OiBRdWVyeVJlc3VsdDxUPik6IFF1ZXJ5UmVzdWx0PFI+ID0+IHtcclxuICAgICAgICAgICAgY29uc3QgeyBkYXRhLCBwcmV2aW91c0RhdGEsIC4uLnJlc3QgfSA9IHJlc3VsdDtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIC4uLnJlc3QsXHJcbiAgICAgICAgICAgICAgICBkYXRhOiBkYXRhICE9PSB1bmRlZmluZWQgPyBmbihkYXRhKSA6IHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgICAgIHByZXZpb3VzRGF0YTogcHJldmlvdXNEYXRhICE9PSB1bmRlZmluZWQgPyBmbihwcmV2aW91c0RhdGEpIDogdW5kZWZpbmVkXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfSlcclxuICAgICk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBtYXBNdXRhdGlvbjxULCBSPihmbjogKGRhdGE6IFQpID0+IFIgfCB1bmRlZmluZWQpOiBPcGVyYXRvckZ1bmN0aW9uPE11dGF0aW9uUmVzdWx0PFQ+LCBNdXRhdGlvblJlc3VsdDxSPj4ge1xyXG4gICAgcmV0dXJuIChvYnNlcnZhYmxlOiBPYnNlcnZhYmxlPE11dGF0aW9uUmVzdWx0PFQ+PikgPT4gb2JzZXJ2YWJsZS5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzdWx0OiBNdXRhdGlvblJlc3VsdDxUPik6IE11dGF0aW9uUmVzdWx0PFI+ID0+IHtcclxuICAgICAgICAgICAgY29uc3QgeyBkYXRhLCAuLi5yZXN0IH0gPSByZXN1bHQ7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAuLi5yZXN0LFxyXG4gICAgICAgICAgICAgICAgZGF0YTogZGF0YSAhPT0gdW5kZWZpbmVkID8gZm4oZGF0YSkgOiB1bmRlZmluZWRcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9KVxyXG4gICAgKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIG1hcFN1YnNjcmlwdGlvbjxULCBSPihmbjogKGRhdGE6IFQpID0+IFIgfCB1bmRlZmluZWQpOiBPcGVyYXRvckZ1bmN0aW9uPFN1YnNjcmlwdGlvblJlc3VsdDxUPiwgU3Vic2NyaXB0aW9uUmVzdWx0PFI+PiB7XHJcbiAgICByZXR1cm4gKG9ic2VydmFibGU6IE9ic2VydmFibGU8U3Vic2NyaXB0aW9uUmVzdWx0PFQ+PikgPT4gb2JzZXJ2YWJsZS5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzdWx0OiBTdWJzY3JpcHRpb25SZXN1bHQ8VD4pOiBTdWJzY3JpcHRpb25SZXN1bHQ8Uj4gPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB7IGRhdGEsIC4uLnJlc3QgfSA9IHJlc3VsdDtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIC4uLnJlc3QsXHJcbiAgICAgICAgICAgICAgICBkYXRhOiBkYXRhICE9PSB1bmRlZmluZWQgPyBmbihkYXRhKSA6IHVuZGVmaW5lZFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH0pXHJcbiAgICApO1xyXG59XHJcbiJdfQ==