gatsby-source-wordpress
Version:
Source data from WordPress in an efficient and scalable way.
57 lines (55 loc) • 1.47 kB
JavaScript
exports.__esModule = true;
exports.default = void 0;
var _core = require("@rematch/core");
// `node` here is a Gatsby node
const previewStore = (0, _core.createModel)()({
state: {
nodePageCreatedCallbacks: {},
nodeIdsToCreatedPages: {},
pagePathToNodeDependencyId: {}
},
reducers: {
unSubscribeToPagesCreatedFromNodeById(state, {
nodeId
}) {
var _state$nodePageCreate;
if ((_state$nodePageCreate = state.nodePageCreatedCallbacks) !== null && _state$nodePageCreate !== void 0 && _state$nodePageCreate[nodeId]) {
delete state.nodePageCreatedCallbacks[nodeId];
}
return state;
},
subscribeToPagesCreatedFromNodeById(state, {
nodeId,
sendPreviewStatus
}) {
// save the callback for this nodeId
// when a page is created from a node that has this id,
// the callback will be invoked
state.nodePageCreatedCallbacks[nodeId] = sendPreviewStatus;
return state;
},
clearPreviewCallbacks(state) {
state.nodePageCreatedCallbacks = {};
return state;
},
saveNodePageState(state, {
page,
nodeId
}) {
state.nodeIdsToCreatedPages[nodeId] = {
page
};
state.pagePathToNodeDependencyId[page.path] = {
nodeId
};
return state;
}
},
effects: () => {
return {};
}
});
var _default = previewStore;
exports.default = _default;
//# sourceMappingURL=preview.js.map
;