schemy

3.3.1 • Public • Published

Docs 📖 · Plugins 🧩 · Changelog 📝 · Donate 💰

Schemy is an extremely simple, lightweight yet powerful schema validation library. Perfect for lightweight-oriented projects like cloud functions where size and speed are key features. It weights less than 18 KB!

Usage

Install using npm: npm install --save schemy. Then, create a schema with the desired properties and their types:

const Schemy = require('schemy');

const characterSchema = new Schemy({
    'name': {
        type: String,
        required: true
    }
});

// Validate against input data
if (!characterSchema.validate(someData)) {
    characterSchema.getValidationErrors(); // => [ 'Missing required property name' ]
}

// You can also validate asynchronously
await Schemy.validate(someData, characterSchema);

Plugins

Schemy can be easily extended with new functionality. For example, this adds a feature to reference properties within the schema.

// Require the plugin
const ReferenceSupport = require('schemy-reference-support');

// Call Schemy.extend() with the plugin or with an array of plugins
Schemy.extend(ReferenceSupport);

new Schemy({
    password: String,
    confirm: Schemy.$ref('password')
});

You can check the whole list of available plugins in the wiki ↗

API

Static methods

Instance methods


Full documentation ↗️

Dependencies (0)

    Dev Dependencies (4)

    Package Sidebar

    Install

    npm i schemy

    Weekly Downloads

    38

    Version

    3.3.1

    License

    MIT

    Unpacked Size

    17.4 kB

    Total Files

    3

    Last publish

    Collaborators

    • aeberdinelli