graphql-compose-mongoose
Version:
Plugin for `graphql-compose` which derive a graphql types from a mongoose model.
25 lines (20 loc) • 681 B
Flow
/* @flow */
import type { ComposeFieldConfigArgumentMap } from 'graphql-compose';
import type { ExtendedResolveParams } from '../index';
export type LimitHelperArgsOpts = {
defaultValue?: number,
};
export const limitHelperArgs = (opts?: LimitHelperArgsOpts): ComposeFieldConfigArgumentMap => {
return {
limit: {
type: 'Int',
defaultValue: (opts && opts.defaultValue) || 1000,
},
};
};
export function limitHelper(resolveParams: ExtendedResolveParams): void {
const limit = parseInt(resolveParams.args && resolveParams.args.limit, 10) || 0;
if (limit > 0) {
resolveParams.query = resolveParams.query.limit(limit); // eslint-disable-line
}
}