Skip to content

Commit 1d10fae

Browse files
committed
feat: implement GenericRateLimiter.isQuotaAlreadyExceededDoNotRecordCall
1 parent 06aec10 commit 1d10fae

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

src/GenericRateLimiter.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,13 @@ export class GenericRateLimiter {
4343
return resultHolder.isQuotaExceeded;
4444
}
4545

46+
public async isQuotaAlreadyExceededDoNotRecordCall(qualifier: string): Promise<boolean> {
47+
const timestampsSeconds = this.getTimestampsSeconds();
48+
const record = await this.persistenceProvider.get(this.configuration.name, qualifier);
49+
const recentUsages: number[] = this.selectRecentUsages(record.u, timestampsSeconds.threshold);
50+
return this.isQuotaExceeded(recentUsages.length);
51+
}
52+
4653
private runTransactionForAnswer(
4754
input: PersistenceRecord,
4855
resultHolder: { isQuotaExceeded: boolean },

0 commit comments

Comments
 (0)