All files / types mutable.ts

0% Statements 0/0
0% Branches 0/0
0% Functions 0/0
0% Lines 0/0

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11                     
/**
 * Removes `readonly` from the properties of a type, one level deep: a builder filling an object before
 * handing it out as read-only.
 *
 * @template T - The read-only type.
 * @example
 * const draft: Mutable<Point> = { x: 0, y: 0 };
 * draft.x = 10;
 */
export type Mutable<T> = { -readonly [K in keyof T]: T[K] };