Browse Source

ref(search): Simplify tokenizeSearch API surface (#26761)

Evan Purkhiser 3 years ago
parent
commit
69a803e3ea

+ 2 - 2
static/app/components/deployBadge.tsx

@@ -3,7 +3,7 @@ import Tag from 'app/components/tag';
 import {IconOpen} from 'app/icons';
 import {t} from 'app/locale';
 import {Deploy} from 'app/types';
-import {QueryResults, stringifyQueryObject} from 'app/utils/tokenizeSearch';
+import {QueryResults} from 'app/utils/tokenizeSearch';
 
 type Props = {
   deploy: Deploy;
@@ -39,7 +39,7 @@ const DeployBadge = ({deploy, orgSlug, projectId, version, className}: Props) =>
         query: {
           project: projectId ?? null,
           environment: deploy.environment,
-          query: stringifyQueryObject(new QueryResults([`release:${version!}`])),
+          query: new QueryResults([`release:${version!}`]).formatString(),
         },
       }}
     >

+ 3 - 3
static/app/components/discover/transactionsList.tsx

@@ -17,7 +17,7 @@ import {Sort} from 'app/utils/discover/fields';
 import BaselineQuery from 'app/utils/performance/baseline/baselineQuery';
 import {TrendsEventsDiscoverQuery} from 'app/utils/performance/trends/trendsDiscoverQuery';
 import {decodeScalar} from 'app/utils/queryString';
-import {stringifyQueryObject, tokenizeSearch} from 'app/utils/tokenizeSearch';
+import {tokenizeSearch} from 'app/utils/tokenizeSearch';
 import {Actions} from 'app/views/eventsV2/table/cellAction';
 import {TableColumn} from 'app/views/eventsV2/table/types';
 import {decodeColumnOrder} from 'app/views/eventsV2/utils';
@@ -140,7 +140,7 @@ class TransactionsList extends React.Component<Props> {
     if (selected.query) {
       const query = tokenizeSearch(sortedEventView.query);
       selected.query.forEach(item => query.setTagValues(item[0], [item[1]]));
-      sortedEventView.query = stringifyQueryObject(query);
+      sortedEventView.query = query.formatString();
     }
 
     return sortedEventView;
@@ -314,7 +314,7 @@ class TransactionsList extends React.Component<Props> {
     if (selected.query) {
       const query = tokenizeSearch(sortedEventView.query);
       selected.query.forEach(item => query.setTagValues(item[0], [item[1]]));
-      sortedEventView.query = stringifyQueryObject(query);
+      sortedEventView.query = query.formatString();
     }
     const cursor = decodeScalar(location.query?.[cursorName]);
 

+ 2 - 2
static/app/components/quickTrace/utils.tsx

@@ -13,7 +13,7 @@ import {
   TraceError,
 } from 'app/utils/performance/quickTrace/types';
 import {getTraceTimeRangeFromEvent} from 'app/utils/performance/quickTrace/utils';
-import {QueryResults, stringifyQueryObject} from 'app/utils/tokenizeSearch';
+import {QueryResults} from 'app/utils/tokenizeSearch';
 import {getTraceDetailsUrl} from 'app/views/performance/traceDetails/utils';
 import {getTransactionDetailsUrl} from 'app/views/performance/utils';
 
@@ -119,7 +119,7 @@ export function generateMultiTransactionsTarget(
     name: `${groupType} Transactions of Event ID ${currentEvent.id}`,
     fields: ['transaction', 'project', 'trace.span', 'transaction.duration', 'timestamp'],
     orderby: '-timestamp',
-    query: stringifyQueryObject(queryResults),
+    query: queryResults.formatString(),
     projects: [...new Set(events.map(child => child.project_id))],
     version: 2,
     start,

+ 2 - 2
static/app/utils/discover/eventView.tsx

@@ -23,7 +23,7 @@ import {
 import {decodeColumnOrder} from 'app/views/eventsV2/utils';
 
 import {statsPeriodToDays} from '../dates';
-import {QueryResults, stringifyQueryObject, tokenizeSearch} from '../tokenizeSearch';
+import {QueryResults, tokenizeSearch} from '../tokenizeSearch';
 
 import {getSortField} from './fieldRenderers';
 import {
@@ -1253,7 +1253,7 @@ class EventView {
     Object.entries(this.additionalConditions.tagValues).forEach(([tag, tagValues]) => {
       conditions.addTagValues(tag, tagValues);
     });
-    return stringifyQueryObject(conditions);
+    return conditions.formatString();
   }
 }
 

+ 0 - 7
static/app/utils/tokenizeSearch.tsx

@@ -295,13 +295,6 @@ export function tokenizeSearch(query: string) {
   return new QueryResults(tokens);
 }
 
-/**
- * Convert a QueryResults object back to a query string
- */
-export function stringifyQueryObject(results: QueryResults) {
-  return results.formatString();
-}
-
 /**
  * Splits search strings into tokens for parsing by tokenizeSearch.
  *

+ 2 - 2
static/app/views/dashboardsV2/widget/metricWidget/statsRequest.tsx

@@ -10,7 +10,7 @@ import {URL_PARAM} from 'app/constants/globalSelectionHeader';
 import {t} from 'app/locale';
 import {GlobalSelection, Organization, Project, SessionApiResponse} from 'app/types';
 import {Series} from 'app/types/echarts';
-import {QueryResults, stringifyQueryObject} from 'app/utils/tokenizeSearch';
+import {QueryResults} from 'app/utils/tokenizeSearch';
 import {getInterval} from 'app/views/releases/detail/overview/chart/utils';
 import {roundDuration} from 'app/views/releases/utils';
 
@@ -109,7 +109,7 @@ function StatsRequest({
           .filter(tag => !!tag);
 
         if (!!tagsWithDoubleQuotes.length) {
-          query.query = stringifyQueryObject(new QueryResults(tagsWithDoubleQuotes));
+          query.query = new QueryResults(tagsWithDoubleQuotes).formatString();
         }
       }
 

+ 2 - 2
static/app/views/eventsV2/table/tableView.tsx

@@ -32,7 +32,7 @@ import {
 } from 'app/utils/discover/fields';
 import {DisplayModes, TOP_N} from 'app/utils/discover/types';
 import {eventDetailsRouteWithEventView, generateEventSlug} from 'app/utils/discover/urls';
-import {stringifyQueryObject, tokenizeSearch} from 'app/utils/tokenizeSearch';
+import {tokenizeSearch} from 'app/utils/tokenizeSearch';
 import withProjects from 'app/utils/withProjects';
 import {getTraceDetailsUrl} from 'app/views/performance/traceDetails/utils';
 import {transactionSummaryRouteWithQuery} from 'app/views/performance/transactionSummary/utils';
@@ -418,7 +418,7 @@ class TableView extends React.Component<TableViewProps> {
           updateQuery(query, action, column, value);
         }
       }
-      nextView.query = stringifyQueryObject(query);
+      nextView.query = query.formatString();
 
       browserHistory.push(nextView.getResultsViewUrlTarget(organization.slug));
     };

+ 2 - 2
static/app/views/eventsV2/utils.tsx

@@ -28,7 +28,7 @@ import {
 } from 'app/utils/discover/fields';
 import {getTitle} from 'app/utils/events';
 import localStorage from 'app/utils/localStorage';
-import {stringifyQueryObject, tokenizeSearch} from 'app/utils/tokenizeSearch';
+import {tokenizeSearch} from 'app/utils/tokenizeSearch';
 
 import {FieldValue, FieldValueKind, TableColumn} from './table/types';
 import {ALL_VIEWS, TRANSACTION_VIEWS, WEB_VITALS_VIEWS} from './data';
@@ -416,7 +416,7 @@ function generateExpandedConditions(
     parsedQuery.setTagValues(key, [value]);
   }
 
-  return stringifyQueryObject(parsedQuery);
+  return parsedQuery.formatString();
 }
 
 type FieldGeneratorOpts = {

+ 2 - 6
static/app/views/performance/content.tsx

@@ -20,11 +20,7 @@ import {GlobalSelection, Organization, Project} from 'app/types';
 import {trackAnalyticsEvent} from 'app/utils/analytics';
 import EventView from 'app/utils/discover/eventView';
 import {decodeScalar} from 'app/utils/queryString';
-import {
-  QueryResults,
-  stringifyQueryObject,
-  tokenizeSearch,
-} from 'app/utils/tokenizeSearch';
+import {QueryResults, tokenizeSearch} from 'app/utils/tokenizeSearch';
 import withApi from 'app/utils/withApi';
 import withGlobalSelection from 'app/utils/withGlobalSelection';
 import withOrganization from 'app/utils/withOrganization';
@@ -166,7 +162,7 @@ class PerformanceContent extends Component<Props, State> {
         `<${DEFAULT_MAX_DURATION}`,
       ]);
     }
-    newQuery.query = stringifyQueryObject(modifiedConditions);
+    newQuery.query = modifiedConditions.formatString();
 
     browserHistory.push({
       pathname: getPerformanceTrendsUrl(organization),

+ 6 - 6
static/app/views/performance/data.tsx

@@ -5,7 +5,7 @@ import {t} from 'app/locale';
 import {LightWeightOrganization, NewQuery, SelectValue} from 'app/types';
 import EventView from 'app/utils/discover/eventView';
 import {decodeScalar} from 'app/utils/queryString';
-import {stringifyQueryObject, tokenizeSearch} from 'app/utils/tokenizeSearch';
+import {tokenizeSearch} from 'app/utils/tokenizeSearch';
 
 import {getCurrentLandingDisplay, LandingDisplayField} from './landing/utils';
 import {
@@ -363,7 +363,7 @@ function generateGenericPerformanceEventView(
     conditions.setTagValues('transaction', [`*${conditions.query.join(' ')}*`]);
     conditions.query = [];
   }
-  savedQuery.query = stringifyQueryObject(conditions);
+  savedQuery.query = conditions.formatString();
 
   const eventView = EventView.fromNewQueryWithLocation(savedQuery, location);
   eventView.additionalConditions.addTagValues('event.type', ['transaction']);
@@ -432,7 +432,7 @@ function generateBackendPerformanceEventView(
     conditions.setTagValues('transaction', [`*${conditions.query.join(' ')}*`]);
     conditions.query = [];
   }
-  savedQuery.query = stringifyQueryObject(conditions);
+  savedQuery.query = conditions.formatString();
 
   const eventView = EventView.fromNewQueryWithLocation(savedQuery, location);
   eventView.additionalConditions.addTagValues('event.type', ['transaction']);
@@ -499,7 +499,7 @@ function generateFrontendPageloadPerformanceEventView(
     conditions.setTagValues('transaction', [`*${conditions.query.join(' ')}*`]);
     conditions.query = [];
   }
-  savedQuery.query = stringifyQueryObject(conditions);
+  savedQuery.query = conditions.formatString();
 
   const eventView = EventView.fromNewQueryWithLocation(savedQuery, location);
   eventView.additionalConditions
@@ -568,7 +568,7 @@ function generateFrontendOtherPerformanceEventView(
     conditions.setTagValues('transaction', [`*${conditions.query.join(' ')}*`]);
     conditions.query = [];
   }
-  savedQuery.query = stringifyQueryObject(conditions);
+  savedQuery.query = conditions.formatString();
 
   const eventView = EventView.fromNewQueryWithLocation(savedQuery, location);
   eventView.additionalConditions
@@ -646,7 +646,7 @@ export function generatePerformanceVitalDetailView(
     conditions.setTagValues('transaction', [`*${conditions.query.join(' ')}*`]);
     conditions.query = [];
   }
-  savedQuery.query = stringifyQueryObject(conditions);
+  savedQuery.query = conditions.formatString();
 
   const eventView = EventView.fromNewQueryWithLocation(savedQuery, location);
   eventView.additionalConditions

Some files were not shown because too many files changed in this diff