Make @ditto/ratelimiter a separate package

This commit is contained in:
Alex Gleason 2025-02-17 15:30:11 -06:00
parent eec380665c
commit b73e475326
No known key found for this signature in database
GPG key ID: 7211D1F99744FBB7
9 changed files with 16 additions and 3 deletions

View file

@ -6,6 +6,7 @@
"./packages/db",
"./packages/ditto",
"./packages/metrics",
"./packages/ratelimiter",
"./packages/translators"
],
"tasks": {

View file

@ -1,5 +1,6 @@
import { RateLimitError } from './RateLimitError.ts';
import { RateLimiter, RateLimiterClient } from './types.ts';
import type { RateLimiter, RateLimiterClient } from './types.ts';
interface MemoryRateLimiterOpts {
limit: number;

View file

@ -1,4 +1,4 @@
import { RateLimiter, RateLimiterClient } from './types.ts';
import type { RateLimiter, RateLimiterClient } from './types.ts';
export class MultiRateLimiter {
constructor(private limiters: RateLimiter[]) {}

View file

@ -1,4 +1,4 @@
import { RateLimiter, RateLimiterClient } from './types.ts';
import type { RateLimiter, RateLimiterClient } from './types.ts';
export class RateLimitError extends Error {
constructor(

View file

@ -0,0 +1,6 @@
{
"name": "@ditto/ratelimiter",
"exports": {
".": "./mod.ts"
}
}

View file

@ -0,0 +1,5 @@
export { MemoryRateLimiter } from './MemoryRateLimiter.ts';
export { MultiRateLimiter } from './MultiRateLimiter.ts';
export { RateLimitError } from './RateLimitError.ts';
export type { RateLimiter, RateLimiterClient } from './types.ts';