Добрый день господа, возможно и дамы.
Начал писать для себя модуль, для оперирования с json файлом, голова не соображает как реализовать функцию сохранения с блэкджеком и куртизанками.
module.exports = function(filename, callback){
callback(filename)
}
module.exports.save = function(filename){
...fs...save()
}
Хочу добиться вот такого результата, но не понимаю как сделать функцию которая будет иметь функцию.
Mdl('file.json', function(data){
data['blablabla'] = 12345;
}).save();
т.е у fs есть pipe(), on(), и прочее, вот я хочу понять как это реализовать, оригинал функции увидел на
там происходит ряд манипуляций, и в конце можно вызвать save('file')
Пример.
ffmpeg('/path/to/file.avi')
.videoCodec('libx264')
.audioCodec('libmp3lame')
.size('320x240')
.on('error', function(err) {
console.log('An error occurred: ' + err.message);
})
.on('end', function() {
console.log('Processing finished !');
})
.save('/path/to/output.mp4');
Вот как реализована эта последовательность функций?
--UPDATE, так я немного разобрался
Но вопрос, как реализовывается .save()?
если в колбеке основной функции, я записываю локальную дату
Mdl('file.json', function(data){
data['blablabla'] = 12345;
}).save();
То как ее передать в save без аргумента?
В ffmpeg указывается лишь путь + имя файла,
реализация save() примерно такая
module.exports = function(filename, callback){
this.data = callback(require(filename));
return {
save: function() {
//console.log(callback);
fs.writeFile(filename, data);
}
};
}
Не могу понять что к чему...