JS/TS value objects for typed input validation.
- Minimal, dependency-free classes for validating data inputs.
- Works in JavaScript and TypeScript; exports small, focused APIs.
npm install @bufferpunk/solidtypesimport { Email } from '@bufferpunk/solidtypes';
const e = new Email('alice@example.com');
console.log(e.toString()); // 'alice@example.com'
console.log(e.local); // 'alice'
console.log(e.domain); // 'example.com'
console.log(Email.isValid('x@x.com')); // true... to be documented
Types are exported so you can use them in TypeScript projects. Example:
import { Url, type UrlOptions } from '@bufferpunk/solidtypes';
const opts: UrlOptions = { protocols: ['https:'], requirePath: true };
if (Url.isValid('https://example.com/a', opts)) {
const u = new Url('https://example.com/a', opts);
}We're encouraging Contributions, to enrich the types and library. Add types that the library is missing and send a PR. Thank you.
MIT