9 Repos
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 ist ein API-Spezifikationstool und Dokumentationsgenerator für ASP.NET Core. Es extrahiert Metadaten aus Quellcode und Modellen, um standardisierte OpenAPI-Spezifikationen und interaktive Browser-Interfaces zum Erkunden und Testen von Web-APIs zu produzieren. Das Projekt integriert eine Middleware-Komponente zur Bereitstellung dieser Spezifikationen sowie eine Swagger-UI für interaktives API-Testing direkt aus einer laufenden Anwendung heraus. Es bietet zudem einen CLI-Exporter, um Spezifikationsdateien aus Anwendungs-Assemblies für den Einsatz in CI/CD-Pipelines zu extrahieren. Das Tool deckt ein breites Spektrum an Funktionen ab, einschließlich Schema-Management für komplexe Typen, Metadaten-Annotation via Attribute und XML-Kommentare sowie Sicherheitskonfiguration für OAuth 2.0 und API-Keys. Es unterstützt zudem API-Contract-Management, Spezifikations-Versioning und anpassbare Generierungs-Pipelines zum Filtern oder Modifizieren von Operationen.
Specifies known subtypes and discriminator properties for base classes to support inheritance in the API schema.
graphql-tools ist eine Bibliothek und ein Toolkit zur GraphQL-Schema-Orchestrierung, das für das Erstellen, Zusammenführen und Erweitern von Schemas entwickelt wurde. Es bietet einen SDL-First-Schema-Generator, der Schema-Definition-Language-Strings und Resolver-Maps in ausführbare Schema-Instanzen umwandelt. Das Projekt verfügt über ein dediziertes Schema-Stitching-Tool zum Kombinieren mehrerer unabhängiger GraphQL-Schemas zu einem einzigen, vereinheitlichten API-Gateway. Es enthält zudem eine GraphQL-Mocking-Engine, die Backends durch die Generierung synthetischer Daten basierend auf Schemadefinitionen simuliert. Das Toolkit deckt ein breites Spektrum an Kompositionsfunktionen ab, einschließlich des Mergings von Typdefinitionen, der Delegation von Feldauflösungen und der modularen Schema-Organisation. Es unterstützt die Simulation von GraphQL-APIs durch benutzerdefinierte Mock-Werte, zustandsbehaftete Speicher für die Mutationsverfolgung und introspektionsbasiertes Mocking. Zusätzliche Utilities handhaben die Auflösung von Unions und Interfaces, die Vereinheitlichung überlappender Typen sowie Schema-Level-Resolver für globale Operationen.
Combines multiple independent GraphQL schemas into a single unified gateway through programmatic configuration and field delegation.
graphql-tools ist ein Toolkit zum Erstellen, Modifizieren und Kombinieren von GraphQL-Schemas. Es bietet eine Suite von Utilities zum Parsen der Schema Definition Language (SDL), zur Verwaltung von Resolver-Bindings und zum Assemblieren ausführbarer Schemas. Das Projekt ermöglicht die Komposition vereinheitlichter GraphQL-Gateways durch das Zusammenführen mehrerer unabhängiger Subschemas mittels Schema-Stitching. Dies umfasst Funktionen für das Merging von Entitätstypen, Typ-Erweiterungen und die Delegation von Feldauflösungen, um Anfragen über verschiedene Dienste hinweg zu routen. Das Toolkit enthält zudem eine Mocking-Engine, die simulierte GraphQL-Schemas und Daten generiert. Dieses System unterstützt die Generierung benutzerdefinierter Werte, die Simulation von Mutationen und das Mocking paginierter Ergebnisse, um das Backend-Verhalten ohne Live-Server zu simulieren. Zusätzliche Entwicklungs-Utilities decken die Validierung der Resolver-Abdeckung sowie das Anhängen von Dokumentationen an Typen und Felder ab.
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.