awesome-repositories.com
Blog
awesome-repositories.com

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectDespreCum realizăm clasamentulPresăServer MCP
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

43 repository-uri

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 43 awesome GitHub repositories matching software engineering & architecture · Object Shape Validation. Refine with filters or upvote what's useful.

Awesome Object Shape Validation GitHub Repositories

Găsește cele mai bune repo-uri cu AI.Vom căuta cele mai potrivite repository-uri folosind AI.
  • jquense/yupAvatar jquense

    jquense/yup

    23,673Vezi pe 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
    Vezi pe GitHub↗23,673
  • basarat/typescript-bookAvatar basarat

    basarat/typescript-book

    21,533Vezi pe 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
    Vezi pe GitHub↗21,533
  • digitalocean/netboxAvatar digitalocean

    digitalocean/netbox

    20,870Vezi pe 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
    Vezi pe GitHub↗20,870
  • sindresorhus/type-festAvatar sindresorhus

    sindresorhus/type-fest

    17,233Vezi pe 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
    Vezi pe GitHub↗17,233
  • phpstan/phpstanAvatar phpstan

    phpstan/phpstan

    13,999Vezi pe 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
    Vezi pe GitHub↗13,999
  • typestack/class-validatorAvatar typestack

    typestack/class-validator

    11,796Vezi pe 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
    Vezi pe GitHub↗11,796
  • fluentvalidation/fluentvalidationAvatar FluentValidation

    FluentValidation/FluentValidation

    9,727Vezi pe 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#
    Vezi pe GitHub↗9,727
  • bchavez/bogusAvatar bchavez

    bchavez/Bogus

    9,700Vezi pe 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
    Vezi pe GitHub↗9,700
  • yiminghe/async-validatorAvatar yiminghe

    yiminghe/async-validator

    9,099Vezi pe GitHub↗

    async-validator este o bibliotecă JavaScript de validare a schemelor și un motor de validare asincronă a datelor. Verifică structurile complexe de obiecte și array-urile imbricate prin aplicarea de reguli recursive și execuție non-blocking bazată pe promise-uri pentru a asigura integritatea datelor. Biblioteca funcționează atât ca un validator de constrângeri de obiecte, cât și ca un pipeline de transformare a datelor. Permite sanitizarea, constrângerea și formatarea valorilor de input printr-o secvență de funcții care rulează înainte și după procesul principal de validare. Motorul acoperă o gamă de capabilități, inclusiv validarea recursivă imbricată, aplicarea constrângerilor standard de schemă și integrarea logicii de business personalizate prin funcții de validare bespoke. De asemenea, oferă instrumente pentru personalizarea mesajelor de eroare și localizarea prin șiruri statice sau funcții dinamice.

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

    TypeScript
    Vezi pe GitHub↗9,099
  • open-circle/valibotAvatar open-circle

    open-circle/valibot

    8,769Vezi pe 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
    Vezi pe GitHub↗8,769
  • chaijs/chaiAvatar chaijs

    chaijs/chai

    8,264Vezi pe 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
    Vezi pe GitHub↗8,264
  • ariga/atlasAvatar ariga

    ariga/atlas

    8,096Vezi pe 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
    Vezi pe GitHub↗8,096
  • mystenlabs/suiAvatar MystenLabs

    MystenLabs/sui

    7,612Vezi pe 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
    Vezi pe GitHub↗7,612
  • millsp/ts-toolbeltAvatar millsp

    millsp/ts-toolbelt

    7,145Vezi pe 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
    Vezi pe GitHub↗7,145
  • ianstormtaylor/superstructAvatar ianstormtaylor

    ianstormtaylor/superstruct

    7,141Vezi pe 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
    Vezi pe GitHub↗7,141
  • hamcrest/hamcrest-phpAvatar hamcrest

    hamcrest/hamcrest-php

    7,007Vezi pe 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
    Vezi pe GitHub↗7,007
  • sinclairzx81/typeboxAvatar sinclairzx81

    sinclairzx81/typebox

    6,759Vezi pe 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
    Vezi pe GitHub↗6,759
  • red/redAvatar red

    red/red

    6,009Vezi pe 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
    Vezi pe GitHub↗6,009
  • samchon/typiaAvatar samchon

    samchon/typia

    5,837Vezi pe 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
    Vezi pe GitHub↗5,837
  • chillicream/hotchocolateAvatar ChilliCream

    ChilliCream/hotchocolate

    5,713Vezi pe 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#
    Vezi pe GitHub↗5,713
Înapoi123Înainte
  1. Home
  2. Software Engineering & Architecture
  3. Data Schema Validation
  4. Data Type Validation
  5. Object Shape Validation

Explorează sub-etichetele

  • 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-tagValidation 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-tag-uriUtilities 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-tag-uriValidation 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-tagValidation 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-tag-uriThe 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.