16 repository-uri
Utilities for filtering or modifying specific properties of an object during a cloning or duplication process.
Distinct from Entity Property Cloning: The provided candidates refer to game entity cloning or repository cloning; this is a general-purpose language-level object property transformer.
Explore 16 awesome GitHub repositories matching programming languages & runtimes · Object Property Transformers. Refine with filters or upvote what's useful.
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.
Provides the ability to filter or modify specific fields and types during the cloning process based on custom matching criteria.
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
Transforms object properties by applying mapping functions to keys, values, or property requirement levels.
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
Applies custom conversion logic, renaming, and filtering to object properties during serialization or deserialization.
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.
A utility that modifies properties on object types by making them optional, required, or readonly.
This is a configuration manager for Node.js applications that handles hierarchical settings across different deployment environments. It functions as an environment-based loader and settings parser that merges default configurations with overrides based on the current runtime context and hostname. The project distinguishes itself through a priority-based merge strategy that incorporates environment variables, command-line arguments, and external data sources to supersede file-based settings. It supports multi-format parsing for JSON, YAML, JavaScript, and TypeScript files, and allows for cust
Implements recursive object merging to combine multiple configuration sources into a single nested structure.
This is a configuration library for JVM applications that parses HOCON, JSON, and Java properties files into an immutable tree structure. It resolves ${...} placeholders by traversing the configuration tree and falling back to environment variables and system properties, and validates loaded configurations against a reference schema. The library loads configuration from classpath resources, files, URLs, system properties, and environment variables, merging them with priority-based override semantics. It provides typed value access with automatic type coercion, supports dot-path navigation,
Combines configuration objects with precedence rules for layered settings.
Just este o colecție de biblioteci de utilitare JavaScript concepute pentru manipularea datelor, programarea funcțională, optimizarea performanței, analiza statistică și procesarea șirurilor de caractere. Oferă un set de instrumente pentru deep cloning, filtrarea și transformarea obiectelor și array-urilor complexe. Proiectul este structurat ca o serie de module fără dependențe, permițând utilizarea independentă a utilitarelor pentru a minimiza dimensiunea bundle-ului. Implementează tipare de programare funcțională, inclusiv currying, piping și aplicare parțială, și oferă controlul execuției prin memoizare, debouncing și throttling. Biblioteca acoperă o gamă largă de capabilități, inclusiv manipularea profundă a obiectelor, generarea combinatorie de date și operațiuni matematice precum verificarea numerelor prime și numeric clamping. Include, de asemenea, instrumente statistice pentru calcularea metricilor precum varianța și deviația standard, precum și utilitare de procesare a textului pentru conversia cazurilor și interpolarea șirurilor.
Implements shallow assignment of properties from source objects into a target object.
Masuit.Tools is a comprehensive static utility library for .NET and ASP.NET Core development. It provides a broad collection of reusable helper methods and infrastructure components that cover common programming tasks without requiring dependency injection or instance management. The library is organized as flat utility classes, making its functionality directly accessible from anywhere in a project. The toolkit distinguishes itself through a wide range of integrated capabilities that go beyond typical utility libraries. It includes a multithreaded range-request file downloader with pause and
Copies non-null properties from several source objects into a single target object.
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 filtering specific properties from objects at the type level.
Aceasta este o bibliotecă de date imutabile JavaScript utilizată pentru a crea obiecte și array-uri care previn mutarea directă. Servește drept manager de stare imutabilă și wrapper de obiecte conceput pentru a asigura consistența datelor prin blocarea modificărilor, rămânând în același timp compatibil cu sintaxa JavaScript standard. Biblioteca funcționează ca un convertor care transformă datele mutabile standard în structuri înghețate și le poate converti înapoi pentru modificări locale. Acest lucru permite un flux de lucru în care datele sunt comutate între versiuni imutabile și mutabile pentru a efectua editări în masă înainte de a bloca din nou starea. Proiectul oferă capabilități pentru transformarea datelor imbricate, inclusiv actualizări bazate pe cale, îmbinarea profundă (deep merging) a obiectelor și interogarea valorilor în ierarhii profunde. De asemenea, suportă transformări array-to-object, eliminarea proprietăților prin predicate și capacitatea de a detecta dacă o structură este imutabilă.
Combines multiple objects into a single immutable structure with support for deep merge configurations.
Radash este o bibliotecă de utilitare funcționale TypeScript concepută pentru transformarea datelor, validare și gestionarea fluxurilor de lucru. Oferă o colecție de funcții helper tipizate pentru a manipula array-uri, obiecte și șiruri de caractere. Proiectul dispune de un toolkit de flux de lucru asincron pentru gestionarea promisiunilor, reîncercărilor și limitelor de concurență, alături de o suită de validatoare booleene pentru verificarea tipurilor primitive, obiectelor și promisiunilor. De asemenea, implementează modele de programare funcțională, cum ar fi compunerea funcțiilor, aplicarea parțială și modele de răspuns de tip error-first. Biblioteca acoperă o arie largă de capabilități, inclusiv gestionarea stării obiectelor cu deep cloning și merging, manipulări complexe de array-uri și formatarea șirurilor. În plus, oferă instrumente pentru optimizarea execuției, cum ar fi limitarea ratei (rate limiting) și caching-ul rezultatelor.
Implements recursive merging to combine nested data structures by traversing child properties.
Style Dictionary este un generator de stiluri cross-platform și un sistem de build pentru design tokens. Convertește o singură sursă de variabile de design în mai multe formate de output și fișiere specifice platformei pentru a menține o sursă unică de adevăr (source of truth) în diferite interfețe. Sistemul funcționează ca un orchestrator de stiluri multi-format care îmbină surse modulare de token-uri și le transformă pe baza cerințelor platformei țintă. Utilizează o interfață de transformare scriptabilă pentru a modifica valorile și numele token-urilor, permițând automatizarea stilurilor sistemului de design pentru aplicații web, iOS și Android. Procesul de build este bazat pe configurare, utilizând un obiect central pentru a mapa seturile de token-uri la regulile de transformare și output. Utilizează o mapare de reprezentare intermediară pentru a menține token-urile sursă agnostice față de platforma finală, folosind în același timp adaptoare de format pluggable pentru a defini modul în care token-urile procesate sunt scrise în destinații specifice.
Employs deep merging to combine multiple modular token source files into a single flattened style object.
This is an internationalization framework for Angular applications. It provides a system for managing multilingual text by mapping keys to translated strings, utilizing a JSON translation manager to load and merge localized assets via HTTP or local sources. The library includes a runtime language switcher to update the user interface instantly without reloading the page and a key extractor to identify translatable strings within source code. The project features an ICU message formatter to handle complex linguistic requirements such as pluralization and gender. It distinguishes itself through
Implements recursive merging of translation resources to support shared dictionaries and locale-specific overrides.
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.
TypeScript-ts-tool modifies object keys or values by changing case, toggling optionality, or flattening types for better readability.
Seneca is a message-driven architecture framework and microservices toolkit for Node.js. It functions as a distributed task orchestrator and pattern-based message router, allowing developers to build systems of decoupled services that communicate via a message bus. The framework distinguishes itself through a modular plugin system that organizes business logic into reusable, configurable modules. It supports dynamic action extensions, enabling new handlers to wrap or override existing action patterns to inject custom logic without modifying original code. The system covers a broad range of c
Combines multiple configuration objects into one by recursively overwriting properties from right to left.
Schema-dts is a type-safe library providing TypeScript interfaces for modeling structured data and interconnected graph relationships. It serves as a framework for defining and enforcing strict property requirements for JSON-LD objects, ensuring that metadata generated for web applications and search engines adheres to established vocabulary standards. The project distinguishes itself by providing a comprehensive set of definitions for the Schema.org vocabulary, enabling developers to build complex, machine-readable data graphs with compile-time validation. It supports the composition of mult
Merges multiple concrete data types into a single object definition to support entities that must serve several roles simultaneously within a graph.