tcomb
Type checking and DDD for JavaScript
...It gives developers a concise syntax for modeling values, structures, interfaces, enums, unions, refinements, and other domain-level constraints. The library is useful in JavaScript projects where static type information is unavailable or insufficient at runtime. It can validate external inputs, document data expectations, and support safer programming patterns without requiring a full type system migration. tcomb also serves as the foundation for related projects such as tcomb-validation and tcomb-form. Its main value is bringing lightweight, expressive runtime type modeling to JavaScript applications.