npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

typescript-nedb-orm

v1.7.0

Published

ORM for @seald-io/nedb written in TypeScript

Downloads

17

Readme

typescript-nedb-orm

ORM for @seald-io/nedb written in TypeScript

E2E Tests Node.js CI codecov code style: prettier linter: ESLint

How to install

npm install typescript-nedb-orm

or

yarn add typescript-nedb-orm

or

pnpm add typescript-nedb-orm

How to use

Create an objet extending ORM, parametrised with your class fields interface

Example:

import { IID, ORM } from 'typescript-nedb-orm'

interface IPerson extends IID {
    name: string
    email: string
}

class Person extends ORM<IPerson> implements IPerson {
    name: string
    email: string
    constructor(person: IPerson) {
        super(person)
        this.name = person.name
        this.email = person.email
    }
}

Then, you can use it.

Create your object as you would normaly:

const person = new Person({
    name: 'Luc',
    email: '[email protected]'
})

Save your object:

const savedPerson: IPerson = await person.save()

Fetch your objects in db:

const retrievedPersons: IPerson[] = await Person.find<IPerson>({
    email: '[email protected]'
})

Delete your object:

await person.delete()

Update your objects in db:

const updated: number = await Person.update<IPerson>(
    {
        name: 'Luc'
    },
    {
        email: '[email protected]'
    }
)

Remove your objects in db:

const removed: number = await Person.remove<IPerson>({
    email: '[email protected]'
})

Find one object in db:

const found: IPerson | null = await Person.findOne<IPerson>({
    name: 'Luc'
})

Find an object by id in db:

const foundById: IPerson | null = await Person.findById<IPerson>('kpOBxczJlr2R5S68')

Count the number of objects in db:

const count: number = await Person.count<IPerson>()

Have fun! :)

Contributing

Thank you for your interest in contributing to the TypeScript-NEDB-ORM! Contributions are valued and help enhance this project.

How to Contribute

  1. Fork the repository and create your branch from main.
  2. Clone the forked repository to your local machine.
  3. Install the required dependencies using npm install.
  4. Make your changes, following these coding style guidelines:
    • No semicolon at the end of lines.
    • Use single quotes instead of double quotes.
    • Indent with 4 spaces for TS and JS files, and 2 spaces for JSON or HTML.
    • You can run npm run format to format your code before pushing.
  5. Ensure that the code passes the coverage requirements:
    • Add tests for the changes made.
    • Run npx jest -- --coverage to check if the code passes the coverage requirements.
  6. Ensure that the code passes the linting requirements:
    • Run npm run lint
  7. Update the documentation (README.md) to reflect your changes.
  8. Commit your changes and push them to your forked repository.
  9. Create a pull request to the main branch of the original repository.

Reporting Issues

If you encounter any issues or have suggestions, please open an issue on GitHub.

Thank you for your contributions! This project is maintained by one person, and your efforts are greatly appreciated.

License

This project is licensed under the GNU General Public License v3.0 (GPLv3) - see the LICENSE file for details.