UNPKG

@dipscope/type-manager

Version:

Transform JSON strings or plain objects into JS class instances.

32 lines 1.52 kB
import { PropertyExtensionOptions } from './property-extension-options'; import { PropertyMetadata } from './property-metadata'; /** * Property extension metadata used by plugins to provide additional features for property metadata * using custom keys. Descendant classes are just wrappers to get convenient access to custom value map. * * @type {PropertyExtensionMetadata<TDeclaringObject, TObject, TPropertyExtensionOptions>} */ export declare abstract class PropertyExtensionMetadata<TDeclaringObject, TObject, TPropertyExtensionOptions extends PropertyExtensionOptions> { /** * Property metadata which we extend. * * @type {PropertyMetadata<TDeclaringObject, TObject>} */ readonly propertyMetadata: PropertyMetadata<TDeclaringObject, TObject>; /** * Constructor. * * @param {PropertyMetadata<TDeclaringObject, TObject>} propertyMetadata Property metadata which we extend. * @param {TPropertyExtensionOptions} propertyExtensionOptions Property extension options. */ constructor(propertyMetadata: PropertyMetadata<TDeclaringObject, TObject>, propertyExtensionOptions: TPropertyExtensionOptions); /** * Configures property extension. * * @param {TPropertyExtensionOptions} propertyExtensionOptions Property extension options. * * @returns {this} Property extension metadata. */ abstract configure(propertyExtensionOptions: TPropertyExtensionOptions): this; } //# sourceMappingURL=property-extension-metadata.d.ts.map