• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

inclusion-numerique / coop-mediation-numerique / d042ddf5-824b-4a46-8c8f-8237a8853f64

25 Mar 2026 10:41AM UTC coverage: 10.692% (+3.8%) from 6.896%
d042ddf5-824b-4a46-8c8f-8237a8853f64

push

circleci

web-flow
Merge pull request #465 from inclusion-numerique/fix/brevo-shared-contacts

fix(brevo): handle shared Brevo account with Les Bases

699 of 10508 branches covered (6.65%)

Branch coverage included in aggregate %.

18 of 122 new or added lines in 13 files covered. (14.75%)

814 existing lines in 86 files now uncovered.

2168 of 16307 relevant lines covered (13.29%)

2.0 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/apps/web/src/utils/removeUndefinedValues.ts
1
type NoUndefinedField<T> = {
2
  [P in keyof T]-?: T[P] extends Record<string, unknown>
3
    ? NoUndefinedField<T[P]>
4
    : Exclude<T[P], undefined>
5
}
6

UNCOV
7
export const removeUndefinedValues = <T>(data: T): NoUndefinedField<T> => {
×
UNCOV
8
  if (Array.isArray(data)) {
×
UNCOV
9
    return data.map((item) =>
×
UNCOV
10
      removeUndefinedValues(item),
×
11
    ) as unknown as NoUndefinedField<T>
12
  }
UNCOV
13
  if (data !== null && typeof data === 'object') {
×
UNCOV
14
    return Object.fromEntries(
×
15
      Object.entries(data).reduce(
16
        (accumulator, [key, value]) => {
UNCOV
17
          if (value !== undefined) {
×
UNCOV
18
            accumulator.push([key, removeUndefinedValues(value)])
×
19
          }
UNCOV
20
          return accumulator
×
21
        },
22
        [] as [string, unknown][],
23
      ),
24
    ) as NoUndefinedField<T>
25
  }
UNCOV
26
  return data as NoUndefinedField<T>
×
27
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc