For execution throttling utilities, the strongest matches are apple/swift-async-algorithms (This Swift library provides robust stream timing coordination, including), toss/es-toolkit (This TypeScript utility library provides specialized scheduled execution and) and niksy/throttle-debounce (This repository provides core function throttling and debouncing utilities). sindresorhus/p-throttle and baconjs/bacon.js round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Hand-picked rate limiter repositories for execution throttling, ranked by stars and activity. Compare the top tools and pick the best fit.
This project is a library of algorithms for transforming, filtering, and combining asynchronous data streams in Swift. It provides a toolkit for managing asynchronous sequences, offering a concurrent sequence processor to merge, zip, and concatenate multiple streams into single outputs. The library distinguishes itself through specialized timing and flow control mechanisms. It implements asynchronous back-pressure to synchronize producer and consumer speeds and provides a toolkit for event timing, including debouncing, throttling, and the generation of periodic timers. The capability surface
This Swift library provides robust stream timing coordination, including native function debouncing and throttling for asynchronous sequences, though it is tailored for Swift rather than general-purpose execution control.
es-toolkit is a JavaScript utility library and TypeScript data transformation toolset designed as a high-performance alternative to traditional utility suites. It serves as a tree-shakable module library and a compatibility layer for those migrating from legacy dependencies by mirroring established function signatures. The project is specifically optimized for AI code generation, providing structured documentation and specialized skill sets to improve the accuracy and discoverability of its functions for AI coding assistants. Its architecture focuses on a zero-dependency core and modular expo
This TypeScript utility library provides specialized scheduled execution and function throttling tools, though its broader scope as a general data-transformation toolkit means it is not dedicated exclusively to rate limiting.
Throttle and debounce functions.
This repository provides core function throttling and debouncing utilities, fitting the requested category well though it lacks explicit asynchronous support and advanced customization out of the box.
Throttle promise-returning & async functions
This JavaScript utility provides promise-returning and asynchronous function throttling to control execution frequency, fulfilling the core requirements minus debouncing and TypeScript definitions.
Bacon.js is a JavaScript functional reactive programming library used for coordinating complex asynchronous data flows. It functions as an observable event stream framework and an asynchronous data flow orchestrator, allowing developers to model events as declarative streams and properties. The library distinguishes itself through its ability to manage reactive state and synchronize timing across multiple sources. It provides specialized mechanisms for atomic state synchronization to prevent glitches in derived properties and offers advanced coordination strategies such as asynchronous stream
Bacon.js is a functional reactive programming library for managing complex asynchronous data flows rather than a dedicated function debouncing and throttling utility.
This project is a collection of reusable React hooks designed to wrap browser APIs, manage state persistence, and handle DOM observation. It provides a consistent interface for integrating native browser capabilities directly into the React component lifecycle. The library includes specialized toolkits for monitoring the browser environment, such as window resizing, network connectivity, and viewport visibility. It also provides mechanisms for managing execution timing through debouncing, throttling, and the control of timeouts and intervals. Additional capabilities cover state management wi
This project is a collection of React hooks rather than a standalone rate limiting library, though it does include specific timing control utilities like debouncing and throttling for components.
Just is a collection of JavaScript utility libraries designed for data manipulation, functional programming, performance optimization, statistical analysis, and string processing. It provides a set of tools for deep cloning, filtering, and transforming complex objects and arrays. The project is structured as a series of zero-dependency modules, allowing utilities to be used independently to minimize bundle size. It implements functional programming patterns including currying, piping, and partial application, and provides execution control through memoization, debouncing, and throttling. The
Just is a general-purpose utility library collection that includes execution control tools like debouncing and throttling, but it is primarily a broad data manipulation and functional programming toolkit rather than a dedicated rate-limiting library.
Watchexec is a command-line task runner and file system change trigger that automates developer workflows by executing scripts or programs when files in a directory are modified. It functions as a process lifecycle manager, ensuring that triggered child processes and process groups are managed and restarted cleanly. The tool provides path filtering to restrict monitoring to specific extensions or directories and utilizes debouncing to group rapid bursts of file system notifications into a single execution. It supports propagating the list of modified files to the executed command via standard
Watchexec is a file system event monitor and process runner that uses debouncing internally to handle file changes, but it is a command-line tool rather than a library for controlling function execution rates in code.
TanStack Router is a type-safe routing library for web applications that provides full type safety for paths, search parameters, and data loaders across the entire application stack. It functions as a comprehensive framework for server-side rendering, enabling the generation of complete HTML pages to improve initial load performance and search engine optimization. By integrating declarative data fetching, the library manages asynchronous information at the route level, supporting preloading, caching, and parallel request execution to ensure data is ready before components render. The project
TanStack Router is a type-safe routing and data fetching library for web applications, making it a neighbouring navigation tool rather than a utility for function debouncing and throttling.
This project provides a comprehensive suite of tools for managing asynchronous state and building full-stack web applications. At its core, it functions as a centralized synchronization layer that automates data fetching, caching, and background revalidation, ensuring that remote server data remains consistent with the local user interface. By utilizing a declarative, hook-based programming model, it simplifies the management of complex data lifecycles and loading states. The project distinguishes itself through a headless design philosophy that decouples business logic from visual presentati
This project is a comprehensive asynchronous state management and data-fetching library rather than a dedicated function debouncing and throttling utility.
This project is a comprehensive collection of modular, reactive functions designed to streamline the development of user interfaces. It serves as a toolkit for managing application state, wrapping native browser hardware and system features, and encapsulating common logic patterns into reusable units. By binding asynchronous data sources, browser events, and system properties to component state, it provides a unified framework for building interactive web and desktop applications. The library distinguishes itself through its focus on composition and lifecycle management, allowing developers t
This project is a comprehensive Vue composition toolkit containing utility functions like debouncing and throttling, but it is a general-purpose UI composable collection rather than a dedicated library solely for rate limiting.
usehooks-ts is a comprehensive collection of reusable TypeScript-based hooks designed for managing state, DOM events, and browser API interactions within React applications. It provides a typed library of functions to handle common frontend patterns and side effects. The project distinguishes itself by offering specialized hooks for browser integration, including tools for interacting with the system clipboard, managing local and session storage persistence, and loading external scripts. It also includes utilities for responsive UI development, such as tracking media queries, window dimension
This repository provides a collection of React hooks rather than a standalone rate-limiting library, though it does include specific hooks for execution debouncing within UI components.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| apple/swift-async-algorithms | 3.7K | Swift | Apache-2.0 | |
| toss/es-toolkit | 11.2K | TypeScript | MIT | |
| niksy/throttle-debounce | 1K | JavaScript | NOASSERTION | |
| sindresorhus/p-throttle | 519 | JavaScript | MIT | |
| baconjs/bacon.js | 6.5K | TypeScript | MIT | |
| antonioru/beautiful-react-hooks | 8.4K | JavaScript | MIT | |
| angus-c/just | 6.2K | JavaScript | MIT | |
| watchexec/watchexec | 6.8K | Rust | apache-2.0 | |
| tanstack/router | 14.7K | TypeScript | MIT | |
| tanstack/query | 49.8K | TypeScript | MIT |