UNPKG

@dipscope/type-manager

Version:

Transform JSON strings or plain objects into JS class instances.

288 lines 9.15 kB
import { Alias } from '../alias'; import { CustomKey } from '../custom-key'; import { CustomValue } from '../custom-value'; import { DefaultValue } from '../default-value'; import { DefaultValueResolver } from '../default-value-resolver'; import { Discriminant } from '../discriminant'; import { Discriminator } from '../discriminator'; import { Factory } from '../factory'; import { InjectIndex } from '../inject-index'; import { InjectMetadata } from '../inject-metadata'; import { InjectOptions } from '../inject-options'; import { InjectSorter } from '../inject-sorter'; import { Injector } from '../injector'; import { Logger } from '../logger'; 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 { PropertyOptions } from '../property-options'; import { PropertySorter } from '../property-sorter'; import { ReferenceHandler } from '../reference-handler'; import { Serializer } from '../serializer'; import { SerializerCallback } from '../serializer-callback'; import { TypeArgument } from '../type-argument'; import { TypeFn } from '../type-fn'; import { TypeMetadata } from '../type-metadata'; import { TypeState } from '../type-state'; /** * Represents unresolved type state. * * @type {UnresolvedTypeState<TObject>} */ export declare class UnresolvedTypeState<TObject> implements TypeState<TObject> { /** * Type metadata for which state is defined. * * @type {TypeMetadata<TObject>} */ readonly typeMetadata: TypeMetadata<TObject>; /** * Resolved type state. * * @type {ResolvedTypeState<TObject>} */ private resolvedTypeState?; /** * Constructor. * * @param {TypeMetadata<TObject>} typeMetadata Type metadata for which state is defined. */ constructor(typeMetadata: TypeMetadata<TObject>); /** * Gets alias. * * @returns {Optional<Alias>} Alias. */ get alias(): Optional<Alias>; /** * Gets custom value map. * * @returns {ReadonlyMap<CustomKey<any>, CustomValue>} Custom value map. */ get customValueMap(): ReadonlyMap<CustomKey<any>, CustomValue>; /** * Gets serialized null value resolver. * * @returns {NullValueResolver} Serialized null value resolver. */ get serializedNullValueResolver(): NullValueResolver; /** * Gets serialized default value. * * @returns {DefaultValue} Serialized default value. */ get serializedDefaultValue(): DefaultValue; /** * Gets serialized default value resolver. * * @returns {DefaultValueResolver} Serialized default value resolver. */ get serializedDefaultValueResolver(): DefaultValueResolver; /** * Gets deserialized null value resolver. * * @returns {NullValueResolver} Deserialized null value resolver. */ get deserializedNullValueResolver(): NullValueResolver; /** * Gets deserialized default value. * * @returns {DefaultValue} Serialized default value. */ get deserializedDefaultValue(): DefaultValue; /** * Gets deserialized default value resolver. * * @returns {DefaultValueResolver} Deserialized default value resolver. */ get deserializedDefaultValueResolver(): DefaultValueResolver; /** * Gets before serialize callback. * * @returns {Optional<SerializerCallback<TObject>>} Before serialize callback. */ get beforeSerializeCallback(): Optional<SerializerCallback<TObject>>; /** * Gets after deserialize callback. * * @returns {Optional<SerializerCallback<TObject>>} After deserialize callback. */ get afterDeserializeCallback(): Optional<SerializerCallback<TObject>>; /** * Gets discriminant. * * @returns {Discriminant} Discriminant. */ get discriminant(): Discriminant; /** * Gets discriminator. * * @returns {Discriminator} Discriminator. */ get discriminator(): Discriminator; /** * Gets factory. * * @returns {Factory} Factory. */ get factory(): Factory; /** * Gets injectable value. * * @returns {boolean} Injectable value. */ get injectable(): boolean; /** * Gets injector. * * @returns {Injector} Injector. */ get injector(): Injector; /** * Gets logger. * * @returns {Logger} Logger. */ get logger(): Logger; /** * Gets naming convention. * * @returns {Optional<NamingConvention>} Naming convention. */ get namingConvention(): Optional<NamingConvention>; /** * Gets indicator if current type metadata is polymorphic. * * @returns {boolean} Indicator if polymorphic. */ get polymorphic(): boolean; /** * Gets type metadata map. * * @returns {ReadonlyMap<TypeFn<any>, TypeMetadata<any>>} Type metadata map. */ get typeMetadataMap(): ReadonlyMap<TypeFn<any>, TypeMetadata<any>>; /** * Gets indicator if discriminator should be preserved. * * @returns {boolean} Preserve discriminator. */ get preserveDiscriminator(): boolean; /** * Gets reference handler. * * @returns {ReferenceHandler} Reference handler. */ get referenceHandler(): ReferenceHandler; /** * Gets serializer. * * @returns {Serializer<TObject>} Serializer. */ get serializer(): Serializer<TObject>; /** * Gets indicator if null value should be preserved. * * @returns {boolean} Preserve null value. */ get preserveNull(): boolean; /** * Gets indicator if default value should be used. * * @returns {boolean} Use default value. */ get useDefaultValue(): boolean; /** * Gets indicator if implicit conversion should be used. * * @returns {boolean} Use implicit conversion. */ get useImplicitConversion(): boolean; /** * Gets property sorter. * * @returns {Optional<PropertySorter>} Property sorter. */ get propertySorter(): Optional<PropertySorter>; /** * Gets sorted property metadatas. * * @returns {ReadonlyArray<PropertyMetadata<TObject, any>>} Sorted property metadatas. */ get sortedPropertyMetadatas(): ReadonlyArray<PropertyMetadata<TObject, any>>; /** * Gets inject sorter. * * @returns {Optional<InjectSorter>} Inject sorter. */ get injectSorter(): Optional<InjectSorter>; /** * Gets sorted inject metadatas. * * @returns {ReadonlyArray<InjectMetadata<TObject, any>>} Sorted inject metadatas. */ get sortedInjectMetadatas(): ReadonlyArray<InjectMetadata<TObject, any>>; /** * Gets parent type arguments. * * @returns {ReadonlyArray<TypeArgument<any>>} Parent type arguments. */ get parentTypeArguments(): ReadonlyArray<TypeArgument<any>>; /** * Gets parent type metadatas. * * @returns {ReadonlyArray<TypeMetadata<any>>} Parent type metadatas. */ get parentTypeMetadatas(): ReadonlyArray<TypeMetadata<any>>; /** * Gets own parent type metadatas. * * @returns {ReadonlyArray<TypeMetadata<any>>} Own parent type metadatas. */ get ownParentTypeMetadatas(): ReadonlyArray<TypeMetadata<any>>; /** * Gets child type metadatas. * * @returns {ReadonlyArray<TypeMetadata<any>>} Child type metadatas. */ get childTypeMetadatas(): ReadonlyArray<TypeMetadata<any>>; /** * Gets own child type metadatas. * * @returns {ReadonlyArray<TypeMetadata<any>>} Own child type metadatas. */ get ownChildTypeMetadatas(): ReadonlyArray<TypeMetadata<any>>; /** * Gets property options map. * * @returns {ReadonlyMap<PropertyName, PropertyOptions<any>>} Property options map. */ get propertyOptionsMap(): ReadonlyMap<PropertyName, PropertyOptions<any>>; /** * Gets property metadata map. * * @returns {ReadonlyMap<PropertyName, PropertyMetadata<TObject, any>>} Property metadata map. */ get propertyMetadataMap(): ReadonlyMap<PropertyName, PropertyMetadata<TObject, any>>; /** * Gets own property metadata map. * * @returns {ReadonlyMap<PropertyName, PropertyMetadata<TObject, any>>} Own property metadata map. */ get ownPropertyMetadataMap(): ReadonlyMap<PropertyName, PropertyMetadata<TObject, any>>; /** * Gets inject options map. * * @returns {ReadonlyMap<InjectIndex, InjectOptions<any>>} Inject options map. */ get injectOptionsMap(): ReadonlyMap<InjectIndex, InjectOptions<any>>; /** * Gets inject metadata map. * * @returns {ReadonlyMap<InjectIndex, InjectMetadata<TObject, any>>} Inject metadata map. */ get injectMetadataMap(): ReadonlyMap<InjectIndex, InjectMetadata<TObject, any>>; } //# sourceMappingURL=unresolved-type-state.d.ts.map