9 dépôts
The ability to build new validators by picking, omitting, or merging properties from existing schemas.
Distinct from Strict Object Validation: Focuses on the construction of schemas via manipulation of other schemas, unlike strict/loose validation of object keys.
Explore 9 awesome GitHub repositories matching software engineering & architecture · Schema Composition. Refine with filters or upvote what's useful.
Superstruct is a JavaScript and TypeScript data validation library used to verify that data structures match defined shapes and types. It functions as a composable schema builder and a TypeScript schema validator, ensuring that runtime data checks remain synchronized with static type definitions. The library features a data coercion engine that transforms input values or injects default values before the validation process is executed. It enables the creation of complex validation rules by nesting, merging, or omitting properties from existing structures. Its capabilities cover the validatio
Enables building complex validators by picking, omitting, or merging properties from existing structural definitions.
TypeBox is a JSON schema generator and TypeScript data validator. It functions as a type builder that creates compliant JSON schema definitions while providing a mechanism for synchronizing runtime validation logic with compile-time types. The project allows for the automatic derivation of static TypeScript interfaces from schema definitions to eliminate redundant type declarations. It converts complex type constructs into schema fragments and resolves static types to maintain consistency between data shapes and code. The system covers runtime type checking and data validation through the us
Provides the ability to construct complex JSON schemas by combining and merging reusable primitives.
HotChocolate is a GraphQL server implementation for .NET that handles queries, mutations, and subscriptions over HTTP. It provides code-first schema generation directly from C# classes and attributes, keeping the schema and business logic in sync without manual type definitions. The project also includes a GraphQL gateway that composes multiple GraphQL and REST endpoints into a single unified schema, along with a GraphQL IDE for exploring, testing, and debugging GraphQL APIs interactively. The project distinguishes itself through its comprehensive tooling ecosystem, which includes a GraphQL c
Merges multiple independent GraphQL services into a unified schema exposed through a single endpoint.
GraphQL Platform is a comprehensive GraphQL ecosystem for .NET that provides a spec-compliant server framework for building APIs and gateways, along with a typed C# client for consuming GraphQL services. At its core, it translates C# classes and methods into a GraphQL schema using code-first or fluent descriptor approaches, enabling developers to define their API structure directly from their existing .NET code. The platform distinguishes itself through several integrated capabilities that address common GraphQL production concerns. It includes a DataLoader batching and caching engine that gr
Merges multiple independent GraphQL services into a unified schema exposed through a single endpoint.
Swashbuckle.AspNetCore est un outil de spécification d'API et un générateur de documentation pour ASP.NET Core. Il extrait les métadonnées du code source et des modèles pour produire des spécifications OpenAPI standardisées et des interfaces de navigateur interactives pour explorer et tester les API web. Le projet intègre un composant middleware pour servir ces spécifications et une interface Swagger UI pour le test d'API interactif directement depuis une application en cours d'exécution. Il fournit également un exportateur en ligne de commande pour extraire les fichiers de spécification des assemblages d'application pour une utilisation dans les pipelines CI/CD. L'outil couvre un large éventail de capacités incluant la gestion de schéma pour les types complexes, l'annotation de métadonnées via des attributs et des commentaires XML, et la configuration de sécurité pour OAuth 2.0 et les clés API. Il prend en outre en charge la gestion de contrat d'API, le versionnage de spécification et des pipelines de génération personnalisables pour filtrer ou modifier les opérations.
Specifies known subtypes and discriminator properties for base classes to support inheritance in the API schema.
graphql-tools est une bibliothèque d'orchestration de schémas GraphQL et une boîte à outils conçue pour construire, fusionner et étendre des schémas. Elle fournit un générateur de schéma SDL-first qui transforme les chaînes de Schema Definition Language et les maps de résolveurs en instances de schéma exécutables. Le projet dispose d'un outil dédié de schema stitching pour combiner plusieurs schémas GraphQL indépendants en une passerelle API unifiée. Il inclut également un moteur de mocking GraphQL qui simule les backends en générant des données synthétiques basées sur les définitions de schéma. La boîte à outils couvre un large éventail de capacités de composition, incluant la fusion de définitions de types, la délégation de résolution de champs et l'organisation modulaire des schémas. Elle prend en charge la simulation d'API GraphQL via des valeurs mock personnalisées, des stores avec état pour le suivi des mutations, et le mocking basé sur l'introspection. Des utilitaires supplémentaires gèrent la résolution d'unions et d'interfaces, l'unification de types chevauchants et les résolveurs au niveau du schéma pour les opérations globales.
Combines multiple independent GraphQL schemas into a single unified gateway through programmatic configuration and field delegation.
graphql-tools est une boîte à outils pour construire, modifier et combiner des schémas GraphQL. Elle fournit une suite d'utilitaires pour parser le Schema Definition Language (SDL), gérer les bindings de résolveurs et assembler des schémas exécutables. Le projet permet la composition de passerelles GraphQL unifiées en fusionnant plusieurs sous-schémas indépendants via le schema stitching. Cela inclut des capacités pour la fusion de types d'entités, l'extension de types et la délégation de résolution de champs pour router les requêtes à travers différents services. La boîte à outils inclut également un moteur de mocking qui génère des schémas et des données GraphQL simulés. Ce système prend en charge la génération de valeurs personnalisées, la simulation de mutations et le mocking de résultats paginés pour simuler le comportement du backend sans serveur actif. Des utilitaires de développement supplémentaires couvrent la validation de la couverture des résolveurs et l'attachement de documentation aux types et champs.
Combines several independent GraphQL schemas into a single unified API gateway.
apollo-ios is a GraphQL client library for iOS and Apple platforms that enables type-safe network communication. It transforms GraphQL operations into generated Swift models, ensuring that network responses are validated at compile time to eliminate manual mapping. The library features a normalized cache manager that stores entities in a flat structure to maintain data consistency across different application views. It also optimizes network performance using hash-based persisted queries to reduce payload sizes and supports real-time data streaming via WebSockets or HTTP subscriptions. The p
Validates that changes to subgraph schemas do not break the overall composition of the supergraph during merge requests.
utoipa is a Rust API documentation tool used to generate machine-readable OpenAPI specifications. It functions as a specification generator and schema mapper that converts Rust structs and enums into compliant OpenAPI schemas. The project distinguishes itself by using procedural macros and traits to automate metadata extraction from code. It supports complex data modeling, including generics, polymorphism, and recursive type resolution, while synchronizing field renaming and tagging from serialization attributes. It also enables the composition of modular specifications, allowing multiple sma
Creates composite object schemas using selection patterns to handle endpoints returning multiple different types.