packages/deploy-aws/src/lib/logical_to_path_map.ts
import { MetadataEntry, SynthesizedStack } from '@aws-cdk/cx-api'
import { Keymap as PathMap } from '../types'
export function createLogicalToPathMap(stack: SynthesizedStack) {
const map: PathMap = {}
const data = stack.metadata
const dataKeys = Object.keys(data)
dataKeys.forEach(key => data[key].forEach(entry => addEntry(map, entry, key)))
return map
}
function addEntry(map: PathMap, entry: MetadataEntry, key: string): void {
// tslint:disable-next-line:no-unused-expression
entry.type === 'aws:cdk:logicalId' && entry.data && (map[entry.data] = key)
}