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 -g
Launch using:
0db
Type 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?)
: 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:
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 dev
for development.npm start
for 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.