Trying to create npm module based on JavaScript function composition by chaining
This works!
app.js
// -- runtime --
Object.defineProperties(window,
{
world:
{
set: function(w)
{
return w();
}
}
});
var pureworld = require('./app');
var log = pureworld.log;
//var world = pureworld.world;
world = (log("1"))(log("2"))(log("3"))(log("4"));
//1
//2
//3
//4
However,
I try to Object.defineProperties to module.exports in nodejs
app.js
var myModule = {
foo: foo,
bar: bar
};
Object.defineProperties(myModule,
{
world:
{
set: function(w)
{
return w();
}
}
});
module.exports = myModule;
This fails.
var pureworld = require('./app');
var log = pureworld.log;
var world = pureworld.world;
world = (log("1"))(log("2"))(log("3"))(log("4"));
Any idea what I miss? Thanks!