UNPKG

2.39 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../src/db/index.js"],"names":["_","require","report","redux","emitter","dbs","process","env","GATSBY_DB_NODES","push","saveInProgress","saveState","Promise","all","map","db","err","warn","message","saveStateDebounced","debounce","startAutosave","on","module","exports"],"mappings":";;AAAA,MAAMA,CAAC,GAAGC,OAAO,CAAE,QAAF,CAAjB;;AACA,MAAMC,MAAM,GAAGD,OAAO,CAAE,yBAAF,CAAtB;;AACA,MAAME,KAAK,GAAGF,OAAO,CAAE,UAAF,CAArB;;AACA,MAAM;AAAEG,EAAAA;AAAF,IAAcD,KAApB,C,CAEA;AACA;;AACA,MAAME,GAAG,GAAG,CAACF,KAAD,CAAZ;;AACA,IAAIG,OAAO,CAACC,GAAR,CAAYC,eAAZ,KAAiC,MAArC,EAA4C;AAC1CH,EAAAA,GAAG,CAACI,IAAJ,CAASR,OAAO,CAAE,QAAF,CAAhB;AACD,C,CAED;;;AACA,IAAIS,cAAc,GAAG,KAArB;;AACA,eAAeC,SAAf,GAA2B;AACzB,MAAID,cAAJ,EAAoB;AACpBA,EAAAA,cAAc,GAAG,IAAjB;;AAEA,MAAI;AACF,UAAME,OAAO,CAACC,GAAR,CAAYR,GAAG,CAACS,GAAJ,CAAQC,EAAE,IAAIA,EAAE,CAACJ,SAAH,EAAd,CAAZ,CAAN;AACD,GAFD,CAEE,OAAOK,GAAP,EAAY;AACZd,IAAAA,MAAM,CAACe,IAAP,CAAa,2BAA2BD,GAAG,IAAIA,GAAG,CAACE,OAAZ,IAAwBF,GAAI,EAAnE;AACD;;AAEDN,EAAAA,cAAc,GAAG,KAAjB;AACD;;AACD,MAAMS,kBAAkB,GAAGnB,CAAC,CAACoB,QAAF,CAAWT,SAAX,EAAsB,IAAtB,CAA3B;AAEA;;;;;;AAIA,SAASU,aAAT,GAAyB;AACvBF,EAAAA,kBAAkB;AAClBf,EAAAA,OAAO,CAACkB,EAAR,CAAY,GAAZ,EAAgB,MAAMH,kBAAkB,EAAxC;AACD;;AAEDI,MAAM,CAACC,OAAP,GAAiB;AACfH,EAAAA,aADe;AAEfV,EAAAA;AAFe,CAAjB","sourcesContent":["const _ = require(`lodash`)\nconst report = require(`gatsby-cli/lib/reporter`)\nconst redux = require(`../redux`)\nconst { emitter } = redux\n\n// Even if we are using loki, we still include redux in the list of\n// dbs since it still has pages, config, etc.\nconst dbs = [redux]\nif (process.env.GATSBY_DB_NODES === `loki`) {\n dbs.push(require(`./loki`))\n}\n\n// calls `saveState()` on all DBs\nlet saveInProgress = false\nasync function saveState() {\n if (saveInProgress) return\n saveInProgress = true\n\n try {\n await Promise.all(dbs.map(db => db.saveState()))\n } catch (err) {\n report.warn(`Error persisting state: ${(err && err.message) || err}`)\n }\n\n saveInProgress = false\n}\nconst saveStateDebounced = _.debounce(saveState, 1000)\n\n/**\n * Starts listening to redux actions and triggers a database save to\n * disk upon any action (debounced to every 1 second)\n */\nfunction startAutosave() {\n saveStateDebounced()\n emitter.on(`*`, () => saveStateDebounced())\n}\n\nmodule.exports = {\n startAutosave,\n saveState,\n}\n"],"file":"index.js"}
\No newline at end of file