16 Repos
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 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
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.
Dies ist eine TypeScript-Utility-Typ-Bibliothek, die fortgeschrittene Typ-Aliase und Mapped Types für komplexe Objekt- und Union-Transformationen bereitstellt. Sie implementiert spezialisierte Tools für die Erstellung gebrandeter nominaler Typen, das Extrahieren von Typ-Metadaten und die Durchführung von Mengenoperationen auf Union-Typen. Das Projekt zeichnet sich durch ein Toolkit für rekursive Objekttransformationen aus, das die Anwendung von Eigenschaftseinschränkungen wie Read-only- oder Optional-Status über tief verschachtelte Strukturen hinweg ermöglicht. Zudem bietet es ein System zur Berechnung von Schnittmengen, Differenzen und Komplementen zwischen Union-Typen, um mathematische Mengenlogik zu simulieren. Die Bibliothek deckt ein breites Spektrum an Typsystem-Funktionen ab, einschließlich Objekt-Eigenschaftsfilterung, Formvergleich sowie die Extraktion von Klassenkonstruktoren und Promise-Auflösungstypen. Sie enthält zusätzlich Dienstprogramme für die Wertvalidierung, wie z. B. das Erkennen von falsy oder nullish Werten und die Identifizierung primitiver Typen.
Provides utilities for filtering specific properties from objects at the type level.
Dies ist eine JavaScript-Bibliothek für unveränderliche (immutable) Daten, die verwendet wird, um Objekte und Arrays zu erstellen, die direkte Mutationen verhindern. Sie dient als Immutable-State-Manager und Objekt-Wrapper, der darauf ausgelegt ist, Datenkonsistenz durch Blockierung von Modifikationen zu gewährleisten, während die Kompatibilität mit der Standard-JavaScript-Syntax erhalten bleibt. Die Bibliothek fungiert als Konverter, der standardmäßige veränderbare Daten in eingefrorene Strukturen transformiert und diese für lokale Modifikationen wieder zurückkonvertieren kann. Dies ermöglicht einen Workflow, bei dem Daten zwischen unveränderlichen und veränderbaren Versionen gewechselt werden, um Massenbearbeitungen durchzuführen, bevor der Zustand wieder gesperrt wird. Das Projekt bietet Funktionen für die Transformation verschachtelter Daten, einschließlich pfadbasierter Updates, Deep-Merging von Objekten und Abfragen von Werten innerhalb tiefer Hierarchien. Zudem unterstützt es Array-zu-Objekt-Transformationen, das Entfernen von Eigenschaften mittels Prädikaten sowie die Fähigkeit zu erkennen, ob eine Struktur unveränderlich ist.
Combines multiple objects into a single immutable structure with support for deep merge configurations.
Radash is a TypeScript functional utility library designed for data transformation, validation, and workflow management. It provides a collection of typed helper functions to manipulate arrays, objects, and strings. The project features an asynchronous workflow toolkit for managing promises, retries, and concurrency limits, alongside a suite of boolean validators for verifying primitive types, objects, and promises. It also implements functional programming patterns such as function composition, partial application, and error-first response patterns. The library covers a broad surface of cap
Implements recursive merging to combine nested data structures by traversing child properties.
Style Dictionary ist ein plattformübergreifender Style-Generator und ein Build-System für Design-Tokens. Es konvertiert eine einzelne Quelle von Design-Variablen in mehrere Ausgabeformate und plattformspezifische Dateien, um eine konsistente Single Source of Truth über verschiedene Interfaces hinweg zu wahren. Das System fungiert als Multi-Format-Style-Orchestrator, der modulare Token-Quellen zusammenführt und basierend auf den Anforderungen der Zielplattform transformiert. Es nutzt ein skriptfähiges Transform-Interface, um Token-Werte und -Namen zu modifizieren, was die Automatisierung von Design-System-Styles für Web-, iOS- und Android-Anwendungen ermöglicht. Der Build-Prozess ist konfigurationsgesteuert und nutzt ein zentrales Objekt, um Token-Sets auf Transformations- und Ausgaberegeln zu mappen. Es verwendet eine Intermediate Representation, um die Quell-Tokens agnostisch gegenüber der Zielplattform zu halten, während steckbare Format-Adapter definieren, wie verarbeitete Tokens in spezifische Zielformate geschrieben werden.
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 ist ein umfassendes Toolkit mit Utility-Types und Bibliotheken für TypeScript, das erweiterte Primitive für rekursive strukturelle Transformationen, Laufzeit-Assertions und Type-Guards bereitstellt. Es dient als Utility-Bibliothek zur Durchführung komplexer Type-Level-Programmierung, um eine stärkere Typsicherheit zu gewährleisten und Boilerplate-Code zu reduzieren. Das Projekt zeichnet sich durch ein spezialisiertes Set an Tools für die tiefe Objektmanipulation aus, wie etwa das rekursive Anwenden von Read-only- oder Optional-Modifikatoren über verschachtelte Hierarchien hinweg. Zudem bietet es ein dediziertes Set an strikten Type-Constraints, um sicherzustellen, dass Datenstrukturen spezifisch den JSON-Spezifikationen entsprechen. Das Toolkit deckt ein breites Spektrum an Funktionen ab, einschließlich Typanalyse für die Metadatenextraktion, Union- und Tuple-Manipulation sowie Validierung der strukturellen Identität. Es enthält zudem Laufzeit-Verifizierungs-Utilities, um die Vollständigkeit von Cases in der bedingten Logik zu erzwingen und Typ-Constraints während der Ausführung zu validieren.
TypeScript-ts-tool modifies object keys or values by changing case, toggling optionality, or flattening types for better readability.
Seneca ist ein nachrichtengetriebenes Architektur-Framework und Microservices-Toolkit für Node.js. Es fungiert als verteilter Task-Orchestrator und musterbasierter Nachrichten-Router, der es Entwicklern ermöglicht, Systeme aus entkoppelten Diensten zu erstellen, die über einen Message-Bus kommunizieren. Das Framework zeichnet sich durch ein modulares Plugin-System aus, das Geschäftslogik in wiederverwendbare, konfigurierbare Module organisiert. Es unterstützt dynamische Aktionserweiterungen, wodurch neue Handler bestehende Aktionsmuster umschließen oder überschreiben können, um benutzerdefinierte Logik zu injizieren, ohne den ursprünglichen Code zu ändern. Das System deckt ein breites Spektrum an Funktionen ab, einschließlich verteilter Dienstkommunikation, asynchroner Aktionsorchestrierung und Entity-Datenverwaltung. Es bietet zudem Observability-Tools für das Tracing von Aktionsmustern, webbasierte Log-Visualisierung und Qualitätssicherungstools für das Mocking von Dienstabhängigkeiten.
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.