{"version":3,"sources":["jsdelivr-header.js","/npm/lcov-sourcemap-x@0.3.3/lib/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aAEA,IAAI,KAAO,QAAQ,QAClB,EAAI,QAAQ,UACZ,QAAU,QAAQ,YAClB,UAAY,QAAQ,cACpB,QAAU,QAAQ,sBAClB,GAAK,QAAQ,aAAa,QAAQ,OAClC,UAAY,QAAQ,UAAU,QAAQ,eAEnC,KAAO,QAAQ,UAKnB,SAAS,QAAQ,EAAM,EAAY,GAClC,OAAO,oBAAoB,EAAM,EAAY,GAAW,MAAK,SAAU,GACtE,OAAO,cAAc,EAAO,EAC7B,GACD,CAEA,SAAS,UAAU,EAAM,EAAY,EAAW,GAC/C,OAAO,QAAQ,EAAM,EAAY,GAAW,MAAK,SAAU,GAC1D,OAAO,GAAG,eAAe,EAAY,EACtC,GACD,CAEA,SAAS,cAAc,EAAO,GAG7B,OAFA,EAAY,GAAa,QAAQ,MAE1B,QAAQ,IAAI,EAAE,IAAI,GAAO,SAAU,GAEzC,IAAI,EAAQ,EAAK,KAAK,MAAM,4BAC5B,GAAa,MAAT,EAAe,CAClB,IAAI,EAAW,EAAM,GACpB,EAAc,EAAM,GACL,QAAZ,GAAyC,MAAnB,EAAY,KACrC,EAAc,EAAY,OAAO,IAElC,EAAK,KAAO,CACb,CAEA,OAAO,IAAI,SAAQ,SAAU,GAC5B,GAAG,OAAO,KAAK,QAAQ,EAAW,EAAK,OAAO,SAAU,GAKvD,EAJK,EAIG,EAHC,KAIV,GACD,GACD,KAAI,MAAK,SAAU,GAClB,OAAO,EAAE,OAAO,EACjB,IAAG,MAAK,SAAU,GACjB,IAAI,EAAS,GAMb,OAJA,EAAE,KAAK,GAAO,SAAU,GACvB,EAAO,KAAK,EAAK,WAClB,IAEO,EAAO,KAAK,KACpB,GACD,CAEA,SAAS,oBAAoB,EAAM,EAAY,GAC9C,OAAO,QAAQ,EAAM,GAAY,MAAK,SAAU,GAC/C,OAAO,EAAE,MAAM,EAAK,MAAM,KAAI,SAAU,EAAM,GAC7C,IAAI,EAAY,EAAK,UAAU,GAC/B,IAAK,EACJ,MAAM,IAAI,MAAM,sBAAwB,GAEzC,OAAO,iBAAiB,EAAM,EAAW,EAC1C,IAAG,KAAI,SAAU,GAChB,OAAO,EAAE,OAAO,EACjB,IAAG,UAAU,OACd,GACD,CAEA,SAAS,iBAAiB,EAAM,EAAW,GAC1C,IAII,EAJA,EAAW,EAAU,SAErB,EAAQ,CAAC,EAyEb,OA/DC,EAPI,EAAS,WAOH,SAAU,GACnB,IAAI,EAAK,EAAO,OAAO,QAAQ,EAAS,WAAY,MACpD,OAAO,EAAM,GAAM,EAAM,IAAO,IAAI,KAAK,EAC1C,EARU,SAAU,GACnB,IAAI,EAAK,IAAM,KAAK,IAAM,KAAK,SAAS,EAAW,KAAK,KAAK,KAAK,QAAQ,EAAU,MAAO,EAAO,SAClG,OAAO,EAAM,GAAM,EAAM,IAAO,IAAI,KAAK,EAC1C,EAQD,EAAE,KAAK,EAAK,UAAU,SAAS,SAAU,GACxC,IAAI,EAAS,EAAS,oBAAoB,CACzC,KAAM,EAAK,KACX,OAAQ,EACR,KAAM,EAAS,YAAY,oBAIvB,GAAW,EAAO,QAIvB,EAAQ,GAAQ,YAAY,CAC3B,KAAM,EAAK,KACX,KAAM,EAAO,KACb,IAAK,EAAK,KAEZ,IAEA,EAAE,KAAK,EAAK,MAAM,SAAS,SAAU,GACpC,IAAI,EAAS,EAAS,oBAAoB,CACzC,KAAM,EAAK,KACX,OAAQ,EACR,KAAM,EAAS,YAAY,oBAIvB,GAAW,EAAO,QAIvB,EAAQ,GAAQ,QAAQ,CACvB,KAAM,EAAO,KACb,IAAK,EAAK,KAEZ,IAEA,EAAE,KAAK,EAAK,SAAS,SAAS,SAAU,GACvC,IAAI,EAAS,EAAS,oBAAoB,CACzC,KAAM,EAAO,KACb,OAAQ,EACR,KAAM,EAAS,YAAY,oBAIvB,GAAW,EAAO,QAIvB,EAAQ,GAAQ,UAAU,CACzB,MAAO,EAAO,MACd,KAAM,EAAO,KACb,OAAQ,EAAO,OACf,MAAO,EAAO,OAEhB,IAEO,CACR,CAEA,SAAS,QAAQ,EAAM,GACtB,OAAO,QAAQ,MAAM,CACpB,KAAM,YAAY,GAClB,UAAW,kBAAkB,IAE/B,CAEA,SAAS,kBAAkB,GAY1B,OAXK,EAAE,cAAc,KACf,EAAE,QAAQ,KACd,EAAa,CAAC,IAEf,EAAa,EAAE,OAAO,GAAY,SAAU,EAAM,GAGjD,OADA,EADU,KAAK,SAAS,GAAW,QAAQ,eAAgB,KAAO,OACtD,EACL,CACR,GAAG,CAAC,IAGE,QAAQ,MAAM,EAAE,UAAU,GAAY,SAAU,GACtD,OAAO,GAAG,cAAc,EAAS,QAAQ,MAAK,SAAU,GACvD,MAA8B,SAA1B,KAAK,QAAQ,GACT,EAAK,WAGL,QAAQ,WAAW,GAAM,GAAM,UAExC,IAAG,MAAK,SAAU,GACjB,MAAO,CACN,KAAM,EACN,SAAU,IAAI,UAAU,kBAAkB,GAE5C,GACD,IACD,CAEA,SAAS,YAAY,GACpB,OAAO,UAAU,GAAM,MAAK,SAAU,GACrC,OAAO,EAAE,MAAM,GAAM,KAAI,SAAU,GAElC,MAAO,CADI,KAAK,SAAS,EAAK,KAAM,OAGnC,EAEF,IAAG,YAAY,OAChB,GACD,CA/LA,OAAO,QAAU,OAAO,QAAQ,QAAU,QAC1C,OAAO,QAAQ,UAAY","file":"/npm/lcov-sourcemap-x@0.3.3/lib/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/lcov-sourcemap-x@0.3.3/lib/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","\"use strict\";\n\nvar path = require(\"path\"),\n\t_ = require(\"lodash\"),\n\tPromise = require(\"bluebird\"),\n\tsourceMap = require(\"source-map\"),\n\tconvert = require(\"convert-source-map\"),\n\tfs = Promise.promisifyAll(require(\"fs\")),\n\tlcovParse = Promise.promisify(require(\"lcov-parse\"));\n\nvar File = require(\"./File\");\n\nmodule.exports = module.exports.getLcov = getLcov;\nmodule.exports.writeLcov = writeLcov;\n\nfunction getLcov(lcov, sourcemaps, sourceDir) {\n\treturn getTransformedFiles(lcov, sourcemaps, sourceDir).then(function (files) {\n\t\treturn getOutputLcov(files, sourceDir);\n\t});\n}\n\nfunction writeLcov(lcov, sourcemaps, sourceDir, outputFile) {\n\treturn getLcov(lcov, sourcemaps, sourceDir).then(function (lcov) {\n\t\treturn fs.writeFileAsync(outputFile, lcov);\n\t});\n}\n\nfunction getOutputLcov(files, sourceDir) {\n\tsourceDir = sourceDir || process.cwd();\n\n\treturn Promise.all(_.map(files, function (file) {\n\t\t// Check if used package tool like webpack or otherwise\n\t\tlet match = file.path.match(/^\\.\\/([a-z]*?):\\/\\/(.*)/i);\n\t\tif (match != null) {\n\t\t\tlet protocol = match[1],\n\t\t\t\tbundlerPath = match[2];\n\t\t\tif (protocol != \"file\" && bundlerPath[0] === \"/\") {\n\t\t\t\tbundlerPath = bundlerPath.substr(1);\n\t\t\t}\n\t\t\tfile.path = bundlerPath;\n\t\t}\n\n\t\treturn new Promise(function (resolve) {\n\t\t\tfs.exists(path.resolve(sourceDir, file.path), function (exists) {\n\t\t\t\tif (!exists) {\n\t\t\t\t\tresolve(null);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tresolve(file);\n\t\t\t});\n\t\t});\n\t})).then(function (files) {\n\t\treturn _.filter(files);\n\t}).then(function (files) {\n\t\tvar output = [];\n\n\t\t_.each(files, function (file) {\n\t\t\toutput.push(file.toString());\n\t\t});\n\n\t\treturn output.join(\"\\n\");\n\t});\n}\n\nfunction getTransformedFiles(lcov, sourcemaps, sourceDir) {\n\treturn getData(lcov, sourcemaps).then(function (data) {\n\t\treturn _.chain(data.lcov).map(function (lcov, key) {\n\t\t\tvar sourcemap = data.sourcemap[key];\n\t\t\tif (!sourcemap) {\n\t\t\t\tthrow new Error(\"Missing sourcemap: \" + key);\n\t\t\t}\n\t\t\treturn transformLcovMap(lcov, sourcemap, sourceDir);\n\t\t}).map(function (group) {\n\t\t\treturn _.values(group);\n\t\t}).flatten().value();\n\t});\n}\n\nfunction transformLcovMap(lcov, sourcemap, sourceDir) {\n\tvar consumer = sourcemap.consumer;\n\n\tvar files = {};\n\n\tvar getFile;\n\tif (!consumer.sourceRoot) {\n\t\t// sourcemaps without sourceRoot will be relative to dist\n\t\tgetFile = function (source) {\n\t\t\tvar fn = \".\" + path.sep + path.relative(sourceDir, path.join(path.dirname(sourcemap.path), source.source));\n\t\t\treturn files[fn] = files[fn] || new File(fn);\n\t\t};\n\t} else {\n\t\tgetFile = function (source) {\n\t\t\tvar fn = source.source.replace(consumer.sourceRoot, \"./\");\n\t\t\treturn files[fn] = files[fn] || new File(fn);\n\t\t};\n\t}\n\n\t_.each(lcov.functions.details, function (func) {\n\t\tvar source = consumer.originalPositionFor({\n\t\t\tline: func.line,\n\t\t\tcolumn: 0,\n\t\t\tbias: consumer.constructor.LEAST_UPPER_BOUND\n\t\t});\n\n\t\t// Can't find it in source map, fuhgeddaboudit\n\t\tif (!source || !source.source) {\n\t\t\treturn;\n\t\t}\n\n\t\tgetFile(source).addFunction({\n\t\t\tname: func.name,\n\t\t\tline: source.line,\n\t\t\thit: func.hit\n\t\t});\n\t});\n\n\t_.each(lcov.lines.details, function (line) {\n\t\tvar source = consumer.originalPositionFor({\n\t\t\tline: line.line,\n\t\t\tcolumn: 0,\n\t\t\tbias: consumer.constructor.LEAST_UPPER_BOUND\n\t\t});\n\n\t\t// Can't find it in source map, fuhgeddaboudit\n\t\tif (!source || !source.source) {\n\t\t\treturn;\n\t\t}\n\n\t\tgetFile(source).addLine({\n\t\t\tline: source.line,\n\t\t\thit: line.hit\n\t\t});\n\t});\n\n\t_.each(lcov.branches.details, function (branch) {\n\t\tvar source = consumer.originalPositionFor({\n\t\t\tline: branch.line,\n\t\t\tcolumn: 0,\n\t\t\tbias: consumer.constructor.LEAST_UPPER_BOUND\n\t\t});\n\n\t\t// Can't find it in source map, fuhgeddaboudit\n\t\tif (!source || !source.source) {\n\t\t\treturn;\n\t\t}\n\n\t\tgetFile(source).addBranch({\n\t\t\tblock: branch.block,\n\t\t\tline: source.line,\n\t\t\tbranch: branch.branch,\n\t\t\ttaken: branch.taken\n\t\t});\n\t});\n\n\treturn files;\n}\n\nfunction getData(lcov, sourcemaps) {\n\treturn Promise.props({\n\t\tlcov: getLcovData(lcov),\n\t\tsourcemap: getSourcemapsData(sourcemaps)\n\t});\n}\n\nfunction getSourcemapsData(sourcemaps) {\n\tif (!_.isPlainObject(sourcemaps)) {\n\t\tif (!_.isArray(sourcemaps)) {\n\t\t\tsourcemaps = [sourcemaps];\n\t\t}\n\t\tsourcemaps = _.reduce(sourcemaps, function (memo, sourcemap) {\n\t\t\tvar key = path.basename(sourcemap).replace(/(.js)?.map$/i, \"\") || \"map\";\n\t\t\tmemo[key] = sourcemap;\n\t\t\treturn memo;\n\t\t}, {});\n\t}\n\n\treturn Promise.props(_.mapValues(sourcemaps, function (mapFile) {\n\t\treturn fs.readFileAsync(mapFile, \"utf8\").then(function (file) {\n\t\t\tif (path.extname(mapFile) === \".map\") {\n\t\t\t\treturn file.toString();\n\t\t\t} else {\n\t\t\t\t// Accept non .map files, include the ability to use commented out source\n\t\t\t\treturn convert.fromSource(file, true).toObject();\n\t\t\t}\n\t\t}).then(function (content) {\n\t\t\treturn {\n\t\t\t\tpath: mapFile,\n\t\t\t\tconsumer: new sourceMap.SourceMapConsumer(content)\n\t\t\t};\n\t\t});\n\t}));\n}\n\nfunction getLcovData(lcov) {\n\treturn lcovParse(lcov).then(function (data) {\n\t\treturn _.chain(data).map(function (item) {\n\t\t\tvar name = path.basename(item.file, \".js\");\n\t\t\treturn [\n\t\t\t\tname,\n\t\t\t\titem\n\t\t\t];\n\t\t}).zipObject().value();\n\t});\n}\n"]}