UNPKG

@apollo-orbit/angular

Version:

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

23 lines 7.26 kB
import { getActionType } from '@apollo-orbit/core'; import { filter, map } from 'rxjs'; export function ofActionDispatched(...actions) { const actionMap = createActionMap(actions); return source => source.pipe(filter(ctx => ctx.status === 'dispatched' && actionMap[getActionType(ctx.action)]), map(({ action }) => action)); } export function ofActionSuccess(...actions) { const actionMap = createActionMap(actions); return source => source.pipe(filter(ctx => ctx.status === 'success' && actionMap[getActionType(ctx.action)]), map(({ action }) => action)); } export function ofActionError(...actions) { const actionMap = createActionMap(actions); return source => source.pipe(filter(ctx => ctx.status === 'error' && actionMap[getActionType(ctx.action)]), map(({ action }) => action)); } export function ofActionComplete(...actions) { const actionMap = createActionMap(actions); const statuses = ['success', 'error']; return source => source.pipe(filter((ctx) => statuses.includes(ctx.status) && actionMap[getActionType(ctx.action)])); } function createActionMap(actions) { return actions.reduce((acc, action) => ({ ...acc, [action.type]: true }), {}); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lZmZlY3RzL2FjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFvQixNQUFNLE1BQU0sQ0FBQztBQWdCckQsTUFBTSxVQUFVLGtCQUFrQixDQUM5QixHQUFHLE9BQXFCO0lBS3hCLE1BQU0sU0FBUyxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzQyxPQUFPLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDeEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sS0FBSyxZQUFZLElBQUksU0FBUyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUNsRixHQUFHLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FDOUIsQ0FBQztBQUNOLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUMzQixHQUFHLE9BQXFCO0lBS3hCLE1BQU0sU0FBUyxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzQyxPQUFPLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDeEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sS0FBSyxTQUFTLElBQUksU0FBUyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUMvRSxHQUFHLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FDOUIsQ0FBQztBQUNOLENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUN6QixHQUFHLE9BQXFCO0lBS3hCLE1BQU0sU0FBUyxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzQyxPQUFPLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDeEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sS0FBSyxPQUFPLElBQUksU0FBUyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUM3RSxHQUFHLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FDOUIsQ0FBQztBQUNOLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQzVCLEdBQUcsT0FBcUI7SUFLeEIsTUFBTSxTQUFTLEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNDLE1BQU0sUUFBUSxHQUF3QixDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzRCxPQUFPLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDeEIsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUF5QixFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksU0FBUyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUNoSCxDQUFDO0FBQ04sQ0FBQztBQUVELFNBQVMsZUFBZSxDQUFDLE9BQStCO0lBQ3BELE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBOEIsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUMvRyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9uVHlwZSwgZ2V0QWN0aW9uVHlwZSB9IGZyb20gJ0BhcG9sbG8tb3JiaXQvY29yZSc7XHJcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBPcGVyYXRvckZ1bmN0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG5leHBvcnQgdHlwZSBBY3Rpb25TdGF0dXMgPSAnZGlzcGF0Y2hlZCcgfCAnc3VjY2VzcycgfCAnZXJyb3InO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBY3Rpb25FeGVjdXRpb248VEFjdGlvbiA9IGFueSwgVEVycm9yID0gRXJyb3I+IHtcclxuICAgIHN0YXR1czogQWN0aW9uU3RhdHVzO1xyXG4gICAgYWN0aW9uOiBUQWN0aW9uO1xyXG4gICAgZXJyb3I/OiBURXJyb3I7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uQ29tcGxldGU8VEFjdGlvbiA9IGFueSwgVEVycm9yID0gRXJyb3I+IHtcclxuICAgIGFjdGlvbjogVEFjdGlvbjtcclxuICAgIGVycm9yPzogVEVycm9yO1xyXG4gICAgc3RhdHVzOiBFeHRyYWN0PEFjdGlvblN0YXR1cywgJ3N1Y2Nlc3MnIHwgJ2Vycm9yJz47XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBvZkFjdGlvbkRpc3BhdGNoZWQ8VEFjdGlvblR5cGVzIGV4dGVuZHMgQXJyYXk8QWN0aW9uVHlwZTxhbnk+Pj4oXHJcbiAgICAuLi5hY3Rpb25zOiBUQWN0aW9uVHlwZXNcclxuKTogT3BlcmF0b3JGdW5jdGlvbjxcclxuICAgIEFjdGlvbkV4ZWN1dGlvbjxJbnN0YW5jZVR5cGU8VEFjdGlvblR5cGVzW251bWJlcl0+PixcclxuICAgIEluc3RhbmNlVHlwZTxUQWN0aW9uVHlwZXNbbnVtYmVyXT5cclxuPiB7XHJcbiAgICBjb25zdCBhY3Rpb25NYXAgPSBjcmVhdGVBY3Rpb25NYXAoYWN0aW9ucyk7XHJcbiAgICByZXR1cm4gc291cmNlID0+IHNvdXJjZS5waXBlKFxyXG4gICAgICAgIGZpbHRlcihjdHggPT4gY3R4LnN0YXR1cyA9PT0gJ2Rpc3BhdGNoZWQnICYmIGFjdGlvbk1hcFtnZXRBY3Rpb25UeXBlKGN0eC5hY3Rpb24pXSksXHJcbiAgICAgICAgbWFwKCh7IGFjdGlvbiB9KSA9PiBhY3Rpb24pXHJcbiAgICApO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gb2ZBY3Rpb25TdWNjZXNzPFRBY3Rpb25UeXBlcyBleHRlbmRzIEFycmF5PEFjdGlvblR5cGU8YW55Pj4+KFxyXG4gICAgLi4uYWN0aW9uczogVEFjdGlvblR5cGVzXHJcbik6IE9wZXJhdG9yRnVuY3Rpb248XHJcbiAgICBBY3Rpb25FeGVjdXRpb248SW5zdGFuY2VUeXBlPFRBY3Rpb25UeXBlc1tudW1iZXJdPj4sXHJcbiAgICBJbnN0YW5jZVR5cGU8VEFjdGlvblR5cGVzW251bWJlcl0+XHJcbj4ge1xyXG4gICAgY29uc3QgYWN0aW9uTWFwID0gY3JlYXRlQWN0aW9uTWFwKGFjdGlvbnMpO1xyXG4gICAgcmV0dXJuIHNvdXJjZSA9PiBzb3VyY2UucGlwZShcclxuICAgICAgICBmaWx0ZXIoY3R4ID0+IGN0eC5zdGF0dXMgPT09ICdzdWNjZXNzJyAmJiBhY3Rpb25NYXBbZ2V0QWN0aW9uVHlwZShjdHguYWN0aW9uKV0pLFxyXG4gICAgICAgIG1hcCgoeyBhY3Rpb24gfSkgPT4gYWN0aW9uKVxyXG4gICAgKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIG9mQWN0aW9uRXJyb3I8VEFjdGlvblR5cGVzIGV4dGVuZHMgQXJyYXk8QWN0aW9uVHlwZTxhbnk+Pj4oXHJcbiAgICAuLi5hY3Rpb25zOiBUQWN0aW9uVHlwZXNcclxuKTogT3BlcmF0b3JGdW5jdGlvbjxcclxuICAgIEFjdGlvbkV4ZWN1dGlvbjxJbnN0YW5jZVR5cGU8VEFjdGlvblR5cGVzW251bWJlcl0+PixcclxuICAgIEluc3RhbmNlVHlwZTxUQWN0aW9uVHlwZXNbbnVtYmVyXT5cclxuPiB7XHJcbiAgICBjb25zdCBhY3Rpb25NYXAgPSBjcmVhdGVBY3Rpb25NYXAoYWN0aW9ucyk7XHJcbiAgICByZXR1cm4gc291cmNlID0+IHNvdXJjZS5waXBlKFxyXG4gICAgICAgIGZpbHRlcihjdHggPT4gY3R4LnN0YXR1cyA9PT0gJ2Vycm9yJyAmJiBhY3Rpb25NYXBbZ2V0QWN0aW9uVHlwZShjdHguYWN0aW9uKV0pLFxyXG4gICAgICAgIG1hcCgoeyBhY3Rpb24gfSkgPT4gYWN0aW9uKVxyXG4gICAgKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIG9mQWN0aW9uQ29tcGxldGU8VEFjdGlvblR5cGVzIGV4dGVuZHMgQXJyYXk8QWN0aW9uVHlwZTxhbnk+Pj4oXHJcbiAgICAuLi5hY3Rpb25zOiBUQWN0aW9uVHlwZXNcclxuKTogT3BlcmF0b3JGdW5jdGlvbjxcclxuICAgIEFjdGlvbkV4ZWN1dGlvbjxJbnN0YW5jZVR5cGU8VEFjdGlvblR5cGVzW251bWJlcl0+PixcclxuICAgIEFjdGlvbkNvbXBsZXRlPEluc3RhbmNlVHlwZTxUQWN0aW9uVHlwZXNbbnVtYmVyXT4+XHJcbj4ge1xyXG4gICAgY29uc3QgYWN0aW9uTWFwID0gY3JlYXRlQWN0aW9uTWFwKGFjdGlvbnMpO1xyXG4gICAgY29uc3Qgc3RhdHVzZXM6IEFycmF5PEFjdGlvblN0YXR1cz4gPSBbJ3N1Y2Nlc3MnLCAnZXJyb3InXTtcclxuICAgIHJldHVybiBzb3VyY2UgPT4gc291cmNlLnBpcGUoXHJcbiAgICAgICAgZmlsdGVyKChjdHgpOiBjdHggaXMgQWN0aW9uQ29tcGxldGUgPT4gc3RhdHVzZXMuaW5jbHVkZXMoY3R4LnN0YXR1cykgJiYgYWN0aW9uTWFwW2dldEFjdGlvblR5cGUoY3R4LmFjdGlvbildKVxyXG4gICAgKTtcclxufVxyXG5cclxuZnVuY3Rpb24gY3JlYXRlQWN0aW9uTWFwKGFjdGlvbnM6IEFycmF5PEFjdGlvblR5cGU8YW55Pj4pOiB7IFt0eXBlOiBzdHJpbmddOiBib29sZWFuIH0ge1xyXG4gICAgcmV0dXJuIGFjdGlvbnMucmVkdWNlPHsgW3R5cGU6IHN0cmluZ106IGJvb2xlYW4gfT4oKGFjYywgYWN0aW9uKSA9PiAoeyAuLi5hY2MsIFthY3Rpb24udHlwZV06IHRydWUgfSksIHt9KTtcclxufVxyXG4iXX0=