@progress/sitefinity-widget-designers-sdk
Version:
This package aims to create a parity for widget designer generation similar to the [autogenerated widget designers](https://www.progress.com/documentation/sitefinity-cms/next.js-autogenerated-field-types) in Sitefinity. Due to some limitations in Typescri
72 lines (71 loc) • 3.1 kB
TypeScript
/**
* Strategy for the approach on assigning the property metadata.
*/
export declare enum PropertyMergeStrategy {
/**
* Do not assign the passed value if a value is already assigned.
*/
Skip = "skip",
/**
* Override any previously assigned value with the passed value.
*/
Override = "override",
/**
* Merge an already existing property value object with the passed value using Object.assign
*/
Merge = "merge"
}
/**
* Registers metadata on classes and properties.
*/
export declare class WidgetMetadata {
/**
* Registers the base metadata property holder.
* @param target The decorated class.
*/
static registerPrototype(target: any): void;
/**
* Registers a property value in the metadata of the class on a given key.
* @param target The decorated class.
* @param key Propery key.
* @param value The property value.
*/
static registerProperty(target: any, key: string, value: any): void;
/**
* Registers a property value in the metadata of the class prototype on a given key.
* @param target The decorated class.
* @param key Propery key.
* @param value The property value.
*/
static registerPrototypeProperty(target: any, key: string, value: any): void;
/**
* Register a property value in the metadata of the class based on _propName_, _key_ in the property metadata, property.key _value_ and an optional override strategy.
* @param target The decorated class.
* @param propName The property name.
* @param key The key of the metadata value.
* @param value The value.
* @param override The override strategy for the value:
* - skip - if there is already a value assigned
* - override - if you wish to force the value even if one is already assigned
* - merge - if the value object that is passed needs to be merged with the one that already is assigned
* Default is to override.
*/
static registerPropertyMetadata(target: any, propName: string, key: string, value: any, override?: PropertyMergeStrategy): void;
/**
* Register a property value in the metadata of the class prototype based on @param propName, @param key in the property metadata, property.key @param value and an optional override strategy.
* @param target The decorated class.
* @param propName The property name.
* @param key The key of the metadata value.
* @param value The value.
* @param override The override strategy for the value:
* - skip - if there is already a value assigned
* - override - if you wish to force the value even if one is already assigned
* - merge - if the value object that is passed needs to be merged with the one that already is assigned
* Default is to override.
*/
static registerPrototypePropertyMetadata(target: any, propName: string, key: string, value: any, override?: PropertyMergeStrategy): void;
/** @private */
private static register;
/** @private */
private static registerPropertyObject;
}