UNPKG

2.2 kBJavaScriptView Raw
1// Generated by CoffeeScript 1.11.1
2(function() {
3 var jsonStream, mixin, through2, toBulk;
4
5 through2 = require('through2');
6
7 mixin = require('./mixin');
8
9 toBulk = function() {
10 return through2.obj(function(doc, enc, callback) {
11 this.push({
12 alias: doc
13 });
14 return callback();
15 });
16 };
17
18 jsonStream = function() {
19 return through2.obj(function(chunk, enc, callback) {
20 this.push(JSON.stringify(chunk) + "\n");
21 return callback();
22 });
23 };
24
25 module.exports = function(client, _opts) {
26 var exec, instream, opts, sink, stream;
27 opts = mixin(_opts);
28 instream = toBulk();
29 sink = instream.write.bind(instream);
30 exec = function() {
31 return client.indices.getAlias(opts).then(function(v) {
32 var aliases, index, results;
33 results = [];
34 for (index in v) {
35 aliases = v[index].aliases;
36 results.push(index);
37 }
38 return results;
39 }).then(function(indices) {
40 return Promise.all(indices.map(function(index) {
41 return client.indices.getAlias({
42 index: index
43 });
44 }));
45 }).then(function(vs) {
46 var _name, col, i, results;
47 col = {};
48 vs.map(function(v) {
49 var aliases, i, n, results;
50 results = [];
51 for (i in v) {
52 aliases = v[i].aliases;
53 results.push((function() {
54 var ref, results1;
55 results1 = [];
56 for (n in aliases) {
57 results1.push((col[n] = (ref = col[n]) != null ? ref : []).push(i));
58 }
59 return results1;
60 })());
61 }
62 return results;
63 });
64 results = [];
65 for (_name in col) {
66 i = col[_name];
67 results.push({
68 _name: _name,
69 _index: (i.length === 1 ? i[0] : i)
70 });
71 }
72 return results;
73 });
74 };
75 exec().then(function(docs) {
76 return docs.forEach(sink);
77 })["catch"](function(err) {
78 return stream.emit('error', err);
79 });
80 return stream = instream.pipe(jsonStream());
81 };
82
83}).call(this);
84
85//# sourceMappingURL=alias.js.map