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

Method resolvePropertyMetadataMap

src/type-metadata.ts:1007–1025  ·  view source on GitHub ↗

* Resolves property metadata map. * * @param {ReadonlyArray >} parentTypeMetadatas Resolved parent type metadatas. * * @returns {ReadonlyMap >} Resolved property metadata map.

(parentTypeMetadatas: ReadonlyArray<TypeMetadata<any>>)

Source from the content-addressed store, hash-verified

1005 * @returns {ReadonlyMap<PropertyName, PropertyMetadata<TObject, any>>} Resolved property metadata map.
1006 */
1007 private resolvePropertyMetadataMap(parentTypeMetadatas: ReadonlyArray<TypeMetadata<any>>): ReadonlyMap<PropertyName, PropertyMetadata<TObject, any>>
1008 {
1009 const propertyMetadataMap = new Map<PropertyName, PropertyMetadata<TObject, any>>();
1010
1011 for (let i = parentTypeMetadatas.length - 1; i >= 0; i--)
1012 {
1013 for (const [propertyName, propertyMetadata] of parentTypeMetadatas[i].currentPropertyMetadataMap)
1014 {
1015 propertyMetadataMap.set(propertyName, propertyMetadata);
1016 }
1017 }
1018
1019 for (const propertyMetadata of this.currentPropertyMetadataMap.values())
1020 {
1021 propertyMetadata.unresolvePropertyState();
1022 }
1023
1024 return propertyMetadataMap;
1025 }
1026
1027 /**
1028 * Extends parent type metadata.

Callers 1

resolveTypeStateMethod · 0.95

Calls 2

setMethod · 0.80

Tested by

no test coverage detected