3 repository-uri
Utilities for applying functions to transform object keys into a new object structure.
Distinct from Object Mapping: Candidates focus on reflection-based mapping or serialization, not functional key transformation.
Explore 3 awesome GitHub repositories matching data & databases · Key Transformers. Refine with filters or upvote what's useful.
Active Model Serializers este un serializator JSON pentru Ruby on Rails utilizat pentru a transforma obiectele model și asocierile în răspunsuri JSON structurate pentru API-uri. Funcționează ca un mapper de la model la JSON și un formator de răspunsuri care decuplează schemele interne ale bazei de date de contractele API externe. Proiectul utilizează un tipar de adaptor pluggable pentru a organiza datele serializate conform unor standarde specifice, cum ar fi specificația JSON API. Oferă un mecanism pentru a mapa atributele interne către chei JSON personalizate și implementează un scope de serializare care permite filtrarea atributelor și asocierilor pe baza contextului de autorizare și a permisiunilor utilizatorului. Setul de instrumente acoperă transformarea datelor prin utilizarea atributelor virtuale și gestionarea datelor asociate prin sideloading sau încorporarea ID-urilor. Include capabilități pentru injectarea de metadate în răspuns, caching-ul rezultatelor bazat pe fragmente și instrumentarea performanței pentru a urmări metricile de serializare.
Implements global and class-level formatting rules to convert attribute keys into specific casing styles.
Jbuilder este un motor de template-uri și generator JSON pentru Ruby care oferă un limbaj specific domeniului (DSL) pentru generarea de obiecte JSON structurate. Acesta servește drept view helper pentru a transforma datele în format JSON folosind logică, condiționale și bucle. Proiectul permite construirea de structuri de date complexe prin utilizarea de partials și obiecte imbricate pentru a menține modularitatea. Include capabilități pentru transformarea cheilor la runtime, permițând conversia cheilor atributelor între diferite convenții de denumire, cum ar fi snake case și camel case. Sistemul suportă structurarea dinamică a JSON-ului cu posibilitatea de a defini chei la runtime și de a gestiona output-ul valorilor null. De asemenea, oferă un mecanism pentru a stoca în cache fragmentele JSON randate pentru a reduce procesarea repetitivă.
Provides utilities to convert attribute keys between casing styles like snake_case and camelCase during serialization.
Absinthe este o implementare de server GraphQL și un motor de query pentru ecosistemul Elixir. Oferă toolkit-ul fundamental pentru construirea de API-uri GraphQL, inclusiv un motor de procesare care parsează, validează și execută documente pe baza unei scheme de aplicație definite. Proiectul include un batch resolver pentru a optimiza performanța bazei de date prin gruparea cererilor de câmpuri și un complexity guard pentru a proteja resursele sistemului prin respingerea query-urilor care depășesc pragurile de cost definite. De asemenea, dispune de un adaptor de schemă care traduce convențiile interne de denumire Elixir în casing-ul extern GraphQL pentru compatibilitatea cu clientul. Modelul de execuție suportă rezoluția asincronă a câmpurilor și un pipeline bazat pe middleware pentru procesarea personalizată a query-urilor. Capabilitățile suplimentare acoperă analiza costului query-urilor, rezoluția bazată pe schemă și capacitatea de a personaliza logica de parsare și validare.
Includes utilities to convert field names between snake_case and camelCase for client compatibility.