How do I enforce my store functions and model private. If my store is
var employeeActions = Reflux.createActions(['addEmployee']);
var empStore = Reflux.createstore({
listenables: [employeeActions],
model: {
Total:0,
employees:[]
}
onAddEmployee: function(employee){
this.model.employees.push(employee);
}
});
Even though flux says Actions->Store. The current object structure doesnt stop a developer in the team from calling empStore.OnAddEmployee ?
Your store should be in a module, assuming you are using browserify or webpack or something similar and you
require
your modules. So any variable / object / function you declare in the module but don't include in the object sent to theReflux.createStore()
is private.So something like this:
I would suggest keeping the
onAddEmployee
function on the object and rely on reflux to wire everything up if you're using thelistenables
mixin. Otherwise, just follow the examples on github: https://github.com/reflux/refluxjs#creating-data-stores and using the same principle, keep the function private, outside the object you are passing to the factory method.