awesome-repositories.com
Blog
MCP
awesome-repositories.com

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

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoServidor MCPAcerca deCómo clasificamosPrensa
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
dry-rb avatar

dry-rb/dry-types

0
View on GitHub↗
899 estrellas·137 forks·Ruby·MIT·10 vistasdry-rb.org/gems/dry-types↗

Dry Types

This library provides a type system for Ruby applications, offering a framework for defining, validating, and coercing data structures. It serves as a foundation for maintaining data integrity by ensuring that input values conform to established schemas and constraints before they are processed by application logic.

The system distinguishes itself through a functional approach to data transformation and validation. It utilizes an immutable registry for type definitions and employs algebraic operators to compose complex, nested schemas from smaller, reusable components. By wrapping validation outcomes in monadic containers, the library enables predictable error handling and flow control without relying on exceptions.

Beyond basic validation, the toolkit supports recursive structure traversal and lazy coercion, allowing for the transformation of raw inputs from external sources into structured objects. These capabilities facilitate consistent domain modeling, enabling the enforcement of business rules across different layers of a codebase through custom type definitions and flexible schema composition.

Features

  • Data Validation Libraries - Provides a comprehensive framework for validating data structures and enforcing constraints within Ruby applications.
  • Type System Libraries - Provides a toolkit for defining, validating, and coercing data types to ensure consistent structures.
  • Data Validation Schemas - Provides schema-based validation to ensure input data conforms to expected structures and constraints.
  • Data Type Coercion - Transforms raw input values into structured objects using built-in or custom conversion rules.
  • Coercion Pipelines - Implements pipelines that chain transformation functions to convert raw input data into expected types.
  • Custom Type Definitions - Allows the construction of reusable custom type definitions to enforce consistency across application logic.
  • Recursive Type Definitions - Supports recursive type definitions that allow for the validation of nested, tree-like data structures.
  • Functional Transformations - Provides functional transformation tools to convert raw inputs into structured objects using composable rules.
  • Immutable Registries - Maintains an immutable registry of type definitions to ensure consistent and predictable data modeling across application layers.
  • Nested Object Validation - Supports recursive validation of nested properties to handle deep objects and complex configuration files.
  • Domain Model Implementations - Uses type-safe data structures to model business entities and enforce domain rules.
  • Monadic Error Handling - Uses monadic containers to handle validation errors and control flow in a functional manner.
  • Success and Failure Wrapping - Encapsulates validation outcomes in functional containers to manage success and failure states without relying on exceptions.
  • Function Composition - Enables the composition of small, reusable functions into complex operations for data validation and transformation.
  • Predicate-Based Validations - Provides predicate-based validation utilities that check values against defined rules and return explicit success or failure types.
  • Schema Composition Libraries - Provides utilities for building complex, nested validation structures by composing reusable schema primitives.
  • Error Handling - Integrates validation results into monadic flows to manage application state and handle errors predictably.

Historial de estrellas

Gráfico del historial de estrellas de dry-rb/dry-typesGráfico del historial de estrellas de dry-rb/dry-types

Búsqueda con IA

Explora más repositorios increíbles

Describe lo que necesitas en lenguaje sencillo: la IA clasifica miles de proyectos open-source curados por relevancia.

Start searching with AI

Colecciones destacadas con Dry Types

Colecciones seleccionadas manualmente donde aparece Dry Types.
  • Type annotation systems

Alternativas open-source a Dry Types

Proyectos open-source similares, clasificados según cuántas características comparten con Dry Types.
  • arrow-kt/arrowAvatar de arrow-kt

    arrow-kt/arrow

    6,558Ver en GitHub↗

    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

    Kotlinarrowcontinuationscoroutines
    Ver en GitHub↗6,558
  • dry-python/returnsAvatar de dry-python

    dry-python/returns

    4,310Ver en GitHub↗

    Returns is a functional programming library for Python that provides type-safe containers for managing state, error handling, and optionality. It serves as a monadic container library and a type-safe error handling framework, replacing traditional try-catch blocks and null checks with Result and Optional containers to treat exceptions as data. The project is distinguished by its use of a specialized Mypy static analysis plugin to validate functional pipelines and emulate higher kinded types. It provides mechanisms for isolating side effects through IO containers and offers a framework for typ

    Python
    Ver en GitHub↗4,310
  • 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

    TypeScript
    Ver en GitHub↗23,673
  • hapijs/joiAvatar de hapijs

    hapijs/joi

    21,192Ver en GitHub↗

    Joi is a JavaScript data validation library used to define schemas that validate, cast, and sanitize data objects. It functions as an object schema validator and parser, ensuring that input data matches specific types and formats before it is processed by an application. The library features a conditional validation engine capable of dynamic schema enforcement, where validation logic and dependencies change based on the values of other keys within an object. It also serves as a data casting and sanitization tool, transforming input values into target types and removing sensitive keys from the

    JavaScripthapijavascriptschema
    Ver en GitHub↗21,192
Ver las 30 alternativas a Dry Types→

Preguntas frecuentes

¿Qué hace dry-rb/dry-types?

This library provides a type system for Ruby applications, offering a framework for defining, validating, and coercing data structures. It serves as a foundation for maintaining data integrity by ensuring that input values conform to established schemas and constraints before they are processed by application logic.

¿Cuáles son las características principales de dry-rb/dry-types?

Las características principales de dry-rb/dry-types son: Data Validation Libraries, Type System Libraries, Data Validation Schemas, Data Type Coercion, Coercion Pipelines, Custom Type Definitions, Recursive Type Definitions, Functional Transformations.

¿Qué alternativas de código abierto existen para dry-rb/dry-types?

Las alternativas de código abierto para dry-rb/dry-types incluyen: arrow-kt/arrow — Arrow is a functional programming library for Kotlin that provides tools for implementing data-oriented programming… dry-python/returns — Returns is a functional programming library for Python that provides type-safe containers for managing state, error… jquense/yup — Yup is a JavaScript schema validation library used to define data shapes and validate runtime values. It functions as… open-circle/valibot — Valibot is a modular, type-safe schema library for validating and parsing structural data in TypeScript environments. hapijs/joi — Joi is a JavaScript data validation library used to define schemas that validate, cast, and sanitize data objects. It… voxpupuli/json-schema — This library is a Ruby-based validation engine designed to verify JSON data structures against official schema…