Skip to content

Commit 0e9731b

Browse files
fabien0102KyleAMathews
authored andcommitted
Don't filter boolean values (#829)
1 parent 5d7bcdc commit 0e9731b

File tree

3 files changed

+12
-20
lines changed

3 files changed

+12
-20
lines changed

packages/gatsby/lib/schema/__tests__/__snapshots__/data-tree-utils-test.js.snap

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ Object {
1717
"frontmatter___date": Object {
1818
"field": "frontmatter.date",
1919
},
20+
"frontmatter___draft": Object {
21+
"field": "frontmatter.draft",
22+
},
2023
"frontmatter___title": Object {
2124
"field": "frontmatter.title",
2225
},
@@ -42,6 +45,7 @@ Object {
4245
"blue": 10010,
4346
"circle": "happy",
4447
"date": "2006-07-22T22:39:53.000Z",
48+
"draft": false,
4549
"title": "The world of slash and adventure",
4650
},
4751
"hair": 2,

packages/gatsby/lib/schema/__tests__/data-tree-utils-test.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ describe(`Gatsby data tree utils`, () => {
2727
title: `The world of slash and adventure`,
2828
blue: 10010,
2929
circle: `happy`,
30+
draft: false,
3031
},
3132
},
3233
]

packages/gatsby/lib/schema/data-tree-utils.js

Lines changed: 7 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -7,27 +7,14 @@ const extractFieldExamples = (exports.extractFieldExamples = ({
77
selector,
88
deleteNodeFields = false,
99
}) => {
10-
let examples = {}
11-
_.each(nodes, node => {
12-
let subNode
13-
if (selector) {
14-
subNode = _.get(node, selector)
15-
} else {
16-
subNode = node
17-
}
10+
let examples = nodes.reduce((mem, node) => {
11+
let subNode = selector ? _.get(node, selector) : node
12+
1813
// Ignore undefined/null subnodes
19-
if (subNode) {
20-
const flattened = flatten(subNode, { maxDepth: 3, flatten: true })
21-
// Remove non-truthy values
22-
const truthyExamples = {}
23-
_.each(flattened, (v, k) => {
24-
if (v) {
25-
truthyExamples[k] = v
26-
}
27-
})
28-
examples = _.assign(examples, truthyExamples)
29-
}
30-
})
14+
subNode = _.omitBy(flatten(subNode || {}), _.isNil)
15+
16+
return Object.assign({}, mem, subNode)
17+
}, {})
3118

3219
examples = flatten.unflatten(examples, { safe: true })
3320

0 commit comments

Comments
 (0)