awesome-repositories.com
Blog
MCP
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetServeur MCPÀ proposNotre méthodologiePresse
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

20 dépôts

Awesome GitHub RepositoriesObject Transformation

Operations for cloning, merging, picking, and omitting properties within JavaScript objects.

Distinct from Object Collection Processors: Object Collection Processors is for collections of objects; this focuses on the internal property transformation of a single object.

Explore 20 awesome GitHub repositories matching data & databases · Object Transformation. Refine with filters or upvote what's useful.

Awesome Object Transformation GitHub Repositories

Trouvez les meilleurs dépôts grâce à l'IA.Nous recherchons les dépôts les plus pertinents grâce à l'IA.
  • lodash/lodashAvatar de lodash

    lodash/lodash

    61,235Voir sur GitHub↗

    Lodash is a JavaScript utility library and data manipulation toolkit. It provides a collection of modular functions for transforming, filtering, and validating arrays, objects, strings, and numbers. The project functions as a functional programming toolkit, offering capabilities for function composition, currying, and lazy evaluation. It includes mechanisms for execution control, such as debouncing and throttling, to manage the timing and frequency of function invocations. The library covers a broad surface of data operations, including deep cloning and merging of complex nested structures,

    Provides deep and shallow operations to clone, merge, pick, omit, or update properties within objects.

    JavaScriptjavascriptlodashmodules
    Voir sur GitHub↗61,235
  • immutable-js/immutable-jsAvatar de immutable-js

    immutable-js/immutable-js

    33,060Voir sur GitHub↗

    Immutable.js is a library of persistent data structures and a functional state management toolkit. It provides a collection of immutable objects and arrays that prevent direct mutation to ensure predictable state management in JavaScript applications. The library utilizes structural sharing to efficiently create new versions of data without full copying and implements lazy sequence processing to chain data transformations that execute only when values are requested. It also supports batch mutation processing, allowing multiple changes to be applied to a temporary mutable copy before returning

    Provides object transformation utilities to export immutable collections back into plain JavaScript objects or arrays.

    TypeScript
    Voir sur GitHub↗33,060
  • jashkenas/underscoreAvatar de jashkenas

    jashkenas/underscore

    27,345Voir sur GitHub↗

    Underscore is a JavaScript utility library providing a suite of functional programming and data manipulation helpers. It serves as a framework for transforming data collections, composing functions, managing objects, and performing precise data type validation without modifying core language prototypes. The project includes a functional programming toolkit designed to control function execution timing and behavior through techniques such as debouncing, throttling, and partial application. It also provides a dedicated object manipulation utility for cloning, merging, picking, and omitting prop

    Provides utilities for cloning, merging, picking, and omitting properties from JavaScript objects.

    JavaScript
    Voir sur GitHub↗27,345
  • ramda/ramdaAvatar de ramda

    ramda/ramda

    24,072Voir sur GitHub↗

    Ramda is a functional JavaScript standard library and toolset for immutable data transformation and composition. It provides a comprehensive suite of pure utility functions designed to enable declarative data processing pipelines. The library is distinguished by its use of automatic function currying and a data-last argument order. These design patterns allow multi-argument functions to be partially applied, simplifying the construction of processing chains where data is passed through a sequence of operations. The toolkit covers broad data manipulation capabilities, including list processin

    Locates specific objects within lists using unique identifiers.

    JavaScriptjavascriptramda
    Voir sur GitHub↗24,072
  • sindresorhus/type-festAvatar de sindresorhus

    sindresorhus/type-fest

    17,233Voir sur GitHub↗

    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

    Provides deep and shallow object transformation types for merging and omitting properties.

    TypeScriptnpm-packagetypestypescript
    Voir sur GitHub↗17,233
  • hackernews/apiAvatar de HackerNews

    HackerNews/API

    13,128Voir sur GitHub↗

    This project is a public community data API that provides a RESTful interface for accessing real-time discussions and metadata. It serves as a JSON data provider, offering structured community information for use in third-party client and server applications. The interface enables the retrieval of public items, stories, and comments, as well as public account information for specific users. It provides capabilities for fetching filtered lists of stories based on ranking or novelty and allows for the discovery of recent items to track new content updates. The system covers a broad range of da

    Implements retrieval of specific stories, comments, or users using unique alphanumeric keys.

    Voir sur GitHub↗13,128
  • clojure/clojureAvatar de clojure

    clojure/clojure

    11,006Voir sur GitHub↗

    Clojure is a general-purpose, functional programming language hosted on the Java Virtual Machine. It is a homoiconic S-expression language that represents programs as nested data structures, allowing code to be manipulated and evaluated as data. The project provides a framework for JVM interoperability, enabling the invocation of Java methods and integration with other JVM-based languages. It distinguishes itself through a persistent data structure library that uses bitmapped vector tries to manage immutable collections and a programmatic REPL for interactive software development and real-tim

    Converts complex objects into data structures to enable easier navigation using a data-centric facility.

    Java
    Voir sur GitHub↗11,006
  • netflix/falcorAvatar de Netflix

    Netflix/falcor

    10,572Voir sur GitHub↗

    Falcor is a JavaScript library that models remote data as a single virtual JSON graph, providing a path-based query engine for efficient client-side data retrieval and updates. It represents multiple remote data sources as a unified document where entities are accessed via globally unique identity paths. The system distinguishes itself by treating the remote data model as a virtual JSON resource, allowing the client to query specific paths without managing individual endpoints. It uses a reference-aware graph model to handle many-to-many relationships and prevents data duplication. Network ef

    Creates a new model bound to a specific object by its identity to target entities correctly.

    JavaScript
    Voir sur GitHub↗10,572
  • myclabs/deepcopyAvatar de myclabs

    myclabs/DeepCopy

    8,891Voir sur GitHub↗

    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.

    Allows for cloning, picking, and omitting properties within objects using custom matching criteria.

    PHPcloneclone-deep
    Voir sur GitHub↗8,891
  • metalsmith/metalsmithAvatar de metalsmith

    metalsmith/metalsmith

    7,827Voir sur GitHub↗

    Metalsmith is a Node.js static site generator and static content processor that transforms source files into websites, eBooks, or technical documentation. It functions as a file-to-object transformer, converting directory trees into plain JavaScript objects that can be programmatically manipulated in memory. The project is built around a pluggable build pipeline where files are passed through a sequence of custom functions to transform content and metadata incrementally. This architecture allows users to extend functionality by writing their own plugins or using third-party modules to define

    Converts source directories into JavaScript objects to allow plugins to manipulate the site structure programmatically.

    JavaScriptjavascriptmarkdownmarkdown-to-html
    Voir sur GitHub↗7,827
  • typestack/class-transformerAvatar de typestack

    typestack/class-transformer

    7,334Voir sur GitHub↗

    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

    Converts class instances back into plain JavaScript objects for serialization or transmission.

    TypeScriptexposing-gettersexposing-propertiestransformation
    Voir sur GitHub↗7,334
  • mobxjs/mobx-state-treeAvatar de mobxjs

    mobxjs/mobx-state-tree

    7,050Voir sur GitHub↗

    MobX State Tree is a structured, tree-based state management library for JavaScript applications that combines typed model definitions with reactive snapshots and patch-based change tracking. It provides a reactive state container with runtime and compile-time type safety, where application state is defined as a tree of typed models with collocated actions, computed views, and lifecycle hooks for predictable state mutations. The library is built around an action-centric mutation model that encapsulates all state changes within named functions that directly modify the tree, supported by genera

    Converts a model tree into an immutable plain JavaScript object for transport or serialization.

    TypeScripthacktoberfestmobxmobx-state-tree
    Voir sur GitHub↗7,050
  • sebastianbergmann/object-enumeratorAvatar de sebastianbergmann

    sebastianbergmann/object-enumerator

    6,537Voir sur GitHub↗

    Object-enumerator is a data structure crawler and enumeration library designed to discover and list all objects stored within deep or circular data references. It functions as a traversal tool that recursively walks through nested arrays and object graphs to identify every individual referenced object. The library flattens complex hierarchical data structures into a linear collection of unique objects. This process enables data structure analysis and memory reference mapping by tracing all objects connected to a root element to understand the overall composition of a data set.

    Provides utilities to navigate and enumerate every individual object referenced within a complex data set.

    PHP
    Voir sur GitHub↗6,537
  • samchon/typiaAvatar de samchon

    samchon/typia

    5,837Voir sur GitHub↗

    Typia is a compile-time code generator that transforms TypeScript type annotations into runtime validation, serialization, and schema functions without requiring decorators or separate schema files. It generates optimized validation and serialization code during TypeScript compilation, producing dedicated functions for each type that eliminate runtime schema objects for faster execution. The project extends this core capability into several integrated areas. It generates fully typed client SDKs from NestJS controller source code, keeping server and client types synchronized automatically. It

    Reconstructs class instances with prototypes and methods from plain objects using factories, constructors, or field copies.

    Go
    Voir sur GitHub↗5,837
  • python-attrs/attrsAvatar de python-attrs

    python-attrs/attrs

    5,799Voir sur GitHub↗

    attrs is a Python library that automatically generates initialization, representation, equality, hashing, and ordering methods from declarative class attribute definitions. At its core, it provides a class decorator metaprogramming framework that intercepts class creation to rewrite the class body, producing dunder methods without manual boilerplate. The library includes a comprehensive attribute validation toolkit with built-in validators for type checks, range constraints, regex matching, length limits, and logical composition of validation rules. The library distinguishes itself through it

    Provides instance-aware converters that receive the current instance during conversion.

    Python
    Voir sur GitHub↗5,799
  • piotrwitek/utility-typesAvatar de piotrwitek

    piotrwitek/utility-types

    5,759Voir sur GitHub↗

    Il s'agit d'une bibliothèque de types utilitaires TypeScript fournissant des alias de type avancés et des types mappés pour des transformations complexes d'objets et d'unions. Elle implémente des outils spécialisés pour créer des types nominaux marqués, extraire des métadonnées de type et effectuer des opérations d'ensemble sur des types d'union. Le projet se distingue par une boîte à outils pour les transformations d'objets récursives, permettant l'application de contraintes de propriété comme le statut en lecture seule ou optionnel à travers des structures profondément imbriquées. Il fournit également un système pour calculer les intersections, les différences et les compléments entre les types d'union pour simuler la logique d'ensemble mathématique. La bibliothèque couvre un large éventail de fonctionnalités du système de types, y compris le filtrage des propriétés d'objet, la comparaison de formes et l'extraction de constructeurs de classe et de types de résolution de promesse. Elle inclut en outre des utilitaires pour la validation de valeur, tels que la détection de valeurs falsy ou nullish et l'identification de types primitifs.

    Enables recursive modification of properties in deep object structures to change mutability or requirement status.

    TypeScriptmapped-typesstatic-typingtypescript
    Voir sur GitHub↗5,759
  • vuejs/vue-class-componentAvatar de vuejs

    vuejs/vue-class-component

    5,763Voir sur GitHub↗

    Cette bibliothèque fournit un modèle structurel pour construire des composants d'interface utilisateur en utilisant des classes ES6 et des décorateurs. Elle fonctionne comme une bibliothèque de composants TypeScript qui permet aux développeurs de gérer l'état et la logique au sein du framework Vue en définissant les composants comme des classes au lieu d'utiliser des objets d'options standard. Le projet utilise un décorateur TypeScript pour traduire les propriétés et méthodes de classe dans le format standard requis par le runtime du framework. Cette approche permet une architecture de composants basée sur les classes qui tire parti de TypeScript pour une meilleure sécurité de type et une meilleure organisation du code. Le système convertit les définitions basées sur les classes en objets JavaScript simples via l'extraction de logique basée sur le prototype et le mappage basé sur les décorateurs. Il synchronise en outre les mises à jour de données en mappant les membres d'instance de classe vers le système d'état réactif du composant.

    Converts class-based component definitions into plain JavaScript objects to maintain compatibility with the framework's internal options system.

    TypeScript
    Voir sur GitHub↗5,763
  • biolab/orange3Avatar de biolab

    biolab/orange3

    5,635Voir sur GitHub↗

    Orange3 is a visual data mining platform that provides an interactive canvas for building data analysis workflows without writing code. At its core, it offers a widget-based visual programming environment where users connect configurable components to perform data preprocessing, machine learning model training, statistical evaluation, and interactive visualization. The platform is built on NumPy-backed data tables with domain descriptors that define variable names, types, and roles, and includes a lazy SQL query proxy for working with database tables without loading all data into memory. The

    Transforms individual data instances between different domain schemas with automatic value conversion.

    Python
    Voir sur GitHub↗5,635
  • qpdf/qpdfAvatar de qpdf

    qpdf/qpdf

    4,780Voir sur GitHub↗

    qpdf is a collection of specialized utility tools for the structural transformation, metadata inspection, file optimization, and cryptographic management of PDF documents. It provides a command line tool for transforming and inspecting internal PDF structures, a structural transformer for reorganizing pages and merging documents, and an encryption engine for managing passwords and restrictions. The project distinguishes itself through a technical approach to document manipulation, utilizing an object-based structural representation to modify files as a graph of unique objects. It includes a m

    Rearranges internal objects to allow the first page to render before the entire file downloads.

    C++pdfpdf-document-processor
    Voir sur GitHub↗4,780
  • spatie/data-transfer-objectAvatar de spatie

    spatie/data-transfer-object

    2,226Voir sur GitHub↗

    This library provides a framework for defining typed, immutable data structures in PHP. It enables developers to construct structured objects from raw input arrays, ensuring consistent data shapes and schema integrity across different layers of an application. By enforcing strict property types and validation rules during instantiation, the library prevents invalid data states and simplifies the handling of complex information. The project distinguishes itself through its use of attribute-driven metadata, which allows for property renaming, custom validation, and serialization logic directly

    Provides immutable methods for filtering and transforming object properties to control output resources.

    PHPobjectsphpvalue
    Voir sur GitHub↗2,226
  1. Home
  2. Data & Databases
  3. Ordered Data Structures
  4. Ordered Collection Literals
  5. Object Collection Processors
  6. Object Transformation

Explorer les sous-tags

  • Class Instance to Plain Object Converters2 sous-tagsConverts class instances back into plain JavaScript objects for serialization or transmission. **Distinct from Object Transformation:** Distinct from Object Transformation: specifically converts class instances to plain objects, not general property manipulation on arbitrary objects.
  • Identifier-Based LookupsRetrieval of a specific object from a collection based on a unique key. **Distinct from Object Transformation:** Focuses on locating a single object by ID rather than general property transformation.
  • Linearized Object OrderingRearranges document objects to optimize streaming and rendering speed. **Distinct from Object Transformation:** Specifically handles linearizing PDF object streams for web viewing, unlike general JavaScript object transformation.
  • Object Graph Navigators1 sous-tagUtilities for converting complex object graphs into traversable data structures. **Distinct from Object Transformation:** Focuses on converting objects for navigation rather than modifying properties of a single object
  • Plain Object to Class Instance Converters1 sous-tagConverts plain JavaScript objects into instances of specified classes, preserving type structure. **Distinct from Object Transformation:** Distinct from Object Transformation: specifically converts plain objects into typed class instances, not general property manipulation.
  • Recursive Property TransformationsRecursive modification of properties within deep object structures to change requirement or mutability status. **Distinct from Object Transformation:** Focuses on the recursive application of transformations to nested properties, rather than flat object picking or omitting.
  • TypesType-level operations for merging, omitting, and modifying object property structures. **Distinct from Object Transformation:** Focuses specifically on the type definitions for transformations, not runtime object manipulation.