env.js 704 B

123456789101112131415161718192021222324252627282930313233
  1. import { cloneDeep } from 'lodash'
  2. const env = cloneDeep(process.env)
  3. const newEnv = {}
  4. Object.keys(env).forEach((keyname) => {
  5. if (/^.+\|(number|string)$/.test(env[keyname])) {
  6. const [value, type] = env[keyname].split('|')
  7. switch (type) {
  8. case 'number':
  9. newEnv[keyname] = Number(value)
  10. break
  11. case 'string':
  12. if (value === 'empty') newEnv[keyname] = ''
  13. else newEnv[keyname] = String(value)
  14. break
  15. case 'boolean':
  16. newEnv[keyname] = Boolean(value)
  17. break
  18. default:
  19. break
  20. }
  21. } else {
  22. newEnv[keyname] = env[keyname]
  23. }
  24. })
  25. export default newEnv
  26. export function getByKey(key) {
  27. return newEnv[key]
  28. }