Skip to content

Commit 64f8698

Browse files
ignore $schema definition (typicode#1324)
* ignore $schema definition * added tests that verify $schema node is ignored * reduced schema ignore tests (copied from other tests) --------- Co-authored-by: Eric Newton <[email protected]>
1 parent b9b2c49 commit 64f8698

File tree

3 files changed

+36
-0
lines changed

3 files changed

+36
-0
lines changed

__tests__/server/schema-ignore.js

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
const request = require('supertest')
2+
const jsonServer = require('../../src/server')
3+
4+
describe('$schema-ignore', () => {
5+
let server
6+
let router
7+
let db
8+
9+
beforeEach(() => {
10+
db = {
11+
$schema: 'http://some.schema.somewhere/',
12+
}
13+
14+
db.user = {
15+
name: 'foo',
16+
17+
}
18+
19+
server = jsonServer.create()
20+
router = jsonServer.router(db)
21+
server.use(jsonServer.defaults())
22+
server.use(router)
23+
})
24+
25+
test('doesnt error with $schema node', () => {
26+
return request(server).get('/user').expect(200, db.user)
27+
})
28+
})

src/cli/run.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ function prettyPrint(argv, object, rules) {
1515
console.log()
1616
console.log(chalk.bold(' Resources'))
1717
for (const prop in object) {
18+
// skip printing $schema nodes
19+
if (prop === '$schema') continue
20+
1821
console.log(` ${root}/${prop}`)
1922
}
2023

src/server/router/index.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,11 @@ module.exports = (db, opts) => {
5454

5555
// Create routes
5656
db.forEach((value, key) => {
57+
if (key === '$schema') {
58+
// ignore $schema
59+
return
60+
}
61+
5762
if (_.isPlainObject(value)) {
5863
router.use(`/${key}`, singular(db, key, opts))
5964
return

0 commit comments

Comments
 (0)