24 个仓库
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 是一个 Android UI 组件库和移动端表单输入框架,用于创建符合 Material Design 标准的文本字段。它提供了一系列具有浮动标签、错误状态和主题化视觉样式的输入组件。 该库支持渲染带有动画标签和集成辅助文本的文本字段。它支持添加设计图标,并允许自定义主要文本、错误文本和辅助文本的颜色与字体。 该框架包含移动端输入验证功能,例如强制执行文本输入的最小和最大字符数限制。
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 is a Scala functional programming library and type class library designed to implement algebraic patterns and functional abstractions. It provides a standardized set of interfaces and a modular toolkit of functional wrappers and containers to enable ad-hoc polymorphism and generic programming across disparate types. The project serves as a functional abstraction standard, offering a monad transformer suite to compose nested effectful contexts and handle multiple computational side effects within a single pipeline. It further enables the construction of embedded domain-specific languages
Provides specialized data types that statically guarantee a collection contains at least one element.
Bard-API 是一个用于与 Google Gemini 交互的异步 Python 封装库和客户端。它作为一个有状态的对话管理器和多模态接口,允许用户向语言模型发送文本和图像提示并获取响应。 该库利用基于 Cookie 的身份验证系统,从本地浏览器存储中提取会话令牌来授权请求。为了管理访问和连接,它包括基于代理的请求路由,以绕过区域限制并避免 IP 封锁。 该项目涵盖了多模态 AI 分析功能,并维护会话历史以实现连续的多轮对话。它还提供了从响应中提取图像链接、文本转语音以及在本地环境中自动执行生成的代码片段的实用工具。
Limits generated output by setting a maximum number of tokens or sentences.
Sugar 是一个 JavaScript 实用程序库,旨在通过额外的方法扩展原生对象和原型,以进行数据操作和转换。它作为一个工具包,用于对象实用程序、日期操作、字符串变形以及缺失或损坏的标准语言功能的 Polyfill。 该库提供了将实用方法直接映射到内置原型或将值包装在临时对象中以实现方法链的能力,而无需修改全局原型。它还包括一个 Polyfill 系统,通过实现缺失的现代语言功能来确保跨不同执行环境的一致行为。 功能包括国际日期格式化和人类可读日期字符串的解析。该库还通过字符串变形和规范化、嵌套对象的深度属性遍历以及区域感知数组排序来处理自然语言处理。此外,它还提供了用于克隆可变对象以及定义数字、日期和字符串值范围的工具。
Retrieves and sets values in nested objects and arrays using dot notation.
Unform 是一个 React 表单状态管理器,旨在处理复杂用户输入表单的状态、验证和提交。它利用非受控表单 API,通过使用引用而不是同步状态来管理表单数据,从而最大限度地减少重新渲染。 该库具有嵌套数据映射器,使用作用域和点符号将字段组织成层级对象和数组。它还包括一个自定义输入适配器,用于将第三方 UI 组件和非标准输入连接到中心化表单状态,以及一个验证引擎,用于根据定义的模式检查提交的数据,并将错误消息映射到特定字段。 广泛的功能包括用于数据初始化和重置的中心化状态管理、文件上传处理以及用户输入掩码。该系统提供对表单提交的编程控制,以及对单个输入元素的直接引用访问。
Implements dot-separated key paths to retrieve and organize values within nested objects and arrays.
Dynaconf is a configuration management library for Python applications that provides a unified system for loading, validating, and managing settings. It aggregates configuration data from multiple files, environment variables, and external stores into a single object using a defined precedence order. The project distinguishes itself through a layered environment manager that separates settings into distinct profiles, such as development and production. It includes a declarative validation framework to enforce data rules and type constraints during the loading process, as well as an external s
Enables access to nested configuration keys using dot-separated paths for simplified retrieval of complex data.
ts-essentials 是一个全面的 TypeScript 工具类型和库工具包,提供用于递归结构转换、运行时断言和类型保护的高级原语。它作为一个工具库,用于执行复杂的类型级编程,以确保更强的类型安全性并减少样板代码。 该项目通过一套专门用于深度对象操作的工具脱颖而出,例如在嵌套层次结构中递归应用只读或可选修饰符。它还提供了一套专门的严格类型约束,以确保数据结构专门符合 JSON 规范。 该工具包涵盖了广泛的功能,包括用于元数据提取的类型分析、联合和元组操作以及结构身份验证。它还包括运行时验证工具,以在条件逻辑中强制执行案例穷举并在执行期间验证类型约束。
TypeScript-ts-tool ensures an array contains at least one element of a specific type to prevent processing empty lists.