{"version":3,"sources":["jsdelivr-header.js","/npm/gulp-prefix-business@0.0.1/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aACA,IAKI,UALA,QAAU,QAAQ,YAClB,IAAM,QAAQ,OACd,QAAU,QAAQ,YAClB,QAAU,QAAQ,WAClB,OAAU,QAAQ,iBAGtB,UAAY,SAAS,EAAW,EAAM,EAAQ,GAC5C,OAAO,SAAS,GACd,EAAK,aAAa,GAAM,SAAS,GAI/B,IAAI,EAGD,SAAS,EAAc,GACrB,IAAI,EAAY,EAAM,MAAM,KAC5B,GAAG,EAAU,OAAS,GACwB,IAAzC,EAAU,EAAU,OAAO,GAAG,OAAa,CAC5C,IAAI,EAAY,GACd,EAAU,QAAQ,EAAE,GACpB,IAAI,IAAI,EAAE,EAAE,EAAE,EAAU,OAAO,IACxB,IAAI,EAAU,OAAO,EACpB,GAAY,EAAU,GAEtB,GAAa,EAAU,GAAI,IAGnC,OAAO,CACX,CAEF,OAAO,CACT,CAiBH,KAvCA,EAAM,IAAI,MAAM,GAAK,GAAO,IAuCrB,MAAS,EAAI,OAId,GADkC,IAAnC,EAAI,KAAK,QAAQ,eACP,EAAU,cAdzB,SAAiB,GACb,IAAI,IAAI,EAAE,EAAE,EAAE,EAAG,OAAO,IACtB,GAAG,EAAG,KAAO,EAAc,GACzB,OAAO,EAGX,OAAO,CACX,CASU,CAAQ,EAAI,MAGH,EAAU,aAFV,EAAU,aAOO,IAA/B,EAAI,KAAK,QAAQ,YAIjB,kCAAkC,KAAK,EAAI,SAK5C,IAAW,IAAI,OAAO,GAAS,KAAK,EAAI,QAA5C,CAIA,IAAI,EAAiC,mBAAX,EAAyB,EAAO,GAAO,EAEjE,EAAK,aAAa,EAAM,QAAQ,EAAa,EAAI,MAJjD,CAKF,GACF,CACF,EAEA,OAAO,QAAU,SAAS,EAAQ,EAAW,EAAO,GAElD,OAAO,QAAQ,KAAI,SAAS,EAAM,EAAK,GAcrC,GAVK,IACH,EAAY,CACZ,CAAE,MAAO,cAAe,KAAM,OAC9B,CAAE,MAAO,aAAc,KAAM,QAC7B,CAAE,MAAO,WAAY,KAAM,OAC3B,CAAE,MAAO,aAAc,KAAM,OAC7B,CAAE,MAAO,mBAAoB,KAAM,iBAIjC,EAGC,CACH,IAAI,EAAK,UAET,IAAK,IAAI,KAAK,EACZ,EAAG,UAAU,EAAU,GAAG,MAAO,UAAU,EAAQ,EAAU,GAAG,KAAM,EAAO,IAE/E,EAAG,KAAK,QAAO,SAAU,GACnB,MAAM,QAAQ,IAAyB,IAAhB,EAAK,SAAc,EAAO,MACrD,EAAK,SAAW,EAChB,EAAG,KAAM,EACX,KAEA,EAAK,KAAK,EACZ,MAfE,EAAG,KAAM,EAgBb,GACF","file":"/npm/gulp-prefix-business@0.0.1/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/gulp-prefix-business@0.0.1/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';\nvar through = require('through2'),\n    url = require(\"url\"),\n    urljoin = require(\"url-join\"),\n    trumpet = require(\"trumpet\"),\n    concat  = require(\"concat-stream\"),\n    _prefixer;\n\n_prefixer = function(prefixObj, attr, invalid,wl) {\n  return function(node) {\n    node.getAttribute(attr, function(uri) {\n\n      uri = url.parse(uri, false, true);\n\n      var prefix;\n\n        //获取去掉md5的路径\n         function getDelMd5Path(input) {\n           var pathArray = input.split('.');\n           if(pathArray.length > 2){\n             if(pathArray[pathArray.length-2].length === 8){\n               var delMd5Path ='';\n                 pathArray.splice(-2,1)\n                 for(var k=0;k<pathArray.length;k++){\n                     if(k===pathArray.length-1){\n                         delMd5Path+=pathArray[k];\n                     }else {\n                         delMd5Path+=(pathArray[k]+ '.');\n                     }\n                 }\n                 return delMd5Path;\n             }\n           }\n           return input;\n         }\n\n        /**\n         * 是否在白名单中\n         * @param input\n         * @returns {boolean}\n         */\n      function isExist(input) {\n          for(var i=0;i<wl.length;i++){\n            if(wl[i] === getDelMd5Path(input)){\n              return true;\n            }\n          }\n          return false;\n      }\n\n\n      if(uri.host || !uri.path)\n        return;\n\n        if(uri.path.indexOf('favicon.ico')!==-1){\n            prefix = prefixObj.faviconPrefix;\n        }else{\n            if(!isExist(uri.path)){\n                prefix = prefixObj.contextPath;\n            }else {\n                prefix = prefixObj.sourcePrefix;\n            }\n\n        }\n\n        if(uri.path.indexOf('void(0)')!==-1){\n            return;\n        }\n\n      if (!/^[!#$&-;=?-\\[\\]_a-z~\\.\\/\\{\\}]+$/.test(uri.path)) {\n        return;\n      }\n\n\n      if (invalid && new RegExp(invalid).test(uri.path)){\n        return;\n      }\n\n      var file_prefix = (typeof prefix === 'function') ? prefix(uri) : prefix;\n\n      node.setAttribute(attr, urljoin(file_prefix, uri.path));\n    });\n  };\n};\n\nmodule.exports = function(prefix, selectors, ignore,wl) {\n\n  return through.obj(function(file, enc, cb) {\n\n\n\n    if (!selectors) {\n      selectors = [\n      { match: \"script[src]\", attr: \"src\" },\n      { match: \"link[href]\", attr: \"href\"},\n      { match: \"img[src]\", attr: \"src\"},\n      { match: \"input[src]\", attr: \"src\"},\n      { match: \"img[data-ng-src]\", attr: \"data-ng-src\"}\n      ];\n    }\n    \n    if(!prefix)\n      cb(null, file);\n\n    else {\n      var tr = trumpet();\n      \n      for (var a in selectors)\n        tr.selectAll(selectors[a].match, _prefixer(prefix, selectors[a].attr, ignore,wl))\n\n      tr.pipe(concat(function (data) {\n        if (Array.isArray(data) && data.length === 0) data = null;\n        file.contents = data;\n        cb(null, file);\n      }));\n\n      file.pipe(tr);\n    } \n  });\n};\n"]}