Skip to main content

RateLimiter

A simple OOP class for rate limiting.

Functions

new

RateLimiter.new(
cooldownnumber--

The cooldown time in seconds.

) → RateLimiter

Creates a new RateLimiter instance.

IsReady

RateLimiter.IsReady(selfRateLimiter) → boolean

Checks if the rate limiter is ready to be triggered.

Trigger

RateLimiter.Trigger(selfRateLimiter) → ()

Triggers the rate limiter, updating the last trigger time.

Reset

RateLimiter.Reset(selfRateLimiter) → ()

Resets the rate limiter, allowing it to be triggered immediately.

Compute

RateLimiter.Compute(
selfRateLimiter,
callback() → nil--

The callback function to execute if the rate limiter is ready.

) → ()

Executes the callback if the rate limiter is ready, and triggers the rate limiter.

Show raw api
{
    "functions": [
        {
            "name": "new",
            "desc": "Creates a new RateLimiter instance.",
            "params": [
                {
                    "name": "cooldown",
                    "desc": "The cooldown time in seconds.",
                    "lua_type": "number"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "RateLimiter"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 22,
                "path": "src/Packages/RateLimiter/init.luau"
            }
        },
        {
            "name": "IsReady",
            "desc": "Checks if the rate limiter is ready to be triggered.",
            "params": [
                {
                    "name": "self",
                    "desc": "",
                    "lua_type": "RateLimiter"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "boolean"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 37,
                "path": "src/Packages/RateLimiter/init.luau"
            }
        },
        {
            "name": "Trigger",
            "desc": "Triggers the rate limiter, updating the last trigger time.",
            "params": [
                {
                    "name": "self",
                    "desc": "",
                    "lua_type": "RateLimiter"
                }
            ],
            "returns": [],
            "function_type": "static",
            "source": {
                "line": 45,
                "path": "src/Packages/RateLimiter/init.luau"
            }
        },
        {
            "name": "Reset",
            "desc": "Resets the rate limiter, allowing it to be triggered immediately.",
            "params": [
                {
                    "name": "self",
                    "desc": "",
                    "lua_type": "RateLimiter"
                }
            ],
            "returns": [],
            "function_type": "static",
            "source": {
                "line": 53,
                "path": "src/Packages/RateLimiter/init.luau"
            }
        },
        {
            "name": "Compute",
            "desc": "Executes the callback if the rate limiter is ready, and triggers the rate limiter.",
            "params": [
                {
                    "name": "self",
                    "desc": "",
                    "lua_type": "RateLimiter"
                },
                {
                    "name": "callback",
                    "desc": "The callback function to execute if the rate limiter is ready.",
                    "lua_type": "() -> nil"
                }
            ],
            "returns": [],
            "function_type": "static",
            "source": {
                "line": 63,
                "path": "src/Packages/RateLimiter/init.luau"
            }
        }
    ],
    "properties": [],
    "types": [],
    "name": "RateLimiter",
    "desc": "A simple OOP class for rate limiting.",
    "source": {
        "line": 6,
        "path": "src/Packages/RateLimiter/init.luau"
    }
}