elk/types/utils.ts

9 lines
215 B
TypeScript

export type Mutable<T> = {
-readonly[P in keyof T]: T[P]
}
export type Overwrite<T, O> = Omit<T, keyof O> & O
export type MarkNonNullable<T, K extends keyof T> = Overwrite<T, {
[P in K]-?: NonNullable<T[P]>
}>