ctan
Version:
CTAN (Comprehensive TeX Archive Network) API client for Node.js
13 lines (12 loc) • 473 B
TypeScript
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];
};