{"version":3,"sources":["jsdelivr-header.js","/npm/files-io@4.0.1/lib/files.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aAEA,MAAM,iBACF,iBAAgB,kBAChB,mBACA,QAAQ,OACN,SAAC,UAAY,QAAQ,eACrB,KAAO,QAAQ,QACf,OAAS,QAAQ,UAEjB,KAAO,QAAQ,YACf,OAAC,QAAU,OAkCjB,eAAe,UAAU,EAAM,EAAO,EAAU,CAAC,GAC7C,MAAM,EAA4B,iBAAT,EACnB,EAA8B,iBAAV,EACpB,EAAc,CAChB,WAAY,MAGhB,OAAO,EAAM,4BACb,OAAO,EAAO,6BAEd,MAAM,MACF,EAAK,KACL,EAAI,OACJ,GACA,EAcJ,IAAI,EAZA,GACA,OAAO,EAAa,CAChB,MAAO,EAAM,MACb,IAAK,EAAM,MAGf,IACA,EAAO,iBAAiB,EAAM,IAE9B,IACA,EAAQ,kBAAkB,IAG9B,IAAI,EAAU,GAET,GAAS,GAIN,EADA,EACM,KAAK,aAEL,KAAK,eAEf,EAAU,CAAC,EAAM,EAAK,IAPtB,EAAU,CAAC,EAAM,SAUf,KAAK,EAAS,EACxB,CA3EA,OAAO,QAAQ,KAAO,MAAO,EAAO,KAChC,MAAM,EAAY,CAAC,EAEnB,OAAO,EAAO,6BAEd,IAAK,MAAM,KAAQ,EAAO,CACtB,MAAM,QAAa,SAAS,EAAM,GAClC,EAAU,GAAQ,CACtB,CAEA,OAAO,CAAS,EAGpB,OAAO,QAAQ,SAAW,eAAe,EAAS,EAAO,EAAO,EAAU,CAAC,MAAM,IAC7E,MAAM,OAAC,GAAU,EAEjB,IAAK,EACD,OAAO,EAAM,MAEjB,MAAO,GAAQ,EAET,EAAM,IACL,EACH,KAAK,SAGH,UAAU,EAAM,EAAO,SACvB,EAAS,EAAM,MAAM,GAAI,EAAO,EAC1C,EAEA,OAAO,QAAQ,KAAO","file":"/npm/files-io@4.0.1/lib/files.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.37.0.\n * Original file: /npm/files-io@4.0.1/lib/files.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\nconst {\n    createReadStream,\n    createWriteStream,\n} = require('fs');\nconst {readFile} = require('fs/promises');\nconst zlib = require('zlib');\nconst assert = require('assert');\n\nconst pipe = require('pipe-io');\nconst {assign} = Object;\n\nmodule.exports.read = async (files, options) => {\n    const filesData = {};\n    \n    assert(files, 'files could not be empty!');\n    \n    for (const name of files) {\n        const data = await readFile(name, options);\n        filesData[name] = data;\n    }\n    \n    return filesData;\n};\n\nmodule.exports.readPipe = async function readPipe(names, write, options = {gzip: false}) {\n    const {length} = names;\n    \n    if (!length)\n        return write.end();\n    \n    const [name] = names;\n    \n    const opt = {\n        ...options,\n        end: false,\n    };\n    \n    await pipeFiles(name, write, opt);\n    await readPipe(names.slice(1), write, opt);\n};\n\nmodule.exports.pipe = pipeFiles;\n\nasync function pipeFiles(read, write, options = {}) {\n    const isStrRead = typeof read === 'string';\n    const isStrWrite = typeof write === 'string';\n    const optionsRead = {\n        bufferSize: 4 * 1024,\n    };\n    \n    assert(read, 'read could not be empty!');\n    assert(write, 'write could not be empty!');\n    \n    const {\n        range,\n        gzip,\n        gunzip,\n    } = options;\n    \n    if (range)\n        assign(optionsRead, {\n            start: range.start,\n            end: range.end,\n        });\n    \n    if (isStrRead)\n        read = createReadStream(read, optionsRead);\n    \n    if (isStrWrite)\n        write = createWriteStream(write);\n    \n    let zip;\n    let streams = [];\n    \n    if (!gzip && !gunzip) {\n        streams = [read, write];\n    } else {\n        if (gzip)\n            zip = zlib.createGzip();\n        else\n            zip = zlib.createGunzip();\n        \n        streams = [read, zip, write];\n    }\n    \n    await pipe(streams, options);\n}\n\n"]}