@coorpacademy/squirrel
Version:
Local mirror mecanism for ETCD
29 lines (19 loc) • 809 B
JavaScript
;
exports.__esModule = true;
exports.default = void 0;
var _fs = require("fs");
var _rxjs = require("rxjs");
var _debug = _interopRequireDefault(require("debug"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const debug = (0, _debug.default)('squirrel:save');
const writeFile$ = _rxjs.Observable.bindNodeCallback(_fs.writeFile);
const stringify = v => JSON.stringify(v, null, 2);
const createSaver$ = savePath => records$ => {
if (typeof savePath !== 'string') return records$;
return records$.concatMap(records => writeFile$(savePath, stringify(records), {
encoding: 'UTF8'
}).do(() => debug(`saved ${savePath}`)).mapTo(records));
};
var _default = createSaver$;
exports.default = _default;
//# sourceMappingURL=saver.js.map