awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
millsp avatar

millsp/ts-toolbelt

0
View on GitHub↗
7,145 stars·154 forks·TypeScript·Apache-2.0·17 viewsmillsp.github.io/ts-toolbelt↗

Ts Toolbelt

ts-toolbelt is a collection of specialized utilities for manipulating and validating TypeScript types. It provides a toolkit for performing complex transformations on objects, unions, and functions to enforce strict data consistency at compile time.

The library features dedicated transformers for function types, including utilities for currying, composition, and signature extraction. It also includes an object type manipulator for deep merging, patching, and reshaping complex structures.

The capability surface extends to literal string processing, type-level arithmetic, and tuple operations. It provides logical primitives for boolean computations, tools for verifying type equality, and utilities for implementing type-safe access to nested object properties with autocomplete.

Features

  • Type Transformations - Provides a comprehensive toolkit for performing complex type transformations on objects, unions, and tuples.
  • TypeScript Utility Libraries - Acts as a comprehensive collection of advanced type-level helpers for manipulating objects, unions, and functions.
  • Object Merging - Provides utilities for deep merging and reshaping complex object structures at the type level.
  • Type Modifier Utilities - A utility that modifies properties on object types by making them optional, required, or readonly.
  • Object Type Transformations - Provides utilities for deep merging, patching, and reshaping complex object structures at the type level.
  • Function Type Engineering - Implements utilities for currying, composition, and signature extraction to create flexible API patterns.
  • String Literal Type Manipulations - Includes utilities for manipulating string literal types through joining, splitting, and length calculation.
  • Tuple and Array Type Transformations - Provides type-level operations to append, filter, reverse, or zip tuple and array structures.
  • Type-Level Arithmetic - Performs mathematical calculations like sums and absolute values within the TypeScript type system.
  • Type Transformation Toolkits - Ships a set of utilities to perform complex computations on literal types, tuples, and string literals.
  • Type Transformations - Implements compile-time utilities for modifying types through operations like merging, picking, and omitting.
  • Union Type Transformations - Calculates union types by excluding, extracting, filtering, or intersecting their members.
  • Collection Transformations - Provides utilities for filtering, excluding, and flattening collections of types to derive new sets of permissible values.
  • Union Member Filtering - Filters, excludes, or extracts members from a union type based on a specific condition.
  • Union Set Operations - Removes all members of one union type from another to return only unique elements.
  • Function Type Transformers - Provides a specialized utility for currying, composing, and extracting signatures from advanced function types.
  • Mapped Type Transformations - Implements methods for iterating over object keys and union members to dynamically reconstruct type structures.
  • Object Property Type Extractors - Provides utilities to derive the specific type of a value associated with a given key from an object, array, or union.
  • Object Property Autocomplete - Provides autocomplete for string-based paths used to access deeply nested object properties.
  • Asynchronous Type Extraction - Implements a utility to retrieve the underlying value type wrapped by a Promise for type-safe asynchronous handling.
  • Type-Level Merging - A utility that combines multiple lists into one from left to right where subsequent items override preceding ones.
  • Object Path Merging - Completes the fields of an object at a specified path using fields from another object.
  • Function Currying - Transforms multi-argument functions into a sequence of single-argument functions using placeholders.
  • Character Indexing - Retrieves the character located at a specified numeric index within a string literal type.
  • String Metric Computations - Computes the number of characters in a string literal type for use in static constraints.
  • Type Relationship Verification - Asserts that two types are identical at compile time to ensure type-level logic remains correct.
  • Type Signature Extractions - Extracts parameters and return values from function types while allowing behavior modification.
  • Type-Safe Path Autocomplete - Provides type-safe string paths for accessing nested object properties with full IDE autocomplete.
  • Key Presence Validation - A utility that ensures that at least one specific key from a provided set is present in an object.
  • Function Signature Manipulations - Alters function type signatures by currying, composing, or extracting parameter and return types.
  • Function Composition - Implements a utility to combine a sequence of operations where the output of one function flows into the next.
  • Required Field Enforcement - Removes optional and nullable markers from all properties in an object type to ensure their presence.
  • Compile-Time Type Validation - Offers a toolkit for validating type equality and enforcing constraints to ensure correctness during compilation.
  • Static - Verifies that complex type computations resolve to expected results during compilation to prevent regressions.
  • Type Logic Validation - Provides utilities to execute assertions against type definitions to verify the correctness of complex type computations.
  • Type Resolution Testing - Provides utilities to verify that a type resolves to an expected result using assertion tools.
  • Type Utilities - Comprehensive collection of type manipulation utilities.

Star history

Star history chart for millsp/ts-toolbeltStar history chart for millsp/ts-toolbelt

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Ts Toolbelt

These projects share indexed features with Ts Toolbelt. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • sindresorhus/type-festsindresorhus avatar

    sindresorhus/type-fest

    17,233View on GitHub↗

    type-fest is a library of reusable utility types for performing complex transformations and validations on objects, arrays, strings, and numeric ranges in TypeScript. It provides a collection of type definitions designed to handle advanced structural changes and constraints. The project distinguishes itself by offering specialized logic for string literal processing, such as casing transformations and pattern-based modifications, and type-level arithmetic for calculating numeric ranges and absolute values. It also includes utilities for enforcing deep immutability, ensuring union mutual exclu

    TypeScriptnpm-packagetypestypescript
    View on GitHub↗17,233
  • piotrwitek/utility-typespiotrwitek avatar

    piotrwitek/utility-types

    5,759View on GitHub↗

    This is a TypeScript utility type library providing advanced type aliases and mapped types for complex object and union transformations. It implements specialized tools for creating branded nominal types, extracting type metadata, and performing set operations on union types. The project distinguishes itself through a toolkit for recursive object transformations, allowing for the application of property constraints like read-only or optional status across deeply nested structures. It also provides a system for computing intersections, differences, and complements between union types to simula

    TypeScriptmapped-typesstatic-typingtypescript
    View on GitHub↗5,759
  • ts-essentials/ts-essentialsts-essentials avatar

    ts-essentials/ts-essentials

    4,068View on GitHub↗

    ts-essentials is a comprehensive toolkit of utility types and libraries for TypeScript, providing advanced primitives for recursive structural transformations, runtime assertions, and type guards. It serves as a utility library for performing complex type-level programming to ensure stronger type safety and reduce boilerplate. The project distinguishes itself through a specialized set of tools for deep object manipulation, such as recursively applying read-only or optional modifiers across nested hierarchies. It also provides a dedicated set of strict type constraints to ensure data structure

    TypeScriptessentialstoolboxtype-level-programming
    View on GitHub↗4,068
  • gvergnaud/hotscriptgvergnaud avatar

    gvergnaud/hotscript

    3,669View on GitHub↗

    Hotscript is a comprehensive suite of composable utilities designed for performing structural transformations and mathematical operations within the TypeScript type system. It serves as a type-level manipulation library that provides a set of higher-order functions to map, filter, and reduce the structure of type definitions. The project focuses on type-level programming by implementing reusable logic and calculations directly within types. This includes the ability to create custom type functions, implement type-level pattern matching, and compose sequences of transformations where each oper

    TypeScripttype-level-programmingtypescript
    View on GitHub↗3,669
Compare all 30 related projects→

Frequently asked questions

What does millsp/ts-toolbelt do?

ts-toolbelt is a collection of specialized utilities for manipulating and validating TypeScript types. It provides a toolkit for performing complex transformations on objects, unions, and functions to enforce strict data consistency at compile time.

What are the main features of millsp/ts-toolbelt?

The main features of millsp/ts-toolbelt are: Type Transformations, TypeScript Utility Libraries, Object Merging, Type Modifier Utilities, Object Type Transformations, Function Type Engineering, String Literal Type Manipulations, Tuple and Array Type Transformations.

Which projects share features with millsp/ts-toolbelt?

Projects with overlapping indexed features include: sindresorhus/type-fest — type-fest is a library of reusable utility types for performing complex transformations and validations on objects,… piotrwitek/utility-types — This is a TypeScript utility type library providing advanced type aliases and mapped types for complex object and… ts-essentials/ts-essentials — ts-essentials is a comprehensive toolkit of utility types and libraries for TypeScript, providing advanced primitives… gvergnaud/hotscript — Hotscript is a comprehensive suite of composable utilities designed for performing structural transformations and… microsoft/typescript-handbook — This project is a comprehensive guide and educational resource for the TypeScript language. It covers the fundamental… angus-c/just — Just is a collection of JavaScript utility libraries designed for data manipulation, functional programming,…