UNPKG

3.63 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../src/db/nodes.js"],"names":["_","require","store","backend","process","env","GATSBY_DB_NODES","nodesDb","runQuery","runSift","Error","module","exports","loadNodeContent","node","isString","internal","content","Promise","resolve","plugin","getState","flattenedPlugins","find","plug","name","owner","then"],"mappings":";;AACA,MAAMA,CAAC,GAAGC,OAAO,CAAE,QAAF,CAAjB;;AACA,MAAM;AAAEC,EAAAA;AAAF,IAAYD,OAAO,CAAE,UAAF,CAAzB;;AAkBA,MAAME,OAAO,GAAGC,OAAO,CAACC,GAAR,CAAYC,eAAZ,IAAgC,OAAhD;AACA,IAAIC,OAAJ;AACA,IAAIC,QAAJ;;AACA,QAAQL,OAAR;AACE,OAAM,OAAN;AACEI,IAAAA,OAAO,GAAGN,OAAO,CAAE,gBAAF,CAAjB;AACAO,IAAAA,QAAQ,GAAGP,OAAO,CAAE,mBAAF,CAAP,CAA6BQ,OAAxC;AACA;;AACF,OAAM,MAAN;AACEF,IAAAA,OAAO,GAAGN,OAAO,CAAE,cAAF,CAAjB;AACAO,IAAAA,QAAQ,GAAGP,OAAO,CAAE,oBAAF,CAAlB;AACA;;AACF;AACE,UAAM,IAAIS,KAAJ,CACH,iEADG,CAAN;AAVJ;;AAeAC,MAAM,CAACC,OAAP,qBAAsBL,OAAtB;AAA+BC,EAAAA,QAA/B;AAAyCL,EAAAA;AAAzC;AAEA;;;;;;;AAMAQ,MAAM,CAACC,OAAP,CAAeC,eAAf,GAAiCC,IAAI,IAAI;AACvC,MAAId,CAAC,CAACe,QAAF,CAAWD,IAAI,CAACE,QAAL,CAAcC,OAAzB,CAAJ,EAAuC;AACrC,WAAOC,OAAO,CAACC,OAAR,CAAgBL,IAAI,CAACE,QAAL,CAAcC,OAA9B,CAAP;AACD,GAFD,MAEO;AACL,WAAO,IAAIC,OAAJ,CAAYC,OAAO,IAAI;AAC5B;AACA,YAAMC,MAAM,GAAGlB,KAAK,CACjBmB,QADY,GAEZC,gBAFY,CAEKC,IAFL,CAEUC,IAAI,IAAIA,IAAI,CAACC,IAAL,KAAcX,IAAI,CAACE,QAAL,CAAcU,KAF9C,CAAf;;AAGA,YAAM;AAAEb,QAAAA;AAAF,UAAsBZ,OAAO,CAACmB,MAAM,CAACD,OAAR,CAAnC;;AACA,UAAI,CAACN,eAAL,EAAsB;AACpB,cAAM,IAAIH,KAAJ,CACH,sDAAqDU,MAAM,CAACK,IAAK,EAD9D,CAAN;AAGD;;AAED,aAAOZ,eAAe,CAACC,IAAD,CAAf,CAAsBa,IAAtB,CAA2BV,OAAO,IAAI;AAC3C;AACAE,QAAAA,OAAO,CAACF,OAAD,CAAP;AACD,OAHM,CAAP;AAID,KAhBM,CAAP;AAiBD;AACF,CAtBD","sourcesContent":["/* @flow */\nconst _ = require(`lodash`)\nconst { store } = require(`../redux`)\n\ninterface NodeStore {\n getNodes: () => Array<any>;\n getNode: (id: string) => any | undefined;\n getNodesByType: (type: string) => Array<any>;\n getTypes: () => Array<string>;\n hasNodeChanged: (id: string, digest: string) => boolean;\n getNodeAndSavePathDependency: (id: string, path: string) => any | undefined;\n runQuery: (args: {\n gqlType: GraphQLType,\n queryArgs: Object,\n firstOnly: boolean,\n resolvedFields: Object,\n nodeTypeNames: Array<string>,\n }) => any | undefined;\n}\n\nconst backend = process.env.GATSBY_DB_NODES || `redux`\nlet nodesDb: NodeStore\nlet runQuery\nswitch (backend) {\n case `redux`:\n nodesDb = require(`../redux/nodes`)\n runQuery = require(`../redux/run-sift`).runSift\n break\n case `loki`:\n nodesDb = require(`./loki/nodes`)\n runQuery = require(`./loki/nodes-query`)\n break\n default:\n throw new Error(\n `Unsupported DB nodes backend (value of env var GATSBY_DB_NODES)`\n )\n}\n\nmodule.exports = { ...nodesDb, runQuery, backend }\n\n/**\n * Get content for a node from the plugin that created it.\n *\n * @param {Object} node\n * @returns {promise}\n */\nmodule.exports.loadNodeContent = node => {\n if (_.isString(node.internal.content)) {\n return Promise.resolve(node.internal.content)\n } else {\n return new Promise(resolve => {\n // Load plugin's loader function\n const plugin = store\n .getState()\n .flattenedPlugins.find(plug => plug.name === node.internal.owner)\n const { loadNodeContent } = require(plugin.resolve)\n if (!loadNodeContent) {\n throw new Error(\n `Could not find function loadNodeContent for plugin ${plugin.name}`\n )\n }\n\n return loadNodeContent(node).then(content => {\n // TODO update node's content field here.\n resolve(content)\n })\n })\n }\n}\n"],"file":"nodes.js"}
\No newline at end of file