5 dépôts
Engines that produce type-safe data models and converters for a variety of target programming languages.
Distinct from Multi-Language Client Generation: Distinct from Multi-Language Client Generation: generates the data models and serializers themselves, not just the API client wrapper.
Explore 5 awesome GitHub repositories matching web development · Multi-Language Model Generators. Refine with filters or upvote what's useful.
Quicktype is a multi-language serialization tool and type generator. It converts JSON samples, JSON Schema definitions, and GraphQL schemas into strongly typed data structures and serialization logic across multiple programming languages. The system automates the data serialization workflow by generating boilerplate code to parse and serialize data. It transforms structured input definitions into executable code, providing the necessary encoders and decoders to move data between raw formats and typed objects.
Acts as an engine that produces type-safe data models and serializers for a variety of target programming languages.
Quicktype is a multi-language model generation engine that converts JSON and GraphQL schemas into type-safe models and serialization code. It functions as a JSON to type generator and a GraphQL type generator, producing strongly typed classes and interfaces across a wide array of target programming languages. The system derives formal schemas from sample data and transforms these definitions into native language objects. This enables the synchronization of shared data models across diverse tech stacks and the development of type-safe interfaces for consuming external APIs. The engine utilize
Produces type-safe models and converters for a wide array of target programming languages.
JSONExport est un générateur de code multi-langage et un convertisseur de schéma JSON qui transforme les structures de données JSON en classes de code source fortement typées. Il sert de mappeur de réponse API, convertissant les objets JSON en objets de transfert de données (DTO) pour automatiser la création de classes de modèle. L'outil se spécialise dans la synthèse de modèles multi-langages, permettant aux utilisateurs de définir des modèles de données dans différents langages de programmation en utilisant une seule entrée JSON. Il génère le boilerplate de classe, incluant les constructeurs et les accesseurs, et fournit un pipeline de prévisualisation pour examiner le code source résultant avant qu'il ne soit enregistré. Le projet couvre l'implémentation de modèles de données et la génération de boilerplate de code source via une approche basée sur des modèles qui mappe les types de données JSON à une syntaxe de langage spécifique.
Produces type-safe data models across a variety of target programming languages from a single JSON input.
Fury est un framework de sérialisation binaire multi-langage conçu pour encoder des objets de domaine et des graphes complexes afin de faciliter l'échange de données entre langages. Il inclut un compilateur de langage de définition d'interface (IDL) qui traduit les définitions de schéma en types natifs idiomatiques et en code de sérialisation répétitif à travers plusieurs langages. Le projet se distingue par un lecteur binaire zero-copy qui permet d'accéder à des champs spécifiques sans désérialiser l'objet entier, ainsi qu'un sérialiseur de graphe d'objets qui préserve les références circulaires et l'intégrité référentielle. Il dispose également d'un convertisseur de données qui transforme les données binaires basées sur des lignes en formats Apache Arrow colonnaires pour les charges de travail analytiques. Le framework couvre de vastes domaines de capacités, incluant l'évolution de schéma pilotée par métadonnées pour la compatibilité ascendante et descendante, un processus de compilation AOT au moment du build pour éliminer la réflexion à l'exécution, et une désérialisation sécurisée via une validation de type basée sur liste blanche. Il fournit en outre une intégration pour des appels de procédure à distance haute performance via gRPC.
Produces type-safe data models and serializers for a variety of target programming languages from shared schemas.
Fory is a cross-language serialization framework and binary data serializer designed to convert complex object graphs into a compact binary format for high-performance data exchange. It includes an IDL-based schema compiler to transform interface definition language files into type-safe native data models and a schema evolution manager to maintain forward and backward compatibility. The project features a zero-copy data access layer that allows reading specific fields from binary rows without deserializing the entire object. It supports dual-mode serialization, enabling a toggle between a por
Generates native data structures and type-safe models across multiple languages from a single shared contract.