response_parser.ts 890 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. ///<reference path="../../../headers/common.d.ts" />
  2. import _ from 'lodash';
  3. export default class ResponseParser {
  4. parse(query, results) {
  5. if (!results || results.results.length === 0) { return []; }
  6. var influxResults = results.results[0];
  7. if (!influxResults.series) {
  8. return [];
  9. }
  10. var influxdb11format = query.toLowerCase().indexOf('show tag values') >= 0;
  11. var res = {};
  12. _.each(influxResults.series, serie => {
  13. _.each(serie.values, value => {
  14. if (_.isArray(value)) {
  15. if (influxdb11format) {
  16. addUnique(res, value[1] || value[0]);
  17. } else {
  18. addUnique(res, value[0]);
  19. }
  20. } else {
  21. addUnique(res, value);
  22. }
  23. });
  24. });
  25. return _.map(res, value => {
  26. return { text: value};
  27. });
  28. }
  29. }
  30. function addUnique(arr, value) {
  31. arr[value] = value;
  32. }