1.6.2 • Published 3 months ago

schemy-ts v1.6.2

Weekly downloads
-
License
MIT
Repository
github
Last release
3 months ago

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!

  • This is the TypeScript version of Schemy.

Missing features

All features are shared with the main version, except for the short-style declaration:

// This is not available :(
const schema = new Schemy({
    name: String
});

// You need to declare it like this
const schema = new Schemy({
    name: { type: String }
});

Unique features

Available only in the TS version

// Schemy needs to be imported this way
import { Schemy } from 'schemy-ts';

// For the following examples we are using the following type
type User = {
    name: string;
    age: number;
};

Create typed schema

Use this to make sure you declare all the properties in the schema for your Type:

// This will give an error because `age` is defined in the type but not in the schema
const UserSchema = Schemy.schema<User>({
    name: { type: String }
});

Create strict typed schema

This is just the same as the typed schema but the resulting Schemy instance will be strict.

// You can also do this to make the schema strict
const UserSchema = Schemy.strict<User>({
    name: { type: String }
});

Validate and return typed body

You can validate and return the body with the specified type. This works extremely well with VS Code intellisense.

const user: User = await Schemy.validate<User>({ name: 'schemy' });

Return typed body

This is similar to the previous example, but in this case you are not validating. You're just returning the last validated input.

const user: User = Schemy.getBody<User>();

And more...

To see all the features, please visit the Schemy wiki.

1.6.2

3 months ago

1.6.1

8 months ago

1.6.0

8 months ago

1.5.8

2 years ago

1.5.5

2 years ago

1.5.7

2 years ago

1.5.6

2 years ago

1.5.3

3 years ago

1.5.2

3 years ago

1.5.1

3 years ago

1.5.0

3 years ago

1.4.1

3 years ago

1.4.0

3 years ago

1.3.1

3 years ago

1.2.0

3 years ago

1.1.0

3 years ago

1.3.0

3 years ago

1.0.0

3 years ago