MCPcopy Create free account
hub / github.com/dipscope/TypeManager.TS / constructor

Method constructor

src/type-metadata.ts:142–169  ·  view source on GitHub ↗

* Constructor. * * @param {TypeManager} typeManager Type manager. * @param {Map >} typeFnMap Type function map for types with aliases. * @param {ReadonlySet >} typeMetadataSet Type metadata set. * @param {TypeFn } typeFn Type function.

(
        typeManager: TypeManager, 
        typeFnMap: Map<Alias, TypeFn<any>>,
        typeMetadataSet: ReadonlySet<TypeMetadata<any>>,
        typeFn: TypeFn<TObject>,
        typeOptions: TypeOptions<TObject>,
        parentTypeMetadata: Optional<TypeMetadata<any>>
    )

Source from the content-addressed store, hash-verified

140 * @param {Optional<TypeMetadata<any>>} parentTypeMetadata Parent type metadata.
141 */
142 public constructor(
143 typeManager: TypeManager,
144 typeFnMap: Map<Alias, TypeFn<any>>,
145 typeMetadataSet: ReadonlySet<TypeMetadata<any>>,
146 typeFn: TypeFn<TObject>,
147 typeOptions: TypeOptions<TObject>,
148 parentTypeMetadata: Optional<TypeMetadata<any>>
149 )
150 {
151 super(typeManager, typeFnMap);
152
153 this.typeName = nameOf(typeFn);
154 this.typeFn = typeFn;
155 this.parentTypeMetadata = parentTypeMetadata;
156 this.typeOptionsBase = typeManager.typeOptionsBase;
157 this.typeOptions = this.constructTypeOptions(typeOptions);
158 this.typeMetadataSet = typeMetadataSet;
159 this.currentTypeFnMap = typeFnMap;
160 this.currentChildTypeMetadataMap = new Map<TypeFn<any>, TypeMetadata<any>>();
161 this.currentPropertyMetadataMap = new Map<PropertyName, PropertyMetadata<TObject, any>>();
162 this.currentInjectMetadataMap = new Map<InjectIndex, InjectMetadata<TObject, any>>();
163 this.currentTypeState = new UnresolvedTypeState<TObject>(this);
164
165 this.extendParentTypeMetadata();
166 this.configure(typeOptions);
167
168 return;
169 }
170
171 /**
172 * Gets type state.

Callers

nothing calls this directly

Calls 4

constructTypeOptionsMethod · 0.95
configureMethod · 0.95
nameOfFunction · 0.90

Tested by

no test coverage detected