Nifty Procrastination Machine
    Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    skynodepublic

    Skynode

    A low level client for the Sky database. Operates using the HTTP protocol.

    Currently very alpha and lacking tests and docs. Doesn't maintain any form of state and currently really have understanding of the data it's returned by the sky server. Designed largely for higher level clients to be built on top of it

    The api/naming/style is by no means fixed at this stage and is open to suggested changes or pull requests.

    Stability Index

    Based up on node.js stability index

    Stability: 1 - Experimental

    Installation

    npm install skynode

    Depenendecies

    The request module us currently used to make all HTTP requests. Nor particularly tied to it though.

    Usage

    Instantiate a client. Only supported option is host which is non-optional.

    var skynode = require('skynode');
     
    var opts = {host:localhost:8585}
     
    var client = skynode.createClient(opts);

    Currently all methods expect a callback as their last argument and that callback will be passed 2 args, err and response. e.g

    var callback = function(err, response) {
        if(err) {
            console.error(err);
        } else {
            console.log(response);
        }
    }

    Tables API

    List tables

    client.listTables(function(err, res){
        console.log(res);
        //[ 
        //{name: 'users-table'} 
        //{name: 'anotherTable'} 
        //] 
    })

    Get a table

    client.getTable('users-table', function(err, res){
        console.log(res);
        //{name: 'users-table'} 
    })

    Get a table's stats

    client.getTableStats('users-table', function(err, res){
        console.log(res);
        //{count: 2} 
    })

    Create a table

    client.createTable('users-table', function(err, res){
        console.log(res);
        //{name: 'users-table'} 
    })

    Delete a table

    client.deleteTable('users-table', function(err, res){
        console.log(res);
        //`null` 
    })

    Properties API

    List properties for a table

    client.listProperties('users-table', function(err, res){
        console.log(res);
        //[ 
        //{"id":1,"name":"uname","transient":false,"dataType":"string"} 
        //{"id":2,"name":"type","transient":false,"dataType":"string"} 
        //] 
    })

    Create a property

    var property = {
        name: "check",
        transient: false,
        dataType: "string"
    }
    client.addProperty(property, 'users-table', function(err, res){
        console.log(res);
        //{"id":2,"name":"check","transient":false,"dataType":"string"} 
    })

    Get a property

    Rename a property

    Delete a property


    Events API

    List events for an object

    Delete all events for an object

    Get an event

    Replace an event

    Merge an event

    Delete an event


    Query API


    Misc APIs

    Ping

    client.ping(function(err, res){
        console.log(res.message); //Should return 'ok' 
    })

    Keywords

    none

    install

    npm i skynode

    Downloadsweekly downloads

    8

    version

    0.0.2

    license

    none

    repository

    github.com

    last publish

    collaborators

    • avatar