16 repositorios
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 es una colección de librerías de utilidades de JavaScript diseñadas para la manipulación de datos, programación funcional, optimización del rendimiento, análisis estadístico y procesamiento de cadenas. Proporciona un conjunto de herramientas para clonación profunda, filtrado y transformación de objetos y arrays complejos. El proyecto está estructurado como una serie de módulos sin dependencias, permitiendo que las utilidades se utilicen de forma independiente para minimizar el tamaño del bundle. Implementa patrones de programación funcional incluyendo currying, piping y aplicación parcial, y proporciona control de ejecución mediante memoización, debouncing y throttling. La librería cubre un amplio rango de capacidades, incluyendo manipulación profunda de objetos, generación de datos combinatorios y operaciones matemáticas como verificación de números primos y acotación numérica. También incluye herramientas estadísticas para calcular métricas como varianza y desviación estándar, así como utilidades de procesamiento de texto para conversión de casos e interpolación de cadenas.
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.
Esta es una librería de tipos de utilidad de TypeScript que proporciona alias de tipo avanzados y tipos mapeados para transformaciones complejas de objetos y uniones. Implementa herramientas especializadas para crear tipos nominales marcados, extraer metadatos de tipo y realizar operaciones de conjuntos en tipos de unión. El proyecto destaca por un kit de herramientas para transformaciones de objetos recursivas, permitiendo la aplicación de restricciones de propiedad como estado de solo lectura u opcional a través de estructuras profundamente anidadas. También proporciona un sistema para calcular intersecciones, diferencias y complementos entre tipos de unión para simular la lógica de conjuntos matemática. La librería cubre una amplia gama de capacidades del sistema de tipos, incluyendo filtrado de propiedades de objeto, comparación de formas y la extracción de constructores de clases y tipos de resolución de promesas. Adicionalmente incluye utilidades para la validación de valores, como la detección de valores falsy o nullish y la identificación de tipos primitivos.
Provides utilities for filtering specific properties from objects at the type level.
Esta es una librería de datos inmutables en JavaScript utilizada para crear objetos y arrays que impiden la mutación directa. Sirve como un gestor de estado inmutable y wrapper de objetos diseñado para garantizar la consistencia de los datos bloqueando las modificaciones mientras permanece compatible con la sintaxis estándar de JavaScript. La librería funciona como un convertidor que transforma datos mutables estándar en estructuras congeladas y puede convertirlos de nuevo para modificaciones locales. Esto permite un flujo de trabajo donde los datos se cambian entre versiones inmutables y mutables para realizar ediciones masivas antes de bloquear el estado de nuevo. El proyecto proporciona capacidades para la transformación de datos anidados, incluyendo actualizaciones basadas en rutas, fusión profunda de objetos y consulta de valores dentro de jerarquías profundas. También admite transformaciones de array a objeto, eliminación de propiedades mediante predicados y la capacidad de detectar si una estructura es inmutable.
Combines multiple objects into a single immutable structure with support for deep merge configurations.
Radash es una librería de utilidades funcionales de TypeScript diseñada para la transformación de datos, validación y gestión de flujos de trabajo. Proporciona una colección de funciones auxiliares tipadas para manipular arrays, objetos y cadenas. El proyecto cuenta con un toolkit de flujo de trabajo asíncrono para gestionar promesas, reintentos y límites de concurrencia, junto con una suite de validadores booleanos para verificar tipos primitivos, objetos y promesas. También implementa patrones de programación funcional como composición de funciones, aplicación parcial y patrones de respuesta de error primero. La librería cubre una amplia superficie de capacidades, incluyendo gestión de estado de objetos con clonación profunda y fusión, manipulaciones complejas de arrays y formateo de cadenas. Adicionalmente proporciona herramientas para la optimización de ejecución, como limitación de tasa (rate limiting) y caché de resultados.
Implements recursive merging to combine nested data structures by traversing child properties.
Style Dictionary es un generador de estilos multiplataforma y sistema de construcción de tokens de diseño. Convierte una fuente única de variables de diseño en múltiples formatos de salida y archivos específicos de plataforma para mantener una fuente de verdad consistente en diferentes interfaces. El sistema funciona como un orquestador de estilos multiformato que fusiona fuentes de tokens modulares y los transforma según los requisitos de la plataforma de destino. Utiliza una interfaz de transformación programable para modificar valores y nombres de tokens, permitiendo la automatización de estilos de sistemas de diseño para aplicaciones web, iOS y Android. El proceso de construcción está basado en configuración, utilizando un objeto central para mapear conjuntos de tokens a reglas de transformación y salida. Emplea un mapeo de representación intermedia para mantener los tokens fuente agnósticos a la plataforma final, mientras utiliza adaptadores de formato conectables para definir cómo se escriben los tokens procesados en destinos específicos.
Employs deep merging to combine multiple modular token source files into a single flattened style object.
Este es un framework de internacionalización para aplicaciones Angular. Proporciona un sistema para gestionar texto multilingüe mapeando claves a cadenas traducidas, utilizando un gestor de traducción JSON para cargar y fusionar activos localizados a través de HTTP o fuentes locales. La biblioteca incluye un selector de idioma en tiempo real para actualizar la interfaz de usuario instantáneamente sin recargar la página y un extractor de claves para identificar cadenas traducibles dentro del código fuente. El proyecto cuenta con un formateador de mensajes ICU para manejar requisitos lingüísticos complejos como pluralización y género. Se distingue por una arquitectura de cargador basada en plugins y analizadores de interpolación personalizables, permitiendo a los desarrolladores definir lógica personalizada para obtener datos de traducción y formatear parámetros dinámicos. La biblioteca cubre una amplia gama de capacidades de localización, incluyendo detección de idioma del navegador, configuración de idioma de respaldo y seguimiento de estado reactivo utilizando señales para monitorear cambios de idioma. También admite estrategias de enrutamiento localizado para URLs específicas de idioma y proporciona herramientas para la validación de claves de traducción y simulación de servicios para control de calidad.
Implements recursive merging of translation resources to support shared dictionaries and locale-specific overrides.
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
TypeScript-ts-tool modifies object keys or values by changing case, toggling optionality, or flattening types for better readability.
Seneca es un framework de arquitectura basada en mensajes y kit de herramientas de microservicios para Node.js. Funciona como un orquestador de tareas distribuido y enrutador de mensajes basado en patrones, permitiendo a los desarrolladores construir sistemas de servicios desacoplados que se comunican a través de un bus de mensajes. El framework se distingue por un sistema de plugins modular que organiza la lógica de negocio en módulos reutilizables y configurables. Soporta extensiones de acción dinámicas, permitiendo que nuevos manejadores envuelvan o sobrescriban patrones de acción existentes para inyectar lógica personalizada sin modificar el código original. El sistema cubre una amplia gama de capacidades, incluyendo comunicación de servicios distribuidos, orquestación de acciones asíncronas y gestión de datos de entidades. También proporciona herramientas de observabilidad para el rastreo de patrones de acción, visualización de logs basada en web y utilidades de aseguramiento de calidad para el mocking de dependencias de servicios.
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.