src/utils/compose-sourcemaps.js
import asJSON from './sourcemap-as-json.js'
import { composeSourceMaps } from 'recast/lib/util.js'
import { isNode } from '@riotjs/util/checks.js'
/**
* Compose two sourcemaps
* @param { SourceMapGenerator } formerMap - original sourcemap
* @param { SourceMapGenerator } latterMap - target sourcemap
* @returns { Object } sourcemap json
*/
export default function composeSourcemaps(formerMap, latterMap) {
if (isNode() && formerMap && latterMap && latterMap.mappings) {
return composeSourceMaps(asJSON(formerMap), asJSON(latterMap))
} else if (isNode() && formerMap) {
return asJSON(formerMap)
}
return {}
}