{"version":3,"sources":["jsdelivr-header.js","/npm/env-sample@2.2.1/env-sample.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,MAAM,GAAK,QAAQ,MACb,KAAO,QAAQ,QAErB,IAAI,QAAU,CACZ,IAAK,OACL,OAAQ,cACR,KAAM,GACN,OAAO,EACP,OAAO,oEA0BT,SAAS,oBACP,IAAI,EAAQ,GAAG,aAAa,QAAQ,IAAK,QAAQ,MAAM,MACnD,EAAI,GAEJ,EAAe,GAEnB,EAAM,SAAQ,IACZ,IAAI,EAAO,EAAE,OACb,GAAI,EAAc,CAChB,IAAI,EAAmB,EAAK,QAAQ,EAAc,IAAM,EAAI,EAAK,QAAQ,EAAc,IAAM,EAC7F,GAAI,GAAoB,EAAG,CACzB,EAAO,EAAK,UAAU,EAAmB,GACzC,IAAI,EAAa,EAAK,QAAQ,KAC1B,GAAc,IAChB,GAAI,IAAM,EAAK,UAAU,GAAc,MAEzC,EAAe,EACjB,CACF,MACE,IAAK,EAAK,WAAW,MAAQ,EAAK,QAAQ,MAAQ,EAAG,CAEnD,IAAI,EAAY,EAAK,MAAM,KAAK,GAAG,OAC/B,EAAa,EAAK,MAAM,KAAK,GACjC,GAAK,GAAG,KAER,EAAe,EAAW,OAAS,IAAuB,KAAjB,EAAW,IAA8B,KAAjB,EAAW,IAAa,EAAW,GAAK,GACzG,IAAI,EAAmB,GAAgB,EAAW,QAAQ,EAAc,IAAM,EAAI,EAAW,QAAQ,EAAc,IAAM,EAEzH,IAAK,GAAiB,GAAgB,GAAoB,EAAI,CAC5D,GAAM,EAAW,WAAW,SAAW,EAAW,WAAW,SAU3D,GAAG,MAVmE,CACtE,EAAa,EAAW,UAAU,EAAmB,GACrD,IAAI,EAAa,EAAW,QAAQ,KAChC,GAAc,IACZ,QAAQ,KAAK,OAAS,IACxB,GAAK,QAAQ,KAAK,GAAG,OAAO,IAE9B,GAAK,IAAM,EAAW,UAAU,GAEpC,CAGA,EAAe,GACf,GAAK,IACP,CACF,MACE,GAAK,EACL,GAAK,IAET,IAGC,QAAQ,SACT,GAAK,KACL,GAAG,KAAK,IAAI,OAAO,QAAQ,OAAO,YAClC,GAAG,KAAK,QAAQ,UAElB,GAAG,cAAc,QAAQ,OAAQ,EAAG,OACtC,CAhFA,OAAO,QAAW,IACZ,GACF,OAAO,OAAO,QAAS,GAIpB,GAAG,WAAW,QAAQ,OAAQ,GAAG,WAAW,QAAQ,SAKtC,IAAhB,QAAQ,MACT,GAAG,UAAU,QAAQ,KAAK,CAAC,EAAS,KAChB,GAAf,EAAQ,OACT,GAAG,WAAW,QAAQ,SAAW,GAAG,WAAW,QAAQ,QAEzD,mBAAkB,IAGpB,oBAZA,GAAG,WAAW,QAAQ,OAaxB","file":"/npm/env-sample@2.2.1/env-sample.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/env-sample@2.2.1/env-sample.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')\r\nconst path = require('path')\r\n\r\nvar options = {\r\n  env: '.env',\r\n  sample: '.env-sample',\r\n  mask: '',\r\n  watch: false,\r\n  banner:`2024 (c) MiaJupiter. All rights reserved. https://miajupiter.com`\r\n}\r\n\r\nmodule.exports = (userOptions) =>{\r\n  if (userOptions) {\r\n    Object.assign(options, userOptions)\r\n  }\r\n\r\n  // on startup check source file exists\r\n  if (!fs.existsSync(options.env) && fs.existsSync(options.sample)) {\r\n    fs.unlinkSync(options.sample)\r\n    return\r\n  }\r\n\r\n  if(options.watch===true) {\r\n    fs.watchFile(options.env, (current, previous) => {\r\n      if(current.nlink==0){\r\n        fs.existsSync(options.sample) && fs.unlinkSync(options.sample)\r\n      }\r\n      generateEnvSample()\r\n    })\r\n  }else{\r\n    generateEnvSample()\r\n  }\r\n}\r\n\r\nfunction generateEnvSample() {\r\n  let lines = fs.readFileSync(options.env, 'utf8').split('\\n')\r\n  let s = ''\r\n\r\n  let startedQuote = ''\r\n\r\n  lines.forEach(e => {\r\n    let line = e.trim()\r\n    if (startedQuote) {\r\n      let endQuotePosition = line.indexOf(startedQuote, 1) > -1 ? line.indexOf(startedQuote, 1) : -1\r\n      if (endQuotePosition > -1) {\r\n        line = line.substring(endQuotePosition + 1)\r\n        let commentPos = line.indexOf('#')\r\n        if (commentPos > -1) {\r\n          s +=' ' + line.substring(commentPos) + '\\n'\r\n        }\r\n        startedQuote = ''\r\n      }\r\n    } else {\r\n      if (!line.startsWith('#') && line.indexOf('=') > -1) {\r\n\r\n        let paramName = line.split('=')[0].trim()\r\n        let paramValue = line.split('=')[1]\r\n        s += `${paramName}=`\r\n\r\n        startedQuote = paramValue.length > 0 && (paramValue[0] == `'` || paramValue[0] == `\"`) ? paramValue[0] : ''\r\n        let endQuotePosition = startedQuote && paramValue.indexOf(startedQuote, 1) > -1 ? paramValue.indexOf(startedQuote, 1) : -1\r\n\r\n        if (!startedQuote || (startedQuote && endQuotePosition > -1)) {\r\n          if (!(paramValue.startsWith('true') || paramValue.startsWith('false'))) {\r\n            paramValue = paramValue.substring(endQuotePosition + 1)\r\n            let commentPos = paramValue.indexOf('#')\r\n            if (commentPos > -1) {\r\n              if (options.mask.length > 0) {\r\n                s += options.mask[0].repeat(commentPos)\r\n              }\r\n              s += ' ' + paramValue.substring(commentPos)\r\n            }\r\n          }else{\r\n            s+=paramValue\r\n          }\r\n          startedQuote = ''\r\n          s += '\\n'\r\n        }\r\n      } else {\r\n        s += line\r\n        s += '\\n'\r\n      }\r\n    }\r\n  })\r\n\r\n  if(options.banner) {\r\n    s += `\\n`\r\n    s+=`# ${'-'.repeat(options.banner.length)}\\n`\r\n    s+=`# ${options.banner}`\r\n  }\r\n  fs.writeFileSync(options.sample, s, 'utf8')\r\n}\r\n"]}