env.js 694 B

1234567891011121314151617181920212223242526272829303132
  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: break
  19. }
  20. } else {
  21. newEnv[keyname] = env[keyname]
  22. }
  23. })
  24. export default newEnv
  25. export function getByKey(key) {
  26. return newEnv[key]
  27. }