@dipscope/type-manager
Version:
Transform JSON strings or plain objects into JS class instances.
32 lines • 1.28 kB
TypeScript
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