30 open-source projects similar to piotrwitek/utility-types, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
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.
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
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
This project is a comprehensive guide and educational resource for the TypeScript language. It covers the fundamental principles of the language, including its structural type system, static type analysis, and the process of transpiling typed source files into JavaScript. The material details how to model complex data and reusable type logic using generics, conditional types, and mapped types. It also explains the use of declaration files to provide type safety for external JavaScript libraries and the integration of type checking into existing JavaScript projects via JSDoc annotations. The
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
Arktype is a TypeScript runtime validation library and schema orchestrator. It synchronizes TypeScript types with runtime data validation, allowing users to define type-safe schemas that ensure unknown data adheres to specific structures during application execution. The project distinguishes itself by using set-theory type analysis to determine intersections and subtype compatibility, alongside JIT-compiled validation functions for optimized performance. It supports advanced type modeling through branded type constraints, recursive alias resolution, and the ability to generate runtime valida
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
TypeHero is a TypeScript learning platform and community space designed for solving coding challenges and sharing solutions. It functions as a collaborative code sandbox and challenge engine where users practice advanced language features by completing programming puzzles. The platform provides a technical skill tracking system featuring curated learning tracks organized by topic and difficulty. It includes tools for coding challenge design, allowing users to create and publish original programming exercises for others to solve. The system facilitates collaborative code learning through solu
This is a Chinese translation of the TypeScript Deep Dive book, a comprehensive guide focused on mastering TypeScript’s static type system and advanced type features. The project translates the original English content into Chinese while preserving technical accuracy, covering the type system, generics, conditional types, and mapped types with practical examples. The translation is organized into logical chapters that progress from basics to advanced topics, with side-by-side code examples and Chinese explanations to illustrate type system concepts concretely. It also integrates TypeScript re
Meta-typing is a TypeScript metaprogramming toolkit that executes complex algorithms, mathematical operations, and data structure traversals entirely within compile-time type definitions. It functions as a type-level computation engine that evaluates numeric expressions, basic arithmetic, and aggregate calculations through recursive type evaluation and tuple-based data representations during the compilation phase. The library implements a comprehensive collection of advanced algorithms and data structures, including collection manipulation utilities for array slicing, filtering, merging, and
This project is a structured educational course and interactive tutorial designed to teach the TypeScript type system. It functions as a coding sandbox where users learn through a series of guided exercises and challenges that are verified using an automated local test runner. The curriculum covers a progression of skills starting with basic typing fundamentals and core language patterns. It advances into generic abstractions, complex type transformation techniques, and advanced type programming. The material also includes practical applications of software engineering patterns, such as bran
The Concise TypeScript Book: A Concise Guide to Effective Development in TypeScript. Free and Open Source.
ts-reset is a TypeScript type enhancement library that overrides and augments the built-in type definitions for standard JavaScript APIs. Its core purpose is to replace unsafe any return types with stricter alternatives like unknown, forcing developers to explicitly validate data before using it. The library achieves this through global type augmentation and declaration merging, applying changes across the entire project without requiring per-file imports. The library differentiates itself by targeting specific pain points in everyday TypeScript usage. It relaxes type constraints on array
Mapperly is a C# source generator used for high-performance object-to-object mapping in .NET. It functions as a compile-time mapping library that produces the necessary transformation code during the build process, eliminating the need for runtime reflection when converting between domain models and data transfer objects. The tool distinguishes itself by providing type-safe diagnostic validation and strict mapping enforcement, emitting warnings for unmapped properties at compile time. It includes specialized capabilities for circular reference handling and deep cloning to maintain object iden
jscamp is a full-stack web development and education project focused on mastering JavaScript, TypeScript, and AI integration. It provides a structured curriculum and interactive exercises covering language fundamentals, frontend engineering, and backend API development. The project distinguishes itself through the implementation of autonomous AI agents capable of complex task automation, such as modifying files, managing servers, and executing API calls. It includes advanced AI development tools for conversational querying, real-time code suggestions, and automated repository analysis to gene
TypeScript is a language that extends standard syntax by adding a static type system. It identifies potential runtime errors by analyzing the behaviors and capabilities of values during the compilation process. The language supports object-oriented structures, including classes with inheritance and member visibility control, as well as flexible function definitions that utilize generics, overloads, and parameter destructuring. The project provides a compiler that manages the build lifecycle through a command-line interface, offering configurable options for module resolution, code generation,
Type-challenges is a community-driven learning platform and programming playground designed to help developers master advanced TypeScript type systems. It provides a collection of interactive exercises that focus on complex type-level logic, allowing users to practice and refine their skills through hands-on problem solving. The project distinguishes itself by focusing on the boundaries of the language, requiring users to employ recursive conditional types, mapped transformations, and variadic tuple manipulation to solve curated coding puzzles. By working through these challenges, developers
This project is a comprehensive educational resource and programming course covering C++ language semantics and features from C++03 through C++26. It provides structured tutorials and technical guides focused on modern C++ development. The material offers specialized instruction on template metaprogramming, including the use of type traits and compile-time computations. It features detailed guides on concurrency and parallelism for multi-core execution, as well as a reference for software design applying SOLID principles and RAII. Additionally, it covers build performance optimization to redu
react-docgen is a static analysis library and automated documentation tool designed to extract structured metadata from React component definitions. It functions as an AST-based code parser that transforms source code into machine-readable formats, enabling the programmatic generation of technical documentation and developer portals. The tool identifies component names, descriptions, and methods by analyzing source code without executing it. It specifically extracts detailed property information, including type definitions, default values, and human-readable descriptions derived from docblock
This is a comprehensive tutorial for learning TypeScript, designed for JavaScript programmers who want to understand the language's type system and modern features. The resource covers TypeScript's core identity, including its structural type compatibility, compile-time type erasure, declaration file merging, and the discriminated union pattern for precise type narrowing. The tutorial distinguishes itself by providing a progressive learning path from basic JavaScript concepts to advanced TypeScript patterns. It covers generic type parameter constraints, tuple types with fixed-length positions
msgspec is a high-performance data modeling, serialization, and schema validation toolkit for Python. It serves as a type-safe serialization framework that integrates schema enforcement and data parsing into a single pass, functioning as both a data serialization library and a schema validation system based on standard Python type annotations. The project distinguishes itself through high-performance structural primitives, including compilation-based routine generation and zero-copy buffer parsing. It optimizes memory usage via garbage collection-aware layouts and reduces processing overhead
This library provides a framework for defining typed, immutable data structures in PHP. It enables developers to construct structured objects from raw input arrays, ensuring consistent data shapes and schema integrity across different layers of an application. By enforcing strict property types and validation rules during instantiation, the library prevents invalid data states and simplifies the handling of complex information. The project distinguishes itself through its use of attribute-driven metadata, which allows for property renaming, custom validation, and serialization logic directly
class-transformer is a TypeScript library that converts plain JavaScript objects into typed class instances and back, using decorators to define transformation rules. It serves as a decorator-based object transformer, JSON deserialization library, and property transformation framework, enabling type-safe serialization and deserialization of class instances. The library distinguishes itself through comprehensive property filtering and mapping capabilities. It supports excluding properties by default, by prefix, by operation (serialization or deserialization), or by explicit marking, as well as
DeepCopy is a recursive object cloning library designed to create independent copies of complex nested objects. It functions as a state snapshot utility and object cloning tool that produces clones while preserving the original object graph. The library includes a circular reference handler to duplicate data structures containing self-referencing loops without causing infinite recursion. It also serves as an object property transformer, allowing for the filtering or modification of specific fields and types during the cloning process based on custom matching criteria.
This project is a static analysis engine and type checker designed for PHP codebases. It evaluates source code structure and type annotations to identify potential bugs, type mismatches, and logic errors without executing the application. By parsing code into an abstract syntax tree and applying a rule-based validation framework, it enforces code quality and safety standards across a project. What distinguishes this tool is its sophisticated type inference engine, which models dynamic language features, magic methods, and conditional types to maintain accuracy even in unconventional code. It
Strongly typed string functions