def munge_catalog(catalog, extra_request_data = {})
profile("Munge catalog", [:puppetdb, :catalog, :munge]) do
data = profile("Convert catalog to JSON data hash", [:puppetdb, :catalog, :convert_to_hash]) do
catalog.to_data_hash
end
add_parameters_if_missing(data)
add_namevar_aliases(data, catalog)
stringify_titles(data)
stringify_version(data)
sort_unordered_metaparams(data)
munge_edges(data)
synthesize_edges(data, catalog)
filter_keys(data)
add_transaction_uuid(data, extra_request_data[:transaction_uuid])
add_environment(data, extra_request_data[:environment])
add_producer_timestamp(data, extra_request_data[:producer_timestamp])
data
end
end