Fast robust predicates for computational geometry
A little library for asserting types and values, with zero dependencies.
A library for expressing filter predicates and evaluating them against values
Tools for manipulating ApiDOM structures.
OpenAPI 3.1.x namespace for ApiDOM.
OpenAPI 2.0 namespace for ApiDOM.
API Design Systems 2021-05-07 namespace for ApiDOM.
JSON Schema 2020-12 namespace for ApiDOM.
Arazzo Specification 1.0.1 namespace for ApiDOM.
JSON Schema 2019-09 namespace for ApiDOM.
OpenAPI 3.2.x namespace for ApiDOM.
AsyncAPI 3.x.y namespace for ApiDOM.
DSL that enables you to navigate and find data within your JSON documents
Array / Arraylike utilities
Workflows Specification 1.0.0 namespace for ApiDOM.
A set of predicate functions to improve your value testing and comparisons.
The Glitch word list, packaged into an NPM module for easy use.
Simple runtime TypeScript validator library
Set of various predicates for type checking, assertions, filtering etc
JSON Schema Draft 7 namespace for ApiDOM.
Simple `and` and `or` functional programming predicates
A comprehensive collection of performant type guards and assertions with excellent TypeScript support
Underlying schema language parsed from arktype syntax.
OpenAPI 3.0.x namespace for ApiDOM.
Having trouble figuring out which date is in the future looking at > or < ?
Quickly define model state predicates and scopes at the same time.
Add MCP tool serving to any Rails app. Write @rbs type annotations with predicate tags (@requires, @feature, or custom) and the gem compiles per-user JSON Schema automatically — filtering fields by permissions, feature flags, and plan tiers at request time.
SafeMemoize is a production-ready, zero-dependency memoization library for Ruby. It uses Ruby's prepend mechanism to wrap methods with a thread-safe cache (Mutex + double-check locking) that correctly handles nil and false return values — fixing the silent bug in the common ||= pattern. Results are cached per unique argument combination, so parameterized methods only compute each variant once. Additional features include TTL expiration, LRU cache size limiting, conditional caching via if:/unless: predicates, lifecycle hooks for hit/eviction/expiration events, per-instance metrics (hit rate, miss rate, computation time), targeted cache invalidation, custom cache key generators, and introspection helpers. Method visibility (public, protected, private) is fully preserved.