response_parser.ts 836 B

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