Modules@robinpath/ratelimit

@robinpath/ratelimit

0.1.1Public

Token bucket and sliding window rate limiting for RobinPath

@robinpath/ratelimit

Rate limiting with token bucket, sliding window, and fixed window algorithms

Category Functions Auth License

Why use this module?

The ratelimit module lets you:

  • Create a named rate limiter (token-bucket, sliding-window, or fixed-window)
  • Try to acquire tokens/slots from a rate limiter
  • Check if a request would be allowed without consuming a token
  • Get the number of remaining tokens/slots
  • Wait until a token is available, then acquire it

All functions are callable directly from RobinPath scripts with a simple, consistent API.

Installation

npm install @robinpath/ratelimit

Quick Start

No credentials needed — start using it right away:

ratelimit.acquire "api"

Available Functions

FunctionDescription
ratelimit.createCreate a named rate limiter (token-bucket, sliding-window, or fixed-window)
ratelimit.acquireTry to acquire tokens/slots from a rate limiter
ratelimit.checkCheck if a request would be allowed without consuming a token
ratelimit.remainingGet the number of remaining tokens/slots
ratelimit.waitWait until a token is available, then acquire it
ratelimit.resetReset a rate limiter to its initial state
ratelimit.statusGet detailed status information for a rate limiter
ratelimit.destroyRemove a rate limiter and free its resources

Examples

Try to acquire tokens/slots from a rate limiter

ratelimit.acquire "api"

Check if a request would be allowed without consuming a token

ratelimit.check "api"

Get the number of remaining tokens/slots

ratelimit.remaining "api"

Integration with RobinPath

import { RobinPath } from "@wiredwp/robinpath";
import Module from "@robinpath/ratelimit";

const rp = new RobinPath();
rp.registerModule(Module.name, Module.functions);
rp.registerModuleMeta(Module.name, Module.functionMetadata);

const result = await rp.executeScript(`
  ratelimit.acquire "api"
`);

Full API Reference

See MODULE.md for complete documentation including all parameters, return types, error handling, and advanced examples.

Related Modules

License

MIT

Versions (1)

VersionTagPublished
0.1.1latestyesterday
Install
$ robinpath install @robinpath/ratelimit
Version0.1.1
LicenseMIT
Unpacked Size5.0 KB
Versions1
Weekly Downloads0
Total Downloads0
Stars0
Last Publishyesterday
Createdyesterday

Category

devops