mirror of
https://github.com/typicode/json-server.git
synced 2025-08-01 09:13:32 +08:00
Use latest lowdb
This commit is contained in:
@ -3,7 +3,7 @@ const methodOverride = require('method-override')
|
||||
const _ = require('lodash')
|
||||
const lodashId = require('lodash-id')
|
||||
const low = require('lowdb')
|
||||
const fileAsync = require('lowdb/lib/storages/file-async')
|
||||
const Memory = require('lowdb/adapters/Memory')
|
||||
const bodyParser = require('../body-parser')
|
||||
const validateData = require('./validate-data')
|
||||
const plural = require('./plural')
|
||||
@ -11,7 +11,12 @@ const nested = require('./nested')
|
||||
const singular = require('./singular')
|
||||
const mixins = require('../mixins')
|
||||
|
||||
module.exports = (source, opts = { foreignKeySuffix: 'Id' }) => {
|
||||
module.exports = (db, opts = { foreignKeySuffix: 'Id' }) => {
|
||||
var isDB = _.has(db, '__chain__') && _.has(db, '__wrapped__')
|
||||
if (!isDB) {
|
||||
db = low(new Memory()).setState(db)
|
||||
}
|
||||
|
||||
// Create router
|
||||
const router = express.Router()
|
||||
|
||||
@ -19,15 +24,6 @@ module.exports = (source, opts = { foreignKeySuffix: 'Id' }) => {
|
||||
router.use(methodOverride())
|
||||
router.use(bodyParser)
|
||||
|
||||
// Create database
|
||||
let db
|
||||
if (_.isObject(source)) {
|
||||
db = low()
|
||||
db.setState(source)
|
||||
} else {
|
||||
db = low(source, { storage: fileAsync })
|
||||
}
|
||||
|
||||
validateData(db.getState())
|
||||
|
||||
// Add lodash-id methods to db
|
||||
@ -65,9 +61,9 @@ module.exports = (source, opts = { foreignKeySuffix: 'Id' }) => {
|
||||
}
|
||||
|
||||
var sourceMessage = ''
|
||||
if (!_.isObject(source)) {
|
||||
sourceMessage = `in ${source}`
|
||||
}
|
||||
// if (!_.isObject(source)) {
|
||||
// sourceMessage = `in ${source}`
|
||||
// }
|
||||
|
||||
const msg =
|
||||
`Type of "${key}" (${typeof value}) ${sourceMessage} is not supported. ` +
|
||||
|
Reference in New Issue
Block a user