UNPKG

@magnetarjs/core

Version:
37 lines (36 loc) 866 B
import { isArray, isFunction, isNumber, isPlainObject } from 'is-what'; /** * DoOnStream type guard */ export function isDoOnStream(payload) { const isNotDoOnStream = !isPlainObject(payload) || payload['streaming'] || payload['stop'] || !(payload['added'] || payload['modified'] || payload['removed']); return !isNotDoOnStream; } // 'fetch' related /** * DoOnFetch type guard */ export function isDoOnFetchAggregate(payload) { return isFunction(payload); } /** * FetchResponse type guard */ export function isFetchAggregateResponse(payload) { return isNumber(payload); } /** * DoOnFetch type guard */ export function isDoOnFetch(payload) { return isFunction(payload); } /** * FetchResponse type guard */ export function isFetchResponse(payload) { return isPlainObject(payload) && isArray(payload['docs']); }