16 个仓库
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 是一个 JavaScript 实用程序库集合,专为数据操作、函数式编程、性能优化、统计分析和字符串处理而设计。它提供了一套用于深度克隆、过滤和转换复杂对象与数组的工具。 该项目被构建为一系列零依赖模块,允许独立使用实用程序以最小化包大小。它实现了包括柯里化、管道和部分应用在内的函数式编程模式,并通过记忆化、防抖和节流提供执行控制。 该库涵盖了广泛的功能,包括深度对象操作、组合数据生成以及素数验证和数值钳位等数学运算。它还包括用于计算方差和标准差等指标的统计工具,以及用于大小写转换和字符串插值的文本处理实用程序。
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.
这是一个 TypeScript 实用类型库,为复杂的对象和联合类型转换提供高级类型别名和映射类型。它实现了用于创建品牌化(branded)标称类型、提取类型元数据以及对联合类型执行集合操作的专用工具。 该项目通过一个用于递归对象转换的工具包脱颖而出,允许在深度嵌套的结构中应用只读或可选状态等属性约束。它还提供了一个用于计算联合类型之间的交集、差集和补集的系统,以模拟数学集合逻辑。 该库涵盖了广泛的类型系统功能,包括对象属性过滤、形状比较以及类构造函数和 Promise 解析类型的提取。它还包括用于值验证的实用程序,例如检测假值或空值以及识别原始类型。
Provides utilities for filtering specific properties from objects at the type level.
这是一个 JavaScript 不可变数据库,用于创建防止直接修改的对象和数组。它作为一个不可变状态管理器和对象包装器,通过阻止修改来确保数据一致性,同时保持与标准 JavaScript 语法的兼容性。 该库的功能类似于转换器,可将标准可变数据转换为冻结结构,并在需要本地修改时将其转回。这种工作流允许在不可变和可变版本之间切换数据,以便在再次锁定状态前进行批量编辑。 该项目提供了嵌套数据转换功能,包括基于路径的更新、对象深度合并以及在深层结构中查询值。它还支持数组到对象的转换、通过谓词移除属性,以及检测结构是否为不可变的能力。
Combines multiple objects into a single immutable structure with support for deep merge configurations.
Radash 是一个 TypeScript 函数式实用工具库,专为数据转换、验证和工作流管理而设计。它提供了一系列类型化的辅助函数来操作数组、对象和字符串。 该项目具有用于管理 Promise、重试和并发限制的异步工作流工具包,以及一套用于验证原始类型、对象和 Promise 的布尔验证器。它还实现了函数式编程模式,如函数组合、偏函数应用和错误优先响应模式。 该库涵盖了广泛的功能,包括具有深克隆和合并的对象状态管理、复杂的数组操作和字符串格式化。它还提供了用于执行优化的工具,如速率限制和结果缓存。
Implements recursive merging to combine nested data structures by traversing child properties.
Style Dictionary 是一个跨平台的样式生成器和设计令牌(design token)构建系统。它将单一来源的设计变量转换为多种输出格式和特定平台的代码文件,以在不同界面间保持单一事实来源。 该系统作为一个多格式样式编排器,合并模块化令牌源并根据目标平台要求对其进行转换。它使用可脚本化的转换接口来修改令牌值和名称,从而实现 Web、iOS 和 Android 应用设计系统样式的自动化。 构建过程由配置驱动,利用一个中心对象将令牌集映射到转换和输出规则。它采用中间表示映射来保持源令牌与最终目标平台的无关性,同时使用可插拔的格式适配器来定义处理后的令牌如何写入特定目标。
Employs deep merging to combine multiple modular token source files into a single flattened style object.
这是一个用于 Angular 应用程序的国际化框架。它提供了一个用于管理多语言文本的系统,通过将键映射到翻译后的字符串,利用 JSON 翻译管理器通过 HTTP 或本地源加载并合并本地化资产。该库包含一个运行时语言切换器,无需重新加载页面即可即时更新用户界面,以及一个用于识别源代码中可翻译字符串的键提取器。 该项目具有 ICU 消息格式化程序,用于处理复数和性别等复杂的语言需求。它的特色在于基于插件的加载器架构和可定制的插值解析器,允许开发者定义自定义逻辑来获取翻译数据并格式化动态参数。 该库涵盖了广泛的本地化能力,包括浏览器语言检测、回退语言配置,以及使用信号(signals)监控语言变化的响应式状态跟踪。它还支持针对特定语言 URL 的本地化路由策略,并提供用于翻译键验证和服务模拟的工具,以进行质量保证。
Implements recursive merging of translation resources to support shared dictionaries and locale-specific overrides.
ts-essentials 是一个全面的 TypeScript 工具类型和库工具包,提供用于递归结构转换、运行时断言和类型保护的高级原语。它作为一个工具库,用于执行复杂的类型级编程,以确保更强的类型安全性并减少样板代码。 该项目通过一套专门用于深度对象操作的工具脱颖而出,例如在嵌套层次结构中递归应用只读或可选修饰符。它还提供了一套专门的严格类型约束,以确保数据结构专门符合 JSON 规范。 该工具包涵盖了广泛的功能,包括用于元数据提取的类型分析、联合和元组操作以及结构身份验证。它还包括运行时验证工具,以在条件逻辑中强制执行案例穷举并在执行期间验证类型约束。
TypeScript-ts-tool modifies object keys or values by changing case, toggling optionality, or flattening types for better readability.
Seneca 是一个用于 Node.js 的消息驱动架构框架和微服务工具包。它作为分布式任务编排器和基于模式的消息路由器运行,允许开发人员构建通过消息总线通信的解耦服务系统。 该框架通过将业务逻辑组织为可重用、可配置模块的模块化插件系统而脱颖而出。它支持动态操作扩展,使新的处理程序能够包装或覆盖现有的操作模式,从而在不修改原始代码的情况下注入自定义逻辑。 该系统涵盖了广泛的功能,包括分布式服务通信、异步操作编排和实体数据管理。它还提供用于操作模式跟踪、基于 Web 的日志可视化以及用于服务依赖模拟的质量保证工具的观测工具。
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.