Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Module for sync local object variable with *.js or *.coffee file
CoffeeScript
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
.gitignore
LICENSE
README.md
jsync.coffee
jsync.js
package.json
tests.coffee
tests.js

README.md

jSync - Module for sync local object variable with *.js or *.coffee file

Installation

$ npm install jsync

Simple usage

var jsync = require('jsync');
var obj = jsync('data.json'); // also you can load *.js, *.cson and *.coffee files

// now object will keep in sync with json-file

Set interval

var obj = jsync('data.js', 100); // file check every 100ms

Set context for eval

// data.js
{
    someVariable: this.prop
}

Context can only be the Object

context = { prop: 'value' };
var obj = jsync('data.js', context);
console.log(obj); // { someVariable: 'value' }

Set handler

// data.js
[1,2,3,4]
function handler (err, arr) {
    arr.splice(2);
}
var obj = jsync('data.js', handler);
console.log(obj); // [1,2]

All-in-one call

var obj = jsync(file, interval, context, handler); // all arguments are optional except `file`

Cancel sync and remove watcher

jsync.cancel(obj);

Simple read without sync

var obj = jsync.read('data.js', context);

Manual sync with or without new context

jsync.trigger(obj, newContext);

Save synced object to file

var obj = jsync('data.js');
jsync.save(obj/*, fileName, callback */); // if fileName not set it will use 'data.js'

function will execute asynchronously if callback is set

Run some tests

$ cd /path/to/jsync/
$ npm test
Something went wrong with that request. Please try again.