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

inclusion-numerique / coop-mediation-numerique / c9ca4de7-7df9-4803-9097-965221aeff48

30 Apr 2026 08:37AM UTC coverage: 10.646% (+3.2%) from 7.419%
c9ca4de7-7df9-4803-9097-965221aeff48

push

circleci

web-flow
Merge pull request #489 from inclusion-numerique/infra-remove-project

Infra remove project

709 of 10650 branches covered (6.66%)

Branch coverage included in aggregate %.

1 of 2 new or added lines in 2 files covered. (50.0%)

931 existing lines in 96 files now uncovered.

2178 of 16468 relevant lines covered (13.23%)

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