awesome-repositories.com
Blog
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoAcerca deCómo clasificamosPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

44 repositorios

Awesome GitHub RepositoriesObject Shape Validation

Enforces specific property requirements on objects to ensure they contain the expected data fields and types.

Distinct from Data Type Validation: Focuses on static analysis of object properties rather than runtime type validation.

Explore 44 awesome GitHub repositories matching software engineering & architecture · Object Shape Validation. Refine with filters or upvote what's useful.

Awesome Object Shape Validation GitHub Repositories

Encuentra los mejores repositorios con IA.Buscaremos los repositorios que mejor coincidan usando IA.
  • jquense/yupAvatar de jquense

    jquense/yup

    23,673Ver en GitHub↗

    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

    Enforces specific property requirements on objects to ensure they contain expected data fields and types.

    TypeScript
    Ver en GitHub↗23,673
  • basarat/typescript-bookAvatar de basarat

    basarat/typescript-book

    21,533Ver en GitHub↗

    This project is a comprehensive educational resource and programming guide for the TypeScript language. It serves as a manual for the type system and a reference for the language's core syntax, focusing on writing type-safe code and building scalable applications. The content provides detailed instruction on the TypeScript type system, covering interfaces, generics, and structural typing. It further acts as a compiler reference, analyzing how source code is transformed into an abstract syntax tree through scanning and parsing. The guide also covers software architecture design, detailing pro

    Instructs on verifying that objects match required member shapes to ensure compatibility between data structures.

    TypeScriptfreeopen-sourcetypescript
    Ver en GitHub↗21,533
  • digitalocean/netboxAvatar de digitalocean

    digitalocean/netbox

    20,870Ver en GitHub↗

    NetBox is a network infrastructure source of truth, acting as a centralized database for modeling and documenting the intended state of network devices, IP addresses, and cabling. It functions as a data center infrastructure management tool, an IP address management system, and a network automation platform. The system provides a programmable interface and a validated data model designed to drive external network configuration and provisioning tools. It enables the maintenance of records for network circuits, devices, and logical connections with full change auditing. Capabilities include ne

    Enforces data integrity rules and property requirements on infrastructure objects to prevent configuration errors.

    Python
    Ver en GitHub↗20,870
  • sindresorhus/type-festAvatar de sindresorhus

    sindresorhus/type-fest

    17,233Ver en GitHub↗

    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 a type contains optional properties to allow conditional logic based on field presence.

    TypeScriptnpm-packagetypestypescript
    Ver en GitHub↗17,233
  • phpstan/phpstanAvatar de phpstan

    phpstan/phpstan

    13,999Ver en GitHub↗

    This project is a static analysis engine and type checker designed for PHP codebases. It evaluates source code structure and type annotations to identify potential bugs, type mismatches, and logic errors without executing the application. By parsing code into an abstract syntax tree and applying a rule-based validation framework, it enforces code quality and safety standards across a project. What distinguishes this tool is its sophisticated type inference engine, which models dynamic language features, magic methods, and conditional types to maintain accuracy even in unconventional code. It

    Enforces specific property requirements on objects to ensure they contain the expected data fields and types.

    PHPphpphp7phpstan
    Ver en GitHub↗13,999
  • typestack/class-validatorAvatar de typestack

    typestack/class-validator

    11,796Ver en GitHub↗

    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

    Implements a recursive validation system for verifying complex data hierarchies, including nested classes and collections.

    TypeScriptdecoratorstypescriptvalidation
    Ver en GitHub↗11,796
  • fluentvalidation/fluentvalidationAvatar de FluentValidation

    FluentValidation/FluentValidation

    9,727Ver en GitHub↗

    FluentValidation is a .NET validation library used to define strongly-typed validation rules for objects. It utilizes a fluent interface API and lambda expressions to ensure data integrity for classes and properties within the .NET type system. The library separates validation logic from business entities to keep domain models focused on core functionality. This approach enables the enforcement of business logic and the sanitization of input data or API payloads through a sequence of logic checks. The system supports complex validation surface areas, including the ability to nest validators

    Provides recursive validation of complex object graphs to ensure structural integrity across nested class hierarchies.

    C#
    Ver en GitHub↗9,727
  • bchavez/bogusAvatar de bchavez

    bchavez/Bogus

    9,700Ver en GitHub↗

    Bogus is a fake data generator for .NET applications, including C#, F#, and VB.NET. It provides a deterministic mock data engine and an object configuration mapper to produce realistic profiles, addresses, and financial records. The library differentiates itself through a localization data provider that generates region-specific identifiers across various international languages and locales. It ensures reproducibility across executions by using seed values to control the sequence of generated data. The project covers wide-ranging data synthesis capabilities, including the generation of netwo

    Ensures all properties of a target class have an assigned generation rule to prevent missing mock data.

    C#bogusc-sharpcsharp
    Ver en GitHub↗9,700
  • yiminghe/async-validatorAvatar de yiminghe

    yiminghe/async-validator

    9,099Ver en GitHub↗

    async-validator es una biblioteca de validación de esquemas de JavaScript y motor de validación de datos asíncronos. Verifica estructuras de objetos complejas y arrays anidados aplicando reglas recursivas y ejecución no bloqueante basada en promesas para garantizar la integridad de los datos. La biblioteca funciona tanto como un validador de restricciones de objetos como un pipeline de transformación de datos. Permite la sanitización, coerción y formateo de valores de entrada a través de una secuencia de funciones que se ejecutan antes y después del proceso de validación principal. El motor cubre una gama de capacidades que incluyen validación anidada recursiva, la aplicación de restricciones de esquema estándar y la integración de lógica de negocio personalizada a través de funciones de validación a medida. También proporciona herramientas para la personalización de mensajes de error y localización a través de cadenas estáticas o funciones dinámicas.

    Recursively traverses nested object hierarchies and arrays to enforce structural correctness across deep data structures.

    TypeScript
    Ver en GitHub↗9,099
  • open-circle/valibotAvatar de open-circle

    open-circle/valibot

    8,769Ver en GitHub↗

    Valibot is a modular, type-safe schema library for validating and parsing structural data in TypeScript environments.

    Deno Valide ensures an input object contains only specified keys and rejects unknown properties.

    TypeScriptbundle-sizemodularparsing
    Ver en GitHub↗8,769
  • chaijs/chaiAvatar de chaijs

    chaijs/chai

    8,264Ver en GitHub↗

    Chai is an assertion library for Node.js and browser-based JavaScript applications. It functions as both a behavior-driven development and test-driven development framework, providing a system to verify code outputs, application state, and general logic. The project is an extensible validation engine that uses a plugin-based system to allow the registration of custom assertions and specialized data checks. It supports multiple modular assertion styles to accommodate different validation philosophies. The library covers a broad range of data validation capabilities, including the inspection o

    Ensures an object contains a specific set of property keys or a minimum required list of identifiers.

    JavaScript
    Ver en GitHub↗8,264
  • ariga/atlasAvatar de ariga

    ariga/atlas

    8,096Ver en GitHub↗

    Atlas is a SQL database schema management tool and database infrastructure as code framework. It provides a declarative database migration engine that computes the difference between a desired schema state and the current database state to automatically generate the necessary SQL for transitions. The project distinguishes itself through a comprehensive suite of analysis and visualization tools, including a database schema linter that detects destructive changes and data loss risks. It also features a SQL schema visualization tool capable of generating entity-relationship diagrams from extract

    Allows specific database objects to be excluded from the schema diff engine to prevent unwanted modifications.

    Go
    Ver en GitHub↗8,096
  • mystenlabs/suiAvatar de MystenLabs

    MystenLabs/sui

    7,612Ver en GitHub↗

    Sui is a blockchain platform featuring an object-centric state model and resource-oriented smart contracts. It utilizes parallel transaction execution to increase network throughput and supports programmable transaction blocks that bundle multiple operations into single atomic units. The platform distinguishes itself with a capability-based access control system and zero-knowledge login mechanisms, enabling users to authenticate via identity providers without seed phrases. It also implements deterministic object addressing to allow predictable state lookups and supports the creation of soulbo

    Ensures a one-to-one mapping between parent-key pairs and object addresses for registries.

    Rustblockchaindistributed-ledger-technologymove
    Ver en GitHub↗7,612
  • millsp/ts-toolbeltAvatar de millsp

    millsp/ts-toolbelt

    7,145Ver en GitHub↗

    ts-toolbelt is a collection of specialized utilities for manipulating and validating TypeScript types. It provides a toolkit for performing complex transformations on objects, unions, and functions to enforce strict data consistency at compile time. The library features dedicated transformers for function types, including utilities for currying, composition, and signature extraction. It also includes an object type manipulator for deep merging, patching, and reshaping complex structures. The capability surface extends to literal string processing, type-level arithmetic, and tuple operations.

    A utility that ensures that at least one specific key from a provided set is present in an object.

    TypeScriptdynamic-typessafetytype-checking
    Ver en GitHub↗7,145
  • ianstormtaylor/superstructAvatar de ianstormtaylor

    ianstormtaylor/superstruct

    7,141Ver en GitHub↗

    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.

    TypeScriptinterfacejavascriptschema
    Ver en GitHub↗7,141
  • hamcrest/hamcrest-phpAvatar de hamcrest

    hamcrest/hamcrest-php

    7,007Ver en GitHub↗

    Hamcrest PHP is a declarative assertion framework and matcher library used for unit testing in PHP. It provides a set of flexible matchers to verify object states, data types, and collection contents. The library includes specialized tools for XML verification using XPath expressions to analyze document structures and element content. It also allows for the creation of complex validation rules by combining multiple independent matchers through logical operators. The framework covers a broad range of validation primitives, including string content inspection, numeric comparison, and object pr

    Checks class inheritance, object properties, and the contents of traversable collections or arrays.

    PHP
    Ver en GitHub↗7,007
  • sinclairzx81/typeboxAvatar de sinclairzx81

    sinclairzx81/typebox

    6,759Ver en GitHub↗

    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.

    TypeScriptjsonschematypescript
    Ver en GitHub↗6,759
  • red/redAvatar de red

    red/red

    6,009Ver en GitHub↗

    Red is a programming language with a native compiler that translates high-level source code into standalone executables for Windows, macOS, and Linux without external runtime dependencies. It combines a cross-platform GUI development framework that renders native operating system widgets from a single codebase with a reactive data binding system that automatically synchronizes UI state with data sources. The language also includes an embedded DSL and parsing engine based on PEG grammar rules for defining and processing domain-specific languages within the language itself. The project distingu

    Links object fields to data sources so changes propagate automatically between model and display.

    Red
    Ver en GitHub↗6,009
  • samchon/typiaAvatar de samchon

    samchon/typia

    5,837Ver en GitHub↗

    Typia is a compile-time code generator that transforms TypeScript type annotations into runtime validation, serialization, and schema functions without requiring decorators or separate schema files. It generates optimized validation and serialization code during TypeScript compilation, producing dedicated functions for each type that eliminate runtime schema objects for faster execution. The project extends this core capability into several integrated areas. It generates fully typed client SDKs from NestJS controller source code, keeping server and client types synchronized automatically. It

    Validates parsed objects against TypeScript types, rejecting extra properties in strict mode.

    Go
    Ver en GitHub↗5,837
  • chillicream/hotchocolateAvatar de ChilliCream

    ChilliCream/hotchocolate

    5,713Ver en GitHub↗

    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.

    C#
    Ver en GitHub↗5,713
Ant.123Siguiente
  1. Home
  2. Software Engineering & Architecture
  3. Data Schema Validation
  4. Data Type Validation
  5. Object Shape Validation

Explorar subetiquetas

  • Key Presence ValidationConstraints that ensure at least one specific key from a defined set is present in an object type. **Distinct from Minimum Object Entry Validation:** Distinct from Minimum Object Entry Validation: validates the presence of specific keys rather than the total count of entries.
  • Loose Object ValidationObject validation that permits and preserves unknown properties in the output. **Distinct from Object Shape Validation:** Distinct from Object Shape Validation: specifically allows and preserves extra keys instead of strictly enforcing a fixed shape.
  • Minimum Object Entry ValidationConstraints that ensure an object contains at least a specified number of key-value pairs. **Distinct from Object Shape Validation:** Distinct from Object Shape Validation: focuses on the count of entries rather than the names or types of specific keys.
  • Object Entry Count Limits1 sub-etiquetaValidation that ensures an object does not exceed a maximum number of entries. **Distinct from Object Shape Validation:** Distinct from Object Shape Validation: focuses on the quantitative limit of entries regardless of their keys.
  • Object Entry Count ValidationValidation that checks if an object contains an exact specified number of entries. **Distinct from Object Shape Validation:** Distinct from Object Shape Validation: focuses on the exact count of key-value pairs in an object.
  • Object Field Optionality3 sub-etiquetasUtilities for marking specific keys in an object schema as optional. **Distinct from Object Shape Validation:** Distinct from Object Shape Validation: specifically focuses on modifying the requirement level (required to optional) of existing keys.
  • Object Key Validation4 sub-etiquetasValidation that ensures a value is one of the valid keys of a defined object schema. **Distinct from Object Shape Validation:** Distinct from Object Shape Validation: validates a value against the set of keys of a schema, rather than validating the object structure itself.
  • Recursive Object Validation1 sub-etiquetaValidation logic that recursively traverses nested object hierarchies and collections to enforce structural correctness. **Distinct from Object Shape Validation:** Distinct from Object Shape Validation by specifically handling recursive traversal of nested classes and arrays rather than just flat property checks.
  • Schema Composition2 sub-etiquetasThe 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.
  • Strict Object ValidationObject validation that rejects any keys not explicitly defined in the schema. **Distinct from Loose Object Validation:** Unlike Loose Object Validation, it forbids unknown properties instead of preserving them.