Neutron Polarization Manipulator

    storage-js

    1.0.3 • Public • Published

    Storage-JS

    Storage-JS is a database menagement for localStorage. You can store data on local storage easily and APIs like Yii Framework AR.

    Install

    Bower

    bower install storage-js --save

    NPM

    npm install storage-js --save

    or download here

    <script type="text/javascript" src="path/to/storage-js/storage.js"></script>

    Define

    NodeJS

    var storagejs = require('storage-js');

    RequireJS

    define([
        '/bower_components/storage-js/storage.js'
    ], function(storagejs) {
        // your code
    });

    or global variable name 'storagejs'

    Callback

    Callback Async

    storagejs('tableName').yourMethod(your_arguments, function(err, result) {
        // all method use this callback format (err, result)
        // for check error
        if (err === null) {
            // not error
        } else {
            console.log(err) // error message
        }
    });

    Callback Sync

    • all method for Reading Record, return result data
    • all method for Create, Update, Delete Record, return error message
    var result = storagejs('tableName').all();
    console.log(result)
     
    var error = storagejs('tableName').insert({_id: 1, name: 'Storage JS'});
    if (error === null) {
        alert('success')
    } else {
        alert(error);
    }
     

    Quick Start

    All method support Sync and Async. for example, this use Async method.

    table require id for primary key, default attribute name '_id'

    Creating Record

    • insert(id, object)
    • insert(object)
    • batchInsert(object)

    Insert record

    var attr = {
        name: 'Dida Nurwanda',
        age: 23,
        city: 'Pandeglang'
    }
    storagejs('tableName').insert('dida', attr, function(err, result) {
        if (err === null) {
            // your code
        }
    });

    or

    var attr = {
        _id: 'dida',
        name: 'Dida Nurwanda',
        age: 23,
        city: 'Pandeglang'
    }
    storagejs('tableName').insert(attr, function(err, result) {
        if (err === null) {
            // your code
        }
    });

    Insert multiple record

    var attrs = [
        {
         _id: 'dida',
         name: 'Dida Nurwanda',
         age: 23,
         city: 'Pandeglang'
        },
        {
         _id: 'septi',
         name: 'Siwi Septi Hastuti',
         age: 11,
         city: 'Pandeglang'
        }
    ]
    storagejs('tableName').batchInsert(attrs, function(err, result) {
        if (err === null) {
            // your code
        }
    });

    Reading Record

    • all()
    • findById(id)
    • findIndexById(id)
    • findByAttribute(key, value)
    • findByAttributes(object)
    • findAllByAttribute(key, value)
    • findAllByAttributes(object)
    • findAll(object)

    Get all record

    storagejs('tableName').all(function(err, result) {
        if (err === null) {
            console.log(result)
        }
    });

    Find record by ID

    storagejs('tableName').findById('dida', function(err, result) {
        if (err === null) {
            console.log(result)
        }
    });

    Find the first row satisfying the specified condition

    storagejs('tableName').findByAttribute('_id', 'dida', function(err, result) {
        if (err === null) {
            console.log(result)
        }
    });

    Find the row with the specified attribute values

    storagejs('tableName').findByAttributes({age: '23', city: 'Pandeglang'}, function(err, result) {
        if (err === null) {
            console.log(result)
        }
    });

    Find all rows satisfying the specified condition

    storagejs('tableName').findAllByAttribute('id', 'dida', function(err, result) {
        if (err === null) {
            console.log(result)
        }
    });

    Find all row with the specified attribute values

    storagejs('tableName').findAllByAttributes({age: '23', city: 'Pandeglang'}, function(err, result) {
        if (err === null) {
            console.log(result)
        }
    });

    or

    storagejs('tableName').findAll({age: '23', city: 'Pandeglang'}, function(err, result) {
        if (err === null) {
            console.log(result)
        }
    });

    Find position index row by id

    storagejs('tableName').findIndexById('dida', function(err, result) {
        if (err === null) {
            console.log(result)
        }
    });

    Limit and Offset

    Limit and offset work on method :

    • all()
    • findAll()
    • findAllByAttribute()
    • findAllByAttributes()

    to use it, limit or a limit and offset inserted after attribute condition.

    // limit only
    storagejs('tableName').findAll({city: 'Pandeglang'}, 5, function(err, result) {
        if (err === null) {
            console.log(result)
        }
    });
     
    storagejs('tableName').all(5, function(err, result) {
        if (err === null) {
            console.log(result)
        }
    });
     
    // limit and offset
    storagejs('tableName').findAll({city: 'Pandeglang'}, 5, 3, function(err, result) {
        if (err === null) {
            console.log(result)
        }
    });
     
    storagejs('tableName').all(5, 3, function(err, result) {
        if (err === null) {
            console.log(result)
        }
    });
     

    Update Record

    • updateById(id, object)
    • updateAllByAttributes(objectFinder, objectAttr)

    Update the rows matching the specified condition

    var attr = {
        city: 'Serang'
    }
    storagejs('tableName').updateById('dida', attr, function(err, result) {
        if (err === null) {
            // your code
        }
    });

    Update all rows matching the specified condition

    var findAttr = {
        city: 'Pandeglang'
    }
    var newDataAttr = {
        city: 'Serang'
    }
     
    storagejs('tableName').updateAllByAttributes(findAttr, newDataAttr, function(err, result) {
        if (err === null) {
            // your code
        }
    });

    Delete Record

    • deleteById(id)
    • deleteAllByAttribute(key, val)
    • deleteAllByAttributes(object)
    • deleteAll()

    Delete the rows matchin ID

    storagejs('tableName').deleteById('dida', function(err, result) {
        if (err === null) {
            // your code
        }
    });

    Delete all rows matching the specified condition

    storagejs('tableName').deleteAllByAttribute('city', 'Pandeglang', function(err, result) {
        if (err === null) {
            // your code
        }
    });

    Delete all row with the specified attribute values

    var attr = {
        city: 'Pandeglang'
    }
    storagejs('tableName').deleteAllByAttributes(attr, function(err, result) {
        if (err === null) {
            // your code
        }
    });

    Delete all record

    storagejs('tableName').deleteAll(function(err, result) {
        if (err === null) {
            // your code
        }
    });

    Remove Table

    storagejs('tableName').remove(function(err, result) {
        if (err === null) {
            // your code
        }
    });

    Contributor

    Install

    npm i storage-js

    DownloadsWeekly Downloads

    1

    Version

    1.0.3

    License

    MIT

    Last publish

    Collaborators

    • didanurwanda