INNER CODE UNIT · TypeScript
CostLimitVisitor
Escape-Technologies/graphql-armor · packages/plugins/cost-limit/src/index.ts:79
class CostLimitVisitor {
public readonly OperationDefinition: Record<string, any>;
private readonly context: ValidationContext;
private readonly config: Required<CostLimitOptions>;
private readonly visitedFragments: Map<string, number>;
constructor(context: ValidationContext, options?: CostLimitOptions) {
this.context = context;
this.config = Object.assign(
{},
costLimitDefaultOptions,
...Object.entries(options ?? {}).map(([k, v]) => (v === undefined ? {} : { [k]: v })),
);
this.visitedFragments = new Map();
this.OperationDefinition = {
enter: this.onOperationDefinitionEnter.bind(this),