8 repository-uri
Utilities for manipulating and aggregating properties across union types.
Distinct from Union Types: Candidates focus on GraphQL unions or runtime validation, not type-level aggregation of keys.
Explore 8 awesome GitHub repositories matching programming languages & runtimes · Union Type Transformations. Refine with filters or upvote what's useful.
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
Creates a single object type containing every possible key found across a union of object types.
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
Extracts or excludes specific members from a union type based on matching criteria.
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.
Filters, excludes, or extracts members from a union type based on a specific condition.
collect.js is a dependency-free JavaScript library that provides a fluent, chainable interface for manipulating arrays and objects. It mirrors the Laravel Collection API, offering a consistent set of methods for data transformation across JavaScript and Laravel backend environments. The library stores collection data as plain arrays internally and supports fluent method chaining, where each method returns a new collection instance. The library distinguishes itself by closely replicating the Laravel Collection API in JavaScript, mapping each PHP method to an equivalent JavaScript implementatio
Provides a flatMap operation that maps and flattens nested arrays into a single sequence.
Aceasta este o bibliotecă de utilitare TypeScript care oferă alias-uri de tip avansate și tipuri mapate pentru transformări complexe de obiecte și uniuni. Implementează instrumente specializate pentru crearea de tipuri nominale marcate (branded types), extragerea metadatelor de tip și efectuarea operațiunilor de set pe tipuri de uniune. Proiectul se distinge printr-un toolkit pentru transformări recursive de obiecte, permițând aplicarea constrângerilor de proprietate precum starea read-only sau opțională pe structuri profund imbricate. De asemenea, oferă un sistem pentru calcularea intersecțiilor, diferențelor și complementelor între tipurile de uniune pentru a simula logica matematică a seturilor. Biblioteca acoperă o gamă largă de capabilități ale sistemului de tipuri, inclusiv filtrarea proprietăților obiectelor, compararea formelor și extragerea constructorilor de clase și a tipurilor de rezoluție a promisiunilor. Include, în plus, utilitare pentru validarea valorilor, cum ar fi detectarea valorilor falsy sau nullish și identificarea tipurilor primitive.
Provides utilities for manipulating, filtering, and aggregating properties across union types.
Octosql este un motor de interogare SQL federat, un transformator de date și un procesor de SQL pentru streaming. Acesta permite utilizatorilor să execute instrucțiuni SQL unice peste surse de date multiple și disparate, inclusiv diferite tipuri de baze de date și formate de fișiere, pentru a îmbina și transforma rezultatele într-un set unitar. Sistemul se distinge prin tratarea fișierelor CSV, JSONLines și Parquet ca tabele virtuale și prin utilizarea unei arhitecturi bazate pe plugin-uri pentru a extinde conectivitatea către motoare de stocare externe. Funcționează ca un procesor de streaming pentru fluxuri de date infinite, folosind watermarks, retractions și tumbling windows pentru a menține consistența evenimentelor sosite în afara ordinii. În plus, servește ca generator de date SQL capabil să producă seturi de date sintetice și fluxuri de înregistrări prin funcții de tip tabel. Motorul include capabilități pentru join-uri cross-source și analiză multi-sursă, optimizate prin predicate push-down la nivel de sursă pentru a reduce transferul de date. Gestionează date complexe printr-un sistem de tipuri statice cu union types și oferă observabilitate prin vizualizarea planurilor de execuție a interogărilor.
Employs a flexible type system to handle columns containing multiple possible types via assertions.
Acest proiect este un ghid cuprinzător și o resursă educațională pentru limbajul TypeScript. Acoperă principiile fundamentale ale limbajului, inclusiv sistemul său de tipuri structurale, analiza statică a tipurilor și procesul de transpilare a fișierelor sursă tipizate în JavaScript. Materialul detaliază modul de modelare a datelor complexe și a logicii de tip reutilizabile folosind generice, tipuri condiționale și tipuri mapate. De asemenea, explică utilizarea fișierelor de declarație pentru a oferi siguranța tipurilor pentru bibliotecile JavaScript externe și integrarea verificării tipurilor în proiectele JavaScript existente prin adnotări JSDoc. Domeniul de aplicare al conținutului se extinde la modele de programare orientată pe obiecte, manipularea DOM și configurarea comportamentelor compilatorului. Include îndrumări privind gestionarea interoperabilității modulelor, configurarea pipeline-urilor de build și utilizarea inteligenței editorului pentru o mai bună productivitate a dezvoltatorilor.
Covers how conditional types distribute over unions to enable advanced type mapping.
ts-essentials este un set de instrumente cuprinzător de tipuri utilitare și biblioteci pentru TypeScript, oferind primitive avansate pentru transformări structurale recursive, aserțiuni la runtime și type guards. Servește drept bibliotecă utilitară pentru efectuarea programării complexe la nivel de tip pentru a asigura o siguranță mai puternică a tipurilor și a reduce boilerplate-ul. Proiectul se distinge printr-un set specializat de instrumente pentru manipularea profundă a obiectelor, cum ar fi aplicarea recursivă a modificatorilor read-only sau opționali în ierarhii imbricate. De asemenea, oferă un set dedicat de constrângeri stricte de tip pentru a asigura că structurile de date respectă în mod specific specificațiile JSON. Setul de instrumente acoperă o gamă largă de capabilități, inclusiv analiza tipurilor pentru extracția metadatelor, manipularea uniunilor și tuplelor și validarea identității structurale. Include, de asemenea, utilitare de verificare la runtime pentru a impune exhaustivitatea cazurilor în logica condițională și pentru a valida constrângerile de tip în timpul execuției.
Transforms union types into intersection types to facilitate complex function signatures.