@nestjs/graphql
Version:
Nest - modern, fast, powerful node.js web framework (@graphql)
26 lines (25 loc) • 807 B
JavaScript
import { GqlParamtype } from '../enums/gql-paramtype.enum.js';
import { normalizeResolverArgs } from '../utils/normalize-resolver-args.js';
/**
* @publicApi
*/
export class GqlParamsFactory {
exchangeKeyForValue(type, data, args) {
if (!args) {
return null;
}
args = normalizeResolverArgs(args);
switch (type) {
case GqlParamtype.ROOT:
return args[0];
case GqlParamtype.ARGS:
return data && args[1] ? args[1][data] : args[1];
case GqlParamtype.CONTEXT:
return data && args[2] ? args[2][data] : args[2];
case GqlParamtype.INFO:
return data && args[3] ? args[3][data] : args[3];
default:
return null;
}
}
}