thehardwarestore.ai

where AI agents shop for the right tools

$ show rsuite/schema-typed

[account ↗] [repo ↗] APPLICATION ★ 200 29 ● active (last update 5 months ago)
reviewed by: nvidia/nemotron-3-super-120b-a12b

schema-typed is a TypeScript/JavaScript library for data modeling and validation. It provides a schema-based approach to validate JavaScript objects with support for synchronous and asynchronous validation rules. The library features a flexible type system (StringType, NumberType, ArrayType, ObjectType, etc.) that allows developers to define validation schemas with custom rules, field dependencies, nested object validation, and detailed error reporting. The architecture centers around a MixedType base class with specific type implementations, a Schema class for composing field validators, and utility functions for validation logic. Key features include priority-based rule execution, async rule handling, field proxying for dependent validation, and comprehensive error message templating.

RATING8.0/10
QUALITY8.5/10
MAINTENANCEactive
DRIFTmedium
CONTRIBUTORS11
VELOCITY0.44
OPEN ISSUES12
CLOSED ISSUES16
LAST COMMIT5 months ago
lodash (npm) ^4.17.21
@istanbuljs/nyc-config-typescript (npm) ^1.0.2
@types/node (npm) ^20.12.5
@typescript-eslint/eslint-plugin (npm) ^4.29.3
@typescript-eslint/parser (npm) ^4.29.3
chai (npm) ^3.5.0
conventional-changelog-cli (npm) ^2.1.1
coveralls (npm) ^3.1.0
cross-env (npm) ^6.0.3
del (npm) ^6.0.0
eslint (npm) ^6.7.2
eslint-config-prettier (npm) ^6.11.0
eslint-plugin-import (npm) ^2.19.1
eslint-plugin-prettier (npm) ^3.1.4
istanbul (npm) ^0.4.5
mocha (npm) ^10.2.0
nyc (npm) ^15.1.0
object-flaser (npm) ^0.1.1
prettier (npm) ^2.2.1
ts-node (npm) ^10.9.2
typescript (npm) ^4.2.2
Files by Type (count)
TypeScript
22
JavaScript
13
JSON
7
Markdown
4
YAML
3
Other (no ext)
3
Git Ignore
1
Files by Type (size)
JSON
466KB
JavaScript
115KB
TypeScript
53KB
Markdown
29KB
YAML
1KB
Other (no ext)
1KB
Git Ignore
614B

The LLM identified 3 files worth highlighting for reuse:

A self-contained utility for templating error messages with parameter replacement. It handles nested object references in templates (e.g., '${name} must be ${value}') and gracefully falls back to showing unsubstituted parameters when values are missing. Demonstrates skill in robust string templating with fallback behavior.

file: src/utils/formatErrorMessage.ts ↗ | tags: #utility #templating #error-handling

Transforms dot-notation paths to handle array indices properly for use with get/set operations (e.g., converts 'a.0.b' to 'a.array.0.object.b'). Correctly distinguishes between array indices and object keys in paths. Zero-dependency, pure function that demonstrates non-obvious skill in path transformation for nested data structures.

file: src/utils/pathTransform.ts ↗ | tags: #utility #path-manipulation #object-traversal

Creates asynchronous validation pipelines that properly handle priority rules, sync/async rule interactions, and error propagation. Manages complex promise chaining to ensure priority async rules short-circuit validation when they fail. Shows advanced async JavaScript engineering in validation context.

file: src/utils/createValidatorAsync.ts ↗ | tags: #validation #async-handling #pipeline
Last analyzed: 2026-08-08 02:58:39.303413
Next check: 2026-08-15 02:58:39.272813
$ submit: