UNPKG

@dipscope/type-manager

Version:

Transform JSON strings or plain objects into JS class instances.

32 lines 1.28 kB
import { TypeExtensionOptions } from './type-extension-options'; import { TypeMetadata } from './type-metadata'; /** * Type extension metadata used by plugins to provide additional features for type metadata * using custom keys. Descendant classes are just wrappers to get convenient access to custom context. * * @type {TypeExtensionMetadata<TObject, TTypeExtensionOptions>} */ export declare abstract class TypeExtensionMetadata<TObject, TTypeExtensionOptions extends TypeExtensionOptions> { /** * Type metadata which we extend. * * @type {TypeMetadata<TObject>} */ readonly typeMetadata: TypeMetadata<TObject>; /** * Constructor. * * @param {TypeMetadata<TObject>} typeMetadata Type metadata which we extend. * @param {TTypeExtensionOptions} typeExtensionOptions Type extension options. */ constructor(typeMetadata: TypeMetadata<TObject>, typeExtensionOptions: TTypeExtensionOptions); /** * Configures type extension. * * @param {TTypeExtensionOptions} typeExtensionOptions Type extension options. * * @returns {this} Type extension metadata. */ abstract configure(typeExtensionOptions: TTypeExtensionOptions): this; } //# sourceMappingURL=type-extension-metadata.d.ts.map