UNPKG

ctan

Version:

CTAN (Comprehensive TeX Archive Network) API client for Node.js

13 lines (12 loc) 473 B
export declare type Derived<Base> = Base extends abstract new () => unknown ? { prototype: InstanceType<Base>; } : never; export declare type MarkRequired<T, Keys extends keyof T> = Omit<T, Keys> & Required<Pick<T, Keys>>; export declare type MarkWritable<T, Keys extends keyof T> = Omit<T, Keys> & { -readonly [K in Keys]: T[K]; }; export declare type OnlyRequired<T> = { [K in keyof T as { [L in keyof T]: K; }[K] extends K ? K : never]: T[K]; };