@coorpacademy/squirrel
Version:
Local mirror mecanism for ETCD
35 lines (23 loc) • 1.02 kB
JavaScript
;
exports.__esModule = true;
exports.default = void 0;
var _rxjs = require("rxjs");
var _fp = require("lodash/fp");
var _watch = _interopRequireDefault(require("../etcd/watch"));
var _fetch = _interopRequireDefault(require("../etcd/fetch"));
var _restorer = _interopRequireDefault(require("../fs/restorer"));
var _saver = _interopRequireDefault(require("../fs/saver"));
var _reducer = _interopRequireDefault(require("./reducer"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const createRecords$ = (client, {
fallback,
preloadedStore,
save
} = {}) => {
const command$ = _rxjs.Observable.of((0, _restorer.default)(fallback, preloadedStore), (0, _fetch.default)(client)).concatAll().concat((0, _watch.default)(client));
const records$ = command$.pipe(_reducer.default, save ? (0, _saver.default)(fallback) : _fp.identity);
return records$;
};
var _default = createRecords$;
exports.default = _default;
//# sourceMappingURL=records.js.map