ductile
Version:
Elasticsearch Bulk Loader
62 lines (54 loc) • 1.61 kB
JavaScript
// Generated by CoffeeScript 1.11.1
(function() {
var jsonStream, mixin, through2, toBulk;
through2 = require('through2');
mixin = require('./mixin');
toBulk = function() {
return through2.obj(function(doc, enc, callback) {
this.push({
settings: doc
});
return callback();
});
};
jsonStream = function() {
return through2.obj(function(chunk, enc, callback) {
this.push(JSON.stringify(chunk) + "\n");
return callback();
});
};
module.exports = function(client, _opts) {
var exec, instream, opts, sink, stream;
opts = mixin(_opts);
instream = toBulk();
sink = instream.write.bind(instream);
exec = function() {
return client.indices.getSettings(opts).then(function(v) {
var index, ref, results, settings;
results = [];
for (index in v) {
settings = v[index].settings;
delete settings.index.uuid;
delete settings.index.version;
delete settings.index.creation_date;
if ((ref = settings.index) != null ? ref.analysis : void 0) {
settings.analysis = settings.index.analysis;
delete settings.index.analysis;
}
results.push({
_index: index,
_settings: settings
});
}
return results;
});
};
exec().then(function(docs) {
return docs.forEach(sink);
})["catch"](function(err) {
return stream.emit('error', err);
});
return stream = instream.pipe(jsonStream());
};
}).call(this);
//# sourceMappingURL=settings.js.map