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

LukaJCB / ts-mls / 17283659198

28 Aug 2025 02:05AM UTC coverage: 93.75% (+1.7%) from 92.046%
17283659198

push

github

web-flow
Migrate from jest to vitest and parallelize tests (#90)

1121 of 1250 branches covered (89.68%)

Branch coverage included in aggregate %.

388 of 393 new or added lines in 63 files covered. (98.73%)

57 existing lines in 13 files now uncovered.

6364 of 6734 relevant lines covered (94.51%)

51774.21 hits per line

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

94.87
/src/codec/tlsEncoder.ts
1
export type Encoder<T> = (t: T) => Uint8Array
2

3
export function contramapEncoders<T extends unknown[], R>(
1✔
4
  encoders: { [K in keyof T]: Encoder<T[K]> },
32,995✔
5
  toTuple: (input: R) => T,
32,995✔
6
): Encoder<R> {
32,995✔
7
  return (value: R) => {
32,995✔
8
    const values = toTuple(value)
1,390,647✔
9

10
    const encodedParts: Uint8Array[] = new Array<Uint8Array>(values.length)
1,390,647✔
11
    let totalLength = 0
1,390,647✔
12
    for (let i = 0; i < values.length; i++) {
1,390,647✔
13
      const encoded = encoders[i]!(values[i])
4,584,104✔
14
      totalLength += encoded.byteLength
4,584,104✔
15
      encodedParts[i] = encoded
4,584,104✔
16
    }
4,584,104✔
17

18
    const result = new Uint8Array(totalLength)
1,390,647✔
19
    let offset = 0
1,390,647✔
20
    for (const arr of encodedParts) {
1,390,647✔
21
      result.set(arr, offset)
4,584,104✔
22
      offset += arr.length
4,584,104✔
23
    }
4,584,104✔
24

25
    return result
1,390,647✔
26
  }
1,390,647✔
27
}
32,995✔
28

29
export function composeEncoders<T extends unknown[]>(encoders: { [K in keyof T]: Encoder<T[K]> }): Encoder<T> {
1✔
30
  return (values: T) => contramapEncoders(encoders, (t) => t as T)(values)
11✔
31
}
11✔
32

33
export function contramapEncoder<T, U>(enc: Encoder<T>, f: (u: U) => Readonly<T>): Encoder<U> {
1✔
34
  return (u: U) => enc(f(u))
27,979✔
35
}
27,979✔
36

37
export function encodeVoid<T>(): Encoder<T> {
1✔
38
  return () => new Uint8Array()
×
UNCOV
39
}
×
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