riot/compiler

View on GitHub
src/utils/compose-sourcemaps.js

Summary

Maintainability
A
0 mins
Test Coverage
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 {}
}