3 dépôts
Runtime validation of non-primitive collection types such as Maps, Sets, and TypedArrays.
Distinct from Complex Data Structure Stores: Existing candidates focus on storage or UI layout rather than the runtime validation of complex JS collection types.
Explore 3 awesome GitHub repositories matching programming languages & runtimes · Complex Structure Validation. Refine with filters or upvote what's useful.
Arktype is a TypeScript runtime validation library and schema orchestrator. It synchronizes TypeScript types with runtime data validation, allowing users to define type-safe schemas that ensure unknown data adheres to specific structures during application execution. The project distinguishes itself by using set-theory type analysis to determine intersections and subtype compatibility, alongside JIT-compiled validation functions for optimized performance. It supports advanced type modeling through branded type constraints, recursive alias resolution, and the ability to generate runtime valida
Checks that a value conforms to complex structures including objects, arrays, Maps, Sets, or TypedArrays.
Pytype est un outil d'analyse de code statique et un moteur d'inférence de type pour Python. Il fonctionne comme un analyseur de type statique qui détecte les incompatibilités de type et vérifie les annotations de type sans nécessiter d'indices manuels complets, tout en servant également de générateur de stubs de type pour produire des fichiers de définition autonomes. Le projet se distingue en déterminant automatiquement les types de variables et de fonctions par une analyse des motifs de code et des affectations. Ce moteur d'inférence permet une vérification structurelle du code et la génération de stubs de type qui décrivent les interfaces des modules et fonctions. Le système couvre de larges opérations d'analyse statique, incluant la validation structurelle des hiérarchies de classes et des appels de fonction, et le suivi des symboles pour détecter les erreurs d'espace de noms et les violations d'accès aux attributs. Il fournit également des primitives de vérification de type pour appliquer les annotations et un système de type capable de modéliser des structures de données complexes utilisant des unions et des optionnels.
Provides structural validation for specialized Python constructs such as data classes and enumerated types.
Dry-validation est une bibliothèque Ruby conçue pour définir des schémas typés et des règles de validation complexes afin de vérifier et assainir les structures de données d'entrée. Elle fournit un framework formel pour construire une logique de validation modulaire, garantissant que les informations entrantes répondent aux exigences métier et aux formats de données spécifiques avant d'être traitées par une application. La bibliothèque utilise un langage spécifique au domaine (DSL) pour déclarer les règles de validation, qui sont ensuite analysées en objets exécutables. Elle se distingue par un système piloté par des macros qui regroupe la logique de validation courante dans des raccourcis réutilisables, ainsi qu'un modèle de composition récursive qui permet aux développeurs d'imbriquer des objets de validation pour construire des structures complexes et hiérarchiques. Cette approche permet la création d'une logique cohérente et modulaire qui empêche la duplication de code dans les grandes applications. Au-delà de la définition de schéma de base, la bibliothèque inclut un pipeline de coercition de type qui transforme les entrées brutes en formats attendus et un système d'agrégation d'erreurs structuré qui mappe les échecs à des chemins d'entrée spécifiques. Elle prend en charge des hooks de configuration pour l'intégration de dépendances externes et fournit des outils pour assainir les données, la rendant adaptée pour imposer des standards sur les requêtes API entrantes et les objets de données complexes.
Supports defining detailed rules for nested or complicated data objects to ensure structural correctness.