INNER CODE UNIT · TypeScript
getLimiter
ravangen/graphql-rate-limit · src/index.ts:266
const getLimiter = ({ limit, duration }: RateLimitArgs): RateLimiterAbstract => {
const limiterKey = `${limit}/${duration}s`;
let limiter = limiters.get(limiterKey);
if (limiter === undefined) {
limiter = new limiterClass({
...limiterOptions,
keyPrefix:
limiterOptions.keyPrefix === undefined
? name // change the default behaviour which is to use 'rlflx'
: limiterOptions.keyPrefix,
points: limit,
duration: duration,
});
limiters.set(limiterKey, limiter);
}
return limiter;
};
const rateLimit = (directive: Record<string, unknown>, field: GraphQLFieldUnion): void => {