{"version":3,"sources":["jsdelivr-header.js","/npm/read-env-file@2.0.3-0/lib/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aACA,OAAO,eAAe,QAAS,aAAc,CAAE,OAAO,IACtD,MAAM,KAAO,QAAQ,MACf,OAAS,QAAQ,QACvB,SAAS,YAAY,GAEjB,MADY,IAAI,EAAI,WACT,QAAO,CAAC,EAAS,KACxB,MAAO,EAAG,GAAK,EAEf,OADA,EAAQ,GAAK,EACN,CAAO,GACf,CAAC,EACR,CACA,SAAS,cAAc,GACnB,MAAO,CAAC,IAAM,IAAK,KAAK,MAAM,GACnB,EAAM,WAAW,IAAU,EAAM,SAAS,IAEzD,CACA,SAAS,uBAAuB,GAC5B,IAAI,EAAS,EAIb,OAHI,cAAc,KACd,EAAS,EAAM,MAAM,EAAG,EAAM,OAAS,IAEpC,CACX,CACA,SAAS,cAAc,GAEnB,OADA,EAAO,GAAQ,OAAO,QAAQ,QAAQ,MAAO,QACtC,OAAO,WAAW,GAAQ,EAAO,OAAO,QAAQ,QAAQ,MAAO,EAC1E,CACA,SAAS,mBAAmB,EAAK,EAAO,GACpC,MAAM,GAAU,IAAQ,EAClB,EAAS,cAAc,GACvB,EAAe,KAAK,KAAK,KAAU,GAAU,KAAK,KAAK,GACvD,GAAgB,GAAU,EAAM,MAAM,KAAK,OAAS,EAE1D,GAAI,GAAS,GAAgB,EAAa,CACtC,IAAI,EAOJ,MANI,EACA,GAAY,EAAM,QAAU,OAAnB,aACJ,EACL,EAAS,kBACJ,IACL,EAAS,iCACP,IAAI,MAAM,UAAU,KAAU,EAAQ,IAChD,CACJ,CACA,SAAS,YAAY,GACjB,MAAM,EAAM,IAAI,IAgBhB,OAfA,EACK,SAAQ,CAAC,EAAM,KAGhB,GAAoB,KAFpB,EAAO,EAAK,QAEH,QAA4B,MAAZ,EAAK,GAC1B,OACJ,MAAM,EAAY,EAAK,MAAM,KACvB,GAAO,EAAU,IAAM,IAAI,OAC3B,GAAS,EAAU,MAAM,GAAG,KAAK,MAAQ,IAAI,OAEnD,mBAAmB,EAAK,EAAO,GAE/B,MAAM,EAAW,uBAAuB,GACxC,EAAI,IAAI,EAAK,EAAS,IAEnB,CACX,CACA,SAAS,eAAe,EAAM,GAC1B,IACI,MAAM,EAAQ,EAAQ,MAAM,MAE5B,OAAO,YADK,YAAY,GAE5B,CACA,MAAO,GACH,MAAM,EAAU,EAAM,SAAW,GACjC,IAAI,EACJ,GAAI,EAAQ,SAAS,WAAY,CAC7B,MAAM,EAAW,EAAQ,MAAM,KAAK,MAAM,GACpC,EAAS,EAAS,GAClB,EAAO,SAAS,EAAS,GAAI,IACnC,EAAM,IAAI,MAAM,wBAAwB,SAAc,KAAQ,IAClE,MAEI,EAAM,EACV,MAAM,CACV,CACJ,CAOA,eAAe,WAAW,GACtB,MAAM,EAAO,cAAc,GAC3B,OAAO,IAAI,SAAQ,CAAC,EAAS,KACzB,KAAK,SAAS,EAAM,CAAE,SAAU,SAAU,CAAC,EAAK,KACxC,GACA,EAAO,GACX,IACI,EAAQ,eAAe,EAAM,GACjC,CACA,MAAO,GACH,EAAO,EACX,IACF,GAEV,CAqBA,eAAe,aAAa,GACxB,MAAM,EAAe,EAAM,KAAK,GAAM,WAAW,KAEjD,aADyB,QAAQ,IAAI,IACnB,QAAO,CAAC,EAAS,IACxB,OAAO,OAAO,OAAO,OAAO,CAAC,EAAG,GAAU,IAClD,CAAC,EACR,CA1BA,QAAQ,WAAa,WAOrB,WAAW,KAAQ,IACf,MAAM,EAAO,cAAc,GAE3B,OAAO,eAAe,EADN,KAAK,aAAa,EAAM,QACJ,EAiBxC,QAAQ,aAAe,aASvB,aAAa,KAAQ,GACV,EAAM,QAAO,CAAC,EAAS,KAC1B,MAAM,EAAM,WAAW,KAAK,GAC5B,OAAO,OAAO,OAAO,OAAO,OAAO,CAAC,EAAG,GAAU,EAAI,GACtD,CAAC","file":"/npm/read-env-file@2.0.3-0/lib/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/read-env-file@2.0.3-0/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\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst fs_1 = require(\"fs\");\nconst path_1 = require(\"path\");\nfunction mapToObject(map) {\n    const arr = [...map.entries()];\n    return arr.reduce((carrier, entry) => {\n        const [k, v] = entry;\n        carrier[k] = v;\n        return carrier;\n    }, {});\n}\nfunction isValueQuoted(value) {\n    return ['\\'', '\"', '`'].some((quote) => {\n        return value.startsWith(quote) && value.endsWith(quote);\n    });\n}\nfunction stripSurroundingQuotes(value) {\n    let result = value;\n    if (isValueQuoted(value)) {\n        result = value.slice(1, value.length - 1);\n    }\n    return result;\n}\nfunction normalizePath(path) {\n    path = path || path_1.resolve(process.cwd(), '.env');\n    return path_1.isAbsolute(path) ? path : path_1.resolve(process.cwd(), path);\n}\nfunction checkInvalidFormat(key, value, index) {\n    const undef = (!key || !value);\n    const quoted = isValueQuoted(value);\n    const invalidSpace = /\\s/.test(key) || (!quoted && /\\s/.test(value));\n    const multiAssign = (!quoted && value.split('=').length > 1);\n    /* No key, No value, Key OR Value contain a space */\n    if (undef || invalidSpace || multiAssign) {\n        let reason;\n        if (undef)\n            reason = `${key ? 'value' : 'key'} undefined`;\n        else if (invalidSpace)\n            reason = 'invalid spacing';\n        else if (multiAssign)\n            reason = 'multiple assignment operators';\n        throw new Error(`FORMAT:${reason}:${index + 1}`);\n    }\n}\nfunction makeVarsMap(lines) {\n    const map = new Map();\n    lines\n        .forEach((line, index) => {\n        line = line.trim();\n        /* Skip empty and commented lines, preserving index for line count */\n        if (line.length === 0 || line[0] === '#')\n            return;\n        const splitLine = line.split('=');\n        const key = (splitLine[0] || '').trim();\n        const value = (splitLine.slice(1).join('=') || '').trim();\n        /* Check some error conditions and throw if met */\n        checkInvalidFormat(key, value, index);\n        /* If value was quoted, the asigned value should not invlude the quotes */\n        const mapValue = stripSurroundingQuotes(value);\n        map.set(key, mapValue);\n    });\n    return map;\n}\nfunction processContent(path, content) {\n    try {\n        const lines = content.split('\\n');\n        const map = makeVarsMap(lines);\n        return mapToObject(map);\n    }\n    catch (error) {\n        const message = error.message || '';\n        let err;\n        if (message.includes('FORMAT:')) {\n            const splitMsg = message.split(':').slice(1);\n            const reason = splitMsg[0];\n            const line = parseInt(splitMsg[1], 10);\n            err = new Error(`Invalid file format (${reason}) at ${path}:${line}`);\n        }\n        else\n            err = error;\n        throw err;\n    }\n}\n/**\n * Given a path to a file in .env format, returns key/value pairs in an object.\n * @param {string} [path] The file path to read. If omitted, attempts to read from `./.env`\n * @returns {Promise<EnvVars>} An object of corresponding key/value pairs\n * @throws Error if file is not in valid format, or file is not found\n */\nasync function readSingle(path) {\n    const file = normalizePath(path);\n    return new Promise((resolve, reject) => {\n        fs_1.readFile(file, { encoding: 'utf8' }, (err, content) => {\n            if (err)\n                reject(err);\n            try {\n                resolve(processContent(file, content));\n            }\n            catch (error) {\n                reject(error);\n            }\n        });\n    });\n}\nexports.readSingle = readSingle;\n/**\n * Given a path to a file in .env format, returns key/value pairs in an object.\n * @param {string} [path] The file path to read. If omitted, attempts to read from `./.env`\n * @returns {EnvVars} An object of corresponding key/value pairs\n * @throws Error if file is not in valid format, or file is not found\n */\nreadSingle.sync = (path) => {\n    const file = normalizePath(path);\n    const content = fs_1.readFileSync(file, 'utf8');\n    return processContent(file, content);\n};\n/**\n * @description Given an array of paths, will read each and add the key/value\n * pairs to an object which is returned at the end. Any re-used keys will be overwritten by\n * the most recent value.\n * @param {string[]} paths An array of file paths to read.\n * @returns {Promise<EnvVars>} An aggregate object of key/value pairs\n * @throws Error if any file is not in valid format or not found\n */\nasync function readMultiple(paths) {\n    const readPromises = paths.map((p) => readSingle(p));\n    const varObjects = await Promise.all(readPromises);\n    return varObjects.reduce((carrier, varObject) => {\n        return Object.assign(Object.assign({}, carrier), varObject);\n    }, {});\n}\nexports.readMultiple = readMultiple;\n/**\n * @description Given an array of paths, will read each and add the key/value\n * pairs to an object which is returned at the end. Any re-used keys will be overwritten by\n * the most recent value.\n * @param {string[]} paths An array of file paths to read.\n * @returns {EnvVars} An aggregate object of key/value pairs\n * @throws Error if any file is not in valid format or not found\n */\nreadMultiple.sync = (paths) => {\n    return paths.reduce((carrier, path) => {\n        const obj = readSingle.sync(path);\n        return Object.assign(Object.assign({}, carrier), obj);\n    }, {});\n};\n"]}