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

inclusion-numerique / coop-mediation-numerique / 240dc2e0-7f8b-417f-9969-2331dc3cf6e8

01 Apr 2026 04:06PM UTC coverage: 10.684% (+3.7%) from 6.94%
240dc2e0-7f8b-417f-9969-2331dc3cf6e8

push

circleci

web-flow
Merge pull request #469 from inclusion-numerique/dev

MEP 2026-01-01

709 of 10542 branches covered (6.73%)

Branch coverage included in aggregate %.

25 of 399 new or added lines in 37 files covered. (6.27%)

820 existing lines in 91 files now uncovered.

2174 of 16443 relevant lines covered (13.22%)

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