in packages/@aws-cdk/cloudformation-diff/lib/render-intrinsics.ts [21:54]
export function renderIntrinsics(x: any): any {
if (Array.isArray(x)) {
return x.filter(el => !isNoValue(el)).map(renderIntrinsics);
}
if (isNoValue(x)) {
return undefined;
}
const intrinsic = getIntrinsic(x);
if (intrinsic) {
if (intrinsic.fn === 'Ref') {
return '${' + intrinsic.args + '}';
}
if (intrinsic.fn === 'Fn::GetAtt') {
return '${' + intrinsic.args[0] + '.' + intrinsic.args[1] + '}';
}
if (intrinsic.fn === 'Fn::Join') {
return unCloudFormationFnJoin(intrinsic.args[0], intrinsic.args[1]);
}
return stringifyIntrinsic(intrinsic.fn, intrinsic.args);
}
if (typeof x === 'object' && x !== null) {
const ret: any = {};
for (const [key, value] of Object.entries(x)) {
if (!isNoValue(value)) {
ret[key] = renderIntrinsics(value);
}
}
return ret;
}
return x;
}