DeLorean is a tiny Flux pattern implementation.
You can learn Flux and DeLorean.js in minutes. Read the tutorial
You can install DeLorean with Bower:
bower install delorean
You can also install by NPM to use with Browserify (recommended)
npm install delorean
Hipster way:
var Flux = require('delorean').Flux;
// ...
Old-skool way:
<script src="//rawgit.com/f/delorean/master/dist/delorean.min.js"></script>
<script>
var Flux = DeLorean.Flux;
// ...
</script>
var Flux = DeLorean.Flux;
/*
* Stores are simple data buckets which manages data.
*/
var Store = Flux.createStore({
data: null,
setData: function (data) {
this.data = data;
this.emit('change');
},
actions: {
'incoming-data': 'setData'
}
});
var store = Store;
/*
* Dispatcher are simple action dispatchers for stores.
* Stores handle the related action.
*/
var Dispatcher = Flux.createDispatcher({
setData: function (data) {
this.dispatch('incoming-data', data);
},
getStores: function () {
return {increment: store};
}
});
/*
* Action Creators are simple controllers. They are simple functions.
* They talk to dispatchers. They are not required.
*/
var Actions = {
setData: function (data) {
Dispatcher.setData(data);
}
};
// The data cycle.
store.onChange(function () {
// End of data cycle.
document.getElementById('result').innerText = store.data;
});
document.getElementById('dataChanger').onclick = function () {
// Start data cycle:
Actions.setData(Math.random());
};
You can read the tutorial to get started DeLorean.js with your favorite framework.
Or you can visit documents page.
There is a simple TodoMVC example working with DeLorean.js
cd examples/todomvc
grunt
open index.html
git clone [email protected]:deloreanjs/delorean.git
cd delorean
git checkout -b your-feature-branch
After you make some changes and add your test cases to the test/spec/*Spec.js
files. please run:
grunt
grunt test
When it's all OK, open a pull request.
The flux capacitor was the core component of Doctor Emmett Brown's DeLorean time machine