JsonVerify is a lightweight library for validating JSON schemas and data, written in TypeScript. It ensures that the provided data complies with defined schemas, making it ideal for JSON-based applications like APIs, configuration systems, or validation layers in modern applications.
- π Lightweight and Fast: Optimized for performance in real-world applications.
- π οΈ TypeScript First: Fully typed for better developer experience and type safety.
- π Flexible: Supports primitive types, nested schemas, arrays, and advanced constraints.
- β Easy to Use: Intuitive API that gets you started quickly.
You can install jsonverify using npm or yarn:
npm install jsonverify
or
yarn add jsonverify
import { validate } from "jsonverify";
const schema = {
name: "string",
age: "number",
};
const data = {
name: "John",
age: 30,
};
console.log(validate(schema, data)); // true
const schema = {
user: {
name: "string",
age: "number",
},
};
const data = {
user: {
name: "Alice",
age: 25,
},
};
console.log(validate(schema, data)); // true
const schema = {
users: [
{
name: "string",
age: "number",
},
],
};
const data = {
users: [
{ name: "Alice", age: 25 },
{ name: "Bob", age: 30 },
],
};
console.log(validate(schema, data)); // true
const schema = {
type: "object",
properties: {
name: { type: "string" },
age: { type: "number" },
address: { type: "string", optional: true },
},
};
const data = {
name: "John",
age: 30,
};
console.log(validate(schema, data)); // true
const schema = {
type: "string",
enum: ["red", "green", "blue"],
minLength: 3,
maxLength: 5,
};
console.log(validate(schema, "red")); // true
console.log(validate(schema, "yellow")); // false
validate(schema: Schema, data: Data): boolean
Validates the provided data against the schema.
schema
: The schema defining the expected types and structure of the data.data
: The data to be validated.
Returns: true
if the data is valid, or false
otherwise.
- Node.js version 14.0.0 or higher.
This project is licensed under the MIT License. See the LICENSE file for more information.
Feel free to open issues or submit pull requests to improve jsonweaver. All contributions are welcome! π
- Fork the repository.
- Create a branch for your feature: git checkout -b my-feature.
- Make your changes and commit: git commit -m 'My awesome feature'.
- Push to the repository: git push origin my-feature.
- Open a pull request on GitHub.
Created by Kledenai. Contact me at bruno@khaneland.com.