UNPKG

@m2d/mdast

Version:

Extended MDAST types and custom node data for mdast2docx with support for DOCX formatting.

13 lines (12 loc) 534 B
export type Optional<T> = { [K in keyof T]?: T[K] extends object ? (T[K] extends Function ? T[K] : Optional<T[K]>) : T[K]; }; export type Required<T> = { [K in keyof T]-?: T[K] extends object ? (T[K] extends Function ? T[K] : Required<T[K]>) : T[K]; }; export type Mutable<T> = { -readonly [K in keyof T]: T[K] extends object ? T[K] extends Function ? T[K] : Mutable<T[K]> : T[K]; }; export type Immutable<T> = { readonly [K in keyof T]: T[K] extends object ? T[K] extends Function ? T[K] : Immutable<T[K]> : T[K]; };