Skip to content

Commit 29fde9e

Browse files
fix: fix undefined issue in item during node creation
1 parent ffc381a commit 29fde9e

File tree

2 files changed

+31
-27
lines changed

2 files changed

+31
-27
lines changed

src/gatsby-node.js

Lines changed: 29 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -16,32 +16,36 @@ import Optimizely from "./utils/optimizely";
1616
* @returns {Promise<void>} Node creation promise
1717
*/
1818
const handleCreateNodeFromData = (item, nodeType, helpers, endpoint, log) => {
19-
const nodeMetadata = {
20-
...item,
21-
id: helpers.createNodeId(`${nodeType}-${item?.id || item?.name}`),
22-
parent: null,
23-
children: [],
24-
internal: {
25-
type: nodeType,
26-
content: convertObjectToString(item),
27-
contentDigest: helpers.createContentDigest(item)
28-
}
29-
};
30-
31-
const node = Object.assign({}, item, nodeMetadata);
32-
33-
helpers
34-
.createNode(node)
35-
.then(() => {
36-
log.warn(`(OK) [CREATE NODE] ${endpoint} - ${helpers.createNodeId(`${nodeType}-${item.id || item.name}`)}`);
37-
38-
return node;
39-
})
40-
.catch((err) => {
41-
log.error(`(FAIL) [CREATE NODE] ${endpoint} - ${helpers.createNodeId(`${nodeType}-${item.id || item.name}`)}`, err.message);
19+
if (item && Object.prototype.toString.call(item) === "[object Object]" && Object.keys(item)?.length > 0) {
20+
const nodeMetadata = {
21+
...item,
22+
id: helpers.createNodeId(`${nodeType}-${item?.id || item?.name}`),
23+
parent: null,
24+
children: [],
25+
internal: {
26+
type: nodeType,
27+
content: convertObjectToString(item),
28+
contentDigest: helpers.createContentDigest(item)
29+
}
30+
};
31+
32+
const node = Object.assign({}, item, nodeMetadata);
33+
34+
helpers
35+
.createNode(node)
36+
.then(() => {
37+
log.warn(`(OK) [CREATE NODE] ${endpoint} - ${helpers.createNodeId(`${nodeType}-${item.id || item.name}`)}`);
38+
39+
return node;
40+
})
41+
.catch((err) => {
42+
log.error(`(FAIL) [CREATE NODE] ${endpoint} - ${helpers.createNodeId(`${nodeType}-${item.id || item.name}`)}`, err.message);
4243

43-
throw err;
44-
});
44+
throw err;
45+
});
46+
}
47+
48+
return Promise.resolve();
4549
};
4650

4751
/**

src/utils/optimizely.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ class Optimizely {
122122
const formPromise =
123123
temp.contentLink?.expanded?.form && Array.isArray(temp.contentLink?.expanded?.form) && temp.contentLink?.expanded?.form?.length > 0 ? await handleExpandedKeyValues(temp.contentLink?.expanded?.form, "form") : null;
124124

125-
const expandedKeyValuesPromises = [dynamicStylesPromise, itemsPromise, imagesPromise, formPromise] || [];
125+
const expandedKeyValuesPromises = [dynamicStylesPromise, itemsPromise, imagesPromise, formPromise];
126126

127127
await Promise.allSettled(expandedKeyValuesPromises)
128128
.then((res) => {
@@ -222,7 +222,7 @@ class Optimizely {
222222
const expandedDataPromise = new Promise((resolve, reject) => {
223223
const temp = Object.assign({}, data);
224224

225-
const { contentBlocks, contentBlocksTop, contentBlocksBottom } = temp;
225+
const { contentBlocks = null, contentBlocksTop = null, contentBlocksBottom = null } = temp;
226226

227227
if (contentBlocks && Array.isArray(contentBlocks) && contentBlocks?.length > 0) {
228228
let expandedContentBlocks = handleContentBlocks(contentBlocks);

0 commit comments

Comments
 (0)