@magnetarjs/core
Version:
Magnetar core library.
37 lines (36 loc) • 866 B
JavaScript
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']);
}