24 dépôts
Rules for validating the types, length, and content of array elements.
Distinguishing note: None of the candidates cover the validation of array elements within a schema.
Explore 24 awesome GitHub repositories matching software engineering & architecture · Array Schema Validation. Refine with filters or upvote what's useful.
Yup is a JavaScript schema validation library used to define data shapes and validate runtime values. It functions as an object schema validator and a data coercion engine, allowing developers to transform raw input values into desired types before performing validation checks. The library is distinguished by its support for dynamic schema validation, where rules can be adjusted at runtime based on sibling field values or external context. It also enables recursive data structuring for polymorphic fields and provides a system for extracting static TypeScript interfaces from runtime schema def
Defines the required type for array elements and constrains array length and content.
type-fest is a library of reusable utility types for performing complex transformations and validations on objects, arrays, strings, and numeric ranges in TypeScript. It provides a collection of type definitions designed to handle advanced structural changes and constraints. The project distinguishes itself by offering specialized logic for string literal processing, such as casing transformations and pattern-based modifications, and type-level arithmetic for calculating numeric ranges and absolute values. It also includes utilities for enforcing deep immutability, ensuring union mutual exclu
Determines if every element within an array type extends a specific target type.
class-validator is a TypeScript class validation library that uses decorators to define constraints and rules for object properties. It functions as a decorator-based schema validator that ensures data integrity and structural correctness through a combination of synchronous checks and promise-based asynchronous rules. The library provides a recursive validation system for checking complex data hierarchies, including nested classes and individual elements within collections. It includes an object property whitelist utility capable of stripping undocumented properties or blocking unknown field
Applies validation rules to every individual element within arrays, sets, or maps.
Valibot is a modular, type-safe schema library for validating and parsing structural data in TypeScript environments.
Ensures strings or arrays contain at least a specified number of elements.
This PHP assertion library is a runtime data validator used to verify method inputs and outputs. It provides a toolkit for validating data types, numeric ranges, and string patterns during program execution to prevent invalid states. The project serves as a static analysis helper by providing type hints and annotations that improve the accuracy of formal verification tools. It includes a collection validation utility for applying rules across arrays or iterable collections, and a filesystem validation tool to verify path existence and read or write permissions. The library covers a broad ran
Includes checks to verify array keys, element counts, and whether collections are sequential or associative.
Hyperf is a high-performance PHP coroutine framework designed for building microservices and middleware. It utilizes non-blocking coroutines to handle high concurrency and low-latency request processing, providing a foundation for scalable distributed systems. The framework is distinguished by an aspect-oriented programming based dependency injector that enables pluggable components and meta-programming. It includes a coroutine-optimized object-relational mapper with integrated model caching and an orchestration toolkit for microservice governance, featuring service discovery, circuit breaker
Verifies that input arrays adhere to a specific schema by checking for allowed keys.
collect.js is a dependency-free JavaScript library that provides a fluent, chainable interface for manipulating arrays and objects. It mirrors the Laravel Collection API, offering a consistent set of methods for data transformation across JavaScript and Laravel backend environments. The library stores collection data as plain arrays internally and supports fluent method chaining, where each method returns a new collection instance. The library distinguishes itself by closely replicating the Laravel Collection API in JavaScript, mapping each PHP method to an equivalent JavaScript implementatio
Retrieves values from nested arrays or objects using dot notation with optional default fallback.
Arrow is a functional programming library for Kotlin that provides tools for implementing data-oriented programming patterns. It serves as a framework for typed error handling, a concurrency toolkit, and a library for the manipulation of immutable data. The project distinguishes itself through specialized capabilities for managing application failures using explicit types instead of exceptions and implementing resilience patterns such as circuit breakers and retry policies for distributed services. It also provides optics to update and query deeply nested immutable data structures without man
Includes specific validations to ensure collections are non-empty before processing.
This is a configuration library for JVM applications that parses HOCON, JSON, and Java properties files into an immutable tree structure. It resolves ${...} placeholders by traversing the configuration tree and falling back to environment variables and system properties, and validates loaded configurations against a reference schema. The library loads configuration from classpath resources, files, URLs, system properties, and environment variables, merging them with priority-based override semantics. It provides typed value access with automatic type coercion, supports dot-path navigation,
Retrieves values from nested configuration objects using dot-separated key paths.
Go Package of validators and sanitizers for strings, numerics, slices and structs
Verifies that string length in bytes or runes falls within specified minimum and maximum bounds.
MaterialEditText est une bibliothèque de composants UI Android et un framework de saisie de formulaires mobiles utilisés pour créer des champs de texte conformes aux standards Material Design. Elle propose une collection de composants de saisie avec étiquettes flottantes, états d'erreur et styles visuels thématisés. La bibliothèque permet le rendu de champs de texte avec des étiquettes animées et du texte d'aide intégré. Elle prend en charge l'ajout d'icônes de design et permet la personnalisation des couleurs et des polices pour le texte principal, d'erreur et d'aide. Le framework inclut des fonctionnalités de validation de saisie mobile, comme l'application de limites de caractères minimales et maximales pour la saisie de texte.
Provides a character counter that updates in real-time based on minimum and maximum length constraints.
CodeIgniter is a PHP web framework built on the Model-View-Controller pattern, designed for building full-stack web applications. It provides a lightweight toolkit with minimal configuration, organizing application logic into controllers, models, and views for clean separation of concerns. The framework includes a fluent query builder for constructing SQL statements programmatically, PSR-4 autoloading with namespace mapping, and a service-based dependency injection container for managing shared class instances. The framework distinguishes itself through its comprehensive set of built-in tools
Validates fields within nested associative arrays using dot-notation and wildcards.
attrs is a Python library that automatically generates initialization, representation, equality, hashing, and ordering methods from declarative class attribute definitions. At its core, it provides a class decorator metaprogramming framework that intercepts class creation to rewrite the class body, producing dunder methods without manual boilerplate. The library includes a comprehensive attribute validation toolkit with built-in validators for type checks, range constraints, regex matching, length limits, and logical composition of validation rules. The library distinguishes itself through it
Validates that a string or collection attribute has at least a minimum length.
Provides utilities for validating the data type of every element in an array.
Cats est une bibliothèque de programmation fonctionnelle et de classes de types pour Scala, conçue pour implémenter des patterns algébriques et des abstractions fonctionnelles. Elle fournit un ensemble standardisé d'interfaces et une boîte à outils modulaire de wrappers et conteneurs fonctionnels pour permettre le polymorphisme ad-hoc et la programmation générique sur des types disparates. Le projet sert de standard d'abstraction fonctionnelle, offrant une suite de transformateurs de monades pour composer des contextes à effets imbriqués et gérer de multiples effets de bord computationnels au sein d'un pipeline unique. Il permet en outre la construction de langages dédiés (DSL) embarqués en représentant la logique du programme sous forme de structures de données interprétées séparément de leurs définitions. La bibliothèque couvre de larges domaines de capacités, incluant la manipulation de données algébriques pour combiner et réduire des valeurs, la gestion d'état typée, et la gestion fonctionnelle des erreurs pour formaliser l'accumulation et la récupération d'erreurs. Elle fournit également des outils pour la gestion de calculs à effets et l'extension des types de collection standard avec des capacités fonctionnelles. La bibliothèque inclut des mécanismes de validation des lois algébriques pour garantir que les instances de classes de types respectent les propriétés mathématiques.
Provides specialized data types that statically guarantee a collection contains at least one element.
Bard-API est un wrapper Python asynchrone et un client pour interagir avec Google Gemini. Il fonctionne comme un gestionnaire de conversation avec état et une interface multimodale, permettant aux utilisateurs d'envoyer des prompts textuels et imagés à un modèle de langage et d'en récupérer les réponses. La bibliothèque utilise un système d'authentification basé sur les cookies qui extrait les jetons de session du stockage local du navigateur pour autoriser les requêtes. Pour gérer l'accès et la connectivité, elle inclut un routage de requêtes via proxy pour contourner les restrictions régionales et éviter les blocages IP. Le projet couvre les capacités d'analyse IA multimodale et la conservation de l'historique de session pour permettre des dialogues continus. Il fournit également des utilitaires pour extraire des liens d'images des réponses, convertir du texte en parole et exécuter automatiquement des extraits de code générés dans un environnement local.
Limits generated output by setting a maximum number of tokens or sentences.
Sugar est une bibliothèque utilitaire JavaScript conçue pour étendre les objets et prototypes natifs avec des méthodes supplémentaires pour la manipulation et la transformation de données. Elle fonctionne comme une boîte à outils pour les utilitaires d'objets, la manipulation de dates, l'inflexion de chaînes et le polyfilling de fonctionnalités de langage standard manquantes ou défectueuses. La bibliothèque offre la possibilité de mapper des méthodes utilitaires directement sur les prototypes intégrés ou d'envelopper des valeurs dans des objets temporaires pour permettre le chaînage de méthodes sans modifier les prototypes globaux. Elle inclut également un système de polyfill pour garantir un comportement cohérent à travers différents environnements d'exécution en implémentant les fonctionnalités de langage modernes manquantes. Les capacités incluent le formatage international des dates et l'analyse de chaînes de dates humanisées. La bibliothèque gère également le traitement du langage naturel via l'inflexion et la normalisation de chaînes, la traversée profonde des propriétés d'objets imbriqués et le tri de tableaux sensible aux paramètres régionaux. De plus, elle fournit des outils pour cloner des objets mutables et définir des plages de valeurs pour les nombres, les dates et les chaînes.
Retrieves and sets values in nested objects and arrays using dot notation.
Unform est un gestionnaire d'état de formulaire React conçu pour gérer l'état, la validation et la soumission de formulaires de saisie utilisateur complexes. Il utilise une API de formulaire non contrôlée qui minimise les re-rendus en utilisant des références au lieu d'un état synchronisé pour gérer les données de formulaire. La bibliothèque dispose d'un mappeur de données imbriqué qui organise les champs en objets et tableaux hiérarchiques en utilisant le scoping et la notation par points. Elle inclut également un adaptateur d'entrée personnalisé pour connecter des composants UI tiers et des entrées non standard à l'état de formulaire centralisé, et un moteur de validation qui vérifie les données soumises par rapport à des schémas définis pour mapper les messages d'erreur à des champs spécifiques. Les capacités étendues incluent la gestion d'état centralisée pour l'initialisation et la réinitialisation des données, la gestion du téléchargement de fichiers, et le masquage de saisie utilisateur. Le système fournit un contrôle programmatique sur la soumission de formulaire et un accès direct par référence aux éléments de saisie individuels.
Implements dot-separated key paths to retrieve and organize values within nested objects and arrays.
Dynaconf est une bibliothèque de gestion de configuration pour les applications Python qui fournit un système unifié pour charger, valider et gérer les paramètres. Elle agrège les données de configuration depuis plusieurs fichiers, variables d'environnement et magasins externes en un seul objet en utilisant un ordre de priorité défini. Le projet se distingue par un gestionnaire d'environnement en couches qui sépare les paramètres en profils distincts, tels que développement et production. Il inclut un framework de validation déclaratif pour imposer des règles de données et des contraintes de type pendant le processus de chargement, ainsi qu'un intégrateur de magasin de secrets externe pour récupérer des données sensibles depuis HashiCorp Vault et Redis. La bibliothèque prend en charge le chargement de fichiers multi-format pour les fichiers TOML, YAML, JSON, INI et Python. Elle fournit des capacités pour le cast de variables d'environnement, la recherche par notation pointée et l'intégration avec des frameworks web comme Django et Flask pour remplacer les objets de configuration standard. Des utilitaires en ligne de commande sont disponibles pour le bootstrapping de la configuration, la validation des paramètres et l'exécution de surcharges au runtime.
Enables access to nested configuration keys using dot-separated paths for simplified retrieval of complex data.
ts-essentials is a comprehensive toolkit of utility types and libraries for TypeScript, providing advanced primitives for recursive structural transformations, runtime assertions, and type guards. It serves as a utility library for performing complex type-level programming to ensure stronger type safety and reduce boilerplate. The project distinguishes itself through a specialized set of tools for deep object manipulation, such as recursively applying read-only or optional modifiers across nested hierarchies. It also provides a dedicated set of strict type constraints to ensure data structure
TypeScript-ts-tool ensures an array contains at least one element of a specific type to prevent processing empty lists.