@angular-package/property
Version:
Features to handle object properties.
13 lines (12 loc) • 923 B
TypeScript
import { DataDescriptor } from '../interface';
import { ThisAccessorDescriptor } from '../type';
import { ObjectPropertyDescriptors } from '../type/object-property-descriptors.type';
import { ResultCallback } from '../type/result-callback.type';
export declare class Descriptor {
#private;
static defineAccessor<Value, Obj extends object>(descriptor: ThisAccessorDescriptor<Value, Obj>, callback?: ResultCallback): ThisAccessorDescriptor<Value, Obj>;
static defineData<Value>(descriptor: DataDescriptor<Value>, callback?: ResultCallback): DataDescriptor<Value>;
static get<Obj, Name extends keyof Obj>(object: Obj, name: Name): PropertyDescriptor | undefined;
static getAll<Obj extends object | Function>(object: Obj): ObjectPropertyDescriptors<Obj>;
static pick<Obj extends object | Function, Names extends keyof Obj>(object: Obj, ...names: Names[]): Pick<ObjectPropertyDescriptors<Obj>, Names>;
}