@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
29 lines (28 loc) • 1.47 kB
TypeScript
import { IAccessor } from "@docsvision/webclient/Helpers/DynamicModel/IAccessor";
import { FieldSpec } from '@docsvision/webclient/System/GetFieldName';
/**
* @review Реализация {@link IAccessor} через обращение к свойству объекта по имени. Имя задается в конструкторе, при создании акссессора.
*/
export declare class DynamicFieldNameAccessor<NodeT, ObjectT, ValueT> implements IAccessor<NodeT, ValueT> {
private getModel;
static Create<NodeT, ObjectT, ValueT>(getModel: (node: NodeT) => ObjectT, key: FieldSpec<ObjectT, ValueT>): DynamicFieldNameAccessor<NodeT, ObjectT, ValueT>;
/**
* Название свойства.
*/
fieldName: string;
/**
* @param key Имя свойства. Может быть задано строкой (например, `myProperty`) или выржанием вида `() => obj.myProperty`.
*/
constructor(getModel: (node: NodeT) => ObjectT, key: FieldSpec<ObjectT, ValueT>);
/**
* Получить значение свойства для указанного объекта.
* @param node Объект.
*/
get(node: NodeT): ValueT;
/**
* Установить значение свойства для указанного объекта.
* @param node Объект.
* @param value Значение.
*/
set(node: NodeT, value: ValueT): void;
}