<!-- Please follow this checklist and put an x in each of the boxes, like this: [x]. It will ensure that our team takes your pull request seriously. --> - [x] I have read [freeCodeCamp's contribution guidelines](https://github.com/freeCodeCamp/freeCodeCamp/blob/master/CONTRIBUTING.md). - [x] My pull request has a descriptive title (not a vague title like `Update index.md`) - [x] My pull request targets the `master` branch of freeCodeCamp.
22 lines
633 B
JavaScript
22 lines
633 B
JavaScript
exports.onCreateNode = function remarkNodeIdentityOnCreateNode(
|
|
{ node, reporter, actions },
|
|
{ predicate, identity }
|
|
) {
|
|
if (typeof predicate !== 'function') {
|
|
reporter.panic(
|
|
'Please supply a predicate function to `gatsby-plugin-identity`'
|
|
);
|
|
}
|
|
if (typeof identity !== 'string' || identity.lenght === 0) {
|
|
reporter.panic(
|
|
'`gatsby-plugin-identity` requires an identify string to add to nodes ' +
|
|
'that match the predicate'
|
|
);
|
|
}
|
|
const { createNodeField } = actions;
|
|
if (predicate(node)) {
|
|
createNodeField({ node, name: 'nodeIdentity', value: identity });
|
|
}
|
|
return node;
|
|
};
|