x-client

1.0.0 • Public • Published

X-client

Client part of X, in Node.js & browser.

X is a universal model layer for browser apps based on websocket (realized withdnode & shoe).

Install

in Node.js

npm install x-client
var X = require('x-client');

in browser

bower install x-client
<script type="text/javascript" src="../bower_components/x-client/dist/X.js"></script>
<script type="text/javascript">
    var X = window.X;
</script> 

Usage

 
X
    .config({ token:'FAKETOKEN1QAZ2WSX3EDC' })
    .connect('server.address.with.x.service:port');
 
var TestModel = X.model('test');
 
TestModel.create({
    name: 'test1',
    cnt: {
        a: 1
    }
}, function(err, obj){
    // null, { ..., _id: '...' }
});
 
TestModel.list(function(err, res){
    // null, [{ ..., _id: '...' }]
});
 
TestModel.on('change', function(info){
    console.info('changed', info.type, info.data);
    // { type: 'create', data: [{ ..., _id: '...' }] }
});

API

X properties

  • X.isReady

    true / false

    if X connection is ready

X methods

  • X.config

    [ { token: ... } ] -> X

    pass in config, token is required

  • X.connect

    [ 'server.address.with.x.service:port' ] -> X

    connect to given server (should be a server with X service)

  • X.ready

    [ handler() ] -> X

    handler will be executed while X service ready (executed immediately if already ready)

  • X.model

    [ 'name' ] -> model

    define a model with name

  • X.noConflict (only in browser)

    [] -> X

    relinquish control of the X variable.

model methods

see here

Test

in Node.js

npm test

in browser

open test/browser/index.html in browser

Build (dist file for browser)

npm run build

Package Sidebar

Install

npm i x-client

Weekly Downloads

1

Version

1.0.0

License

Apache

Last publish

Collaborators

  • nighca