Package Exports
- erenaydb
- erenaydb/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (erenaydb) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
ErenayDB
Modern, flexible database adapter for Node.js
For Turkish version, go to readme_tr.md
Features
- Multiple database adapters (JSON, MongoDB, RethinkDB, MySQL, YAML, LocalStorage)
- Simple and consistent API
- TypeScript support
- Async/await support
- Detailed error messages
- Debug mode
- Multi-language support (English/Turkish)
Installation
npm install erenaydbBasic Usage
import { ErenayDB } from 'erenaydb'
// Initialize with JSON adapter (default)
const db = new ErenayDB({
adapter: 'json',
dbName: 'mydb',
dbFolder: 'database',
})
// Connect to database
await db.connect()
// Set a value
await db.set('user', { name: 'John', age: 25 })
// Get a value
const user = await db.get('user')
console.log(user) // { name: 'John', age: 25 }
// Check if key exists
const exists = await db.has('user') // true
// Delete a value
await db.delete('user')
// Array operations
await db.push('users', 'John') // ['John']
await db.push('users', 'Jane') // ['John', 'Jane']
await db.unpush('users', 'John') // ['Jane']
// Numeric operations
await db.add('counter', 5) // 5
await db.add('counter', 3) // 8
await db.subtract('counter', 2) // 6
// Get all data
const allData = await db.all()
// Delete all data
await db.deleteAll()
// Disconnect
await db.disconnect()Advanced Usage
MongoDB Adapter
const db = new ErenayDB({
adapter: 'mongo',
dbName: 'mydb',
mongoOptions: {
url: 'mongodb://localhost:27017',
},
})MySQL Adapter
const db = new ErenayDB({
adapter: 'mysql',
dbName: 'mydb',
mysqlOptions: {
host: 'localhost',
port: 3306,
user: 'root',
password: 'password',
database: 'mydb',
},
})RethinkDB Adapter
const db = new ErenayDB({
adapter: 'rethink',
dbName: 'mydb',
rethinkOptions: {
host: 'localhost',
port: 28015,
db: 'mydb',
},
})YAML Adapter
const db = new ErenayDB({
adapter: 'yaml',
dbName: 'mydb',
dbFolder: 'database',
readable: true, // Pretty format YAML output
})LocalStorage Adapter (Browser)
const db = new ErenayDB({
adapter: 'localStorage',
dbName: 'mydb',
})Configuration Options
interface DatabaseOptions {
adapter: 'json' | 'mongo' | 'rethink' | 'mysql' | 'yaml' | 'localStorage'
checkUpdates?: boolean // Check for package updates
language?: 'en' | 'tr' // Error message language
dbName: string // Database name
dbFolder?: string // For file-based adapters
readable?: boolean // Pretty format output
noBlankData?: boolean // Throw error on undefined values
debug?: boolean // Enable debug logging
mongoOptions?: {
url: string
schema?: string
}
rethinkOptions?: {
host: string
port: number
db?: string
}
mysqlOptions?: {
host: string
port: number
user: string
password: string
database: string
}
}License
This project is protected under DMCA. All rights reserved.