Skip to content
/ papr Public
forked from plexinc/papr

MongoDB TypeScript-aware Models

License

Notifications You must be signed in to change notification settings

Hustle/papr

This branch is 375 commits behind plexinc/papr:main.

Folders and files

NameName
Last commit message
Last commit date
Jul 24, 2023
Jun 2, 2023
Jun 2, 2023
Jun 2, 2023
Jun 2, 2023
Jul 11, 2023
Jul 10, 2023
Jul 14, 2023
Jun 2, 2023
May 25, 2022
Jul 14, 2023
Jun 2, 2023
Jun 2, 2023
Jul 10, 2023
Feb 7, 2023
Jun 2, 2023
May 10, 2021
Feb 7, 2023
May 10, 2021
Jun 2, 2023
Feb 22, 2023
Jun 2, 2022
Jul 25, 2023
Jul 25, 2023
Jun 2, 2023
May 10, 2021
May 10, 2021
May 10, 2021

Repository files navigation

Papr

Papr

  • TypeScript-safe schemas
  • JSON Schema MongoDB validation
  • 🎉 Lightweight library
  • 🚀 Blazing fast

Github Actions NPM version Install size

papr is a lightweight library built around the MongoDB NodeJS driver, written in TypeScript.

papr uses MongoDB's JSON Schema validation feature to enable validation of document writes at runtime (requires MongoDB 3.6+).

papr has a familiar API - if you have used the raw mongodb methods to query and change documents before, then you already know how to use papr.

Sample code

import Papr, { schema, types } from 'papr';

const papr = new Papr();

const User = papr.model('users', schema({
  age: types.number(),
  firstName: types.string({ required: true }),
  lastName: types.string({ required: true }),
}));

const johnWick = await User.find({ firstName: 'John', lastName: 'Wick' });

Documentation

Read the documentation at: plexinc.github.io/papr

Contributing

Please read the contributing guidelines.

Before contributing, please read the Code of conduct.

License

MIT

Inspiration

About

MongoDB TypeScript-aware Models

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 95.0%
  • JavaScript 4.6%
  • Shell 0.4%