UNPKG

define-accessor-property

Version:

Define an accessor property on an object. Will either throw, or fall back to assignment in loose mode, in an engine without descriptors.

24 lines (21 loc) 585 B
type Getter<T> = () => T; type Setter<T> = (value: T) => void; declare function defineAccessorProperty( obj: Record<PropertyKey, unknown>, key: keyof typeof obj, options: { loose?: boolean; nonConfigurable?: boolean | null; nonEnumerable?: boolean | null; } & ( | { get: Getter<typeof obj[typeof key]>, set?: Setter<typeof obj[typeof key]>, } | { get?: Getter<typeof obj[typeof key]>, set: Setter<typeof obj[typeof key]>, } ) ): void; export = defineAccessorProperty;