@types/es-abstract
Version:
TypeScript definitions for es-abstract
24 lines (22 loc) • 1.03 kB
TypeScript
import type { GenericDescriptor, PropertyDescriptor } from "../index";
declare function CompletePropertyDescriptor<D extends PropertyDescriptor>(
Desc: D & ThisType<any>,
): Required<
D extends { "[[Value]]": infer T } ? GenericDescriptor & {
"[[Value]]": T;
"[[Writable]]": boolean;
}
: D extends { "[[Value]]"?: infer T | undefined } | { "[[Writable]]"?: boolean | undefined }
? GenericDescriptor & {
"[[Value]]": T | undefined;
"[[Writable]]": boolean;
}
: D extends { "[[Get]]"?: (() => infer T) | undefined } | { "[[Set]]"?: ((value: infer T) => void) | undefined }
? GenericDescriptor & {
"[[Get]]": (() => T) | undefined;
"[[Set]]": ((value: T) => void) | undefined;
}
: D & PropertyDescriptor
>;
declare function CompletePropertyDescriptor(Desc: PropertyDescriptor & ThisType<any>): Required<PropertyDescriptor>;
export = CompletePropertyDescriptor;