store.js 740 B

123456789101112131415161718192021222324252627282930313233343536
  1. function store () {
  2. const data = {}
  3. return {
  4. get (keyword) {
  5. return data[keyword]
  6. },
  7. getAll () {
  8. return Object.assign({}, data)
  9. },
  10. set (keyword, list) {
  11. data[keyword] = list
  12. this.log()
  13. },
  14. setAll (remoteData) {
  15. Object.keys(remoteData).forEach(keyword => {
  16. data[keyword] = Object.keys(remoteData[keyword]).map(value => {
  17. return {
  18. value: isNaN(Number(value)) ? value : Number(value),
  19. label: remoteData[keyword][value],
  20. }
  21. })
  22. })
  23. this.log()
  24. },
  25. log () {
  26. console.group('Config change:')
  27. console.log(this.getAll())
  28. console.groupEnd('Config change:')
  29. },
  30. }
  31. }
  32. export default store()