🅾️ 0db REPL
REPL playground for testing 0db.
This is a nodeJS REPL that comes with some handy context variables to easily play around with 0db on the command line.
📥 Installation
npm i 0db-repl -g
ℹ️ Usage
Launch using:
0db
Type help()
to see a description of all available context variables.
Context Variables:
Context variables are objects and functions that are already defined and available for usage during the REPL session.
$0db
0db object.
► const myDb = await $0db("my-db.json")
db
A default instance using the default file ./db.json
ready for use.
► await db("users").create({ name: "ambratolm" })
faker
Fake data generator to generate some realistic mock data. (See: Faker.JS)
► faker.name.firstName()
► faker.name.lastName()
► faker.name.gender()
► faker.internet.userName()
► faker.internet.email()
► faker.internet.password()
► await db("users").create({
name: faker.internet.userName(),
email: faker.internet.email(),
password: faker.internet.password()
})
gen
Built-in example data objects generator (using faker) that has some functions to generate example objects that can be added to database.
-
gen.user(count?)
: Generatesuser
objects.- Parameters:
-
count
: Number, Optional. Number of objects to generate. Default: 1.
-
- Returns an object if
count <= 1
, else an array of objects.
user
object is based on this schema:{ name: String, firstName: String, lastName: String, gender: String, email: String, password: String, points: Number }
🎯 Example:► gen.user() // Returns 1 user object ► gen.user(100) // Returns an array of 100 user objects
► await db("users").create(gen.user())
- Parameters:
-
gen.note(author?, count?)
: Generatesnote
objects.- Parameters:
-
author
: String, Optional. Identifier for the author of the note (Expected to be the$id
field of a createduser
object that exists in database). -
count
: Number, Optional. Number of objects to generate. Default: 1.
-
- Returns an object if
count <= 1
, else an array of objects.
note
object is based on this schema:{ author: String, title: String, content: String }
🎯 Example:► const user = await db("users").create(gen.user()) // Create a user item ► gen.note(user.$id) // Returns 1 note object ► gen.note(user.$id, 100) // Returns an array of 100 note objects
► const user = await db("users").create(gen.user()) ► await db("notes").create(gen.note(user.$id))
- Parameters:
cls
Clears screen.
► cls()
help
Shows a description of all context variables.
- Parameters:
-
name
: String, Optional. Name of a specific context object or function to show description for.
-
► help() // Shows all descriptions
► help("db") // Shows description only for "db" function
► help("gen") // Shows description only for "gen" object
🚀 Development
-
Clone the repository.
cd somewhere git clone https://github.com/practical-works/0db-repl.git cd 0db-repl
-
Install dependencies:
npm i
-
Run:
-
npm run dev
for development. -
npm start
for production.
-
rs
to manually restart. (See: Nodemon)
🏭 Environment
- Runtime: NodeJS
- Package Manager: NPM
- Editor: Sublime Text
🌑 Application
-
⚛️ Core:- Main: NodeJS / 0db
- REPL: Local-REPL
-
🔧 Utils:
📃 License
Licensed under MIT.