* Resolves property metadata map. * * @param {ReadonlyArray >} parentTypeMetadatas Resolved parent type metadatas. * * @returns {ReadonlyMap >} Resolved property metadata map.
(parentTypeMetadatas: ReadonlyArray<TypeMetadata<any>>)
| 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. |
no test coverage detected