Socket
Socket
Sign inDemoInstall

dev.db

Package Overview
Dependencies
0
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    dev.db

A lightweight, 0 dependency, easy-to-use local database using JSON to store data


Version published
Weekly downloads
11
decreased by-62.07%
Maintainers
1
Created
Weekly downloads
 

Readme

Source

#VirusDB

Version

Downloads

Dependencies

Quality

A lightweight, 0 dependency, easy-to-use local database using JSON to store data.

Installation

npm install dev.db
yarn add dev.db

Example Usage

JsonDatabase

const VirusDB = require('dev.db');
const db = new VirusDB();


db.set('money', 100);
db.set('person.name', 'virus');


db.has('money'); // true
db.has('person.name'); // true
db.has('person.age'); // false


db.get('person.name'); // 'virus'
db.get('person.job'); // undefined


db.toJSON(); // { money: 100, person: { name: 'virus' } }

JsonCollections

const dbConfig =  {
  autoSave: false,
  encryptionKey: 'qwertyuiopasdfghjkpzxxcvbnm',
  dataFile: 'database/dev.db.json',
  collectionsFolder: 'database/collections'
}
const VirusDB = require('dev.db');
const db = new VirusDB(dbConfig);

const Users = db.createCollection('users');


Users.create({ name: 'virus', age: 19 });
Users.create({ name: 'virus24', age: 19 });


Users.update(
  user => user.age = 20,
  target => target.name === 'virus'
);
// or (dev.db@0.0.2+)
const user = Users.get(target => target.name === 'virus');
user.age = 20;
user.save();


Users.get(user => user.name === 'virus'); // { name: 'virus', age: 20 }
Users.getMany(user => user.age > 18); // [{ name: 'virus', age: 20 }, { name: 'virus24', age: 19 }]

With TypeScript:

import { JsonDatabase, Modifiable } from 'dev.db';
const dbConfig =  {
  autoSave: false,
  encryptionKey: 'qwertyuiopasdfghjkpzxxcvbnm',
  dataFile: 'database/dev.db.json',
  collectionsFolder: 'database/collections'
}

const db = new JsonDatabase(dbConfig);

type User = {
  name: string
  age: number
}

const Users = db.createCollection<User>('users');


Users.create({ name: 'virus', age: 19 });
Users.create({ name: 'virus24', age: 19 });


Users.update(
  user => user.age = 20,
  target => target.name === 'virus'
);
// or (dev.db@0.0.2+)
const user = <Modifiable<User>> Users.get(target => target.name === 'virus');
user.age = 20;
user.save();


Users.get(user => user.name === 'virus'); // { name: 'virus', age: 20 }
Users.getMany(user => user.age > 18); // [{ name: 'virus', age: 20 }, { name: 'virus24', age: 19 }]

Contributing

Before creating an issue, please ensure that it hasn't already been reported or suggested.

When submitting a new pull request, please make sure the code style/format used is the same as the one used in the original code.

License

Refer to the LICENSE file.

Keywords

FAQs

Last updated on 21 Nov 2022

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc