3.1.7 • Published 5 months ago

erenaydb v3.1.7

Weekly downloads
-
License
DMCA
Repository
github
Last release
5 months ago

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 erenaydb

Basic 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.

3.1.3

5 months ago

3.1.2

5 months ago

3.1.1

5 months ago

3.1.0

5 months ago

3.1.7

5 months ago

3.1.6

5 months ago

3.1.5

5 months ago

3.1.4

5 months ago

3.0.2

5 months ago

3.0.1

5 months ago

3.0.0

5 months ago

0.0.10

12 months ago

0.0.9

12 months ago

0.0.8

12 months ago

0.0.7

12 months ago

0.0.5

1 year ago

0.0.4

1 year ago

0.0.6

1 year ago

0.0.3

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago