# toss/es-toolkit

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/toss-es-toolkit).**

11,154 stars · 568 forks · TypeScript · MIT

## Links

- GitHub: https://github.com/toss/es-toolkit
- Homepage: https://es-toolkit.dev
- awesome-repositories: https://awesome-repositories.com/repository/toss-es-toolkit.md

## Description

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 exports to minimize final package sizes.

The library covers a broad range of capabilities, including type-safe data manipulation for arrays and objects, asynchronous flow control for managing execution delays, and performance optimization tools such as function debouncing and throttling. It also includes utilities for data validation and nullish value verification.

## Tags

### Data & Databases

- [JavaScript Data Transformations](https://awesome-repositories.com/f/data-databases/javascript-data-transformations.md) — Provides a high-performance suite of type-safe functions for manipulating arrays and objects.
- [Array Chunking](https://awesome-repositories.com/f/data-databases/array-chunking.md) — Divides large arrays into smaller arrays of a specified length for fixed-size batch processing. ([source](https://es-toolkit.dev/reference/array/chunk.html))
- [Array Difference Computation](https://awesome-repositories.com/f/data-databases/array-difference-computation.md) — Finds elements present in one array but not in another and returns the unique values. ([source](https://es-toolkit.dev/performance.html))
- [Index-Based Extraction](https://awesome-repositories.com/f/data-databases/list-index-locations/index-based-reorganizations/index-based-extraction.md) — Retrieves multiple items from an array based on a provided list of index positions. ([source](https://es-toolkit.dev/reference/array/at.html))
- [Object Property Omission](https://awesome-repositories.com/f/data-databases/object-property-omission.md) — Creates a new object excluding the specified properties from the source object. ([source](https://es-toolkit.dev/performance.html))

### Artificial Intelligence & ML

- [AI Coding Assistant Guidance](https://awesome-repositories.com/f/artificial-intelligence-ml/ai-coding-assistants/ai-coding-assistant-guidance.md) — Provides structured documentation and specialized skill sets to help AI agents generate accurate code.
- [AI-Optimized Code Structuring](https://awesome-repositories.com/f/artificial-intelligence-ml/ai-coding-assistants/ai-powered-code-generation/ai-optimized-code-structuring.md) — Provides structured documentation and skill sets specifically designed to improve AI code generation accuracy. ([source](https://es-toolkit.dev/ai-integration.html))
- [Assistant Skill Integrations](https://awesome-repositories.com/f/artificial-intelligence-ml/artificial-intelligence-tooling/agent-and-tool-integrations/assistant-skill-integrations.md) — Provides specialized skill sets and structured documentation to improve function discoverability for AI coding assistants. ([source](https://es-toolkit.dev/ai-integration.html))

### Programming Languages & Runtimes

- [Generic Types](https://awesome-repositories.com/f/programming-languages-runtimes/generic-types.md) — Uses TypeScript generics to ensure consistent input and output types across data transformation functions.
- [JavaScript Utility Libraries](https://awesome-repositories.com/f/programming-languages-runtimes/javascript-utility-libraries.md) — Implements a comprehensive collection of type-safe helper functions for arrays, objects, and promises.
- [Tree-Shakeable Exports](https://awesome-repositories.com/f/programming-languages-runtimes/language-ecosystems-tooling/module-management/module-systems/synchronous-module-loaders/module-interface-exports/tree-shakeable-exports.md) — Exports individual functions as independent modules to enable dead-code elimination by bundlers.
- [Cancellable Asynchronous Delays](https://awesome-repositories.com/f/programming-languages-runtimes/cancellable-asynchronous-delays.md) — Uses native promises and AbortController to implement asynchronous waiting with support for cancellable execution pauses.

### Software Engineering & Architecture

- [API Compatibility Adapters](https://awesome-repositories.com/f/software-engineering-architecture/api-compatibility-adapters.md) — Provides a Lodash-compatible API surface as a compatibility adapter for seamless library migration.
- [API Surface Mirroring](https://awesome-repositories.com/f/software-engineering-architecture/api-surface-mirroring.md) — Implements function signatures and naming conventions that mirror established libraries for seamless drop-in replacement.
- [Performance Optimization Utilities](https://awesome-repositories.com/f/software-engineering-architecture/performance-optimization-utilities.md) — Optimizes bundle sizes and execution speed using lightweight tree-shakable alternatives to standard utilities.
- [Tree-Shakable Architectures](https://awesome-repositories.com/f/software-engineering-architecture/tree-shakable-architectures.md) — Uses a modular, zero-dependency architecture to enable bundlers to remove unused code.
- [Type-Safe Data Transformation Toolsets](https://awesome-repositories.com/f/software-engineering-architecture/type-safe-data-transformation-toolsets.md) — Ships a set of optimized helper functions using TypeScript generics to ensure type safety during collection management.
- [Zero-Dependency Libraries](https://awesome-repositories.com/f/software-engineering-architecture/zero-dependency-libraries.md) — Builds all utility logic using native JavaScript primitives to ensure a zero-dependency core.
- [Array Intersection Algorithms](https://awesome-repositories.com/f/software-engineering-architecture/array-intersection-algorithms.md) — Implements algorithms to find common elements shared across multiple arrays. ([source](https://es-toolkit.dev/performance.html))
- [Closure-Based Rate Limiting](https://awesome-repositories.com/f/software-engineering-architecture/closure-based-rate-limiting.md) — Wraps functions in closures to manage debounce and throttle timing logic for optimized execution.
- [Execution Pausing](https://awesome-repositories.com/f/software-engineering-architecture/execution-pausing.md) — Suspends the execution of asynchronous functions for a specific duration using optional abort signals. ([source](https://es-toolkit.dev/reference/promise/delay.html))
- [Execution Debouncing](https://awesome-repositories.com/f/software-engineering-architecture/function-execution-utilities/execution-debouncing.md) — Provides function debouncing to delay execution until a period of inactivity has passed. ([source](https://github.com/toss/es-toolkit/blob/main/README-ko_kr.md))

### Development Tools & Productivity

- [Execution Delays](https://awesome-repositories.com/f/development-tools-productivity/execution-delays.md) — Provides mechanisms for pausing execution flow for a specified duration. ([source](https://cdn.jsdelivr.net/gh/toss/es-toolkit@main/README.md))
- [Library Migration Utilities](https://awesome-repositories.com/f/development-tools-productivity/library-migration-utilities.md) — Offers a compatibility layer to replace Lodash imports without rewriting existing function calls.

### DevOps & Infrastructure

- [Compatibility Layers](https://awesome-repositories.com/f/devops-infrastructure/dependency-management/compatibility-layers.md) — Acts as a drop-in replacement for legacy utility libraries by mirroring established function signatures.

### Scientific & Mathematical Computing

- [Array Summation](https://awesome-repositories.com/f/scientific-mathematical-computing/array-summation.md) — Provides basic mathematical operations to calculate the total sum of all numeric elements in an array. ([source](https://es-toolkit.dev/reference/math/sum.html))

### Web Development

- [Function Execution Throttling](https://awesome-repositories.com/f/web-development/rate-limiting/function-execution-throttling.md) — Implements debounce and throttle patterns to control the execution frequency of high-frequency functions.
