universal-types-validator
Version:
Simple data type validator
115 lines (76 loc) • 2.55 kB
Markdown
# types-validator
A lightweight and reusable **JavaScript data type validator** for both frontend and backend.
Supports **strings, numbers, booleans, arrays, objects, emails, URLs, UUIDs, dates**, and schema validation.
## Installation
```bash
# For npm
npm install types-validator
# For yarn
yarn add types-validator
# types-validator
A lightweight and reusable **JavaScript data type validator** for both frontend and backend.
Supports **strings, numbers, booleans, arrays, objects, emails, URLs, UUIDs, dates**, and schema validation.
## Installation
```bash
# For npm
npm install types-validator
# For yarn
yarn add types-validator
Usage
ESM (Frontend / Modern Node.js)
import Validator from 'types-validator';
console.log(Validator.isString("hello")); // true
console.log(Validator.isEmail("test@mail.com")); // true
// Generic validation
console.log(Validator.validate(123, "number")); // true
// Schema validation
const user = { name: "Alice", age: 25, email: "alice@mail.com" };
const result = Validator.validateSchema(user, {
name: "string",
age: "number",
email: "email"
});
console.log(result); // { valid: true }
CJS (Node.js)
const Validator = require('types-validator');
console.log(Validator.isNumber(42)); // true
console.log(Validator.isUrl("https://example.com")); // true
API
Type Checks
Validator.isString(value)
Validator.isNumber(value)
Validator.isBoolean(value)
Validator.isArray(value)
Validator.isObject(value)
Validator.isFunction(value)
Validator.isNull(value)
Validator.isUndefined(value)
Validator.isEmail(value)
Validator.isUrl(value)
Validator.isUUID(value)
Validator.isDate(value)
Validator.isEmpty(value)
Generic Validation
Validator.validate(value, type)
// type can be: 'string', 'number', 'boolean', 'array', 'object', 'email', 'url', 'uuid', 'date', etc.
Schema Validation
Validator.validateSchema(obj, schema)
// obj: your object
// schema: { keyName: "type", ... }
const result = Validator.validateSchema(
{ name: "Alice", age: 25 },
{ name: "string", age: "number" }
);
console.log(result);
// { valid: true } or { valid: false, errors: [...] }
Notes
Works in both frontend and backend.
Fully ESM-compatible, with a CJS wrapper for Node.js require.
Tree-shakeable in modern bundlers.
License
MIT
If you want, I can also give you a **ready-to-use full command sequence** to **bump the version, update the package name, commit, and publish `types-validator`** to npm in one go. This will make updating very smooth.
Do you want me to do that?