Skip to content

Commit fdccf5e

Browse files
committed
cleans up types
1 parent df0f999 commit fdccf5e

2 files changed

Lines changed: 48 additions & 43 deletions

File tree

x-pack/plugins/security_solution/public/detections/components/rules/description_step/helpers.tsx

Lines changed: 47 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -157,49 +157,54 @@ export const buildThreatDescription = ({ label, threat }: BuildThreatDescription
157157
: `${singleThreat.tactic.name} (${singleThreat.tactic.id})`}
158158
</EuiLink>
159159
<EuiFlexGroup gutterSize="none" alignItems="flexStart" direction="column">
160-
{singleThreat.technique.map((technique, techniqueIndex) => {
161-
const myTechnique = techniquesOptions.find((t) => t.id === technique.id);
162-
return (
163-
<EuiFlexItem key={myTechnique?.id ?? techniqueIndex}>
164-
<TechniqueLinkItem
165-
data-test-subj="threatTechniqueLink"
166-
href={technique.reference}
167-
target="_blank"
168-
iconType={ListTreeIcon}
169-
size="xs"
170-
>
171-
{myTechnique != null
172-
? myTechnique.label
173-
: `${technique.name} (${technique.id})`}
174-
</TechniqueLinkItem>
175-
<EuiFlexGroup gutterSize="none" alignItems="flexStart" direction="column">
176-
{technique.subtechnique != null &&
177-
technique.subtechnique.map((subtechnique, subtechniqueIndex) => {
178-
const mySubtechnique = subtechniquesOptions.find(
179-
(t) => t.id === subtechnique.id
180-
);
181-
return (
182-
<SubtechniqueFlexItem
183-
key={mySubtechnique?.id ?? subtechniqueIndex}
184-
>
185-
<TechniqueLinkItem
186-
data-test-subj="threatSubtechniqueLink"
187-
href={subtechnique.reference}
188-
target="_blank"
189-
iconType={ListTreeIcon}
190-
size="xs"
160+
{singleThreat.technique &&
161+
singleThreat.technique.map((technique, techniqueIndex) => {
162+
const myTechnique = techniquesOptions.find((t) => t.id === technique.id);
163+
return (
164+
<EuiFlexItem key={myTechnique?.id ?? techniqueIndex}>
165+
<TechniqueLinkItem
166+
data-test-subj="threatTechniqueLink"
167+
href={technique.reference}
168+
target="_blank"
169+
iconType={ListTreeIcon}
170+
size="xs"
171+
>
172+
{myTechnique != null
173+
? myTechnique.label
174+
: `${technique.name} (${technique.id})`}
175+
</TechniqueLinkItem>
176+
<EuiFlexGroup
177+
gutterSize="none"
178+
alignItems="flexStart"
179+
direction="column"
180+
>
181+
{technique.subtechnique != null &&
182+
technique.subtechnique.map((subtechnique, subtechniqueIndex) => {
183+
const mySubtechnique = subtechniquesOptions.find(
184+
(t) => t.id === subtechnique.id
185+
);
186+
return (
187+
<SubtechniqueFlexItem
188+
key={mySubtechnique?.id ?? subtechniqueIndex}
191189
>
192-
{mySubtechnique != null
193-
? mySubtechnique.label
194-
: `${subtechnique.name} (${subtechnique.id})`}
195-
</TechniqueLinkItem>
196-
</SubtechniqueFlexItem>
197-
);
198-
})}
199-
</EuiFlexGroup>
200-
</EuiFlexItem>
201-
);
202-
})}
190+
<TechniqueLinkItem
191+
data-test-subj="threatSubtechniqueLink"
192+
href={subtechnique.reference}
193+
target="_blank"
194+
iconType={ListTreeIcon}
195+
size="xs"
196+
>
197+
{mySubtechnique != null
198+
? mySubtechnique.label
199+
: `${subtechnique.name} (${subtechnique.id})`}
200+
</TechniqueLinkItem>
201+
</SubtechniqueFlexItem>
202+
);
203+
})}
204+
</EuiFlexGroup>
205+
</EuiFlexItem>
206+
);
207+
})}
203208
</EuiFlexGroup>
204209
</EuiFlexItem>
205210
);

x-pack/plugins/security_solution/public/detections/components/rules/mitre/helpers.test.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import { getValidThreat } from '../../../mitre/valid_threat_mock';
99
import { hasSubtechniqueOptions } from './helpers';
1010

11-
const mockTechniques = getValidThreat()[0].technique;
11+
const mockTechniques = getValidThreat()[0].technique ?? [];
1212

1313
describe('helpers', () => {
1414
describe('hasSubtechniqueOptions', () => {

0 commit comments

Comments
 (0)