cleanData.js 725 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /**
  2. * @author oldj
  3. * @blog https://oldj.net
  4. */
  5. 'use strict'
  6. function makeGroupContent (item, list) {
  7. return (item.include || []).map(id => {
  8. return (list.find(i => i.id === id) || {}).content || ''
  9. }).join('\n\n')
  10. }
  11. module.exports = (list) => {
  12. return list.map(item => {
  13. let new_item = {}
  14. let valid_keys = [
  15. 'id',
  16. 'title',
  17. 'content',
  18. 'on',
  19. 'where',
  20. 'url',
  21. 'last_refresh',
  22. 'refresh_interval',
  23. 'include'
  24. ]
  25. valid_keys.map(k => {
  26. if (item.hasOwnProperty(k)) {
  27. new_item[k] = item[k]
  28. }
  29. })
  30. if (new_item.where === 'group') {
  31. new_item.content = makeGroupContent(new_item, list)
  32. }
  33. return new_item
  34. })
  35. }