@dipscope/type-manager
Version:
Transform JSON strings or plain objects into JS class instances.
176 lines • 6.8 kB
TypeScript
import { Alias } from '../alias';
import { CustomKey } from '../custom-key';
import { CustomValue } from '../custom-value';
import { DefaultValueResolver } from '../default-value-resolver';
import { GenericArgument } from '../generic-argument';
import { GenericMetadata } from '../generic-metadata';
import { NamingConvention } from '../naming-convention';
import { NullValueResolver } from '../null-value-resolver';
import { Optional } from '../optional';
import { PropertyMetadata } from '../property-metadata';
import { PropertyName } from '../property-name';
import { PropertyState } from '../property-state';
import { ReferenceHandler } from '../reference-handler';
import { Serializer } from '../serializer';
import { TypeArgument } from '../type-argument';
import { TypeMetadata } from '../type-metadata';
/**
* Represents resolved property state.
*
* @type {ResolvedPropertyState<TDeclaringObject, TObject>}
*/
export declare class ResolvedPropertyState<TDeclaringObject, TObject> implements PropertyState<TDeclaringObject, TObject> {
/**
* Property metadata for which state is defined.
*
* @type {PropertyMetadata<TDeclaringObject, TObject>}
*/
readonly propertyMetadata: PropertyMetadata<TDeclaringObject, TObject>;
/**
* Alias.
*
* @type {Optional<Alias>}
*/
readonly alias: Optional<Alias>;
/**
* Custom value map.
*
* @type {ReadonlyMap<CustomKey<any>, CustomValue>}
*/
readonly customValueMap: ReadonlyMap<CustomKey<any>, CustomValue>;
/**
* Serialized null value resolver.
*
* @type {NullValueResolver}
*/
readonly serializedNullValueResolver: NullValueResolver;
/**
* Serialized default value resolver.
*
* @type {DefaultValueResolver}
*/
readonly serializedDefaultValueResolver: DefaultValueResolver;
/**
* Deserialized null value resolver.
*
* @type {NullValueResolver}
*/
readonly deserializedNullValueResolver: NullValueResolver;
/**
* Deserialized default value resolver.
*
* @type {DefaultValueResolver}
*/
readonly deserializedDefaultValueResolver: DefaultValueResolver;
/**
* Serialized property name.
*
* @type {PropertyName}
*/
readonly serializedPropertyName: PropertyName;
/**
* Deserialized property name.
*
* @type {PropertyName}
*/
readonly deserializedPropertyName: PropertyName;
/**
* Serializable value.
*
* @type {boolean}
*/
readonly serializable: boolean;
/**
* Deserializable value.
*
* @type {boolean}
*/
readonly deserializable: boolean;
/**
* Generic arguments.
*
* @type {ReadonlyArray<GenericArgument<any>>}
*/
readonly genericArguments: ReadonlyArray<GenericArgument<any>>;
/**
* Generic metadatas.
*
* @type {ReadonlyArray<GenericMetadata<any>>}
*/
readonly genericMetadatas: ReadonlyArray<GenericMetadata<any>>;
/**
* Naming convention.
*
* @type {Optional<NamingConvention>}
*/
readonly namingConvention: Optional<NamingConvention>;
/**
* Reference handler.
*
* @type {ReferenceHandler}
*/
readonly referenceHandler: ReferenceHandler;
/**
* Serializer.
*
* @type {Serializer<TObject>}
*/
readonly serializer: Serializer<TObject>;
/**
* Type argument.
*
* @type {TypeArgument<TObject>}
*/
readonly typeArgument: TypeArgument<TObject>;
/**
* Type metadata.
*
* @type {TypeMetadata<TObject>}
*/
readonly typeMetadata: TypeMetadata<TObject>;
/**
* Indicator if null value should be preserved.
*
* @type {boolean}
*/
readonly preserveNull: boolean;
/**
* Indicator if default value should be used.
*
* @type {boolean}
*/
readonly useDefaultValue: boolean;
/**
* Indicator if implicit conversion should be used.
*
* @type {boolean}
*/
readonly useImplicitConversion: boolean;
/**
* Constructor.
*
* @param {PropertyMetadata<TDeclaringObject, TObject>} propertyMetadata Property metadata for which state is defined.
* @param {Optional<Alias>} alias Alias.
* @param {ReadonlyMap<CustomKey<any>, CustomValue>} customValueMap Custom value map.
* @param {NullValueResolver} serializedNullValueResolver Serialized null value resolver.
* @param {DefaultValueResolver} serializedDefaultValueResolver Serialized default value resolver.
* @param {NullValueResolver} deserializedNullValueResolver Deserialized null value resolver.
* @param {DefaultValueResolver} deserializedDefaultValueResolver Deserialized default value resolver.
* @param {PropertyName} serializedPropertyName Serialized property name.
* @param {PropertyName} deserializedPropertyName Deserialized property name.
* @param {boolean} serializable Serializable value.
* @param {boolean} deserializable Deserializable value.
* @param {ReadonlyArray<GenericArgument<any>>} genericArguments Generic arguments.
* @param {ReadonlyArray<GenericMetadata<any>>} genericMetadatas Generic metadatas.
* @param {Optional<NamingConvention>} namingConvention Naming convention.
* @param {ReferenceHandler} referenceHandler Reference handler.
* @param {Serializer<TObject>} serializer Serializer.
* @param {TypeArgument<TObject>} typeArgument Type argument.
* @param {TypeMetadata<TObject>} typeMetadata Type metadata.
* @param {boolean} preserveNull Indicator if null value should be preserved.
* @param {boolean} useDefaultValue Indicator if default value should be used.
* @param {boolean} useImplicitConversion Indicator if implicit conversion should be used.
*/
constructor(propertyMetadata: PropertyMetadata<TDeclaringObject, TObject>, alias: Optional<Alias>, customValueMap: ReadonlyMap<CustomKey<any>, CustomValue>, serializedNullValueResolver: NullValueResolver, serializedDefaultValueResolver: DefaultValueResolver, deserializedNullValueResolver: NullValueResolver, deserializedDefaultValueResolver: DefaultValueResolver, serializedPropertyName: PropertyName, deserializedPropertyName: PropertyName, serializable: boolean, deserializable: boolean, genericArguments: ReadonlyArray<GenericArgument<any>>, genericMetadatas: ReadonlyArray<GenericMetadata<any>>, namingConvention: Optional<NamingConvention>, referenceHandler: ReferenceHandler, serializer: Serializer<TObject>, typeArgument: TypeArgument<TObject>, typeMetadata: TypeMetadata<TObject>, preserveNull: boolean, useDefaultValue: boolean, useImplicitConversion: boolean);
}
//# sourceMappingURL=resolved-property-state.d.ts.map