{"version":3,"sources":["jsdelivr-header.js","/npm/atool-doc-js-loader@0.1.0/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,MAAM,GAAK,QAAQ,MACb,KAAO,QAAQ,QAEf,YAAc,QAAQ,gBACtB,IAAM,QAAQ,OAEd,KAAO,QAAQ,kBAErB,SAAS,kBAAkB,EAAK,GAC9B,MAAM,EAAW,KAAK,SAAS,EAAK,GACpC,OAAO,KAAK,KAAK,KAAK,QAAQ,GAAW,GAAG,KAAK,SAAS,EAAU,KAAK,QAAQ,WACnF,CAEA,OAAO,QAAU,SAAS,GACxB,KAAK,WAAa,KAAK,YAEvB,MAAM,EAAU,KAAK,QACf,EAAe,KAAK,aACpB,EAAW,IAAI,KAAK,SAAS,EAAQ,IAAK,EAAQ,WAAY,GAI9D,EAFQ,YAAY,WAAW,KAAK,OAExB,SAClB,KAAK,cAAc,GAEnB,MAAM,EAAU,CACd,KAAK,SAAS,EAAc,KAAK,KAAK,EAAS,SAAU,cACzD,GAAG,EAAS,WAGR,EAAO,CAAC,EACd,EAAY,MAAI,KAAK,SAAS,MAAO,KAAK,SAAS,EAAS,KAAM,YAClE,OAAO,KAAK,EAAQ,OAAO,SAAQ,SAAS,GAC1C,EAAK,KAAK,SAAS,EAAQ,WAAY,IAAQ,KAAK,SAAS,MAAO,KAAK,SAAS,EAAS,KAAM,GACnG,IAEA,MAAM,EAAO,IAAI,OAAO,GAAG,aAAa,EAAK,SAAU,CACrD,KAAM,CACJ,KAAM,EACN,MAAO,EAAS,cAAgB,EAAS,IACzC,SAAU,EACV,OAAQ,EACR,KAAM,KAAK,OAAO,CAAC,CACjB,KAAM,KACN,SAAU,QACT,CACD,KAAM,OACN,MAAO,CACL,KAAM,MAER,SAAU,QAOhB,OAFA,KAAK,SAAS,kBAAkB,EAAQ,IAAK,GAAe,GAErD,CACT","file":"/npm/atool-doc-js-loader@0.1.0/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/atool-doc-js-loader@0.1.0/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","const fs = require('fs');\nconst path = require('path');\n\nconst loaderUtils = require('loader-utils');\nconst ejs = require('ejs');\n\nconst util = require('atool-doc-util');\n\nfunction calculateHtmlPath(cwd, source) {\n  const selfPath = path.relative(cwd, source);\n  return path.join(path.dirname(selfPath), `${path.basename(selfPath, path.extname(selfPath))}.html`);\n}\n\nmodule.exports = function(content) {\n  this.cacheable && this.cacheable();\n\n  const options = this.options;\n  const resourcePath = this.resourcePath;\n  const resource = new util.Resource(options.cwd, options.demoSource, resourcePath);\n\n  const query = loaderUtils.parseQuery(this.query);\n\n  const tpl = query.template;\n  this.addDependency(tpl);\n\n  const scripts = [\n    path.relative(resourcePath, path.join(resource.demoPath, 'common.js')),\n    `${resource.name}.js`,\n  ];\n\n  const link = {};\n  link['Index'] = path.relative('../', path.relative(resource.path, './index'));\n  Object.keys(options.entry).forEach(function(key) {\n    link[path.relative(options.demoSource, key)] = path.relative('../', path.relative(resource.path, key));\n  });\n\n  const html = ejs.render(fs.readFileSync(tpl, 'utf-8'), {\n    file: {\n      link: link,\n      title: resource.relativeToCwd + resource.ext,\n      resource: resource,\n      script: scripts,\n      desc: util.marked([{\n        type: 'h2',\n        children: 'code',\n      }, {\n        type: 'code',\n        props: {\n          lang: 'js',\n        },\n        children: content,\n      }]),\n    },\n  });\n\n  this.emitFile(calculateHtmlPath(options.cwd, resourcePath), html);\n\n  return content;\n}\n"]}