interdb

    0.3.7 • Public • Published

    InterDB

    InterDB is a shared database with auto discovery.

    Example

    const interdb = require('interdb')
     
    const con = new interdb()
     
    // Global
    con.startLocal('./path.local.db') // Start local db only
    con.start({
        namespace: 'business',
        password: 'long-password',
        path: './path.db',
        localPath: './path.local.db', // optional
        identity : {
          // Info that will be shared to other dashboards
        }
    }) // join network
    con.stop() // exit network
     
    // Bus
    con.clients.*
    // Refer to Synapsis documentation (https://github.com/Unitech/synapsis)
     
    // local DB
    con.localDb.put('key', 'value', cb) // put new data in existing key or create it
    con.localDb.push('key', 'value', cb) // push data in existing key if it's an array or create an array with value in first index
    con.localDb.del('key', cb) // delete key
    con.localDb.get('key') // get value from key
    con.localDb.updateAll({ data: {} }, cb) // Overwrite database
    con.localDb.getLastUpdate() // Get timestamp of latest action
    con.localDb.save(cb) // save changes (use if you modify con.localDb without API)
     
    // Shared DB (all of local API but broadcast changes over network)
    con.db.put('key', 'value', cb) // put new data in existing key or create it
    con.db.push('key', 'value', cb) // push data in existing key if it's an array or create an array with value in first index
    con.db.del('key', cb) // delete key
    con.db.get('key') // get value from key
    con.db.updateAll({ data: {} }, cb) // Overwrite database
    con.db.getLastUpdate() // Get timestamp of latest action
    con.db.save(cb) // save changes (use if you modify con.db without API)

    Database structure

    {
        lastUpdate: "",
        data: {}
    }

    Communication structure

    Normal

    Host A <-> Host B <-> Host C ^----------------------^

    Problem

    Host A <-> Host B <-> Host C

    Install

    npm i interdb

    DownloadsWeekly Downloads

    30

    Version

    0.3.7

    License

    MIT

    Unpacked Size

    61.6 kB

    Total Files

    17

    Last publish

    Collaborators

    • itsjimi