| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- /**
- * @author oldj
- * @blog https://oldj.net
- */
- 'use strict'
- const paths = require('../paths')
- const io = require('../io')
- const makeId = require('../../libs/make-id')
- module.exports = () => {
- let fn = paths.data_path
- return io.pReadFile(fn)
- .then(cnt => {
- let data
- try {
- data = JSON.parse(cnt)
- } catch (e) {
- console.log(e)
- data = {}
- }
- return data
- })
- .then(data => {
- if (!Array.isArray(data.list)) {
- data.list = []
- }
- return data.list
- })
- .then(list => {
- let ids = {}
- return list.map(item => {
- if (!item.id || ids.hasOwnProperty(item.id)) {
- item.id = makeId()
- }
- ids[item.id] = 1
- return item
- })
- })
- }
|