{"version":3,"sources":["jsdelivr-header.js","/npm/combine-css@0.0.2/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,IAAI,QAAU,QAAQ,WAClB,SAAW,QAAQ,YACnB,GAAK,QAAQ,MACb,KAAO,QAAQ,QACf,KAAO,QAAQ,SAEnB,OAAO,QAAU,SAAS,GACtB,IAII,GAFJ,EAAU,GAAW,CAAC,GAEI,aAAe,IACrC,EAAgB,EAAQ,eAAiB,EACzC,EAAS,EAAQ,QAAU,SAE3B,EAAS,GACT,EAAoB,GACpB,EAAY,KACZ,EAA0B,EAC1B,EAA2B,EAE/B,SAAS,IACL,EAAkB,KAAK,GACvB,EAAS,GACT,EAA0B,EAC1B,EAA2B,CAC/B,CAiDA,OAAO,SA/CP,SAAwB,GACpB,IAAI,EAAK,SAAT,CACA,GAAI,EAAK,WAAY,OAAO,KAAK,KAAK,QAAS,IAAI,MAvBtC,cAuByD,4BAEjE,IAAW,EAAY,GAE5B,IAAI,EAAe,EAAK,SAAS,SAAS,QACtC,EAAa,EAAa,OAE9B,GAAI,EAAJ,CAEG,EAAO,QAAU,EAA0B,EAAa,GACvD,IAKJ,IAAI,EAAgB,SAAS,WAAW,SAAS,UAAU,IAAe,MAAM,mBAAmB,OAEhG,EAAO,QAAU,EAA2B,EAAgB,GAC3D,IAGJ,EAAO,KAAK,GACZ,GAA2B,EAC3B,GAA4B,CAhBN,CARG,CAyB7B,IAEA,WACQ,EAAO,OAAS,GAChB,EAAkB,KAAK,GAGK,IAA7B,EAAkB,QAAc,KAAK,KAAK,OAE7C,EAAkB,IAAI,SAAS,EAAkB,GAC7C,KAAK,KAAK,IAAI,KAAK,CACf,IAAK,EAAU,IACf,KAAM,EAAU,KAChB,KAAM,KAAK,KAAK,EAAU,KAAM,EAAS,EAAQ,QACjD,SAAU,IAAI,OAAO,EAAiB,KAAK,OAGnD,EAAE,KAAK,OACP,KAAK,KAAK,MACd,GAGJ","file":"/npm/combine-css@0.0.2/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/combine-css@0.0.2/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","var through = require('through');\r\nvar gonzales = require('gonzales');\r\nvar os = require('os');\r\nvar path = require('path');\r\nvar File = require('vinyl');\r\n\r\nmodule.exports = function(options){\r\n    var pluginName = 'combine-css';\r\n\r\n    options = options || {};\r\n\r\n    var lengthLimit = options.lengthLimit || 999,\r\n        selectorLimit = options.selectorLimit || 4,\r\n        prefix = options.prefix || 'style-';\r\n\r\n    var buffer = [],\r\n        resultFileBuffers = [],\r\n        firstFile = null,\r\n        currentResultFileLength = 0,\r\n        currentNumberOfSelectors = 0;\r\n\r\n    function endFile(){\r\n        resultFileBuffers.push(buffer);\r\n        buffer = [];\r\n        currentResultFileLength = 0;\r\n        currentNumberOfSelectors = 0;\r\n    }\r\n\r\n    function bufferContents(file){\r\n        if (file.isNull()) return; // ignore\r\n        if (file.isStream()) return this.emit('error', new Error(pluginName,  'Streaming not supported'));\r\n\r\n        if (!firstFile) firstFile = file;\r\n\r\n        var fileContents = file.contents.toString('utf8'),\r\n            fileLength = fileContents.length;\r\n\r\n        if(!fileLength) return;\r\n\r\n        if(buffer.length && currentResultFileLength + fileLength > lengthLimit){\r\n            endFile();\r\n        }\r\n\r\n\r\n        //get selector count\r\n        var selectorCount = gonzales.csspToTree(gonzales.srcToCSSP(fileContents)).match(/simpleselector/g).length;\r\n\r\n        if(buffer.length && currentNumberOfSelectors + selectorCount > selectorLimit){\r\n            endFile();\r\n        }\r\n\r\n        buffer.push(fileContents);\r\n        currentResultFileLength += fileLength;\r\n        currentNumberOfSelectors += selectorCount;\r\n    }\r\n\r\n    function endStream(){\r\n        if (buffer.length > 0){\r\n            resultFileBuffers.push(buffer);\r\n        }\r\n\r\n        if(resultFileBuffers.length === 0) this.emit('end');\r\n\r\n        resultFileBuffers.map(function(resultFileBuffer, index){\r\n            this.push(new File({\r\n                cwd: firstFile.cwd,\r\n                base: firstFile.base,\r\n                path: path.join(firstFile.base, prefix + index + '.css'),\r\n                contents: new Buffer(resultFileBuffer.join(''))\r\n            }));\r\n\r\n        }.bind(this));\r\n        this.emit('end');\r\n    }\r\n\r\n    return through(bufferContents, endStream);\r\n};"]}