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.
npm i 0db-repl -gLaunch using:
0dbType help() to see a description of all available context variables.
Context variables are objects and functions that are already defined and available for usage during the REPL session.
0db object.
🎯 Example:
► const myDb = await $0db("my-db.json")A default instance using the default file ./db.json ready for use.
🎯 Example:
► await db("users").create({ name: "ambratolm" })Fake data generator to generate some realistic mock data. (See: Faker.JS)
🎯 Example:
► 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()
})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?): Generatesuserobjects.- Parameters:
count: Number, Optional. Number of objects to generate. Default: 1.
- Returns an object if
count <= 1, else an array of objects.
userobject 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?): Generatesnoteobjects.- Parameters:
author: String, Optional. Identifier for the author of the note (Expected to be the$idfield of a createduserobject 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.
noteobject 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:
Clears screen.
🎯 Example:
► cls()Shows a description of all context variables.
- Parameters:
name: String, Optional. Name of a specific context object or function to show description for.
🎯 Example:
► help() // Shows all descriptions
► help("db") // Shows description only for "db" function
► help("gen") // Shows description only for "gen" object-
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 devfor development.npm startfor production.
💡 In development, you can type rs to manually restart. (See: Nodemon)
- Runtime: NodeJS
- Package Manager: NPM
- Editor: Sublime Text
- ⚛️ Core:
- Main: NodeJS / 0db
- REPL: Local-REPL
- 🔧 Utils:
Licensed under MIT.
