1.0.9 • Published 7 months ago

@bunland/moeban v1.0.9

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

Moeban

Moeban is a JSON/NoSQL Database + ODM (Object-Document Mapper) library for Node.js.

Installation

You can install Moeban using npm:

bun install @bunland/moeban

Getting Started

Here's a basic example of how to use Moeban:

import { Moeban } from "@bunland/moeban"
 
// Define your data model
const userModel = new Moeban("example.json", "users");

// Create a user object
const user = {
  _id: 1,
  name: "Luis",
  email: "luis@mail.com",
};

// Write the user object to the database
userModel.write(user)
  .then((result) => {
    console.log(result); // Should return the written user object
  })
  .catch((error) => {
    console.error("Error in write:", error);
  });

// Find all users in the database
userModel.find()
  .then((users) => {
    console.log(users); // Should return an array of user objects
  })
  .catch((error) => {
    console.error("Error in find:", error);
  });

// Find a user by _id
userModel.findOne("_id", "1")
  .then((user) => {
    console.log(user); // Should return the user object with _id 1
  })
  .catch((error) => {
    console.error("Error in findOne:", error);
  });

// Remove a user by _id
userModel.removeOne("_id", "1")
  .then((result) => {
    console.log(result); // Should return true if the user was removed
  })
  .catch((error) => {
    console.error("Error in removeOne:", error);
  });

Testing

You can run the tests for Moeban using the following command:

bun test

The tests cover various aspects of the library, including writing, finding, and removing data, as well as error handling.

bun test v0.8.1 (16b4bf34)

tests/service.test.ts:
✓ Test write function > Should write a model [0.55ms]
✓ Test find function > Should return an array of objects [0.35ms]
✓ Test findOne function > Should return an object [0.26ms]
✓ Test removeOne function > Should return true if the element was removed [0.50ms]
✓ Test findOne function > Should throw an error when the element could not be found [0.26ms]
✓ Test removeOne function > Should throw an error when the element could not be deleted [0.12ms]

 6 pass
 0 fail
 8 expect() calls
Ran 6 tests across 1 files. [22.00ms]

Feel free to explore Moeban and adapt it to your specific use cases. Happy coding!

1.0.9

7 months ago

1.0.8

7 months ago

1.0.7

7 months ago

1.0.6

7 months ago

1.0.5

11 months ago

1.0.4

11 months ago

1.0.3

11 months ago

1.0.2

11 months ago

1.0.1

11 months ago

1.0.0

11 months ago