Я работаю над чем-то связанным.
У меня недостаточно репутации, чтобы писать комментарии.Поэтому я пишу ответ, который совсем не является ответом:
Если я использую this.fs.commit
, все будет зафиксировано, и пользователю не будет предложено перезаписать файл или нет.Причина использования mem-fs-editor
заключается в том, что мы хотим предложить пользователю вопрос о том, перезаписывать или нет.
Вы нашли другой способ?Я продолжил поиск, но пока не нашел решения:
mem-fs-editor
работает поверх mem-fs
.Хранилище mem-fs
наследуется от EventEmitter
и генерирует событие change
.См. SBoudrias / mem-fs / blob / master / index.js
// ...
// line 28
var Store = function () {
events.EventEmitter.apply(this, arguments);
};
util.inherits(Store, events.EventEmitter);
// ...
// Line 38
Store.prototype.add = function (file) {
store[file.path] = file;
this.emit('change');
return this;
};
// ...
Может быть полезным событие change
.Но, к сожалению, никакие аргументы не передаются функциям слушателя.Поэтому мы не знаем, что изменилось.
this.fs.store.on( 'change', () => {
console.log( 'Something has changed. But who knows what?' );
} );
Чтобы увидеть все файлы в хранилище: this.fs.store.each( file => console.log( file ) );
.
Возможно, можно добавить функцию прослушивателя, запустите this.fs.copyTpl
и снова удалите слушателя.
Надеюсь, что это может кому-то помочь.