nuxt-isomorphic-fetch
Version:
Isomorphic access to server-side API in Nuxt.js asyncData
1 lines • 8.09 kB
Source Map (JSON)
{"version":3,"sources":["webpack:///webpack/bootstrap 3da82c093dd042cd4c80","webpack:///./node_modules/babel-runtime/regenerator/index.js","webpack:///./src/parseArgs.js","webpack:///./src/index.js","webpack:///./src/nuxt.js","webpack:///./src/fetch.js","webpack:///external \"regenerator-runtime\"","webpack:///./src/koa.js"],"names":["path","body","opts","Error","method","undefined","fetcher","fetch","client","isomorphic","context","args","isServer","server","fetchOpts","parseArgs","prefix","windowFetchOpts","JSON","stringify","headers","window","res","ok","json","koaCtx","request","disableBodyParser","middleware","status"],"mappings":"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","file":"main.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 2);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 3da82c093dd042cd4c80","module.exports = require(\"regenerator-runtime\");\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/regenerator/index.js\n// module id = 0\n// module chunks = 0","export default function(path, body, opts) {\n\tif (typeof path === \"object\") {\n\t\topts = {...path}\n\t} else {\n\t\topts = {...opts, path, body}\n\t}\n\tif (!opts.path) {\n\t\tthrow new Error(\"fetch: path required.\")\n\t}\n\tif (!opts.method) {\n\t\topts.method = (opts.body === undefined) ? 'GET' : 'POST'\n\t}\n\treturn opts\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/parseArgs.js","import nuxt from './nuxt'\nimport fetch from './fetch'\nimport koa from './koa'\n\nexport { nuxt, fetch, koa }\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","export default function fetcher(opts) {\n\tconst fetch = opts.client\n\tfetch.isomorphic = function (context, ...args) {\n\t\tif (context.isServer) {\n\t\t\treturn opts.server(context, ...args)\n\t\t} else {\n\t\t\treturn opts.client(...args)\n\t\t}\n\t}\n\treturn fetch\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/nuxt.js","import parseArgs from './parseArgs'\n\nexport default function fetcher(opts) {\n\treturn async function fetch(...args) {\n\t\tconst fetchOpts = parseArgs(...args)\n\n\t\tconst path = (opts.prefix || \"\") + fetchOpts.path\n\t\tconst windowFetchOpts = {\n\t\t\t...opts.opts,\n\t\t\tmethod: fetchOpts.method,\n\t\t}\n\t\tif (fetchOpts.body !== undefined && fetchOpts.body !== null) {\n\t\t\twindowFetchOpts.body = JSON.stringify(fetchOpts.body)\n\t\t\twindowFetchOpts.headers = {\n\t\t\t\t'Content-Type': 'application/json'\n\t\t\t}\n\t\t}\n\t\tconst res = await window.fetch(path, windowFetchOpts)\n\t\tif (!res.ok) {\n\t\t\tthrow new Error(res) // TODO: unify with server throw\n\t\t}\n\t\treturn await res.json()\n\t}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/fetch.js","module.exports = require(\"regenerator-runtime\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"regenerator-runtime\"\n// module id = 6\n// module chunks = 0","import parseArgs from './parseArgs'\n\nexport default function fetcher(opts) {\n\treturn async function fetch(context, ...args) {\n\t\tconst fetchOpts = parseArgs(...args)\n\t\tconst koaCtx = {\n\t\t\tmethod: fetchOpts.method,\n\t\t\tpath: (opts.prefix || \"\") + fetchOpts.path,\n\t\t\trequest: {\n\t\t\t\tbody: fetchOpts.body,\n\t\t\t},\n\t\t\tdisableBodyParser: true,\n\t\t}\n\t\tawait opts.middleware(koaCtx, () => {})\n\t\tif (!koaCtx.status) {\n\t\t\tkoaCtx.status = (koaCtx.body !== undefined) ? 200 : 404\n\t\t}\n\t\tif (koaCtx.status != 200) {\n\t\t\tthrow new Error(`Isomorphic Koa fetch returned HTTP status ${koaCtx.status}.`) // TODO: unify with client throw\n\t\t}\n\t\treturn koaCtx.body\n\t}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/koa.js"],"sourceRoot":""}