UNPKG

802 BJavaScriptView Raw
1"use strict";
2
3const _ = require(`lodash`);
4const report = require(`gatsby-cli/lib/reporter`);
5const {
6 captureEvent
7} = require(`gatsby-telemetry`);
8const redux = require(`./`);
9let saveInProgress = false;
10async function saveState() {
11 if (saveInProgress) return;
12 saveInProgress = true;
13 const startTime = Date.now();
14 try {
15 await redux.saveState();
16 } catch (err) {
17 report.warn(`Error persisting state: ${err && err.message || err}`);
18 }
19 try {
20 const duration = (Date.now() - startTime) / 1000;
21 captureEvent(`INTERNAL_STATE_PERSISTENCE_DURATION`, {
22 name: `Save Internal State`,
23 duration: Math.round(duration)
24 });
25 } catch (err) {
26 console.error(err);
27 }
28 saveInProgress = false;
29}
30module.exports = {
31 saveState
32};
33//# sourceMappingURL=save-state.js.map
\No newline at end of file