Kledenai / jsonverify

A lightweight JSON schema and data validator.

Home Page:https://www.npmjs.com/package/jsonverify

Repository from Github https://github.comKledenai/jsonverifyRepository from Github https://github.comKledenai/jsonverify

npm version

JsonVerify

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.

✨ Why Use JsonVerify?

  • πŸš€ 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.

πŸ“¦ Installation

You can install jsonverify using npm or yarn:

npm install jsonverify

or

yarn add jsonverify

πŸ› οΈ Usage

Importing

import { validate } from "jsonverify";

Validating Basic Data

const schema = {
  name: "string",
  age: "number",
};

const data = {
  name: "John",
  age: 30,
};

console.log(validate(schema, data)); // true

Validating Nested Data

const schema = {
  user: {
    name: "string",
    age: "number",
  },
};

const data = {
  user: {
    name: "Alice",
    age: 25,
  },
};

console.log(validate(schema, data)); // true

Validating Arrays

const schema = {
  users: [
    {
      name: "string",
      age: "number",
    },
  ],
};

const data = {
  users: [
    { name: "Alice", age: 25 },
    { name: "Bob", age: 30 },
  ],
};

console.log(validate(schema, data)); // true

Using Optional Properties

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

Using Constraints (minLength, maxLength, enum)

const schema = {
  type: "string",
  enum: ["red", "green", "blue"],
  minLength: 3,
  maxLength: 5,
};

console.log(validate(schema, "red")); // true
console.log(validate(schema, "yellow")); // false

πŸ“œ API

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.

πŸ”’οΈ Requirements

  • Node.js version 14.0.0 or higher.

πŸ›‘οΈ License

This project is licensed under the MIT License. See the LICENSE file for more information.

πŸ‘¨β€πŸ’» Contribution

Feel free to open issues or submit pull requests to improve jsonweaver. All contributions are welcome! 🌟

  1. Fork the repository.
  2. Create a branch for your feature: git checkout -b my-feature.
  3. Make your changes and commit: git commit -m 'My awesome feature'.
  4. Push to the repository: git push origin my-feature.
  5. Open a pull request on GitHub.

πŸ’‘ Author

Created by Kledenai. Contact me at bruno@khaneland.com.

About

A lightweight JSON schema and data validator.

https://www.npmjs.com/package/jsonverify

License:MIT License


Languages

Language:TypeScript 92.1%Language:JavaScript 7.9%