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