Browse Source

ref: Move objectIsEmpty out of utils.tsx and rename (#71847)

Related to https://github.com/getsentry/frontend-tsc/issues/13
Ryan Albrecht 9 months ago
parent
commit
cff2ba6aba

+ 2 - 2
static/app/components/discover/transactionsTable.tsx

@@ -10,7 +10,6 @@ import QuestionTooltip from 'sentry/components/questionTooltip';
 import {t} from 'sentry/locale';
 import {space} from 'sentry/styles/space';
 import type {Organization} from 'sentry/types/organization';
-import {objectIsEmpty} from 'sentry/utils';
 import {trackAnalytics} from 'sentry/utils/analytics';
 import type {TableData, TableDataRow} from 'sentry/utils/discover/discoverQuery';
 import type {MetaType} from 'sentry/utils/discover/eventView';
@@ -19,6 +18,7 @@ import {getFieldRenderer} from 'sentry/utils/discover/fieldRenderers';
 import type {Alignments} from 'sentry/utils/discover/fields';
 import {fieldAlignment, getAggregateAlias} from 'sentry/utils/discover/fields';
 import ViewReplayLink from 'sentry/utils/discover/viewReplayLink';
+import {isEmptyObject} from 'sentry/utils/object/isEmptyObject';
 import {VisuallyCompleteWithData} from 'sentry/utils/performanceForSentry';
 import type {Actions} from 'sentry/views/discover/table/cellAction';
 import CellAction from 'sentry/views/discover/table/cellAction';
@@ -145,7 +145,7 @@ class TransactionsTable extends PureComponent<Props> {
 
       const target = generateLink?.[field]?.(organization, row, location);
 
-      if (target && !objectIsEmpty(target)) {
+      if (target && !isEmptyObject(target)) {
         if (fields[index] === 'replayId') {
           rendered = (
             <ViewReplayLink replayId={row.replayId} to={target}>

+ 2 - 2
static/app/components/events/contexts/contextCard.tsx

@@ -10,7 +10,7 @@ import {
 } from 'sentry/components/events/contexts/utils';
 import * as KeyValueData from 'sentry/components/keyValueData/card';
 import type {Event, Group, KeyValueListDataItem, Project} from 'sentry/types';
-import {objectIsEmpty} from 'sentry/utils';
+import {isEmptyObject} from 'sentry/utils/object/isEmptyObject';
 import useOrganization from 'sentry/utils/useOrganization';
 
 interface ContextCardProps {
@@ -74,7 +74,7 @@ export default function ContextCard({
   value = {},
 }: ContextCardProps) {
   const organization = useOrganization();
-  if (objectIsEmpty(value)) {
+  if (isEmptyObject(value)) {
     return null;
   }
   const meta = getContextMeta(event, type === 'default' ? alias : type);

+ 2 - 2
static/app/components/events/device.tsx

@@ -1,7 +1,7 @@
 import {EventDataSection} from 'sentry/components/events/eventDataSection';
 import {t} from 'sentry/locale';
 import type {Event} from 'sentry/types/event';
-import {objectIsEmpty} from 'sentry/utils';
+import {isEmptyObject} from 'sentry/utils/object/isEmptyObject';
 
 import KeyValueList from './interfaces/keyValueList';
 
@@ -18,7 +18,7 @@ export function EventDevice({event}: Props) {
     isContextData: true,
   }));
 
-  if (objectIsEmpty(event.device)) {
+  if (isEmptyObject(event.device)) {
     return null;
   }
 

+ 2 - 2
static/app/components/events/eventEntries.tsx

@@ -18,7 +18,7 @@ import type {
 } from 'sentry/types';
 import {EntryType, EventOrGroupType} from 'sentry/types/event';
 import {isNotSharedOrganization} from 'sentry/types/utils';
-import {objectIsEmpty} from 'sentry/utils';
+import {isEmptyObject} from 'sentry/utils/object/isEmptyObject';
 import {CustomMetricsEventData} from 'sentry/views/metrics/customMetricsEventData';
 
 import {EventContexts} from './contexts';
@@ -71,7 +71,7 @@ function EventEntries({
     );
   }
 
-  const hasContext = !objectIsEmpty(event.user ?? {}) || !objectIsEmpty(event.contexts);
+  const hasContext = !isEmptyObject(event.user ?? {}) || !isEmptyObject(event.contexts);
   const hasActionableItems = actionableItemsEnabled({
     eventId: event.id,
     organization,

+ 3 - 2
static/app/components/events/eventExtraData/index.tsx

@@ -5,7 +5,8 @@ import {EventDataSection} from 'sentry/components/events/eventDataSection';
 import {SegmentedControl} from 'sentry/components/segmentedControl';
 import {t} from 'sentry/locale';
 import type {Event} from 'sentry/types/event';
-import {defined, objectIsEmpty} from 'sentry/utils';
+import {defined} from 'sentry/utils';
+import {isEmptyObject} from 'sentry/utils/object/isEmptyObject';
 
 import {getKnownData, getKnownStructuredData} from '../contexts/utils';
 
@@ -20,7 +21,7 @@ export const EventExtraData = memo(
   ({event}: Props) => {
     const [raw, setRaw] = useState(false);
 
-    if (objectIsEmpty(event.context)) {
+    if (isEmptyObject(event.context)) {
       return null;
     }
     let contextBlock: React.ReactNode = null;

+ 2 - 2
static/app/components/events/eventSdk.tsx

@@ -1,7 +1,7 @@
 import {EventDataSection} from 'sentry/components/events/eventDataSection';
 import {t} from 'sentry/locale';
 import type {Event} from 'sentry/types/event';
-import {objectIsEmpty} from 'sentry/utils';
+import {isEmptyObject} from 'sentry/utils/object/isEmptyObject';
 
 import KeyValueList from './interfaces/keyValueList';
 import {AnnotatedText} from './meta/annotatedText';
@@ -12,7 +12,7 @@ type Props = {
 };
 
 export function EventSdk({sdk, meta}: Props) {
-  if (!sdk || objectIsEmpty(sdk)) {
+  if (!sdk || isEmptyObject(sdk)) {
     return null;
   }
 

+ 3 - 2
static/app/components/events/eventTags/eventTagsTreeRow.tsx

@@ -18,7 +18,8 @@ import {t} from 'sentry/locale';
 import {space} from 'sentry/styles/space';
 import type {Project} from 'sentry/types';
 import type {Event} from 'sentry/types/event';
-import {generateQueryWithTag, objectIsEmpty} from 'sentry/utils';
+import {generateQueryWithTag} from 'sentry/utils';
+import {isEmptyObject} from 'sentry/utils/object/isEmptyObject';
 import {isUrl} from 'sentry/utils/string/isUrl';
 import useCopyToClipboard from 'sentry/utils/useCopyToClipboard';
 import useMutateProject from 'sentry/utils/useMutateProject';
@@ -57,7 +58,7 @@ export default function EventTagsTreeRow({
   const originalTag = content.originalTag;
   const tagErrors = content.meta?.value?.['']?.err ?? [];
   const hasTagErrors = tagErrors.length > 0 && !config?.disableErrors;
-  const hasStem = !isLast && objectIsEmpty(content.subtree);
+  const hasStem = !isLast && isEmptyObject(content.subtree);
 
   if (!originalTag) {
     return (

+ 4 - 3
static/app/components/events/interfaces/frame/utils.tsx

@@ -2,7 +2,8 @@ import {IconQuestion, IconWarning} from 'sentry/icons';
 import {t} from 'sentry/locale';
 import type {Event, Frame, PlatformKey} from 'sentry/types';
 import {EventOrGroupType} from 'sentry/types';
-import {defined, objectIsEmpty} from 'sentry/utils';
+import {defined} from 'sentry/utils';
+import {isEmptyObject} from 'sentry/utils/object/isEmptyObject';
 
 import {SymbolicatorStatus} from '../types';
 
@@ -74,11 +75,11 @@ export function hasContextSource(frame: Frame) {
 }
 
 export function hasContextVars(frame: Frame) {
-  return !objectIsEmpty(frame.vars || {});
+  return !isEmptyObject(frame.vars || {});
 }
 
 export function hasContextRegisters(registers: Record<string, string>) {
-  return !objectIsEmpty(registers);
+  return !isEmptyObject(registers);
 }
 
 export function hasAssembly(frame: Frame, platform?: string) {

+ 2 - 2
static/app/components/events/interfaces/message.tsx

@@ -5,7 +5,7 @@ import {AnnotatedText} from 'sentry/components/events/meta/annotatedText';
 import {t} from 'sentry/locale';
 import type {Event} from 'sentry/types/event';
 import {EntryType} from 'sentry/types/event';
-import {objectIsEmpty} from 'sentry/utils';
+import {isEmptyObject} from 'sentry/utils/object/isEmptyObject';
 
 type Props = {
   data: {
@@ -16,7 +16,7 @@ type Props = {
 };
 
 function renderParams(params: Props['data']['params'], meta: any) {
-  if (!params || objectIsEmpty(params)) {
+  if (!params || isEmptyObject(params)) {
     return null;
   }
 

+ 2 - 2
static/app/components/events/interfaces/spans/index.tsx

@@ -11,8 +11,8 @@ import {t, tn} from 'sentry/locale';
 import {space} from 'sentry/styles/space';
 import type {EventTransaction} from 'sentry/types/event';
 import type {Organization} from 'sentry/types/organization';
-import {objectIsEmpty} from 'sentry/utils';
 import {trackAnalytics} from 'sentry/utils/analytics';
+import {isEmptyObject} from 'sentry/utils/object/isEmptyObject';
 import {QuickTraceContext} from 'sentry/utils/performance/quickTrace/quickTraceContext';
 import type {
   TraceError,
@@ -101,7 +101,7 @@ function SpansInterface({event, affectedSpanIds, organization}: Props) {
   };
 
   return (
-    <Container hasErrors={!objectIsEmpty(event.errors)}>
+    <Container hasErrors={!isEmptyObject(event.errors)}>
       <QuickTraceContext.Consumer>
         {quickTrace => {
           const errors: TraceError[] | undefined =

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