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

dualdb

v0.0.3

Published

Dual db is a simple database with only files and carpets. The FortyDB Improved

Downloads

18

Readme

Sure, here's the translation to English:

Methods

You can use the manager's methods according to your convenience. To read data, you have two functions: one where the return method is an object {}, and another where you get the exact result.

/data
	/users
		/1
		/2
	/posts
		/1
		/2

We will request data using the method: getData():

const dualdb = require('dualdb');
const database = new dualdb('./');

database.getData('/data/users');

// RESULT

{
	1: {
		user: "siopś",
		password: "***"
	},
	2: {
		user: "dualdb",
		password: "***"
	}
}

// IF THE DIRECTORY DOESN'T EXIST OR THERE IS NO DATA INSIDE THAT DIRECTORY, IT WILL RETURN THE FOLLOWING:

{}

// THIS IS USEFUL WHEN YOUR PROGRAM NEEDS TO CONTINUE READING EVEN IF THERE IS NO DIRECTORY.
// BUT IF YOU NEED TO KNOW THE ORIGINAL CONTENT OR IF IT DOESN'T EXIST, YOU CAN USE THE METHOD

database.initData('/data/users');

// RESULT

{
	1: {
		user: "siopś",
		password: "***"
	},
	2: {
		user: "dualdb",
		password: "***"
	}
}

// OBVIOUSLY, IT WILL GIVE THE SAME RESULT. HOWEVER, IT WON'T HAVE THE SAME EFFECT IF WE DELETE THE DIRECTORY.

// IF THE DIRECTORY DOESN'T EXIST, THE METHOD WILL RETURN NULL.

Set Data

To save information, you have to specify the path where you want to save the information and you can also send an object that will be converted into directories and files separately.

const dualdb = require('dualdb');
const database = new dualdb('./');

database.setData('/data', {
	users: [{user: "siops", password:"***"}, {user: "dualdb", password: "***"}];
})

This will generate the following paths:

/data/users/0/user.fdb => siops
/data/users/1/user.fdb => dualdb
/data/users/0/password.fdb => 'psw'
/data/users/1/password.fdb = 'psw'

Thus, generating the directories.

The getData() method will retrieve the same JSON that you passed with setData(), meaning that calling getData() will return the following: users: {0: {user: "siops", password:"***"}, 1: {user: "dualdb", password: "***"}}

Remove Data

Deleting files is quite simple, you specify the base path you want to delete:

// THIS WILL COMPLETELY DELETE ALL USERS.
// THE BASE DIRECTORY IS COMPLETELY REMOVED.
database.removeData('/data/users');

Start

The start() method is used to read all the data from the base path, i.e., the path you set when instantiating the class. This will read and convert all the data into a JSON object.